сузил поиск только для того чтобы прочитать p.s. тогда поставим вопрос по другому: реально с помощью Google Docs все это организовать. Скажем, когда происходит запрос на редактирование doc файла он отправляется в гугл, преобразовывается в html, скачивается, изменяется, и снова закачивается... других выходов не вижу
ну докс - открытый стандарт, пхпшкой его рендерить никто не будет 100%, значит это некая подключаемая библиотека, которой скармливается докс, на выходе - хтмл. а насчет док - вобще хз. ОпенОфис и тот ни док ни докс нормально открывать до сих пор не умеет. Что на его месте выглядит весьма странно...
меня интересует функционал которые реализован на monster.com (может встречали). файл с резюме загружается в визуальный текстовик где благополучно редактируется. и это делается как с док, так и докс. неужели админы монстра знают что то что не знают в опен офис...
google docs тащит. но что то их api manual не очень френдли для начинающих девелоперов) из того что удалось отыскать принцип там строится на получение Security Token`a, а уже с помощью него осуществляется работа с файлами. то что мне нужно, но опять же. Используется curl (уже прикрутил к своему денверу) получение токена # curl https://www.google.com/accounts/ClientLogin -d Email=user@quantumcrypto.de –d Passwd=mysecretpassword –d accountType=HOSTED_OR_GOOGLE -d source=cURL-Example -d service=wise получим что то типа длинного ID скачивание файла # curl --silent --header "Authorization: GoogleLogin auth=AUTHKEY" http://spreadsheets.google.com/feeds/do ... Format=xls хотя бы найти список вот этих заголовков и как их реализовать на php+curl
Код (Text): <?php $clientlogin_url = "https://www.google.com/accounts/ClientLogin"; $clientlogin_post = array( "accountType" => "HOSTED_OR_GOOGLE", "Email" => "googlelogin", "Passwd" => "googlepass", "service" => "writely", "source" => "your application name" ); $curl = curl_init($clientlogin_url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $clientlogin_post); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($curl); preg_match("/Auth=([a-z0-9_\-]+)/i", $response, $matches); $auth = $matches[1]; echo "The security ticket is: " . $auth; ?> ну вот тикет получен благодаря гуглу и одному таланливому разработчику из москвы, теперь бы разобраться с оставшейся частью, а именно аплоад и даунлоад файлов
вообщем я почти разобрался коряво получилось, но примерно то что я и хотел 1. Наш пользователь грузит файл doc в Google Docs для этого пришлось скачать Zend Gdata, и нагородить вот это: Код (Text): <?php set_include_path(get_include_path() . PATH_SEPARATOR . "/home/localhost/www/libraries/zend/library/"); require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Gdata'); Zend_Loader::loadClass('Zend_Gdata_Query'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); Zend_Loader::loadClass('Zend_Gdata_Docs'); Zend_Loader::loadClass('Zend_Gdata_App_IOException'); $username = 'ччч'; $password = 'ччч'; $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; $httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password, $service); $docs = new Zend_Gdata_Docs($httpClient); // Actually upload the file, the second parameter here is the document title $newDocumentEntry = $docs->uploadFile('Resume.doc', 'Resume.doc', 'application/msword', Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI); ?> тут, как видно, грузится файл Resume.doc затем наступает необходимость его редактировать. Каждому файлу в Google Docs присваевается 45 значный статичный id. Мы его не знаем, зато знаем имя, по ниму и получаем его. Код (Text): <?php set_include_path(get_include_path() . PATH_SEPARATOR . "/home/localhost/www/libraries/zend/library/"); require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Gdata'); Zend_Loader::loadClass('Zend_Gdata_Query'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); Zend_Loader::loadClass('Zend_Gdata_Docs'); Zend_Loader::loadClass('Zend_Gdata_Docs_Query'); $username = 'ччч'; $password = 'ччч'; $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; $httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password, $service); $docs = new Zend_Gdata_Docs($httpClient); $feed = $docs->getDocumentListFeed(); foreach ($feed->entries as $entry) { $titleid=$entry->title; $fileid=$entry->id; $cut = substr($fileid, 63); echo "$cut - $titleid<BR><BR>"; } ?> Теперь остался последний шаг - научится скачивать файлы с Google Docs. Как известно там есть возможность конвертации doc <-> docx <-> rtf <-> html <-> pdf. Кто знает как написать класс на экспорт - очень прошу сделать это