Создание события ничем не отличается от добавления типа объекта в Каталог объектов. Для этого необходимо выбрать нужную ветку дерева событий и воспользоваться опцией Добавить из контекстного меню. В окне Добавление записи необходимо заполнить ключевые поля Код (ID) и Название события, а затем нажать кнопку Добавить.
После создания события можно привязывать плагины к этому событию.
В качестве примера создадим плагин, анализирующий sql-запросы к БД, которые вызываются на определенной странице сайта. В плагине с помощью параметров можно будет задать страницу, на которой будут анализироваться запросы, и минимальный временной интервал, в течение которого будут измеряться запросы. В результате мы получим страницу, на которой будут выведены все успешные запросы, а также те, которые содержат ошибки и другая полезная для разработчика информация.
Создаем новый плагин в меню Элементы сайта – Плагины панели управления.
На вкладке Общие заполняем поля следующим образом:
На вкладке Скрипт помещаем код:
//Adodb performance
if($parser->pageId !== $logpage) return;
$parser->conn->Execute('delete from adodb_logsql');
include_once(SYS_BASE_PATH.'libs/adodb/adodb-perf.inc.php');
$ADODB_PERF_MIN = $parser->utils->strToFloat($mintime);
$this->conn->LogSQL(true);
На вкладке Параметры создаем 2 параметра плагина (нажатием кнопки «+»).
С помощью меню Элементы Сайта - Страницы (меню) создаем новую страницу для того, чтобы вывести на ней результаты анализа запросов к базе данных.
На вкладке Общие:
На вкладке Содержание вставляем следующий код:
{ { php
include_once(SYS_BASE_PATH.'libs/adodb/adodb-perf.inc.php');
$perf = NewPerfMonitor($parser->conn);
echo $perf->SuspiciousSQL();
echo $perf->ExpensiveSQL();
echo $perf->InvalidSQL();
$perf->UI($pollsecs=5);
} }
Сохраняем изменения нажатием на кнопку Сохранить.
Далее необходимо обновить главную страницу сайта и перейти по адресу http://site.com/index.php?pageid=test_page. Здесь вы увидите проанализированные плагином запросы. Подробнее об sql-анализаторе можно прочитать на странице разработчиков - http://phplens.com/lens/adodb/docs-perf.htm.