Модуль Files

Модуль организует управление вложениями к страницам, постам и любым другим объектам, создание фотогалерей на страницах и постах. А также персональное файловое хранилище пользователей, файловое хранилище сайта для администраторов, аватары пользователей

Модуль для CMF Cotonti.    
    
Модуль организует управление вложениями к страницам, постам и любым другим объектам, создание фотогалерей на страницах и постах. А также совмещает в себе персональное файловое хранилище пользователей, файловое хранилище сайта для администраторов, управление аватарами и альбомами пользователей.
Он является заменой модуля PFS, плагина «User images», входящих в «коробку» Cotonti и плагина «Attach2».

GitHub: https://github.com/Alex300/files
Страница модуля: https://lily-software.com/free-scripts/cotonti-files

 

#1. Особенности

  • Хранение файлов как в локальной файловой системе на сервере, так и в удаленных файловых хранилищах, таких как Amazon AWS S3, Azure Blob Storage, Yandex Objet Storage, BunnyCdn, Google Cloud Storage, WebDav, FTP, SFTP и др.
  • Современный механизм загрузки основанный на jQuery File Upload
  • Поддержка мультизагрузки.
  • Петаскивание файлов мышью прямо на форму загрузки.
  • Загрузка файлов по-частям («Чанками») позволяет обойти ограничение на загрузку файла через $_POST в 2 мб.
  • Использование для обработки изображений как библиотеки GD, так и ImageMagick. Последняя поддерживает большее количество форматов изображений, в т.ч. HEIC/HEIF, которые используются в смартфонах iPhone от Apple.
  • Уменьшение больших изображений до указанных размеров при загрузке.
  • Использование водяного знака (watermark) для изображений.
  • Простая интергация через обратный вызов функций из шаблона.
  • Загрузки подсчитываются и происходят с оригинальным именем файла.
  • Создание изображений для предпросмотра (thumbnail) и простая его настройка.
  • Поддержка экстраполей.
  • Специальные ББкоды для вставки изображений и галлерей в текст страниц вне зависимости от выбранного парсера.
  • Поддерживаемые форматы изображений библиотекой GD: .avif, .bmp, .gif, .jpg, .png, .tga, .tpic, .wbmp, .webp, .xbm
  • Поддерживаемые форматы изображений библиотекой Imagick.

 

#2. Системные требования и ограничения

  • Установленная Cotonti Siena версии не ниже 0.9.24 beta. (Files v. 1.0.8 совместим с Cotonti Siena 0.9.18)
  • PHP версии 7.4 и выше. (Files v. 1.0.8 совместим с PHP v 5.4)
    .bmp библиотекой GD поддерживается на PHP >= 7.2,
    .tga библиотекой GD загрузка поддерживается на PHP >= 7.4, уменьшенные копии изображений создаются в JPEG
    .avif библиотекой GD поддерживается на PHP >= 8.1
  • Для использования удаленного файлового хранилища требуется установленная Flysystem и соотвествующий адаптер.
  • jQuery File Upload выводит превью при загрузке изображений  не для всех указанных форматов.
  • Наличие на Вашем сайте установленной библиотеки Cotonti Lib версии 2.2.x
  • Модуль не совместим с модулем PFS и плагином «User images». Их не следует устанавливать, если Вы собираетесь использовать модуль «Files».
  • Шаблоны "в коробке" расчитаны на использование темы, реализованной на фреймворке Bootstrap v3 (Устанавливается отдельно)

 

Перенос данных из модуля «PFS» и плагинов «User images» и «Attach2».

Если Вы хотите использовать модуль «Files» для уже существующего сайта, Вам следует использовать конвертер для переноса данных между модулями. Вы можете заказать его здесь. В настоящий момент существует конвертер для переноса данных из этих трех расширений, т.к. они одни из самых часто используемых. Но можно сделать конвертер для любого другого модуля или плагина.

 

#3. Установка

  • Загрузить архив и распаковать в папку с модулями вашего сайта.
  • В меню «Управление сайтом > Расширения» произвести установку нажав «установить».
  • В настройках модуля выберите подходящие Вам установки.
  • В шаблонах панели управления «admin.users.tpl» и «admin.users.tpl» а также в некоторых других создайте теги в соотвествии с рекомендациями на настранице модуля в панели управления. (https://<ваш_домен>/admin/extensions?a=details&mod=files)
  • При необходимости на странице редактирования групп пользователей установите ограничения на размер загружаемого файла, общее файловое пространство пользователя и максимальное количество вложений для одного объекта. Для каждой группы пользователей могут действовать свои разрешения.
    Обратите внимание, что размеры указываются в байтах, ноль означает «безлимит», а -1 - запрет.
  • Создайте каталог для файлов на вашем сервере (по умолчанию используется «datas/files») и установите права на запись для PHP (например CHMOD 775 или CHMOD 777).
  • Используйте в Вашей теме Resources::setAlias() для объявления алиясов для файлов Bootstrap, если Вы планируете его использовать и он установлен в папку, отличную от объавленной в классе Resources.

 

#4. История версий

v. 2.0.0

  • Использование Image bundle из библиотеки Cotonti Lib для обработки изображений.
  • Использование File System из библиотеки Cotonti Lib и Flysystem для хранения файлов и операций с ними.
  • Обфускация имен файлов.
  • Уменьшение загружаемых изображений в браузере, если возможно.
  • Рефакторинг кода. Функции переименованы по шаблону cot_filesFunctionName().

v. 1.0.8

  • Добавлена поддержка удаления пользователей, страниц и постов на форуме в корзину. При удалении этих элементов файлы не удаляются и после восстановления элемента из корзины, файлы остаются привязными к этим элементам. При удалении элементов из корзины, связанные файлы тоже удаляются.

v 1.0.7

  • Добавлена поддержка графических форматов: avif, bmp, gd2, gd, tga, tpic, wbmp, webp, xbm
  • jQuery File Upload обновлен до версии 10.32.0
  • Совместимость с PHP 8.1
  • Исправлены некоторые ошибки

 

Читать больше про использование (на русском)

#5. Контакты

Обсудить функционал модуля можно на форуме. Сообщить об ошибках на GitHub.

 

 


Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям