Translations of this page:

Модули системы

В данном разделе описано как создавать собственные модули для системы.

Модуль для системы должны находиться в папке /usr/abills/Abills/modules. Название модуля лутше всего писать с заглавной буквы New_module. В каталоге модуля должно быть обязательно два файла webinterface, config.

  • webinterface - Библиотека функций модуля
  • config - Конфигурационный файл модуля

config

Пример файла:

#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' ] );

В данном файле можно объявлять следующие переменные которые влияют на работу и отображение модуля в системе.

  • %FUNCTIONS_LIST Список доступных функций в интерфейсе администратора. Каждая функция объявляется отдельной переменной хеш масива и имеет следующую структуру. Рассмотрим на примере:
 %FUNCTIONS_LIST = ("01:0:$_ICARDS:cards_main:UID" => 5);

В данном примере обявлена одна функция визуализации.

01 Номер функции в данном модуле
0 Номер родительской функции. Если 0 (ноль) функция является корневой. Если значение больше нуля то функция располагается в меню под родительской функцией
$_ICARDS Название функции в меню панели управления
cards_main Название фукции которая выполняется при нажатии соответственного меню
UID Дополнительные параметры. Они могут быть и не объявлены. Если объявляются тогда меню показывается только если данные доп параметры присутствуют HTTP запросе.
Например ели объявлен параметр UID то данная функция будет отображаться только если в запросе он присутствует. Пример запроса: http://your.host:9443/index.cgi?UID=15
5 Номер корневого каталога в котором разместить меню. Номера корневых меню:
1 - Клиенты
2 - Оплаты
3 - Снятие денег
4 - Отчёт
5 - Система
6 - Мониторинг
7 - Поиск
8 - Другое
9 - Профиль
  • %USER_FUNCTION_LIST - Список функций личного кабинета пользователя. Функции формируются за тем же правилом что и функции интерфейса администратора.
  • %RESELLER_FUNCTION_LIST - Список функций интерфейса реселлера. Интерфейс реселлера появляется только при включении модуля Multidoms
  • %PERIODIC - Список функций которые используются в периодических процессах системы. ОНи вызываются из программы abills/libexec/periodic.

В системе доступно несколько видов функций:

daily Дневные переодические функции
monthly Месячные переодические функции
reports Функции составления дневные отчётов

пример объявления:

%PERIODIC = (daily   => [ 'dv_daily_fees', 'dv_users_warning_messages'],
             monthly => [ 'dv_monthly_fees', 'dv_periodic_logrotate'  ],
             report  => [ 'dv_report'       ]);
 

webinterface

В данном файле должны располагаться функции модуля

Работа с базой данных

Для разделения работы с базой и элементов визуализации все функции работы с базой помещаются в каталог /usr/abills/Abills/[название базы данных]
Для СУБД mysql это /usr/abills/Abills/mysql.

 
abills/docs/development/modules/ru.txt · Последние изменения: 2010/04/27 03:25 (внешнее изменение)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki