Страница 2 из 2

СообщениеДобавлено: 08 апр 2010, 21:42
Aragami
Может кто-нибудь сможет подсказать хотя бы в каком файле мне искать момент кода показа файла изображения в виде картинки?

СообщениеДобавлено: 24 апр 2010, 13:18
xC4x
Aragami
в админке же все написано ;)

Re: Как создать свой раздел вложений?

СообщениеДобавлено: 20 июн 2010, 15:22
Aragami
Что в ней написано? Вы вероятно не прочли первый пост этой темы, мне нужен момент кода, ответственный за вывод вложений в виде ссылок на самом форуме..

СообщениеДобавлено: 20 июн 2010, 16:27
Nekstati
Aragami, не совсем понятно, что вы имеете в виду. Возможно, это вам нужно: includes/functions_content.php, функция parse_attachments(). Если же вы имеете в виду код шаблона, то ищите в viewtopic_body.html по слову ATTACHMENT.

Re: Как создать свой раздел вложений?

СообщениеДобавлено: 22 июн 2010, 01:48
dfs
Nekstati, да, как раз правка функции parse_attachments() нам и нужна. Я добавил новый раздел вложений (он появился в админке), но заставить его правильно работать не могу.

В функции parse_attachments() добавил в список case'ов:
Код: выделить все
            case ATTACHMENT_CATEGORY_GAME:
               $l_downloaded_viewed = 'DOWNLOAD_COUNT';
               $inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
               $download_link .= '&mode=view';

               $block_array += array(
                  'S_FILE'      => true,
               );
               $update_count[] = $attachment['attach_id'];
            break;

В таком виде он у меня отображается как обычный залитый архив.

Требуется кроме ссылки на архив, добавить еще картинку, которая получена путем некоего анализа этого архива (функция анализа есть).

Пробовал в файле /downloads/file.php создать аналогичную функцию "wrap_img_to_browser" (назвал ее, допустим "wrap_game_to_browser") и добавил условие, чтобы она выполнялась только если категория ATTACHMENT == ATTACHMENT_CATEGORY_GAME. Но функция ведет себя очень странно и некорректно. Возможно нужно вносить изменения не в file.php?

В parse_attachments() для картинки указано следующее:
Код: выделить все
            // Images
            case ATTACHMENT_CATEGORY_IMAGE:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
               $download_link .= '&mode=view';

               $block_array += array(
                  'S_IMAGE'      => true,
                  'U_INLINE_LINK'      => $inline_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;

Тут S_IMAGE - отображает картинку непосредственно в посте пользователя. Однако нигде больше упоминания "S_IMAGE" я не видел. Есть ли способ прикрутить к моему разделу отображение картинки, но только той, которая получена по определенному алгоритму из этго файла?

Буду рад любой помощи/информации.

Re: Как создать свой раздел вложений?

СообщениеДобавлено: 23 июн 2010, 22:31
dfs
Разобрался. Пришел к выводу, что в моем случае удобнее будет не создавать новый раздел, а добавить условия в уже существующие.

Кому надо, вот список файлов:
./includes/functions_content.php
./includes/functions_posting.php
./includes/message_parser.php
./styles/ВАШ_СТИЛЬ/template/attachment.php
./styles/ВАШ_СТИЛЬ/template/posting_attach_body.php

Для создания нового раздела, придется порыться еще в
./includes/acp/acp_attachments.php
./download/file.php