В данном разделе будет описано как создавать собственные модули для системы Abills.
Структурная схема системы.
Начало создания модуля.
Все модули системы находятся в папке /usr/abills/Abills/modules/
Название модуля лучше всего делать с заглавной буквы.
В каталоге модуля обязательно должны находится 2 файла: webinterface и config.
webinterface - Библиотека функций модуля
config - Конфигурационный файл модуля
Файл config
В данном файле можно объявлять следующие переменные которые влияют на работу и отображение модуля в системе.
%FUNCTIONS_LIST Список - список доступных функций в интерфейсе администратора. Каждая функция объявляется отдельной переменной хеш масива и имеет следующую структуру. Рассмотрим на примере:
Рассмотрим пример
"12:10:2 вложенная во вторую функцию:second_second_function:UID" => 5,
Параметр | Описание |
---|---|
12 | Номер функции в меню в данном модуле |
10 | Номер родительской функции. Если 0 (ноль) функция является корневой. Если значение больше нуля то функция располагается в меню под родительской функцией |
2 вложенная во вторую функцию | Название функции в меню панели управления. Можно использовать %lang переменные для локализации. |
second_second_function | Название фукции которая выполняется при нажатии соответственного меню |
UID | Дополнительные параметры. Они могут быть и не объявлены. Если объявляются тогда меню показывается только если данные доп параметры присутствуют HTTP запросе. Например ели объявлен параметр UID то данная функция будет отображаться только если в запросе он присутствует. Пример запроса: http://your.host:9443/index.cgi?UID=15 |
5 | Номер корневого каталога в котором разместить меню. Номера корневых меню: 1 - Клиенты 2 - Оплаты 3 - Снятие денег 4 - Отчёт 5 - Настройка 6 - Мониторинг 7 - Поиск 8 - Обслуживание 9 - Профиль |
Code Block | ||||
---|---|---|---|---|
| ||||
#Iner_ID : Main or Sub or if -1 user menu func list %FUNCTIONS_LIST = ( "01:0:$_ICARDS:cards_mainГлавное меню модуля:null:" => 5, "04:1:BRUTE FORCE:cards_bruteforce:" => 5, "05"02:1:$_ICARDS:cards_mainГлавная функция:main_function:" => 5, => 5, "0610:1:$_DILLERS $_TARIF_PLANS:cards_dillers_tp:Вторая функция:null" => 5, "06:5:$_ADD:cards_add:" => 5, "08:0:$_ICARDS:cards_user_payment:UID" => 2, "09:0:$_ICARDS:cards_report"11:10:1 вложенная во вторую функцию:second_main_function:" => 45, "11:8:$_DILLERS:cards_report_dillers:" => 4, "12:0:$_DILLERS:cards_dillers_list:" => 1, "13:0:$_DILLERS:cards_diller:UID" => 15, 12:10:2 вложенная во вторую функцию:second_second_function:UID" => 5, ); %USER_FUNCTION_LIST = ("01:0:$_ICARDS:cards_user_payment:" => 0, ); %RESELLER_FUNCTION_LIST = ("01:0:$_ICARDS:cards_reseller_face:defaultindex" => 0, "02:1:$_REPORTS:cards_diller_stats:" => 1 ); %PERIODIC = (daily => [ 'cards_bruteforce_clean' ] ); |