Ниже приведен список файлов, которые содержит установочный архив модуля.
| id.txt | Основная информация о модуле |
| files.txt | Список файлов, входящих в модуль помимо обязательных |
| parameters.txt | Параметры (константы) модуля |
| sql.txt | Список запросов для БД, производимых при установке |
| function.inc.php | Все функции, используемые модулем |
| index.php | Основной скрипт модуля |
| install.php | Вспомогательный инсталляционный файл модуля |
| message.txt | Зарезервировано |
| admin.php | Зарезервировано |
| setup.php | Зарезервировано |
| ru.lang.php | Языковой файл, содержащий все текстовые константы, используемые для обеспечения мультиязычности |
Подробное описание файлов
id.txt
Данный файл содержит основную информацию о модуле в следующем формате (построчно):
1: ключевое слово модуля (латинскими буквами без пробелов)
2: код названия системы («2» для Standard, «3» для Extra, «4» для Plus)
3: версия системы NetCat, для которой изготовлен модуль (например, «2.2»)
4: номера патчей (через пробел), которые должны быть установлены (например, строка «2 4» означает, что перед установкой модуля необходимо установить обновления с номерами 2 и 4)
5: название модуля на русском языке
6: зарезервировано
7: зарезервировано
8: описание модуля
files.txt
Данный файл содержит список файлов, которые входят в модуль помимо обязательных. Файлы указываются с полным путем от корня сайта. Например, если мы хотим, чтобы при установке в папку модуля “mymod” записался в файл test.php, то нам необходимо записать в files.txt следующую строку
./netcat/modules/mymod/test.php
При этом сам файл test.php должен находиться в архиве модуля в аналогичной папке - /netcat/modules/mymod/.
parameters.txt
Файл содержит список констант модуля и их значения. На каждой строчке указывается по одной константе. При загрузке страниц сайта константы загружаются в двумерный массив $MODULE_VARS, первым индексом которого является ключевое слово модуля, а вторым – название константы. После установки модуля содержимое этого файла записывается в поле Parameters таблицы Module, а сам файл удаляется. В процессе эксплуатации модуля значения параметров (констант) можно изменять в режиме администрирования в разделе «Инструменты» - «Модули».
Например, указываем в настройках модуля с ключевым словом “mymod”:
MY_VAR=123
В результате, при работе с компонентами, макетами дизайна или скриптами модулей, мы получаем элемент MY_VAR в массиве $MODULE_VARS[mymod] - $MODULE_VARS[mymod][MY_VAR]. Этому элементу будет присвоено значение «123».
sql.txt
Данный файл содержит список SQL-запросов для БД, запускаемых при установке модуля. Каждая строка содержит по одному SQL-запросу.
install.php
Данный файл содержит две функции, контролирующие установку модуля.
Первая функция CheckAbilityOfInstallation() активизируется до установки модуля и проверяет, возможна ли эта операция. По умолчанию функция возвращает положительный результат. Вы можете модифицировать эту функцию, поставив туда проверку на все необходимые условия, и, если по каким-либо причинам система не удовлетворяет условиям установки модуля, Вы можете установить значение $result[Success] в 0, при этом указав сообщение об ошибке в $result[ErrorMessage]. В этом случае установка модуля произведена не будет.
Вторая функция InstallThisModule() производит действия, необходимые для установки модуля, помимо стандартных (распаковка архива, создание и запись в папку с модулем, посыл запросов в БД, создание соответствующей строчки в таблице Module). Вы можете дописать в эту функцию код, необходимый для установки Вашего модуля; если установка не была произведена корректно, установите значение $result[Success] в 0, при этом указав сообщение об ошибке в $result[ErrorMessage]. В этом случае установка модуля произведена не будет.
В функции InstallThisModule(), в частности, можно произвести импорт компонента (TPL-файла). Для этого необходимо записать в архив модуля файл компонента (*.tpl) и воспользоваться функцией ParseClassFile($file), где $file – полный путь к TPL-файлу. В качестве результата функция возвратит номер созданного компонента. Для генерации TPL-файла воспользуйтесь функцией экспорта компонента.
index.php и function.inc.php
Данные файлы являются основными скриптами модуля. Индексный файл производит необходимые действия, связанные с работой модуля, используя функции из файла function.inc.php, который подключается автоматически. Если в каком-либо из этих файлов нет необходимости, то они могут быть пустыми. Наличие каждого файла обязательно.
ru.lang.php
Файлы данного типа содержат все текстовые константы, используемые в модуле для обеспечения мультиязычности. Если Ваш сайт, скажем, имеет еще и немецкий интерфейс, Вам необходимо создать файл ger.lang.php (в папке /netcat/admin/lang/ должен присутствовать файл ger.php).
Пример содержимого файла ger.lang.php:
define("NETCAT_MODULE_AUTH", "Интерфейс пользователя");
define("NETCAT_MODULE_AUTH_DESCRIPTION", "Интерфейс пользователя в системе ввода-вывода. Возможность регистрации внешней группы пользователей, изменение собственной анкеты, пароля, восстановление пароля. Данный модуль может интегрироваться с другими модулями системы.");