Файл-описание плагина `version`

Каждый плагин обязан содержать собственный файл-содержание. Именно с его помощью ядро CMS определяет идентификатор плагина, его название, возможности, набор обрабатываемых событий и многое другое.

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

Структура файла-описания

Все строки, начиинающиеся с символа ; (точка с запятой) или пустые строки (состоящие только из пробелов) считаются комментариями.

Файл-описание содержит набор обязательных и необязательных переменных, которые используются ядром CMS при работе.
Формат записи строки переменной:
variable_name: variable_value
где:
Регистр записи переменной не важен, но для удобства восприятия лучше использовать вариант написания, указанный в этом документе.

Переменные файла-описания

Вы можете использовать следующие переменные:
ОбязательнаяНаименованиеОписаниеКомментарий
+IDУникальный идентификатор плагинаUID может содержать только латинские символы и символы подчёркивания и тире. Обычно UID и наименование каталога, в котором находится плагин, совпадают.
+NameНаименование плагинаНаименование отображается в списке плагинов
+VersionВерсия плагинаОтображается в спике плагинов, также используется для механизма определения последней версии.
Должна записываться в формате [число.число], например: 0.26
+TypeТип плагинаДопустимые варианты: plugin, auth, widget. В настоящее время используюся только первые два, при этом тип auth применим только для плагинов авторизации
ActsСписок перехватываемых действийЕсли ваш плагин состоит из одного запускающего файла, то вы можете использовать эту переменную. В ней прописывается через запятую список action'ов, которые перехватываются плагином (используется совместно с переменной file)
FileНаименование файла плагинаЗдесь указывается имя файла вашего плагина. Именно он будет подгружаться в том случае, когда ядро CMS захочет передать управление вашему плагину (используется совместно с переменной acts)
 ConfigИмя файла-конфигуратораИмя файла, ответственного за создание админ-панели плагина (доступной из админ-панели CMS)
 InstallИмя файла-инсталлераИмя файла, ответственного за установку плагина
 DeinstallИмя файла-инсталлераИмя файла, ответственного за удаление плагина
 DeinstallИмя файла-инсталлераИмя файла, ответственного за удаление плагина
 DescriptionОписание плагинаОтображается в списке плагинов
 InformationДетальное описание плагинаБолее детальное описание плагина, но отображаемое только в процессе установки CMS
 PreinstallПоведение при установкеФлаг, определяющий поведение плагина при установке:
yes - плагин в любом случае устанавливается в процессе установке CMS
no - плагин в любом случае не устанавливается в процессе установки CMSdefault_yes - пользователь может самостоятельно выбрать нужен ли ему плагин, но по умолчанию выбран вариант "устанавливать"
Если переменная не задана, то пользователь может самостоятельно решить нужен ли ему плагин, по умолчанию галочка не установлена
 AuthorИмя автора, отображается в списке плагина
 Author_URIСсылка на сайт автора
 PermanentФлаг неотключаемого плагинаЕсли вы установите эту переменную в значение yes, то этот плагин будет невозможно отключить в админ-панели
 ActionsРасширенный список перехватываемых действийВ случае, если ваш плагин состоит из нескольких файлов, то для описания перехватываемых действий используется именно эта переменная (её можно указывать несколько раз).
Формат записи: action[, action[,...]];filename
 LibraryПоддерживаемые плагином библиотекиНекоторые плагины предоставляют для других плагинов доступ к своим библиотекам при помощи функции LoadPluginLibrary(), формат записи переменной - аналогичен формату переменной actions (и также возможно множественное указание переменной)
Формат записи: libname[, libname[,...]];filename

Пример файла-описания (для плагина comments)


;
; Version description file for plugin @@ Next Generation CMS
;

ID: comments
Name: User comments
Version: 0.01
Acts: news_short, news_full, ppages, editnews, editnews_form, news
File: comments.php
Config: config.php
Install: install.php
Deinstall: uninstall.php
Type: plugin
Description: Комментарии пользователей
Author: Vitaly A. Ponomarev
Author_URI: http://ngcms.ru/
Title: Комментарии пользователей
Information: Реализует функционал работы с комментариями
Preinstall: default_yes
Library: lib; inc/comments.lib.php