Просмотр вложений в Google Docs Viewer (gdocs)

Здесь вы можете скачать и получить поддержку по модам, созданным командой нашего сайта. Пожалуйста, не пишите и не задавайте вопросов, связанных с чужими разработками, используйте для этого форум ниже.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Просмотр вложений в Google Docs Viewer (gdocs)

Сообщение c61 »

Подключение средств просмотра документов Google к вложениям конференции phpBB.

В файле 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> 
  <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.

Ссылка на пример и скачивание: http://c61.no-ip.org/forum/viewtopic.php?f=11&t=79

Интересует такой мод ? Мои пользователи просили, делал для них, пока не испытывал - свежак :)

P.S. П.1 - про бб-код - постил давными-давно на гуру.
Shredder
Администратор
Сообщения: 1067
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 132 раза
Поблагодарили: 264 раза
Контактная информация:

Просмотр вложений в Google Docs Viewer (gdocs)

Сообщение Shredder »

Да, задумка интересная. Где-то даже на гуру просьба такая была. Думаю, что мод будет востребован. Спасибо :)
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Просмотр вложений в Google Docs Viewer (gdocs)

Сообщение c61 »

Пожалуйста)

Как показали испытания, на "серых" ip (инет через модемы МТС и тп) гугл часто затыкается с ошибкой, про которую сообщил в стартовом посте. Видимо, связано с ограничениями гугла на количество пользователей сервиса docs, хотя кто его знает... Сегодня проверю на белых и постоянных ip.

Добавлено спустя 6 часов 39 минут 15 секунд:
Проверка показала, что всё OK. Были подозрения на глюки, но не подтвердились.
Ответить