Управление файлами материала. Обычно используется совместно с макросом MaterialFiles.
Формат вызова и поведение
Поведение action зависит в первую очередь от параметров subaction, который указывает действие, которое необходимо произвести, и path, который указывает путь к объекту (в формате ИмяМатериала/путь/к/файлу), над котором необходимо произвести действие. В зависимости от действия, могут требоваться дополнительные параметры, для задания которых генерируется соответствующая форма. Далее рассмотрены возможные параметры subaction, их семантика и используемые дополнительные параметры.
subaction=view --- просмотр файла
Дополнительные параметры: отсутствуют
Поведение: возвращает файл как он есть
subaction=move --- перемещение файла
Дополнительные параметры:
- to=destination --- целевая директория
Поведение: В случае отсутствия параметра to выводится дерево каталогов материала, в котором находится объект. В случае, если параметр to указан, то происходит перемещение объекта в указанную директорию
subaction=delete --- удаление файла
Дополнительные параметры: отсутствуют
Поведение: удаление указанного файла или директории
subaction=upload --- закачивание файла
Дополнительные параметры:
- file --- содержимое файла
Поведение: Если параметр file не передан, то будет отбражена форма выбора файла для загрузки. Если параметр file передан, то производится загрузка файла в директорию path
subaction=pack --- архивирование файла или директории
Дополнительные параметры: отсутствуют
Поведение: Архивирование указанного файла или директории командой tar cjf. В случае, если действие производится над материалом, то архивируются все файлы материала
subaction=unpack --- распаковка архивов tar.bz2
Дополнительные параметры: отсутствуют
Поведение: Выполняет команду tar xjf над указанным файлом
subaction=mkdir --- создание поддиректории
Дополнительные параметры:
- name=dirname --- имя создаваемой поддиректории
Поведение: в случае, если параметр name не передан, отображается форма указания имени поддиректории. Если параметр name указан, то создаётся поддиректория с именем name в директории path
В случае, еслид действие выполнить не возможно по каким-либо причинам, выводится соответствующая диагностика. Возможные виды причин:
- Путь не существует
- Путь не является директорией
- Произошла ошибка во время выполнения операции
- Нет прав для выполнения операции
Права доступа
Для управления файлами используются права доступа read и write страницы паспорта материала. Право доступа read даёт возможность выполнять subaction=view. Право доступа write даёт возможность выполнять действия move, delete, upload, pack, unpack, mkdir. В случае, если права на запрашиваемое действие отсутствуют, выводится предупреждение и присходит переход на реферрер.