Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
SergCV

Как сделать предпросмотр прикрепленных файлов IPB 3.2.3

Recommended Posts

Хочу чтобы был предпросмотр прикрепленных PDF Doc xls ppt и прочих файлов через google docs.

нашел что для этого можно использовать один из следующих способов:

 

1. C использованием элемента <embed>.

 

<embed src="ссылка файла pdf" width="ширина в пикселях" height="высота в пикселях" />

 

2. C использованием <embed> через элемент <object>.

 

Спецификация HTML 4.0 рекомендует использовать тег <object> для загрузки внешних данных вместо тега <embed>, поэтому наилучшим вариантом будет поместить <embed> внутрь контейнера <object>.

 

<object><embed src="ссылка файла pdf" width="700" height="500" /></object>

 

3. С использованием тега <iframe>.

 

<iframe src="ссылка файла pdf" width="700" height="400"></iframe>

 

4. С использованием сервиса Google Docs Viewer (через iframe). (МОЙ ВАРИАНТ) !!!

 

<iframe src="http://docs.google.com/viewer?url="ссылка файла pdf"&embedded=true" width="700" height="500" style="border: none;"></iframe>

 

 

Куда вставить эти конструкции в шаблоне сообщения я нашел.

 

Внимание ! ВОПРОС:

 

Как в IPB 3.2.3 получить прямую ссылку на прикрепленный к сообщению файл? ЧТобы его съел гугл докс?

Ссылка вида:

 

http://site.ru/index.php?app=core&module=attach&section=attach&attach_id=2175

не проходит.

 

может это переменная какая или еще какой то способ.

Share this post


Link to post
Share on other sites

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

Share this post


Link to post
Share on other sites

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

 

Можно чуть поподробнее.

для чего это сделано это понятно.

но нужно как то прямую ссылку получить это очень важно.

 

$data['attach_file'] выводит название файла, а как получить прямую ссылку?

Share this post


Link to post
Share on other sites
но нужно как то прямую ссылку получить это очень важно.
Добавьте необходимые данные.

admin/applications/core/sources/classes/attach/class_attach.php

Ищите по

getTemplate( $skin_name )->Show_attachments(

и в массив добавляйте

'attach_ext'    => $row['attach_ext'],
'a_location'    => $row['attach_location'],

Дальше в шаблоне Show_attachments используйте

<if test="$data['attach_ext'] == 'pdf'">
   <iframe src="http://docs.google.com/viewer?url={$this->settings['upload_url']}/{$data['a_location']}&embedded=true" width="700" height="500" style="border: none;"></iframe>
</if>

Share this post


Link to post
Share on other sites

Большое спасибо за вашу помощь и участие.

Но с данным кодом тоже беда.

Вашим способом гуглу отдается файл вида:

/uploads/monthly_02_2014/post-21515-0-13682300-1392632099.ipb

а такое расширение он идентифицировать и прочитать не может

Share this post


Link to post
Share on other sites
а такое расширение он идентифицировать и прочитать не может
Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?

Share this post


Link to post
Share on other sites

Вашим способом гуглу отдается файл вида:

Этим способом должен отдаваться полный адреса файла вместе с upload_url. Единственное что стоило бы сделать это урленкодить адрес через {parse expression="urlencode($this->settings['upload_url'].'/'.$data['a_location'])"}

Если адрес в порядке, тогда смотрите документацию гугла по подключению адреса. Расширение аттачей в целях безопасности меняется на .ipb.

Share this post


Link to post
Share on other sites

Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?

Ссылка которая отдается таким способом имеет вид:

http://site.ru/uploads/monthly_02_2014/post-21515-0-28698400-1391352095.ipb

 

при переходе по ней браузер открывает окно с сохранением файла post-21515-0-28698400-1391352095 с расширением ipb (вместо необходимого pdf, doc, ppt).

 

файл действительно тот что нужно и если у него сменить расширение, он откроется в нужном виде.

 

Вопрос в том как его отправить гуглу с нужным расширением.

Share this post


Link to post
Share on other sites

Вопрос в том как его отправить гуглу с нужным расширением.

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

Share this post


Link to post
Share on other sites

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

 

 

Печаль. неужели нет решения данной проблемы.

Share this post


Link to post
Share on other sites

Может тогда кто то встречал другое решение как сделать предпросмотр прикрепленных файлов. без участия гугла.

может это плеер какой то или плагин.

Share this post


Link to post
Share on other sites

Проблема все еще актуальна.

Пишите в гугл на поддержку динамических адресов. Или адресов без расширения.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...