Как добавить логи в Журнал системы управления?
Есть простой код, который позволяет изменять контент редакторами прямо с фронтэнда сайта. Как добавить эти действия в логи Журнала системы управления?
Сам код в сниппете, который редактирует описание страницы:
Сам код в сниппете, который редактирует описание страницы:
if($name == "content") {
$resource = $modx->getObject('modResource', $pageId);
if ($resource) {
$resource->set('content',$value);
$resource->save();
$cm = $modx->getCacheManager();
$cm->refresh();
}
}
Как добавить отчёт о сохранении страницы этим кодом? Нужно чтобы велись логи действий редакторов.
Поблагодарить автора
Отправить деньги
Комментарии: 2
Используй процессоры, Люк — они добавляют записи в журнал, помимо прочего.
Ну а вообще, есть отдельный метод modX::logManagerAction();
Ну а вообще, есть отдельный метод modX::logManagerAction();
public function logManagerAction($action, $class_key, $item) {
$userId = 0;
if ($this->user instanceof modUser) {
$userId = $this->user->get('id');
}
$ml = $this->newObject('modManagerLog');
$ml->set('user', (integer) $userId);
$ml->set('occurred', strftime('%Y-%m-%d %H:%M:%S'));
$ml->set('action', empty($action) ? 'unknown' : $action);
$ml->set('classKey', empty($class_key) ? '' : $class_key);
$ml->set('item', empty($item) ? 'unknown' : $item);
if (!$ml->save()) {
$this->log(modX::LOG_LEVEL_ERROR, $this->lexicon('manager_log_err_save'));
return null;
}
return $ml;
}
Спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.