Введение и документация по модулю "PFS".
Хранилище личных файлов и обмен ими на сайте Cotonti. Основное назначение модуля "PFS", руководство пользователя по установке и настройке конфигурации
Документация Модуль "PFS" Хранилище личных файлов
1. Основное назначение модуля "PFS".
Функционал модуля "PFS" позволяет пользователям "кота" хранить файлы в персональном файловом хранилище на сайте.
Это прикриплять к статьям, собщениям и топикам на форуме.
Также пользователи "котонти" могут обмениваться файлами внутри сайта, размещая их или ссылки на них в сообщениях личной переписки, разумеется если установлен модуль «Private Messages» (PM).
2. Установка модуля "PFS".
Заходим в Панель Управления сайтом (ПУ)
В каждом шаблоне админки расположение разное, но суть везде одинакова:
Управление сайтом / Расширения / PFS
Если модуль не установлен, здесь будет всего одна ссылка или кнопка, - "Установить".
Смело её жмакаем разок, и проверяем, что появится сообщение, например:
Выполнено!
Установка Модуль "pfs"
Установлено связок хуков: 16
Конфигурация установлена
Значения авторизации по умолчанию установлены
Выполнена часть SQL-хэндлера: OK
Выполнена часть PHP-хэндлера: OK
3. Настройки и конфигурация модуля "PFS".
Жмем теперь ссылку "Конфигурация" и видем гору опций.
Вот их список:
Режим хранения по каталогам:
Пользовательские файлы будут храниться в каталогах /datas/users/USERID/ вместо /datas/users/ и добавления USERID к имени файла. Устанавливается только при начальной настройке сайта. Менять значение после первой загрузки любого файла не рекомендуется!
Имена файлов на основе шаблона времени:
Генерировать имена файлов по шаблону времени. По умолчанию используется маска ИМЯФАЙЛА_USERID.
Проверка файлов:
Проверять загружаемые файлы («Мои файлы» и профиль) на соответствие их формата используемому расширению. Рекомендуется включить в целях безопасности.
Игнорировать MIME-типы:
Разрешить закачку файлов, MIME-тип которых не указан в конфигурации.
Макс. число параллельных закачек за раз:
Макс. количество элементов на странице:
Закрывать всплывающее окно после вставки ббкода:
Настройки миниатюр
Метод создания миниатюр изображений (thumbnails):
Ширина миниатюры, px:
Высота миниатюры, px:
Ширина рамки миниатюры, px:
Приоритет размеров миниатюр (thumbnails):
Сохранять пропорции изображения в миниатюре:
Коэффициент JPEG-сжатия миниатюры:
Цвет рамки миниатюры:
Цвет текста миниатюры:
Размер шрифта миниатюры:
Не нужно их бояться.
Остановлюсь на самых важных.
В первых четырех настройках логическое значение, радио-кнопка либо "Да", либо "Нет".
Лично я ставлю тут всем четырем - "ДА".
В остальных опциях уже каждый под себя, или вопросы в отдельной теме, но в этом же разделе.
Сохраням настройки, и возвращаемся на страницу модуля, там, где нажимали "Установить", а затем "Конфигурация".
Эта страница, схожа со всеми другими расширениями, а в котонти это модули и плагины.
Страницы расширений имеют схожий интерефейс (элементы управления и навигации) и каждая такая страница называется "Карточка расширения", например "Карточка модуля «PFS»" в данном нашем конкретном случае.
Здесь стоит сразу понимать, что эта страница находится в админке, что нам нужна страница управления этим расширением.
Карточка расширения содержит основные сведения, такие как версия, дата последнего обновления кода, авторство и другую служебную информацию.
После установки модуля, переходим в раздел "Пользователи",
находим нужную группу, и жмем либо кнопка, либо ссылка - "ПРАВКА".
Затем, здесь, выставляются РАЗМЕРЫ ДЛЯ ВСЕЙ ГРУППЫ пользователей, а не каждому участнику или одному из них.
Пример ниже:
Максимальный размер одного файла в разделе PFS - «Мои файлы» (KiB): 102297
Максимальный размер всех файлов в разделе PFS - «Мои файлы» (KiB): 10485760
В первом случае, что-то около 100 мб, узнать точно можно воспользоваться калькулятором типа и вторая ссылка.
Но у вас могут быть другие размеры, все зависит от вашего сайта и объема дискового пространства на хостинге. Насчет хостинга для котонти, - рекомендуемый хостинг без головной боли, проверенный Cotonti годами.
Теги в шаблонах для модуля «PFS».
В карточке расширения, проскролив в низ, вы увидите код тега и шаблон, в котором он должен быть прописан.
Здесь обычно ваша админка вам сразу подскажет, какой есть, а какой нужно прописать и где.
1. Ссылка пользователю на своё персональное хранилище файлов.
themes/MySkinName/header.tpl :
{HEADER_USER_PFS}
2. Шаблон создания статьи/страницы (модуль "Pages")
themes/MySkinName/modules/page/page.add.tpl :
{PAGEADD_FORM_PFS}
{PAGEADD_FORM_SFS}
{PAGEADD_FORM_URL_PFS}
{PAGEADD_FORM_URL_SFS}
3. Шаблон редактирования статьи
themes/MySkinName/modules/page/page.edit.tpl :
{PAGEEDIT_FORM_PFS}
{PAGEEDIT_FORM_SFS}
{PAGEEDIT_FORM_URL_PFS}
{PAGEEDIT_FORM_URL_SFS}
4. Шаблон комментариев.
themes/MySkinName/plugins/comments/comments.tpl :
{COMMENTS_FORM_PFS}
{COMMENTS_FORM_SFS}
Тут наверное лучше привести пример, потомучто здесь подключается два раза.
Теги выглядят одинаково, но документ шаблона имеет две формы, форма создания и форма редактирования.
4.1 Форма редактирования, - внутри логического* блока формы редактирования комментария
<!-- BEGIN: COMMENTS_FORM_EDIT -->
<!-- IF {PHP.cot_modules.pfs} -->
<!-- IF {COMMENTS_FORM_PFS} -->
{COMMENTS_FORM_PFS}
<!-- ENDIF -->
<!-- IF {COMMENTS_FORM_SFS} -->
{COMMENTS_FORM_SFS}
<!-- ENDIF -->
<!-- ENDIF -->
<!-- END: COMMENTS_FORM_EDIT -->
* под логическим блоком здесь понимается тело блока в пределах условия :
BEGIN: COMMENTS_FORM_EDIT
END: COMMENTS_FORM_EDIT.
4.2 Форма добавления, - внутри логического блока формы создания комментария
<!-- BEGIN: COMMENTS_NEWCOMMENT -->
<!-- IF {PHP.cot_modules.pfs} -->
<!-- IF {COMMENTS_FORM_PFS} -->
{COMMENTS_FORM_PFS}
<!-- ENDIF -->
<!-- IF {COMMENTS_FORM_SFS} -->
{COMMENTS_FORM_SFS}
<!-- ENDIF -->
<!-- ENDIF -->
<!-- END: COMMENTS_NEWCOMMENT -->
5. Форум, шаблон новой темы.
themes/MySkinName/modules/forums/forums.newtopic.tpl :
{FORUMS_NEWTOPIC_MYPFS}
6. Форум, шаблон редактирования постов
themes/MySkinName/modules/forums/forums.editpost.tpl :
{FORUMS_EDITPOST_MYPFS}
themes/MySkinName/modules/forums/forums.editpost.tpl :
{FORUMS_POSTS_NEWPOST_MYPFS}
7. Приватная переписка, модуль "PM"
7.1 Шаблон сообщения
themes/MySkinName/modules/pm/pm.message.tpl :
{PM_FORM_PFS}
7.2 Шаблон отправки сообщения
themes/MySkinName/modules/pm/pm.send.tpl :
{PMSEND_FORM_PFS}