Описание
Класс для работы с модулями системы Данный класс производит все операции инициализации модулей системы. Инициализация модулей происходит только один раз при входе пользователя в систему. Затем класс восстанавливается из сессиии. Ссылка на класс сохраняется в переменной сессии $_SESSION['sbPlugins']. Класс хранится в сессии, чтобы избежать переинициализации модулей при каждом обращении к событиям системы. Модуль системы представляет собой набор файлов. В системе есть четкие правила, где должны располагаться эти файлы и как называться. Основные файлы модуля, отвечающие за регистрацию модуля в системе и реализацию всех событий, предоставляемых модулем, должны располагаться в поддиректории директории /cms/plugins/. Имя этой поддиректории должно совпадать с уникальным идентификатором модуля, как он указан в методе регистрации модуля plRegister, например pl_news. Основными файлами модуля являются:
Каждый модуль системы представляет набор событий и функций-обработчиков этих событий. Данный класс использует библиотеку работы с базой данных и класс $_SESSION['sbAuth']. Располагается в /lib/sbPlugins.inc.php (строка 62) Переменные (список)
Методы (список)
void
__destruct
()
void
addElem
(string $name, string $ident, string $get_func, [ $info_func = ''], [int $get_event = ''], [int $dlg_width = 640], [ $dlg_height = 480])
void
addSetting
(string $tab_name, string $setting_ident, [string $setting_desc = ''], [string $setting_type = 'string'], [string $setting_type_values = ''], [string $setting_value = ''], [strign $setting_domain = 'all'], [ $check = true], string $system)
void
addToCache
()
void
addToCalendar
(string $title, string $table, string $id_field, string $date_field, [string $sql = ''], [string $cat_ident = ''])
void
addToRubrikator
(string $cat_ident, string $title, [string $temps_list_ident = ''], [string $temps_full_ident = ''])
void
addUserSetting
(string $tab_name, string $setting_ident, string $setting_desc, [string $setting_type = 'string'], [string $setting_type_values = ''], [string $setting_value = ''], [ $check = true], string $system)
array
getAllSettings
()
array
getAllUserSettings
()
array
getElems
()
mixed
getIncFiles
()
mixed
getIncLangFiles
()
string
getMenu
()
array
getPluginsInfo
()
array
getSystemMessages
()
array
getToolbarIcons
()
bool
isRegisteredPlugins
()
bool
register
(string $pl_name, string $pl_title, [string $pl_help_url = ''], [bool $pl_check_user = true], [bool $pl_check_key = true], [bool $pl_core = false])
Переменные
array
$mCalendar
= array() (строка 193)
Содержит список модулей, использующих календарь
array
$mContainers
= array() (строка 247)
Массив, содержащий события модулей, выносимые на главную страницу системы в виде перетаскиваемых областей
array
$mMailTemplates
= array() (строка 202)
Массив, содержащий список событий модуля для редактирования макетов дизайн писем Используется в методе addToMailTemplates.
array
$mMenu
= array() (строка 159)
Массив, хранящий информацию о меню системы
array
$mRubrikator
= array() (строка 186)
Содержит список модулей, использующих рубрикатор Методы
Деструктор __destruct (строка 263)
Деструктор класса, сбрасываем все переменные.
void
__destruct
()
addElem (строка 828)
Добавляет в систему элемент модуля Элементы модуля - это те кирпичики, из которых строится сайт. Элементами, например, являются новостная лента и подробная новость, форма подписки на лист рассылки, форма логина, форма регистрации пользователя и многие другие.
void
addElem
(string $name, string $ident, string $get_func, [ $info_func = ''], [int $get_event = ''], [int $dlg_width = 640], [ $dlg_height = 480])
addEventsRights (строка 506)
Добавляет новое право в группу прав для событий модуля
void
addEventsRights
(string $right_ident, string $right_desc)
addSetting (строка 654)
Добавляет системную настройку для модуля.
void
addSetting
(string $tab_name, string $setting_ident, [string $setting_desc = ''], [string $setting_type = 'string'], [string $setting_type_values = ''], [string $setting_value = ''], [strign $setting_domain = 'all'], [ $check = true], string $system)
addSystemEvent (строка 481)
Добавляет системное событие для регистрируемого модуля Системные события, в отличие от пользовательских, добавляются всегда, независимо от того разрешен модуль текущему пользователю или нет.
void
addSystemEvent
(string $event, string $function, [string $title = ''])
addToCache (строка 587)
Добавляет модуль в список модулей, использующих кэширование на сайте
void
addToCache
()
addToCalendar (строка 549)
Делает записи таблицы БД модуля доступными для вывода через календарь
void
addToCalendar
(string $title, string $table, string $id_field, string $date_field, [string $sql = ''], [string $cat_ident = ''])
addToConstructor (строка 571)
Добавляет модуль в конструктор модулей
void
addToConstructor
(string $table, [bool $use_categs = true])
addToMailTemplates (строка 612)
Добавляет событие модуля в список событий для редактирования макетов дизайна писем, отправляемых пользователям сайта
void
addToMailTemplates
(array $tags, string $get_func, [string $delete_event = ''])
addToMainPage (строка 784)
Добавляет событе на главную страницу системы (перетаскиваемые области)
void
addToMainPage
(string $event, string $title, [string $icon = ''])
addToMenu (строка 406)
Добавляет в меню системы ссылку на событие модуля
void
addToMenu
(string $item, string $event, [string $icon = ''])
addToRubrikator (строка 525)
Делает разделы модуля доступными для вывода на сайте
void
addToRubrikator
(string $cat_ident, string $title, [string $temps_list_ident = ''], [string $temps_full_ident = ''])
addUserEvent (строка 449)
Добавляет пользовательское событие для регистрируемого модуля Пользовательские события, в отличие от системных, добавляются только в том случае, если модуль разрешен текущему пользователю.
void
addUserEvent
(string $event, string $function, [string $rights = ''], [string $title = ''])
addUserSetting (строка 746)
Добавляет пользовательскую настройку для модуля.
void
addUserSetting
(string $tab_name, string $setting_ident, string $setting_desc, [string $setting_type = 'string'], [string $setting_type_values = ''], [string $setting_value = ''], [ $check = true], string $system)
checkForUser (строка 1432)
Проверяет, разрешен ли модуль текущему пользователю
bool
checkForUser
(string $pl_name)
getAllSettings (строка 859)
Возвращает массив со всеми настройками системы Метод отрабатывает, только если модуль настроек системы доступен пользователю.
array
getAllSettings
()
getAllUserSettings (строка 874)
Возвращает массив со всеми пользовательскими настройками системы Метод отрабатывает, только если модуль пользовательских настроек системы доступен пользователю.
array
getAllUserSettings
()
getElems (строка 1306)
Возвращает массив с зарегистрированными элементами модулей
array
getElems
()
getEventFunction (строка 1078)
Возвращает массив, содержащий функцию обработки события и файлы, которые необходимо проинклудить, либо FALSE, если у пользователя недостаточно прав на вызов данного события.
mixed
getEventFunction
(string $event)
getEventPlugin (строка 1120)
Возвращает идентификатор модуля, к которому принадлежит событие, или FALSE, если событие не зарегистрированно в системе
mixed
getEventPlugin
(string $event)
getEventTip (строка 1138)
Возвращает подсказку и индекс подсказки для события.
mixed
getEventTip
(string $event, [int $index = -1])
getEventTitle (строка 1196)
Возвращает название события
mixed
getEventTitle
(string $event)
getIncFiles (строка 1168)
Возвращает массив inc-файлов, которые инклудятся всегда, независимо от вызываемого события
mixed
getIncFiles
()
getIncLangFiles (строка 1182)
Возвращает массив lng-файлов, которые инклудятся всегда, независимо от вызываемого события. В них обычно хранятся языковые константы для inc-файлов.
mixed
getIncLangFiles
()
getMenu (строка 1316)
Возвращает JavaScript-код для построения меню системы
string
getMenu
()
getPluginHelp (строка 1210)
Возвращает URL справочного файла модуля, к которому принадлежит указанное событие
string
getPluginHelp
(string $event)
getPluginIcon (строка 1251)
Возвращает иконку модуля
string
getPluginIcon
(string $plugin)
getPluginsInfo (строка 1280)
Возвращает ассоциативный массив с описанием модулей системы Ключ массива - идентификатор модуля. Значение - ассоциативный массив, в котором присутствуют следующие ключи: title
array
getPluginsInfo
()
getPluginTitle (строка 1227)
Возвращает название модуля
string
getPluginTitle
(string $plugin)
getQuickToolbarIcons (строка 1024)
Возвращает массив, содержащий информацию о кнопке панели инструментов
array
getQuickToolbarIcons
(string $event)
getSetting (строка 888)
Возвращает значение настройки системы по ее идентификатору
mixed
getSetting
(string $setting_ident)
getSystemMessages (строка 953)
Возвращает массив идентификаторов системных сообщений
array
getSystemMessages
()
getToolbarIcons (строка 983)
Возвращает массив, содержащий кнопки панели инструментов для текущего пользователя
array
getToolbarIcons
()
getUserSetting (строка 933)
Возвращает значение пользовательской настройки системы по ее идентификатору
mixed
getUserSetting
(string $setting_ident)
isEventAvailable (строка 1484)
Проверяет, доступно ли событие текущему пользователю
bool
isEventAvailable
(string $event)
isPluginAvailable (строка 1580)
Проверяет, есть ли модуль в системе (в ключе)
bool
isPluginAvailable
(string $plugin)
isRegisteredPlugins (строка 1473)
Проверяет, есть ли зарегистрированные пользовательские модули
bool
isRegisteredPlugins
()
isRightAvailable (строка 1533)
Проверяет, есть ли у пользователя указанные права доступа к модулю
bool
isRightAvailable
(string $plugin, string $rights)
register (строка 287)
Регистрирует модуль в системе Данный метод проверяет, разрешен ли модуль в ключе системы, доступен ли модуль текущему пользователю и, если проверки прошли успешно, регистрирует модуль в системе.
bool
register
(string $pl_name, string $pl_title, [string $pl_help_url = ''], [bool $pl_check_user = true], [bool $pl_check_key = true], [bool $pl_core = false])
setSetting (строка 918)
Устанавливает настройку системы Метод отрабатывает, только если у пользователя есть доступ к модулю настроек системы.
void
setSetting
(string $setting_ident, mixed $setting_value, $setting_domain)
setUserSetting (строка 964)
Устанавливает пользовательскую настройку
void
setUserSetting
(string $setting_ident, mixed $setting_value)
|
|
|