В данном разделе будет описано как создавать собственные модули для системы Abills.
Структурная схема системы.
Начало создания модуля.
Все модули системы находятся в папке /usr/abills/Abills/modules/
Название модуля лучше всего делать с заглавной буквы.
В каталоге модуля обязательно должны находится 2 файла: webinterface и config.
webinterface - Библиотека функций модуля
config - Конфигурационный файл модуля
Пример файла config
В данном файле можно объявлять следующие переменные которые влияют на работу и отображение модуля в системе.
%FUNCTIONS_LIST Список доступных функций в интерфейсе администратора. Каждая функция объявляется отдельной переменной хеш масива и имеет следующую структуру. Рассмотрим на примере:
Code Block | ||||
---|---|---|---|---|
| ||||
#Iner_ID : Main or Sub or if -1 user menu func list
%FUNCTIONS_LIST = ("01:0:$_ICARDS:cards_main:" => 5,
"04:1:BRUTE FORCE:cards_bruteforce:" => 5,
"05:1:$_ICARDS:cards_main:" => 5,
"06:1:$_DILLERS $_TARIF_PLANS:cards_dillers_tp:" => 5,
"06:5:$_ADD:cards_add:" => 5,
"08:0:$_ICARDS:cards_user_payment:UID" => 2,
"09:0:$_ICARDS:cards_report:" => 4,
"11:8:$_DILLERS:cards_report_dillers:" => 4,
"12:0:$_DILLERS:cards_dillers_list:" => 1,
"13:0:$_DILLERS:cards_diller:UID" => 15,
);
%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' ] ); |