[BETA] просмотр вложений в Google Docs Viewer (gdocs)

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Зарегистрирован: 12.12.2012 10:51
Благодарил (а): 42 раза
Поблагодарили: 251 раз

[BETA] просмотр вложений в Google Docs Viewer (gdocs)

Сообщение c61 » 26.02.2014 23:44

Подключение средств просмотра документов Google к вложениям конференции phpBB. После применения мода вложения, просмотр которых задан средствами Google, будут выглядеть примерно так:
gdocs.jpg
В файле includes/hooks/hook_gdocs.php Вы можете задать список расширений, для которых разрешён просмотр docs.google.com/gview (см. $exts).

Установка:

1) Не обязательно: при необходимости добавить бб-код (для просмотра внешних и располагающихся на Вашем сайте документов):

Использование BBCode:

Код: Выделить всё

[gdocs]{URL}[/gdocs]
Замена HTML:

Код: Выделить всё

<div style="margin:2px; margin-top:2px;" width="100%">
 <div class="quotetitle" width="100%">
  <a href="{URL}" target="_blank"><b>{URL}</b></a>&nbsp;
  <input type="button" value="Показать" style="width:65px;font-size:10px;margin:0px;padding:0px;" onclick="
   if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('iframe')[0].style.display != '') 
    { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('iframe')[0].style.display = '';
      this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('iframe')[0].style.height = Math.round((4*((document.compatMode=='CSS1Compat' && window.opera) ? (window.innerHeight) : (document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight)))/5) + 'px';
      if (this.textContent == undefined) { this.innerText=''; } else { this.textContent=''; }
      this.value = 'Скрыть';
    } else
    { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('iframe')[0].style.display = 'none';
      if (this.textContent == undefined) { this.innerText=''; } else { this.textContent=''; }
      this.value = 'Показать'; 
    }
  " />
 </div>
 <div class="quotecontent" width="100%">
  <iframe src="http://docs.google.com/gview?url={URL}&embedded=true" style="display: none; width:100%; height:600px; max-height:4000px;" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>
 </div>
</div>
Подсказка:

Код: Выделить всё

Просмотр документа (pdf, doc, xls и др.) с помощью docs.google.com : [gdocs]ссылка на документ[/gdocs]
Настройки: Показывать на странице ответа - Да

2) Загрузить includes/hooks/hook_gdocs.php в includes/hooks/

3) Разрешить просмотр вложений, возможны варианты:

3.1) docs.google.com/gview выступает в качестве гостя:
3.1.1) разрешить гостю скачивать вложения (Права пользователей->Выбать учётную запись гостя->Расширенные права->Размещение сообщений->Может скачивать файлы : Да)
или
3.1.2) разрешить группе Гости скачивать вложения (Права пользователей->Гости->Расширенные права->Размещение сообщений->Может скачивать файлы : Да)
или
3.1.3) для отдельных форумов разрешить гостю скачивать вложения (Форумные права пользователей->Выбать учётную запись гостя->Выбрать форумы->Расширенные права->Содержимое->Может скачивать файлы : Да)
или
3.1.4) для отдельных форумов разрешить группе Гости скачивать вложения (Форумные права групп->Гости->Выбрать форумы->Расширенные права->Содержимое->Может скачивать файлы : Да)
но в этом случае любой гость сможет скачивать файлы

3.2) docs.google.com/gview выступает в качестве бота:
3.2.1) проделать то же самое, что изложено в п.3.1.2 или п.3.1.4 для группы Гости с группой Боты
или
3.2.2) создать бота (см. Поисковые боты; например, создадим: Google [Viewer]), идентифицируемого строкой "docs.google.com/viewer" и проделать то же, что было изложено ранее для в п.3.1.1 или п.3.1.3 пользователя "Google [Viewer]"

4) Очистить кэш.

ВНИМАНИЕ !!! При попытке просмотра документа иногда появляется сообщение об ошибке:
"В данный момент открыть документ не удается. Повторите попытку позже."
Это связано с длительным временем скачивания файла Google при первой попытке просмотра и занятостью серверов Google.

Примечания:
1) Пока сообщение не опубликовано, просмотр работать не будет (при предпросмотре файл доступен только пользователю, его разместившему).
2) У Гугла есть масса ограничений на размер, тип файлов и тп. Приводить их не буду, поскольку сам Гугл их толком нигде не формулирует)

Ссылка на пример и скачивание.

Или скачать здесь:
hook_gdocs_v_0_0_2.zip
(5.18 КБ) 220 скачиваний
P.S. П.1 - про бб-код - постил где-то здесь давным-давно.

Аватара пользователя
dndn
phpBB 1.4.4
Сообщения: 117
Зарегистрирован: 15.03.2012 20:20
Откуда: Украина
Благодарил (а): 27 раз
Поблагодарили: 3 раза

Re: [BETA] просмотр вложений в Google Docs Viewer (gdocs)

Сообщение dndn » 10.07.2014 10:19

У кого-нибудь таблицы открываются?

У меня файлы Word (*.doc) открываются на ура, а вот все попытки открыть таблицу Excel, даже самую маленькую, непременно вызывают ошибку. :(

kolhoznik
phpBB 1.4.4
Сообщения: 120
Зарегистрирован: 03.05.2012 8:14
Благодарил (а): 7 раз
Поблагодарили: 3 раза

Re: [BETA] просмотр вложений в Google Docs Viewer (gdocs)

Сообщение kolhoznik » 02.12.2015 20:17

документы открываются в виде кода страницы

Вернуться в «Бета-версии модов для phpBB 3.0.x»