getOption(\'admintools_core_path\', null, $modx->getOption(\'core_path\') . \'components/admintools/\') . \'services/\';
/** @var AdminTools $AdminTools */
$AdminTools = $modx->getService(\'admintools\', \'AdminTools\', $path);
$elementType = null;
if ($AdminTools instanceof AdminTools) {
switch ($modx->event->name) {
case \'OnManagerPageBeforeRender\':
if ($modx->user->id) $AdminTools->initialize();
break;
case \'OnManagerPageAfterRender\':
if ($AdminTools->isLocked()) {
$controller->content = $modx->getChunk(\'tpl.lockScreen\', [
\'username\' => $modx->user->username,
\'photo\' => $modx->user->getPhoto(),
\'title\' => $modx->getOption(\'site_name\'),
\'lang\' => $modx->getOption(\'manager_language\'),
\'form_action\' => $AdminTools->getOption(\'connectorUrl\'),
\'auth\' => $modx->user->getUserToken(\'mgr\'),
\'assets_url\' => MODX_ASSETS_URL,
\'input_placeholder\' => $AdminTools->getInputPlaceholder(),
]
);
}
break;
case \'OnDocFormSave\':
if ($modx->getOption(\'admintools_clear_only_resource_cache\',null,false) && $modx->event->params[\'mode\'] == modSystemEvent::MODE_UPD) {
if ($resource->get(\'syncsite\')) {
$AdminTools->clearResourceCache($resource);
}
if (!empty($_POST[\'createCache\'])) {
$AdminTools->createResourceCache($resource->uri);
}
}
break;
case \'OnManagerPageInit\':
if (!$modx->user->isAuthenticated(\'mgr\') && $modx->getOption(\'admintools_email_authorization\', null, false)) {
$id = (int) $modx->getOption(\'admintools_loginform_resource\');
if (!empty($id) && $modx->getCount(\'modResource\', [\'id\' => $id, \'published\' => 1, \'deleted\' => 0])) {
$url = $modx->makeUrl($id, \'\', \'\', \'full\');
$modx->setOption(\'manager_login_url_alternate\', $url);
}
}
break;
case \'OnManagerAuthentication\':
if ($modx->getOption(\'admintools_user_can_login\', null, false)) {
$modx->setOption(\'admintools_user_can_login\', false);
$modx->event->output(true);
}
break;
case \'OnLoadWebDocument\':
if ($modx->user->isAuthenticated($modx->context->get(\'key\')) && (!$modx->user->active || $modx->user->Profile->blocked)) {
$modx->runProcessor(\'security/logout\');
}
if ($modx->getOption(\'admintools_alternative_permissions\', null, false) && !$AdminTools->hasPermissions()){
$modx->sendUnauthorizedPage();
}
break;
case \'OnTempFormPrerender\':
if ($modx->getOption(\'admintools_template_resource_relationship\', null, true)) {
$modx->controller->addLastJavascript($AdminTools->getOption(\'jsUrl\') . \'mgr/templates.js\');
}
break;
case \'OnDocFormPrerender\':
$_html = array();
$output = \'\';
if ($modx->getOption(\'admintools_template_resource_relationship\', null, true)) {
$_html[\'tpl_res_relationship\'] = \'
var tmpl = Ext.getCmp("modx-resource-template");
if (tmpl.getValue()) tmpl.label.update(_("resource_template") + " ");\';
}
if ($modx->getOption(\'admintools_clear_only_resource_cache\', null, true) && $modx->event->params[\'mode\'] != modSystemEvent::MODE_NEW) {
$_html[\'create_resource_cache\'] = \'
var cb = Ext.create({
xtype: "xcheckbox",
boxLabel: _("admintools_create_resource_cache"),
description: _("admintools_create_resource_cache_help"),
hideLabel: true,
name: "createCache",
id: "createCache",
checked: \'. intval($modx->getOption(\'admintools_create_resource_cache\', null, false)) .\'
});
if (Ext.getCmp("modx-page-settings-right-box-right")) {
Ext.getCmp("modx-page-settings-right-box-right").insert(2,cb);
Ext.getCmp("modx-page-settings-right-box-left").add(Ext.getCmp("modx-resource-uri-override"));
Ext.getCmp("modx-panel-resource").on("success", function(o){
if (o.result.object.createCache != 0) {
cb.setValue(true);
}
});
}\';
}
if (!empty($_html)) {
$output .= \'
Ext.onReady(function() {
setTimeout(function(){\' . implode("\\n", $_html) . \'
}, 200);
});\';
}
if ($modx->getOption(\'admintools_alternative_permissions\', null, true) && $modx->hasPermission(\'access_permissions\')) {
$modx->controller->addLastJavascript($AdminTools->getOption(\'jsUrl\') . \'mgr/permissions.js\');
$output .= \'
Ext.ComponentMgr.onAvailable("modx-resource-tabs", function() {
this.on("beforerender", function() {
this.add({
title: _("admintools_permissions"),
border: false,
items: [{
layout: "anchor",
border: false,
items: [{
html: _("admintools_permissions_desc"),
border: false,
bodyCssClass: "panel-desc"
}, {
xtype: "admintools-grid-permissions",
anchor: "100%",
cls: "main-wrapper",
resource: \' . $id . \'
}]
}]
});
});
});
\';
}
if (!empty($output)) $modx->controller->addHtml(\'\');
break;
case \'OnMODXInit\':
if ($modx->context->get(\'key\') !== \'mgr\') {
if ( $modx->getOption(\'admintools_only_current_context_user\', null, false)
&& $modx->user->isAuthenticated(\'mgr\')
&& !$modx->user->isAuthenticated($modx->context->get(\'key\')) ) {
$modx->user = $modx->newObject(\'modUser\');
$modx->user->fromArray(array(\'id\' => 0, \'username\' => $modx->getOption(\'default_username\', \'\', \'(anonymous)\', true)), \'\', true);
}
}
break;
}
}
return;
';