О том что это, написано много. Поэтому просто вот.
- core/model/modx/processors/system/clearcache.class.php (71)
- manager/controllers/default/system/refresh_site.php (11)
- Параметры
Запускается перед обновлением кэша.
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeCacheUpdate': $modx->log(modX::LOG_LEVEL_ERROR, 'Стартуем!'); break; }
Теперь обновите кэш, и увидите "Стартуем!"
- core/model/modx/processors/element/chunk/remove.class.php (16)
- Параметры
- chunk (ссылка на объект modChunk)
- id (id чанка)
Запускается перед удалением чанка.
Такой плагин выведет сообщение о том, что нельзя удалять чанк:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeChunkFormDelete': if ($id == 69){ $modx->event->output("Ты нахрен обалдел!? Нельзя удалять чанк ".$chunk->get('name')); } break; }
- core/model/modx/processors/element/chunk/update.class.php (23)
- core/model/modx/processors/element/chunk/create.class.php (22)
- Параметры
- mode (либо новый либо обновить, определение)
- chunk (ссылка на объект modChunk)
- id (id чанка)
Запускается после отправки формы, но перед тем как сохранить чанк.
Такой плагин выведет сообщение если не заполнено поле описание:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeChunkFormSave': //если обновляем существующий чанк if ($mode == modSystemEvent::MODE_UPD){ //если не заполнено описание if (!$chunk->get('description')){ $modx->event->output("Голову ты дома не забыл?"); } } break; }
Такой плагин запишет в "Журнал ошибок" был ли создан новый чанк или обновлен существующий:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeChunkFormSave': if ($mode == modSystemEvent::MODE_UPD){ echo 'Был обновлен существующий чанк'; } elseif ($mode == modSystemEvent::MODE_NEW){ echo 'Был создан чанк'; } break; }
- core/model/modx/processors/resource/delete.class.php (169)
- Параметры
- resource (ссылка на объект modResource)
- id (id ресурса)
- children (массив id_шников детей которые будут тоже удалены)
Запускается перед удалением ресурса.
Такой плагин выведет сообщение о том, что нельзя удалять определенный ресурс, и в логи добавит запись:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeDocFormDelete': //если id=7 if ($id == 7){ $modx->log(modX::LOG_LEVEL_ERROR, 'Кто-то пытался удалить ресурс '.$resource->get('pagetitle')); $response = array( 'success' => false, 'message' => 'Нельзя удалять! А то голову с плеч!', 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
Такой плагин запишет в "Журнал ошибок" id удаленного ресурса и его детей если они есть:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeDocFormDelete': if (count($childrenIds) > 0) { $children = $childrenIds; } $modx->log(modX::LOG_LEVEL_ERROR, 'Был удален ресурс '.$resource->get('pagetitle').print_r($children)); break; }
- core/model/modx/processors/resource/create.class.php (54)
- core/model/modx/processors/resource/update.class.php (55)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id ресурса, для новых будет 0)
- resource (ссылка на объект modResource)
Запускается перед сохранением ресурса.
Важно! Перед использование этого события нужно знать.
- Изменение или установка значения какого-либо ТВ лучше сделать с помощью OnDocFormSave. Процесс сохранения ТВ во время onBeforeDocFormSave сложнее из-за рендера ТВ значений.
- Передавая сообщения в $modx->event->output() пользователю будет отображаться модальное окно. Делая это страница не будет сохранятся.
- При использовании $modx->event->output() запрещается использовать html теги, только текст.
- При установке значение какого либо поля с помощью $resource->set, не нужно вызывать $resource->save()
Такой плагин не разрешит создавать новые ресурсы, и не будет сохранять ресурсы, у которых не заполнено introtext:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeDocFormSave': if ($mode == modSystemEvent::MODE_UPD) { //если не заполнен introtext if (!$resource->get('introtext')){ $modx->event->output("Голову ты дома не забыл, а про 'Ключевые слова' забыл!"); } } elseif ($mode == modSystemEvent::MODE_NEW) { $modx->event->output("Вам нельзя создавать ресурсы!"); } break; }
Такой плагин установит значение поля template=1 у всех ресурсов находящийхся в корне т.е parent=0:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeDocFormSave': if ($resource->get('parent') == 0) { $resource->set('template', '1'); } break; }
- core/model/modx/processors/security/logout.class.php (36)
- Параметры
- user (ссылка на объект modUser. Который прошел по ссылке)
- loginContext (ключ контекста из которого выходят)
- addContexts (дополнительные контексты, в которых выход также происходит.)
Запускается перед тем как пользователь разлогиниться.
Такой плагин запишет в "Журнал ошибок" id вышедшего пользователя и откуда он вышел:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeManagerLogout': $modx->log(modX::LOG_LEVEL_ERROR, 'Пользователь с id'.$user->get('id').' разлогинился в контексте '.$loginContext.' и еще вот в этих'.print_r($addContexts)); break; }
Такой плагин выведет сообщение пользователю, о том что ему нельзя покидать контекст mgr:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeManagerLogout': //если попытается сбежать, мы его остановим if ($loginContext = 'mgr'){ $response = array( 'success' => false, 'message' => 'Нельзя выходить! Ты один из нас.. один из нас.. один из нас.....', 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
- core/model/modx/modx.class.php (2590)
- Параметры
- Но к ресурсу можно обратится $modx->resource
Запускается после того как ресурс загружен но еще не закэшировался. Если ресурс не кэшируемый, то это событие не сработает.
Такой плагин запишет в "Журнал ошибок" id загруженного ресурса:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeSaveWebPageCache': $res = $modx->resource->get('id'); $modx->log(modX::LOG_LEVEL_ERROR, 'Ресурс с id '.$res.' успешно загрузился'); break; }
- core/model/modx/processors/security/logout.class.php (36)
- Параметры
- user (ссылка на объект modUser. Который прошел по ссылке)
- loginContext (ключ контекста из которого выходят)
- addContexts (дополнительные контексты, в которых выход также происходит.)
Запускается перед тем как пользователь разлогиниться.
Такой плагин запишет в "Журнал ошибок" id вышедшего пользователя и откуда он вышел:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeWebLogout': $u = $user->get('id'); $modx->log(modX::LOG_LEVEL_ERROR, 'Пользователь с id '.$u.' разлогинился в контексте '.$loginContext.' и еще вот в этих'.print_r($addContexts)); break; }
- core/model/modx/modcachemanager.class.php (597, 757)
- Параметры
- results (результат)
- paths (массив путей, которые должны были быть очищены)
- options (массив параметров очистки)
Запускается после того как кэш очищен.
Такой плагин выведет на экран и запишет в "Журнал ошибок" результат выполнения:
$eventName = $modx->event->name; switch($eventName) { case 'OnCacheUpdate': $modx->log(modX::LOG_LEVEL_ERROR, print_r($results)); break; }
- core/model/modx/processors/element/chunk/remove.class.php (17)
- Параметры
- chunk (ссылка на объект modChunk)
- id (id чанка)
Запускается после того как чанк удален.
Такой плагин запишет в "Журнал ошибок" id и имя удаленного чанка:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormDelete': $n = $chunk->get('name'); $modx->log(modX::LOG_LEVEL_ERROR, 'Был удален чанк с id '.$id.' его звали '.$n.' сердца у тебя нет!'); break; }
- manager/controllers/default/element/chunk/create.class.php (120)
- manager/controllers/default/element/chunk/update.class.php (133)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id чанка. Будет 0 для новых чанков)
- chunk (ссылка на объект modChunk. Будет NULL в новых чанках)
Запускается до изменения чанка, но JS подгружается. Можно использовать для визуализации пользовательских JavaScript в mgr.
Такой плагин подгружает style в head и сделает текст в .x-form-text красным:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormPrerender': $modx->regClientStartupHTMLBlock(' <style> .x-form-text {color: #ff0000;} </style>'); break; }
- manager/controllers/default/element/chunk/create.class.php (103)
- manager/controllers/default/element/chunk/update.class.php (167)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id чанка. Будет 0 для новых чанков)
- chunk (ссылка на объект modChunk. Будет NULL в новых чанках)
Запускается во время рендеринга. Можно впихнуть HTML прямиком в форму.
Такой плагин добавить контент чанку и сохранит его:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormRender': //если обновляем существующий if ($mode == modSystemEvent::MODE_UPD) { //добавили контент чанка $chunk->setContent('<p>Контент чанка</p>'); //можно сразу сохранить новый контент $chunk->save(); } break; }
Такой плагин добавить контент чанку если у него нет контента и сохранит его:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormRender': //если обновляем существующий if ($mode == modSystemEvent::MODE_UPD) { //забираем контент чанка $content = $chunk->getContent(); // если контента нет, впихиваем новый if (!$content){ $chunk->setContent('<p>Контент новый</p>'); //можно сразу сохранить новый контент $chunk->save(); } } break; }
Такой плагин добавить контент чанку но не сохранит его:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormRender': //если обновляем существующий if ($mode == modSystemEvent::MODE_UPD) { //меняем все содержимое чанка $chunk->setContent('<p>Контент новый</p>'); $chunk->set('name','NewChunkName'); $chunk->set('description','Описание'); //можно сразу сохранить новый контент $chunk->save(); } break; }
- core/model/modx/processors/element/chunk/create.class.php (24)
- core/model/modx/processors/element/chunk/update.class.php (24)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id чанка. Будет 0 для новых чанков)
- chunk (ссылка на объект modChunk. Будет NULL в новых чанках)
Запускается после сохранения.
Такой плагин запишет в "Журнал ошибок" id сохранённого чанка (нового или только что созданного):
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkFormSave': if ($mode == modSystemEvent::MODE_NEW) { $modx->log(modX::LOG_LEVEL_ERROR, 'Сохранен новый чанк с id '.$id); } elseif ($mode == modSystemEvent::MODE_UPD){ $modx->log(modX::LOG_LEVEL_ERROR, 'Сохранен существующий чанк с id '.$id); } break; }
- core/model/modx/processors/resource/delete.class.php (210)
- Параметры
- resource (Ссылка на объект modResource)
- id (id ресурса)
- children (массив id_шников детей которые тоже удалены)
Запускается после удаления ресурса.
Такой плагин отправит на почту список удаленных ресурсов:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocFormDelete': $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name')); //Адрес получателя $modx->mail->address('to', 'mail@pitrooo.ru'); //Заголовок $modx->mail->set(modMail::MAIL_SUBJECT, 'Были удалены ресурсы'); //тело письма foreach ($children as $value) { $resource = $modx->getObject('modResource', $value); $name .= '<br>'.$resource->get('pagetitle'); } $contentbody = 'Были удален ресурс с id '.$id.' а вместе с ним '.$name; $modx->mail->set(modMail::MAIL_BODY, $contentbody); /*Отправляем*/ $modx->mail->setHTML(true); if (!$modx->mail->send()) { $modx->log(modX::LOG_LEVEL_ERROR,'Произошла ошибка при попытке отправки сообщения электронной почты: '.$modx->mail->mailer->ErrorInfo); } $modx->mail->reset(); break; }
- manager/controllers/default/resource/resource.class.php (160)
- Параметры
- mode (либо новый либо обновить, определение)
- resource (ссылка на объект modResource. Будет NULL для новых ресурсов)
- id (идентификатор ресурса. Будет 0 для новых ресурсов)
Запускается перед тем как форма редактирования загрузится.
Такой плагин будет выводить сообщение при клике на pagetitle и добавить текст на страницу:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocFormPrerender': $modx->regClientStartupHTMLBlock(' <script type="text/javascript"> Ext.onReady(function() { var pagetitle = Ext.select("#modx-resource-pagetitle"); pagetitle.on("click",function(node,e){ Ext.MessageBox.alert("Внимание","Ты только что нажал на pagetitle."); },pagetitle); }); </script>'); $modx->event->output('<h2 style="padding: 50px 0 0 15px;">Привет дружище!</h2>'); break; }
- manager/controllers/default/resource/resource.class.php (174)
- manager/controllers/default/resource/create.class.php (34)
- manager/controllers/default/resource/update.class.php (39)
- manager/controllers/default/resource/symlink/create.class.php (23)
- manager/controllers/default/resource/symlink/update.class.php (24)
- manager/controllers/default/resource/weblink/create.class.php (23)
- manager/controllers/default/resource/weblink/update.class.php (24)
- manager/controllers/default/resource/staticresource/create.class.php (23)
- manager/controllers/default/resource/staticresource/update.class.php (23)
- Параметры
- mode (либо новый либо обновить, определение)
- resource (ссылка на объект modResource. В версии 2.4 будет пустой объект, в более новых Будет NULL для новых ресурсов)
- id (идентификатор ресурса. Будет 0 для новых ресурсов)
Запускается в форме редактирования диспетчера. Удобно для вставки HTML в формах и 2.4+ для установки значений по умолчанию на новые ресурсы
В версии 2.4.0+ можно устанавливать значения для полей:
- pagetitle
- longtitle
- description
- introtext
- content
- link_attributes
- alias
- menutitle
Рекомендуется для установки на новые ресурсы, для существующих значения будут перезаписаны.
Такой плагин установит значение по умолчанию для новых ресурсов:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocFormRender': if ($mode == modSystemEvent::MODE_NEW) { //устанавливаем значения по умолчанию $resource->set('pagetitle', 'Заголовок'); $resource->set('description', 'Описание'); $resource->set('content', 'Контент'); } break; }
- core/model/modx/processors/resource/update.class.php (56)
- core/model/modx/processors/resource/create.class.php (589)
- Параметры
- mode (либо новый либо обновить, определение)
- resource (ссылка на объект modResource)
- id (id ресурса. У новых тоже есть)
Запускается после того как ресурс сохранен.
Важно! Перед использование этого события нужно знать.
- Если нужно изменить ТВ, то лучше изменить их тут, а не через OnBeforeDocFormSave.
- В отличие от OnBeforeDocFormSave, это событие не поддерживает $modx->event->output() метод.
- Сохранение происходит автоматически. Не нужно вызывать $resource->save()
Такой плагин выведет в "Журнал ошибок" массив сохраняемого ресурса:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocFormSave': $modx->log(MODX_LOG_LEVEL_ERROR, print_r($resource->toArray(),true) ); break; }
Такой плагин установит значение ТВ price текущего ресурса равным 128, при ошибке в "Журнал ошибок" добавится запись:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocFormSave': //если у ресурса шаблон=5 if ($resource->get('template') == 5) { // после сохранения значение ТВ price=128 if(!$resource->setTVValue('price', '128')) { $modx->log(modX::LOG_LEVEL_ERROR, 'Возникли проблемы при установке значения ТВ.'); } } break; }И не важно заполнено ли поле price перед сохранением, или нет. Плагин запишет 128.
- core/model/modx/processors/resource/publish.class.php (108)
- Параметры
- id (id опубликованного ресурса)
- resource (ссылка на объект modResource который публикуется)
Запускается после того как ресурс опубликован через контекстное меню документа в дереве ресурсов.
Важно! Перед использование этого события нужно знать.
- Событие срабатывает только при публикации ресурса через контекстное меню документа в дереве ресурсов. Если вы поставите галочку опубликован при редактировании документа на странице самого документа, ничего не произойдет.
Такой плагин выведет в "Журнал ошибок" массив публикуемого ресурса, а на экран сообщение об успехе:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocPublished': $response = array( 'success' => false, 'message' => 'Публикация прошла успешно!', 'data' => array(), ); echo $modx->toJSON($response); exit; $modx->log(modX::LOG_LEVEL_ERROR, print_r($resource->toArray(),true)); break; }
- core/model/modx/processors/resource/unpublish.class.php (92)
- Параметры
- id (id ресурса снятого с публикации)
- resource (ссылка на объект modResource который снимается с публикации)
Запускается после того как ресурс снят с публикации через контекстное меню документа в дереве ресурсов.
Важно! Перед использование этого события нужно знать.
- Событие срабатывает только при снятии публикации ресурса через контекстное меню документа в дереве ресурсов. Если вы уберёте галочку опубликован при редактировании документа на странице самого документа, ничего не произойдет.
Такой плагин выведет в "Журнал ошибок" массив снятого с публикации ресурса, а на экран сообщение об успехе:
$eventName = $modx->event->name; switch($eventName) { case 'OnDocUnPublished': $response = array( 'success' => false, 'message' => 'Ресурс снят с публикации!', 'data' => array(), ); echo $modx->toJSON($response); exit; $modx->log(modX::LOG_LEVEL_ERROR, print_r($resource->toArray(),true)); break; }
- core/model/modx/modrequest.class.php (270)
- Параметры
Запускается при загрузке ресурса из кэша. В MODX 2.3+ для доступа к свойствам ресурса можно использовать объект Event.
Такой плагин заменит pagetitle, значение ТВ и контента:
$eventName = $modx->event->name; switch($eventName) { case 'OnLoadWebPageCache': $modx->event->params['resource']->pagetitle = 'Новый заголовок'; // меняем значение ТВ $tv = $modx->event->params['resource']->price[1] = '128'; /* // массив значений ТВ array ( 0 => 'name', //название ТВ 1 => 'значение', //значение ТВ 2 => 'default', //параметры вывода ТВ 3 => NULL, 4 => 'text', //тип ТВ ) */ $modx->event->params['resource']->_content = 'Новый контент'.$tv; break; }Все закэшированные значения можно посмотреть в core/cache/resource/web/resources/
- core/model/modx/processors/security/login.class.php (299)
- Параметры
- user (ссылка на объект modUser)
- attributes
- rememberme (запомнить пароль пользователя)
- lifetime (время жизни сессии cookie для входа)
- loginContext (ключ контекста в котором происходит вход)
- addContexts (дополнительные контексты в которых осуществляется вход)
Запускается каждый раз, когда пользователь успешно входит в манагере после успешного выполнения любой операции проверки. Событие не влияет на процесс авторизации
Такой плагин запишет в "Журнал ошибок" кто и где авторизовался:
$eventName = $modx->event->name; switch($eventName) { case 'OnManagerLogin': $id = $user->get('id'); $modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь с id '.$id.print_r($attributes)); break; }
- core/model/modx/processors/security/logout.class.php (59)
- Параметры
- user (ссылка на объект modUser, который вышел)
- loginContext (ключ контекста откуда вышел)
- addContexts (дополнительные контексты в которых осуществляется выход)
Запускается каждый раз, когда пользователь выходит из контекста. Сессия при этом удаляется.
Такой плагин запишет в "Журнал ошибок" кто и где вышел:
$eventName = $modx->event->name; switch($eventName) { case 'OnManagerLogout': $id = $user->get('id'); $modx->log(modX::LOG_LEVEL_ERROR, 'Вышел пользователь с id '.$id.' из контекста '.$loginContext.' и еще вот этих '.print_r($addContexts)); break; }
- core/model/modx/processors/system/clearcache.class.php (23)
- manager/controllers/default/system/refresh_site.php (17)
- Параметры
- results (массив результатов)
- partitions (массив результатов очистки)
Запускается каждый раз, когда кэш для всего сайта очищен.
Такой плагин выведет в консоли массив того что было очищено:
$eventName = $modx->event->name; switch($eventName) { case 'OnSiteRefresh': $modx->log(modX::LOG_LEVEL_ERROR, 'Кэш очищен '.print_r($partitions)); break; }
- core/model/modx/moduser.class.php (301)
- Параметры
- user (Ссылка на объект modUser)
- newpassword (новый пароль)
- oldpassword (старый пароль)
Запускается каждый раз, когда пользователь меняет пароль.
Такой плагин выведет в Журнал ошибок" кто поменял пароль, какой у него был пароль и на какой он его поменял:
$eventName = $modx->event->name; switch($eventName) { case 'OnUserChangePassword': $name = $user->get('username'); $modx->log(modX::LOG_LEVEL_ERROR, 'Пользователь '.$name.' поменял пароль '.'c '.$newpassword.' на '.$oldpassword); break; }Будьте осторожны
- core/model/modx/processors/security/login.class.php (299)
- Параметры
- user (ссылка на объект modUser)
- attributes
- rememberme (запомнить пароль пользователя)
- lifetime (время жизни сессии cookie для входа)
- loginContext (ключ контекста в котором происходит вход)
- addContexts (дополнительные контексты в которых осуществляется вход)
Запускается каждый раз, когда пользователь успешно входит в не в mgr после успешного выполнения любой операции проверки. Событие не влияет на процесс авторизации.
Такой плагин выведет в Журнал ошибок" кто и где авторизовался:
$eventName = $modx->event->name; switch($eventName) { case 'OnWebLogin': $name = $user->get('username'); $modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь '.$name.print_r($attributes)); break; }
- core/model/modx/processors/security/logout.class.php (59)
- Параметры
- user (ссылка на объект modUser, который вышел)
- loginContext (ключ контекста где произошел выход)
- addContexts (дополнительные контексты в которых осуществился выход)
Запускается каждый раз, когда пользователь выходит из контекста. Сессия при этом удаляется.
Такой плагин выведет в "Журнал ошибок" кто и где разлогинился:
$eventName = $modx->event->name; switch($eventName) { case 'OnWebLogout': $id = $user->get('id'); $modx->log(modX::LOG_LEVEL_ERROR, 'Вышел пользователь с id '.$id.' из контекста '.$loginContext.' и еще вот этих '.print_r($addContexts)); break; }
- core/model/modx/modresponse.class.php (90, 111)
- Параметры
Запускается после того, как все теги на странице обработаны, но еще не переданы в браузер.
Такой плагин заменит на страницах слова:
switch($eventName) { case 'OnWebPagePrerender': // слова, которые будут заменены $words = array("Товар", "Цена"); // получаем доступ к содержанию страницы $output = &$modx->resource->_output; // заменяем слова $output = str_replace($words,"поменяли",$output); break; }
- core/model/modx/modmanagercontroller.class.php (147)
- Параметры
- controller (экземпляр контроллера на текущей странице менеджера)
Запускается в контроллере менеджера, перед оформлением контента.
Такой плагин выведет в "Журнал ошибок" какой контроллер запущен:
$eventName = $modx->event->name; switch($eventName) { case 'OnManagerPageBeforeRender': // какой контроллер загружается print_r($scriptProperties['controller']->config); print_r($scriptProperties['controller']->scriptProperties); break; }
Такой плагин выведет на экран "Доступ запрещен" пользователям, у которых в системных настройках указаны id ресурсов в параметре allow_to_update:
$eventName = $modx->event->name; switch($eventName) { case 'OnManagerPageBeforeRender': switch($scriptProperties['controller']->config['controller']){ //Проверяем права на редактирование документов case 'resource/update': // Проверяем наличие настройки allow_to_update (задается в настройках пользователя) // В ней мы перечисляем, какие документы пользователю можно редактировать // Если настройка задана, но id документа отсутствует в перечисленных разрешенных, // То возвращаем ошибку доступа if($allow_to_update = $modx->getOption('allow_to_update')){ if(!is_array($allow_to_update)){ $allow_to_update = explode(",", $allow_to_update); $allow_to_update = array_map('trim', $allow_to_update); } if(in_array($scriptProperties['controller']->scriptProperties['id'], $allow_to_update)){ $scriptProperties['controller']->failure('Доступ запрещен'); return; } } break; } break; }
Такой плагин подключит нужный нам js на страницы админки:
$eventName = $modx->event->name; switch($eventName) { case 'OnManagerPageBeforeRender': $modx->controller->addJavascript('url/file.js'); break; }
- core/model/modx/modtemplatevar.class.php (75)
- Параметры
- mode (либо новый либо обновить, определение)
- templateVar (экземпляр класса modTemplateVar)
- cacheFlag (должно ли кэшироваться, по умолчанию $cacheFlag = null)
Загружается перед сохранением переменной шаблона в базе.
Такой плагин выведет в "Журнал ошибок" данные сохраняемого ТВ:
$eventName = $modx->event->name; switch($eventName) { case 'OnTemplateVarBeforeSave': //массив твшки, со всеми параметрами print_r($templateVar->toArray()); //проверка на обновление или создание самого тв if ($mode == modSystemEvent::MODE_NEW){ echo 'Был создан новый ТВ'; } elseif ($mode == modSystemEvent::MODE_UPD){ echo 'Был обновлен старый ТВ'; } break; }
- core/model/modx/modtemplatevar.class.php (85)
- Параметры
- mode (либо новый либо обновить, определение)
- templateVar (экземпляр класса modTemplateVar)
- cacheFlag (должно ли кэшироваться, по умолчанию $cacheFlag = null)
Загружается сразу после успешного сохранения шаблона переменной в базе.
Такой плагин выведет в "Журнал ошибок" данные сохраненного ТВ:
$eventName = $modx->event->name; switch($eventName) { case 'OnTemplateVarSave': //массив твшки, со всеми параметрами print_r($templateVar->toArray()); //проверка на обновление или создание самого тв if ($mode == modSystemEvent::MODE_NEW){ echo 'Был сохранен новый ТВ'; } elseif ($mode == modSystemEvent::MODE_UPD){ echo 'Был сохранен старый ТВ'; } break; }
- core/model/modx/modtemplatevar.class.php (105)
- Параметры
- templateVar (экземпляр класса modTemplateVar)
- cacheFlag (должно ли кэшироваться, по умолчанию $cacheFlag = true)
Загружается прямо перед удалением переменной шаблона.
Такой плагин выведет в "Журнал ошибок" данные удаленного ТВ:
$eventName = $modx->event->name; switch($eventName) { case 'OnTemplateVarBeforeRemove': //массив твшки, со всеми параметрами print_r($templateVar->toArray()); break; }
- core/model/modx/modtemplatevar.class.php (114)
- Параметры
- templateVar (экземпляр класса modTemplateVar)
- cacheFlag (должно ли кэшироваться, по умолчанию $cacheFlag = true)
Загружается сразу после удаления переменной шаблона.
Такой плагин выведет в "Журнал ошибок" данные удаленного ТВ:
$eventName = $modx->event->name; switch($eventName) { case 'OnTemplateVarBeforeRemove': //массив твшки, со всеми параметрами print_r($templateVar->toArray()); break; }
- core/model/modx/processors/resource/emptyrecyclebin.class.php (29)
- Параметры
- ids (массив id_шников ресурсов, которые будут навсегда удалены)
- resources (еще один массив сданными, на сколько я понял, там вообще все, что удалено, что задействовано. При вызове $resources "Журнал ошибок" сразу растолстеет на несколько мегабайт)
Загружается перед тем как корзина очистится.
Такой плагин выведет в "Журнал ошибок" id удаленных ресурсов:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeEmptyTrash': //массив удаленных ресурсов print_r($ids); break; }
Такой плагин выведет сообщение, о том что в корзине присутствует важный документ, и его нельзя удалять:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeEmptyTrash': //если там есть документ с id = 26, то не удаляем if (in_array("26", $ids)){ $response = array( 'success' => false, 'message' => 'ЭЙ! Там есть документ, который нельзя удалять!', 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
- core/model/modx/processors/security/login.class.php (63)
- Параметры
- username (введенное имя пользователя)
- password (введенный пароль)
- attributes
- rememberme (запомнить пароль пользователя)
- lifetime (время жизни сессии cookie для входа)
- loginContext (ключ контекста в котором происходит вход)
- addContexts (дополнительные контексты в которых осуществляется вход)
Запускается перед тем, как процесс входа в систему запускается для пользователя, при входе в манагер. Можно использовать для запрета на вход.
Такой плагин выведет в "Журнал ошибок" кто, с каким паролем, и куда пытался войти:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeManagerLogin': $modx->log(modX::LOG_LEVEL_ERROR, 'Пытался войти пользователь с именем '.$username.' и паролем '.$password.print_r($attributes)); break; }
Такой сделает пользователя неактивным когда он будет пытатся авторизоватся:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeManagerLogin': if ($username == 'manager'){ $user = $modx->getObject('modUser', array('username' => $username)); $user->set('active', '0'); $user->save(); } break; }
- core/model/modx/modmanagercontroller.class.php (125)
- Параметры
- action (массив текущих контроллеров)
Запускается перед управляющим контроллером и после проверки разрешений.
Такой плагин выведет в "Журнал ошибок" какой контроллер загрузился:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeManagerPageInit': print_r($action); break; }
- core/model/modx/processors/element/plugin/remove.class.php (16)
- Параметры
- plugin (ссылка на объект modPlugin)
- id (id плагина)
Запускается перед тем как удалится плагин.
Такой плагин выведет сообщение о том, что нельзя удалять плагин:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforePluginFormDelete': //если id плагина = 18, выведем сообщение if ($id == 18){ $modx->event->output("Ты нахрен обалдел!? Нельзя удалять плагин ".$plugin->get('name')); } break; }
- core/model/modx/processors/element/plugin/create.class.php (25)
- core/model/modx/processors/element/plugin/update.class.php (26)
- Параметры
- mode (либо новый либо обновить, определение)
- plugin (ссылка на объект modPlugin)
- id (id плагина. Будет 0 для новых плагинов)
Запускается после отправки, но до того как плагин будет сохранен в менеджере.
Такой плагин выведет сообщение о том, что не заполнено поле description:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforePluginFormSave': if (!$plugin->get('description')){ $modx->event->output("Голову ты дома не забыл, а про дескрипшен забыл!"); } break; }
Такой плагин запретит создавать новые плагины пользователю с id=1:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforePluginFormSave': //если это новый плагин if ($mode == modSystemEvent::MODE_NEW){ if ($modx->user->get('id') == 1){ $modx->event->output("Тебе нельзя создавать новые плагины!"); } } break; }
- core/model/modx/processors/element/snippet/remove.class.php (16)
- Параметры
- snippet (ссылка на объект modSnippet)
- id (id сниппета)
Запускается перед тем как удаляется сниппет.
Такой плагин выведет сообщение о том что нельзя удалять сниппеты:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeSnipFormDelete': $modx->event->output("Ты нахрен обалдел!?"); break; }
- core/model/modx/processors/element/snippet/update.class.php (24)
- core/model/modx/processors/element/snippet/create.class.php (23)
- Параметры
- mode (либо новый либо обновить, определение)
- snippet (ссылка на объект modSnippet)
- id (id сниппета. Будет 0 для новых.)
Запускается после отправки, но до того как сниппет будет сохранен в менеджере.
Такой плагин выведет сообщение о том, что не заполнено поле description:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeSnipFormSave': if (!$snippet->get('description')){ $modx->event->output("Голову ты дома не забыл, а про дескрипшен забыл!"); } break; }
Такой плагин запретит создавать новые сниппеты пользователю с id=1:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeSnipFormSave': //если это новый сниппет if ($mode == modSystemEvent::MODE_NEW){ if ($modx->user->get('id') == 1){ $modx->event->output("Тебе нельзя создавать новые сниппеты!"); } } break; }
- core/model/modx/processors/element/template/remove.class.php (16)
- Параметры
- template (ссылка на объект modTemplatе)
- id (id шаблона.)
Запускается перед тем как шаблон удаляется.
Такой плагин выведет сообщение о том, что нельзя удалять шаблон с id=5:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTempFormDelete': if ($id == 5){ $modx->event->output("Ты нахрен обалдел!? Нельзя удалять шаблон:".$template->get('templatename')); } break; }Сообщение выведется в том случае, если шаблон НЕ назначен какому либо ресурсу. По умолчанию идет проверка, если шаблон назначен хотябы одному ресурсу, то он не удалится.
- core/model/modx/processors/element/template/update.class.php (25)
- core/model/modx/processors/element/template/create.class.php (24)
- Параметры
- mode (либо новый либо обновить, определение)
- template (ссылка на объект modTemplate)
- id (id шаблона. Будет 0 для новых.)
Запускается после отправки, но до того как шаблон будет сохранен в менеджере.
Такой плагин выведет сообщение о том, что не заполнено поле icon:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTempFormSave': if (!$template->get('icon')){ $modx->event->output("Голову ты дома не забыл, а про значок забыл!"); } break; }
Такой плагин запретит создавать новые шаблоны пользователю с id=1:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTempFormSave': //если это новый шаблон if ($mode == modSystemEvent::MODE_NEW){ if ($modx->user->get('id') == 1){ $modx->event->output("Тебе нельзя создавать новые шаблоны!"); } } break; }
- core/model/modx/processors/element/tv/remove.class.php (16)
- Параметры
- tv (ссылка на объект modTemplateVar)
- id (id тв.)
Запускается перед тем как шаблон удаляется.
Такой плагин выведет сообщение о том, что нельзя удалять тв с id=14:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTVFormDelete': if ($id == 14){ $modx->event->output("Ты нахрен обалдел!? Нельзя удалять ТВ:".$tv->get('name')); } break; }
- core/model/modx/processors/element/tv/create.class.php (31)
- core/model/modx/processors/element/tv/update.class.php (31)
- Параметры
- mode (либо новый либо обновить, определение)
- tv (ссылка на объект modTemplateVar)
- id (id ТВ. Будет 0 для новых.)
Запускается после отправки, но до того как ТВшка будет сохранена в менеджере.
Такой плагин выведет сообщение о том, что не заполнено поле description:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTVFormSave': if (!$tv->get('description')){ $modx->event->output("Голову ты дома не забыл, а про дескрипшен забыл!"); } break; }
Такой плагин запретит создавать новые ТВ пользователю с id=1:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeTVFormSave': //если это новая ТВ if ($mode == modSystemEvent::MODE_NEW){ if ($modx->user->get('id') == 1){ $modx->event->output("Тебе нельзя создавать новые ТВ!"); } } break; }
- core/model/modx/processors/security/user/activatemultiple.class.php (28)
- Параметры
- mode (либо новый либо обновить, определение)
- user (ссылка на объект modUser)
- id (id пользователя)
Запускается перед тем как активировать юзверя.
Такой плагин выведет сообщение о том, что нельзя активировать пользователя с id=2:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeUserActivate': if ($id == 2){ $modx->event->output("Ты нахрен обалдел!? Нельзя активировать пользователя ".$user->get('username').' он опасен!'); } break; }
Такой плагин отправить email активированному пользователю:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeUserActivate': $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name')); //Адрес получателя $modx->mail->address('to', $user->get('email')); //Заголовок $modx->mail->set(modMail::MAIL_SUBJECT, 'Ты активирован'); //тело письма $contentbody = 'Ваш аккаунт только что был активирован '; $modx->mail->set(modMail::MAIL_BODY, $contentbody); /*Отправляем*/ $modx->mail->setHTML(true); if (!$modx->mail->send()) { $modx->log(modX::LOG_LEVEL_ERROR,'Произошла ошибка при попытке отправки сообщения электронной почты: '.$modx->mail->mailer->ErrorInfo); } $modx->mail->reset(); break; }
- core/model/modx/processors/security/user/delete.class.php (15)
- Параметры
- user (ссылка на объект modUser)
- id (id пользователя)
Запускается перед тем как удаляется пользователь.
Такой плагин выведет сообщение о том, что нельзя удалять пользователя с id=3:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeUserFormDelete': if ($id == 3){ $modx->event->output("Ты нахрен обалдел!? Нельзя удалять пользователя ".$user->get('username').' он важная шишка!'); } break; }
- core/model/modx/processors/security/user/update.class.php (16)
- core/model/modx/processors/security/user/create.class.php (17)
- Параметры
- mode (либо новый либо обновить, определение)
- user (ссылка на объект modUser)
- id (id пользователя. Будет 0 для новых.)
Запускается после отправки, но до того как пользователь будет сохранен.
Такой плагин выведет сообщение о том, что нельзя сохранять пользователя с id=3:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeUserFormSave': if ($id == 3){ $modx->event->output("Ты нахрен обалдел!? Нельзя сохранять пользователя ".$user->get('username')); } break; }
Такой плагин не разрешит сохранять других пользователей, только себя:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeUserFormSave': //если это старый пользователь if ($mode == modSystemEvent::MODE_UPD){ if ($user->get('id') != $modx->user->get('id')){ $modx->event->output("Тебе нельзя его трогать!"); } } break; }
- core/model/modx/processors/security/login.class.php (63)
- Параметры
- username (имя пользователя)
- password (пароль)
- attributes
- rememberme (запомнить пароль пользователя)
- lifetime (время жизни сессии cookie для входа)
- loginContext (ключ контекста в котором происходит вход)
- addContexts (дополнительные контексты в которых осуществляется вход)
Запускается перед тем как пользователь логинится (не в манагере).
Такой плагин выведет в Журнал ошибок", кто и где авторизовался:
$eventName = $modx->event->name; switch($eventName) { case 'OnBeforeWebLogin': $modx->log(modX::LOG_LEVEL_ERROR, 'Авторизовался пользователь:'.$username.' по паролю: '.$password.print_r($attributes)); break; }
- core/model/modx/modcategory.class.php (92)
- Параметры
- category (cсылка на объект modCategory)
Запускается перед тем как удаляется категория.
Такой плагин выведет на экран сообщение о том что нельзя удалять категорию:
$eventName = $modx->event->name; switch($eventName) { case 'OnCategoryBeforeRemove': $response = array( 'success' => false, 'message' => 'Нельзя удалять категорию: '.$category->get('category'), 'data' => array(), ); echo $modx->toJSON($response); exit; break; }
- core/model/modx/modcategory.class.php (56)
- Параметры
- category (cсылка на объект modCategory)
- id (id категории)
Запускается перед тем как сохраняется категория.
Такой плагин выведет на экран сообщение о том что нельзя сохранять категорию:
$eventName = $modx->event->name; switch($eventName) { case 'OnCategoryBeforeSave': $response = array( 'success' => false, 'message' => 'Нельзя сохранять категорию: '.$category->get('category'), 'data' => array(), ); echo $modx->toJSON($response); exit; break; }
- core/model/modx/modcategory.class.php (115)
- Параметры
- category (cсылка на объект modCategory)
Запускается после того как категория будет удалена.
Такой плагин запишет в "Журнал ошибок" какая категория была удалена:
$eventName = $modx->event->name; switch($eventName) { case 'OnCategoryRemove': $modx->log(modX::LOG_LEVEL_ERROR, 'Удалена категория: '.$category->get('category')); break; }
- core/model/modx/modcategory.class.php (74)
- Параметры
- category (cсылка на объект modCategory)
Запускается после того как категория будет сохранена.
Такой плагин запишет в "Журнал ошибок" какая категория была сохранена:
$eventName = $modx->event->name; switch($eventName) { case 'OnCategorySave': $modx->log(modX::LOG_LEVEL_ERROR, 'Сохранена категория: '.$category->get('category')); break; }
- core/model/modx/modchunk.class.php (71)
- Параметры
- chunk (cсылка на объект modChunk)
Запускается перед тем как чанк удаляется.
Такой плагин выведет на экран сообщение о том, что нельзя удалять чанк с id=70:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkBeforeRemove': if ($chunk->get('id') == 70){ $response = array( 'success' => false, 'message' => 'Нельзя удалять чанк: '.$chunk->get('name'), 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
- core/model/modx/modchunk.class.php (39)
- Параметры
- chunk (cсылка на объект modChunk)
Запускается перед тем как чанк сохраняется.
Такой плагин выведет на экран сообщение о том, что у чанка не заполнено поле описание:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkBeforeSave': if (!$chunk->get('description')){ $response = array( 'success' => false, 'message' => "Голову ты дома не забыл, а про 'Описание' забыл!", 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
- core/model/modx/modchunk.class.php (80)
- Параметры
- chunk (cсылка на объект modChunk)
Запускается после того как чанк удален.
Такой плагин выведет в "Журнал ошибок" массив с параметрами удаленного чанка:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkRemove': print_r($chunk->toArray()); break; }
- core/model/modx/modchunk.class.php (49)
- Параметры
- chunk (cсылка на объект modChunk)
Запускается после того как чанк сохранен.
Такой плагин выведет в "Журнал ошибок" массив с параметрами сохраненного чанка:
$eventName = $modx->event->name; switch($eventName) { case 'OnChunkSave': print_r($chunk->toArray()); break; }
- core/model/modx/modcontext.class.php (329)
- Параметры
- context (cсылка на объект modContext)
Запускается перед тем как контекст будет удален.
Такой плагин выведет на экран сообщение о том, что нельзя удалять контекст с ключом test:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextBeforeRemove': if ($context->get('key') == "test"){ $response = array( 'success' => false, 'message' => 'Нельзя удалять! А то голову с плеч!', 'data' => array(), ); echo $modx->toJSON($response); exit; } break; }
- core/model/modx/modcontext.class.php (355)
- Параметры
- context (cсылка на объект modContext)
- mode (либо новый либо обновить, определение)
Запускается перед тем как контекст будет сохранен.
Такой плагин выведет в "Журнал ошибок" массив с параметрами сохраненного контекста, но еслу у него не заполнен description То выведет ошибку на экран:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextBeforeSave': if (!$context->get('description')){ $response = array( 'success' => false, 'message' => 'Заполните поле описание!', 'data' => array(), ); echo $modx->toJSON($response); exit; } else { print_r($context->toArray()); } break; }
- manager/controllers/default/context/update.class.php (100)
- Параметры
- key (ключ контекста)
- context (cсылка на объект modContext)
- mode (либо новый либо обновить, определение)
Запускается перед тем как загрузится форма редактирования.
Такой плагин подгружает style в head и сделает текст в .x-form-text красным:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextFormPrerender': $modx->regClientStartupHTMLBlock(' <style> .x-form-text {color: #ff0000;} </style>'); break; }
- manager/controllers/default/context/update.class.php (113)
- Параметры
- key (ключ контекста)
- context (cсылка на объект modContext)
- mode (либо новый либо обновить, определение)
Запускается после того как форма редактирования загружена.
Такой плагин добавить имя загруженному контексту:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextFormRender': //если обновляем существующий if ($mode == modSystemEvent::MODE_UPD) { $context->set('name','Название'); //сохраним ему новое имя $context->save(); } break; }
- core/model/modx/modcontext.class.php (338)
- Параметры
- context (cсылка на объект modContext)
Запускается после того как контекст удаляется.
Такой плагин добавить в "Журнал ошибок" данные удаленного контекста:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextRemove': print_r($context->toArray()); break; }
- core/model/modx/modcontext.class.php (365)
- Параметры
- context (cсылка на объект modContext)
- mode (либо новый либо обновить, определение)
Запускается каждый раз когда контекст сохраняется.
Такой плагин выведет ошибку на экран если у контекста не заполнено поле name:
$eventName = $modx->event->name; switch($eventName) { case 'OnContextSave': if ($mode == modSystemEvent::MODE_UPD){ if (!$context->get('name')){ $response = array( 'success' => false, 'message' => 'Не заполнено имя!', 'data' => array(), ); echo $modx->toJSON($response); exit; } } break; }
- core/model/modx/processors/resource/emptyrecyclebin.class.php (60)
- Параметры
- ids (массив удаленных id ресурсов)
- num_deleted (количество удаленных ресурсов)
Запускается после того как корзина очищена.
Такой плагин выведет в "Журнал ошибок" сколько и какие ресурсы были удалены:
$eventName = $modx->event->name; switch($eventName) { case 'OnEmptyTrash': $modx->log(modX::LOG_LEVEL_ERROR, 'Корзина была очищена, удалено ресурсов: '.$num_deleted.' Вот они: ').print_r($ids); break; }
- core/model/modx/sources/mods3mediasource.class.php (662)
- core/model/modx/sources/modfilemediasource.class.php (748)
- Параметры
- files (массив файлов из PHP массива $_files)
- directory (ссылка на объект modDirectory )
- source (объект modMediaSource)
Запускается после того как все файлы загружены в диспетчер.
Такой плагин выведет в "Журнал ошибок" какие и куда файлы были загружены:
$eventName = $modx->event->name; switch($eventName) { case 'OnFileManagerUpload': print_r($files); echo 'Файл был загружен сюда: '.$directory; break; }
- core/model/modx/modmanagerrequest.class.php (116)
- core/model/modx/modrequest.class.php (69)
- Параметры
Срабатывает в самом начале обработки запроса (request). На данном этапе до версии MODX 2.3 обычно выполняли функции маршрутизации — перенаправляли пользователя на определенную страницу в зависимости от условий (аналогично .htaccess). Сейчас это можно делать в «OnMODXInit» событии. В принципе, большой разницы между этими событиями нет — запускаются они сразу друг за другом. Только «OnMODXInit» запускается в классе modX, а «OnHandleRequest» — в классе modRequest, который загружается сразу же после инициализации MODX.
Такой плагин выведет в "Журнал ошибок" кучу, открываем и смотрим:
$eventName = $modx->event->name; switch($eventName) { case 'OnHandleRequest': $request = &$_REQUEST; print_r($request); break; }
- core/model/modx/modx.class.php (2370)
- Параметры
- core/model/modx/modrequest.class.php (132)
- Параметры
- Но к ресурсу можно обратится $modx->resource
Запускается после того как ресурс загружен, но перед тем как будут обработаны все теги.
$eventName = $modx->event->name; switch($eventName) { case 'OnLoadWebDocument': // Сделать ресурс некешируемым $modx->resource->set('cacheable', 0); // Или назначить ему другой шаблон $modx->resource->set('template', 6); break; }
- core/model/modx/processors/security/login.class.php (236)
- Параметры
- user (ссылка на объект modUser)
- password (пароль)
- rememberme (запомнить пользователя, cookie)
- lifetime (время жизни сессии cookie)
- loginContext (ключ контекста)
- addContexts (дополнительные контексты где происходит авторизация)
Запускается перед тем как пользователь авторизуется, и его сессия добавить в менеджер. Это событие используется, чтобы позволить войти
- manager/controllers/default/security/login.class.php (44)
- Параметры
Запускается перед тем как форма входа появится для пользователя.
- core/model/modx/modmanagercontroller.class.php (190)
- Параметры
- controller (экземпляр контроллера текущей страницы менеджера)
Запускается в контроллере менеджера после обработки контента, но до того как он появится.
- core/model/modx/modmanagerrequest.class.php (127)
- Параметры
- action (id текущего загруженного действия)
Запускается перед тем как страница загрузится в менеджере.
- core/model/modx/modx.class.php (1174)
- Параметры
- response_code (код ответа для отправки, по умолчанию "HTTP/1.1 404 Not Found")
- error_type (тип. По умолчанию 404)
- error_header (заголовок, по умолчанию "HTTP/1.1 404 Not Found")
- error_pagetitle (pagetitle на странице)
- error_message (сообщение на странице ошибки)
Запускается когда пользователь попадает на ресурс с несуществующим id.
- core/model/modx/modparser.class.php (229)
- core/model/modx/modparser095.class.php (88)
- Параметры
- ссылка на контент доступна так $modx->documentOutput
Событие срабатывает для каждого тега MODX, т.е. столько раз, сколько тегов будет на странице. В плагине содержание тега доступно через переменную $content.
- core/model/modx/modplugin.class.php (70)
- Параметры
- plugin (ссылка на объект modPlugin)
Событие срабатывает перед тем как удаляется плагин.
- core/model/modx/modplugin.class.php (39)
- Параметры
- plugin (ссылка на объект modPlugin)
Событие срабатывает перед тем как сохранится плагин.
- core/model/modx/modplugin.class.php (39)
- Параметры
- plugin (ссылка на объект modPlugin)
Событие срабатывает перед тем как сохранится плагин.
- core/model/modx/modpluginevent.class.php (59)
- Параметры
- id (id объекта modPluginEvent)
- pluginEvent (Ссылка на объект modPluginEvent)
Событие срабатывает после того как плагин отсоединится от события.
- core/model/modx/processors/element/plugin/remove.class.php (17)
- Параметры
- id (id плагина)
- chunk (ссылка на объект modPlugin)
Событие срабатывает после того как плагин будет удален.
- manager/controllers/default/element/plugin/create.class.php (78)
- manager/controllers/default/element/plugin/update.class.php (129)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id плагина. Будет 0 для новых)
- plugin (ссылка на объект modPlugin. Будет иметь значение NULL для новых плагинов)
Запускается до изменения плагина, но JS подгружается. Можно использовать для визуализации пользовательских JavaScript в mgr.
- manager/controllers/default/element/plugin/create.class.php (91)
- manager/controllers/default/element/plugin/update.class.php (143)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id плагина. Будет 0 для новых)
- plugin (ссылка на объект modPlugin. Будет иметь значение NULL для новых плагинов)
Запускается во время рендеринга формы.
- core/model/modx/processors/element/plugin/create.class.php (26)
- core/model/modx/processors/element/plugin/update.class.php (27)
- Параметры
- mode (либо новый либо обновить, определение)
- id (id плагина)
- plugin (ссылка на объект modPlugin)
Запускается после того, как плагин будет сохранен в менеджере.
- core/model/modx/modplugin.class.php (79)
- Параметры
- plugin (ссылка на объект modPlugin)
Запускается после того, как плагин будет удален.
- core/model/modx/modplugin.class.php (49)
- Параметры
- plugin (ссылка на объект modPlugin)
Запускается после того, как плагин будет сохранен.
- core/model/modx/modplugin.class.php (49)
- Параметры
- plugin (ссылка на объект modPlugin)
Запускается после того, как плагин будет сохранен.
- core/model/modx/modpropertyset.class.php (218)
- Параметры
- propertySet (ссылка на объект modPropertySet)
Запускается перед тем как набор параметров будет удален.
- core/model/modx/modpropertyset.class.php (192)
- Параметры
- propertySet (ссылка на объект modPropertySet)
Запускается перед тем как набор параметров будет сохранен.
- core/model/modx/modpropertyset.class.php (227)
- Параметры
- propertySet (ссылка на объект modPropertySet)
Запускается после того, как набор параметров будет удален.
- core/model/modx/modpropertyset.class.php (202)
- Параметры
- propertySet (ссылка на объект modPropertySet)
Запускается после того, как набор параметров будет сохранен.
- Параметры
- group (ссылка на объект modResourceGroup)
Запускается перед тем как группа ресурсов удаляется.
- core/model/modx/modresourcegroup.class.php (27)
- Параметры
- group (ссылка на объект modResourceGroup )
Запускается перед тем как группа ресурсов сохраняется.
- core/model/modx/modresourcegroup.class.php (63)
- Параметры
- group (ссылка на объект modResourceGroup )
Запускается после того как группа ресурсов удаляется.
- core/model/modx/modresourcegroup.class.php (38)
- Параметры
- group (ссылка на объект modResourceGroup )
Запускается после того как группа ресурсов сохраняется.
- manager/controllers/default/browser/index.class.php (42)
- Параметры
Используется для обработки MODx.Browser's реализации файловой системы для пользовательских RTEs.
- core/model/modx/processors/element/tv/renders/web/output/richtext.class.php (22)
- manager/controllers/default/element/chunk/update.class.php (149)
- manager/controllers/default/element/chunk/create.class.php (22)
- manager/controllers/default/resource/resource.class.php (205)
- manager/controllers/default/element/chunk/create.class.php (86)
- Параметры
- editor (указанный редактор)
- elements (массив элементов RTE)
Может быть использован любой редактор.
- manager/controllers/default/resource/resource.class.php (197)
- core/model/modx/processors/system/rte/getlist.class.php (11)
- Параметры
Срабатывает при выборе любого выпадающего списка редакторов. Например в системных настройках 'which_editor', вродебы
- manager/controllers/default/system/settings.class.php (43)
- Параметры
Срабатывает до того, как страница с настройками загрузится.
- core/model/modx/processors/security/user/activatemultiple.class.php (44)
- Параметры
- core/model/modx/moduser.class.php (117)
- Параметры
- user (ссылка на объект modUser )
Срабатывает перед тем как пользователь будет удален.
- core/model/modx/moduser.class.php (91)
- Параметры
- user (ссылка на объект modUser)
- mode (либо новый либо обновить, определение)
Срабатывает перед тем как пользователь будет сохранен.
- core/model/modx/processors/security/user/delete.class.php (16)
- Параметры
- user (ссылка на объект modUser)
- id (id пользователя)
Срабатывает после того как пользователь будет удален.
- core/model/modx/processors/security/user/create.class.php (18)
- core/model/modx/processors/security/user/update.class.php (17)
- Параметры
- user (ссылка на объект modUser)
- id (id пользователя)
- mode (либо новый либо обновить, определение)
Срабатывает после того как пользователь будет создан и обновлен через форму.
- core/model/modx/processors/security/login.class.php (105)
- Параметры
- username (указанное имя пользователя)
- password (указанный пароль)
- attributes (массив параметров)
Срабатывает когда пользователь не найден при авторизации.
- core/model/modx/moduser.class.php (126)
- Параметры
- user (ссылка на объект modUser)
Срабатывает после того как пользователь удален.
- core/model/modx/moduser.class.php (101)
- Параметры
- user (ссылка на объект modUser)
- mode (либо новый либо обновить, определение)
Срабатывает после того как пользователь сохранен.
- core/model/modx/processors/security/login.class.php (236)
- Параметры
- user (ссылка на объект modUser)
- password (пароль)
- rememberme (запомнить пользователя, cookie)
- lifetime (время жизни сессии cookie)
- loginContext (ключ контекста)
- addContexts (дополнительные контексты где происходит авторизация)
Запускается перед тем как пользователь авторизуется, и его сессия добавить в менеджер. Это событие используется, чтобы позволить войти
- core/model/modx/modx.class.php (2594)
- Параметры
- к ресурсу можно обратится $modx->resource.
Это самое последнее событие. Оно срабатывает, когда страница уж отправлена в браузер и подготовленный ресурс сохранен в кэш.
- core/model/modx/modrequest.class.php (112)
- Параметры
Срабатывает в конце обработки запроса перед подготовкой ответа. Статус сайта уже определён и идентификатор ресурса (id) найден (он доступен в $modx->resourceIdentifier).
После этого события MODX загружает ресурс и проверяет права доступа к нему для текущего пользователя. И если проверки не прошли, то запускается одно из 2-х следующих событий — «OnPageNotFound» или «OnPageUnauthorized».
- core/model/modx/modx.class.php (527)
- Параметры
- contextKey
- options
Вызывается при инициализации объекта в modx.
В списке возможны ошибки, по мере использования буду поправлять и дополнять.
Комментарии (3)