From 24bc0eadf0b3dd33ce1b1e680a131e5d56e1e034 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Mon, 5 Jan 2026 11:31:56 +0300 Subject: [PATCH 01/10] rewrite processors --- core/src/Core.php | 40 +- manager/actions/mutate_content.dynamic.php | 10 +- manager/media/script/resources-functions.js | 3 +- manager/media/style/default/js/modx.js | 23 +- .../processors/delete_content.processor.php | 66 +- .../duplicate_content.processor.php | 28 +- .../processors/publish_content.processor.php | 39 +- manager/processors/save_content.processor.php | 800 ++++++------------ .../processors/undelete_content.processor.php | 42 +- .../unpublish_content.processor.php | 39 +- 10 files changed, 380 insertions(+), 710 deletions(-) diff --git a/core/src/Core.php b/core/src/Core.php index 48f5fe9c8c..7068423db4 100644 --- a/core/src/Core.php +++ b/core/src/Core.php @@ -446,7 +446,7 @@ public function sendRedirect($url, $count_attempts = 0, $type = 'REDIRECT_HEADER } if ($type === 'REDIRECT_JS') { - echo sprintf("", $url); + echo sprintf('', $url); exit; } @@ -3151,7 +3151,7 @@ public function webAlertAndQuit($msg, $url = '') } elseif (!$url) { $fnc = 'history.back(-1);'; } else { - $fnc = "window.location.href='" . addslashes($url) . "';"; + $fnc = 'window.location.href="' . addslashes($url) . '";'; } $style = ''; @@ -3169,23 +3169,25 @@ public function webAlertAndQuit($msg, $url = '') echo ' - Evolution CMS :: Alert - - ' . $style . " - - - -

" . $msg . '

- - '; + Evolution CMS :: Alert + + ' . $style . ' + + + +

' . $msg . '

+ + '; exit; } diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index 71fa200653..e1aff6fe55 100644 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -8,6 +8,7 @@ $sb = isset($_REQUEST['sort']) ? '&sort=' . $_REQUEST['sort'] : '&sort=createdon'; $pg = isset($_REQUEST['page']) ? '&page=' . (int) $_REQUEST['page'] : ''; $add_path = $sd . $sb . $pg; + /*******************/ global $content, $richtexteditorIds, $richtexteditorOptions; $richtexteditorIds = array(); @@ -102,7 +103,12 @@ } // restore saved form -$formRestored = $modx->getManagerApi()->loadFormValues(); +$formRestored = false; +if($_GET['r'] == 1) { + $formRestored = $modx->getManagerApi()->loadFormValues(); + unset($_POST['a']); + unset($_POST['id']); +} if(isset($_REQUEST['newtemplate'])) { $formRestored = true; } @@ -484,7 +490,7 @@ function decode(s) { getManagerApi()->action == '72') { - $ResourceManagerLoaded = true; + $ResourceManagerLoaded = true; // ? } ?> /* ]]> */ diff --git a/manager/media/script/resources-functions.js b/manager/media/script/resources-functions.js index 6fc3b869c4..6c2f26ded6 100644 --- a/manager/media/script/resources-functions.js +++ b/manager/media/script/resources-functions.js @@ -20,7 +20,8 @@ function actionDisableElement(t) { jQuery.get($t.data('disabled') ? $t.data('enable-href') : $t.data('disable-href'), function (data) { $row.fadeTo(100, 1); - /__alertQuit\(\)/.test(data) && parent.modx.alert(data.match(/\(.*?)\<\/body\>/s)[0]); + // if '__alertQuit' exists show alert with text from BODY > P + /__alertQuit\(\)/.test(data) && parent.modx.alert(data.match(/\s*

(.*?)<\/p>\s*<\/body>/s)?.[1] || ''); if ($t.data('disabled')) { $t.data('disabled', 0); diff --git a/manager/media/style/default/js/modx.js b/manager/media/style/default/js/modx.js index dbdb96569c..9eb7d778b6 100755 --- a/manager/media/style/default/js/modx.js +++ b/manager/media/style/default/js/modx.js @@ -1535,15 +1535,19 @@ this.show(); if (~this.closeactions.indexOf(this.action)) { this.setDocPublished(); - modx.get(this.url, function (r) { - /__alertQuit\(\)/.test(r) && modx.alert(r.match(/\(.*?)\<\/body\>/s)[0]); + modx.get(this.url, function (data) { + // if '__alertQuit' exists show alert with text from BODY > P + /__alertQuit\(\)/.test(data) && modx.alert(data.match(/\s*

(.*?)<\/p>\s*<\/body>/s)?.[1] || ''); + modx.tree.restoreTree(); }); } } } else if (~this.closeactions.indexOf(this.action)) { - modx.get(this.url, function (r) { - /__alertQuit\(\)/.test(r) && modx.alert(r.match(/\(.*?)\<\/body\>/s)[0]); + modx.get(this.url, function (data) { + // if '__alertQuit' exists show alert with text from BODY > P + /__alertQuit\(\)/.test(data) && modx.alert(data.match(/\s*

(.*?)<\/p>\s*<\/body>/s)?.[1] || ''); + modx.tree.restoreTree(); }); } else { @@ -1604,8 +1608,8 @@ this.olduid = this.uid; this.uid = modx.urlToUid(this.url); if (!!w.main.__alertQuit) { - w.main.alert = function (a) { }; - var message = w.main.document.body.innerHTML; + w.main.alert = function () { }; + var message = w.main.document.body.querySelector('p').innerHTML; w.main.document.body.style.display = 'none'; history.pushState(null, d.title, modx.getActionFromUrl(this.url, 2) ? modx.MODX_MANAGER_URL : '#' + this.url); w.onpopstate = function () { @@ -2002,9 +2006,10 @@ o.uid = modx.urlToUid(a.url); o.event = e; if (!!e.target.contentWindow.__alertQuit) { - modx.alert(e.target.contentWindow.document.body.querySelector('p').innerHTML); - e.target.contentWindow.document.body.innerHTML = ''; e.target.contentWindow.alert = function () { }; + var message = e.target.contentWindow.document.body.querySelector('p').innerHTML; + e.target.contentWindow.document.body.innerHTML = ''; + modx.alert(message); } else { if (modx.getActionFromUrl(a.url, 2) || o.wrap.querySelectorAll('#evo-popup-' + o.uid).length > 1) { o.el.close(); @@ -2213,7 +2218,7 @@ let m = a.match(/modules\/(.*?)$/)?.[1]; m && (b += m); - + b = modx.toHash(b); } return b; diff --git a/manager/processors/delete_content.processor.php b/manager/processors/delete_content.processor.php index 1c79003608..3ee2d8dd34 100755 --- a/manager/processors/delete_content.processor.php +++ b/manager/processors/delete_content.processor.php @@ -21,8 +21,6 @@ $pg = isset($_REQUEST['page']) ? '&page=' . (int)$_REQUEST['page'] : ''; $add_path = $sd . $sb . $pg; -/*****************************/ - // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); $udperms->user = $modx->getLoginUserID('mgr'); @@ -33,56 +31,26 @@ $modx->webAlertAndQuit($_lang["access_permission_denied"]); } -$children = $document->getAllChildren($document); - -// invoke OnBeforeDocFormDelete event -$modx->invokeEvent("OnBeforeDocFormDelete", - array( - "id" => $id, - "children" => $children - )); - -$documentDeleteIds = $children; -array_unshift($documentDeleteIds, $id); - -foreach ($documentDeleteIds as $deleteId) { - if ($modx->getConfig('site_start') == $deleteId) { - $modx->webAlertAndQuit("Document is 'Site start' and cannot be deleted!"); - } - - if ($modx->getConfig('site_unavailable_page') == $deleteId) { - $modx->webAlertAndQuit("Document is used as the 'Site unavailable page' and cannot be deleted!"); - } - - if ($modx->getConfig('error_page') == $deleteId) { - $modx->webAlertAndQuit("Document is used as the 'Site error page' and cannot be deleted!"); - } - - if ($modx->getConfig('unauthorized_page') == $deleteId) { - $modx->webAlertAndQuit("Document is used as the 'Site unauthorized page' and cannot be deleted!"); - } +// Run deleter +try { + $document = \DocumentManager::delete(['id' => $id]); +} catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; +} catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; } -$site_content_table = (new \EvolutionCMS\Models\SiteContent())->getTable(); -DB::table($site_content_table) - ->whereIn('id', $documentDeleteIds) - ->update(['deleted' => 1, - 'deletedby'=>$modx->getLoginUserID('mgr'), - 'deletedon'=>time()]); - -// invoke OnDocFormDelete event -$modx->invokeEvent("OnDocFormDelete", - array( - "id" => $id, - "children" => $children - )); - // Set the item name for logger $_SESSION['itemname'] = $document->pagetitle; -// empty cache -$modx->clearCache('full'); - // finished emptying cache - redirect -$header = "Location: index.php?a=3&id=$pid&r=1" . $add_path; -header($header); \ No newline at end of file +$header = "Location: index.php?a=3&r=1&id={$pid}{$add_path}"; +header($header); diff --git a/manager/processors/duplicate_content.processor.php b/manager/processors/duplicate_content.processor.php index 3d283a1d24..ff417cd774 100755 --- a/manager/processors/duplicate_content.processor.php +++ b/manager/processors/duplicate_content.processor.php @@ -11,26 +11,38 @@ $modx->webAlertAndQuit($_lang["error_no_id"]); } -$children = array(); - // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); $udperms->user = $modx->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; -$udperms->duplicateDoc = true; +// EvolutionCMS\Legacy\Permissions: +$udperms->duplicateDoc = true; // непонятно зачем это if (!$udperms->checkPermissions()) { $modx->webAlertAndQuit($_lang["access_permission_denied"]); } -// Run the duplicator -$document = \DocumentManager::duplicate(['id' => $id]); +// Run duplicator +try { + $document = \DocumentManager::duplicate(['id' => $id]); +} catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; +} catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; +} // Set the item name for logger -$name = EvolutionCMS\Models\SiteContent::select('pagetitle')->findOrFail($document->getKey())->pagetitle; -$_SESSION['itemname'] = $name; +$_SESSION['itemname'] = $document->pagetitle; // finish cloning - redirect -$header = "Location: index.php?r=1&a=3&id=" . $document->getKey(); +$header = "Location: index.php?a=3&r=1&id={$document->getKey()}"; header($header); diff --git a/manager/processors/publish_content.processor.php b/manager/processors/publish_content.processor.php index b2f92c9507..750d042552 100755 --- a/manager/processors/publish_content.processor.php +++ b/manager/processors/publish_content.processor.php @@ -21,8 +21,6 @@ $pg = isset($_REQUEST['page']) ? '&page=' . (int) $_REQUEST['page'] : ''; $add_path = $sd . $sb . $pg; -/***********************************/ - // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); $udperms->user = $modx->getLoginUserID('mgr'); @@ -33,26 +31,25 @@ $modx->webAlertAndQuit($_lang["access_permission_denied"]); } -// update the document -\EvolutionCMS\Models\SiteContent::query()->find($id)->update(array( - 'published' => 1, - 'pub_date' => 0, - 'unpub_date' => 0, - 'editedby' => $modx->getLoginUserID('mgr'), - 'editedon' => time(), - 'publishedby' => $modx->getLoginUserID('mgr'), - 'publishedon' => time(), -)); - -// invoke OnDocPublished event -$modx->invokeEvent("OnDocPublished", array("docid" => $id)); +// Run publisher +try { + $document = \DocumentManager::publish(['id' => $id]); +} catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; +} catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; +} // Set the item name for logger -$_SESSION['itemname'] = $content['pagetitle']; - -// empty cache -$modx->clearCache('full'); - -$header = "Location: index.php?a=3&id=$pid&r=1" . $add_path; +$_SESSION['itemname'] = $document->pagetitle; +$header = "Location: index.php?a=3&r=1&id={$pid}{$add_path}"; header($header); diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index e9238a1e24..2f501bf5cf 100644 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -2,269 +2,108 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -$modx = EvolutionCMS(); if (!$modx->hasPermission('save_document')) { $modx->webAlertAndQuit($_lang["error_no_privileges"]); + return; } -// preprocess POST values -$id = is_numeric($_POST['id']) ? $_POST['id'] : ''; - -$introtext = $_POST['introtext']; -$content = $_POST['ta']; -$pagetitle = $_POST['pagetitle']; -$description = $_POST['description']; -$alias = $_POST['alias']; -$link_attributes = $_POST['link_attributes']; -$isfolder = (int) $_POST['isfolder']; -$richtext = (int) $_POST['richtext']; -$published = (int) $_POST['published']; -$parentId = $parent = (int) get_by_key($_POST, 'parent', 0, 'is_scalar'); -$template = (int) $_POST['template']; -$menuindex = !empty($_POST['menuindex']) ? (int) $_POST['menuindex'] : 0; -$searchable = (int) $_POST['searchable']; -$cacheable = (int) $_POST['cacheable']; -$syncsite = (int) $_POST['syncsite']; -$pub_date = $_POST['pub_date']; -$unpub_date = $_POST['unpub_date']; -$document_groups = (isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on') ? [] : get_by_key($_POST, 'docgroups', [], 'is_array'); -$type = $_POST['type']; -$contentType = $_POST['contentType']; -$contentdispo = (int) $_POST['content_dispo']; -$longtitle = $_POST['longtitle']; -$hide_from_tree = (int) $_POST['hide_from_tree']; -$menutitle = $_POST['menutitle']; -$hidemenu = (int) $_POST['hidemenu']; -$aliasvisible = (int) $_POST['alias_visible']; - /************* webber ********/ $sd = isset($_POST['dir']) && strtolower($_POST['dir']) === 'asc' ? '&dir=ASC' : '&dir=DESC'; $sb = isset($_POST['sort']) ? '&sort=' . entities($_POST['sort'], $modx->getConfig('modx_charset')) : '&sort=pub_date'; $pg = isset($_POST['page']) ? '&page=' . (int) $_POST['page'] : ''; $add_path = $sd . $sb . $pg; -$no_esc_pagetitle = $_POST['pagetitle']; -if (trim($no_esc_pagetitle) == "") { - if ($type == "reference") { - $no_esc_pagetitle = $pagetitle = $_lang['untitled_weblink']; - } else { - $no_esc_pagetitle = $pagetitle = $_lang['untitled_resource']; - } -} - -$actionToTake = "new"; -if ($_POST['mode'] == '73' || $_POST['mode'] == '27') { - $actionToTake = "edit"; -} - -// friendly url alias checks -if ($modx->getConfig('friendly_urls')) { - // auto assign alias - if (!$alias && $modx->getConfig('automatic_alias')) { - $alias = strtolower($modx->stripAlias(trim($pagetitle))); - if (!$modx->getConfig('allow_duplicate_alias')) { - if (\EvolutionCMS\Models\SiteContent::withTrashed() - ->where('id', '<>', $id) - ->where('alias', $alias)->count() > 0) { - $cnt = 1; - $tempAlias = $alias; - - while (\EvolutionCMS\Models\SiteContent::withTrashed() - ->where('id', '<>', $id) - ->where('alias', $tempAlias)->count() > 0) { - $tempAlias = $alias; - $tempAlias .= $cnt; - $cnt++; - } - $alias = $tempAlias; - } - } else { - if (\EvolutionCMS\Models\SiteContent::withTrashed() - ->where('id', '<>', $id) - ->where('alias', $alias) - ->where('parent', $parent)->count() > 0) { - $cnt = 1; - $tempAlias = $alias; - while (\EvolutionCMS\Models\SiteContent::withTrashed() - ->where('id', '<>', $id) - ->where('alias', $tempAlias) - ->where('parent', $parent)->count() > 0) { - $tempAlias = $alias; - $tempAlias .= $cnt; - $cnt++; - } - $alias = $tempAlias; - } - } - } elseif ($alias && !$modx->getConfig('allow_duplicate_alias')) { - // check for duplicate alias name if not allowed - $alias = $modx->stripAlias($alias); - $docid = \EvolutionCMS\Models\SiteContent::withTrashed()->select('id') - ->where('id', '<>', $id) - ->where('alias', $alias); - if ($modx->getConfig('use_alias_path')) { - // only check for duplicates on the same level if alias_path is on - $docid = $docid->where('parent', $parent); - } - $docid = $docid->first(); - if (!is_null($docid)) { - if ($actionToTake == 'edit') { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_alias_found"], $docid->id, $alias), "index.php?a=27&id={$id}"); - } else { - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_alias_found"], $docid->id, $alias), "index.php?a=4"); - } - } - } elseif ($alias) { - // strip alias of special characters - $alias = $modx->stripAlias($alias); - $docid = \EvolutionCMS\Models\SiteContent::withTrashed()->select('id') - ->where('id', '<>', $id) - ->where('alias', $alias) - ->where('parent', $parent) - ->first(); - if (!is_null($docid)) { - if ($actionToTake == 'edit') { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_alias_found"], $docid->id, $alias), "index.php?a=27&id={$id}"); - } else { - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_alias_found"], $docid->id, $alias), "index.php?a=4"); - } - } - } -} elseif ($alias) { - $alias = $modx->stripAlias($alias); -} - -// determine published status -$currentdate = $modx->timestamp((int) get_by_key($_SERVER, 'REQUEST_TIME', 0)); - -if (empty($pub_date)) { - $pub_date = 0; -} else { - $pub_date = $modx->toTimeStamp($pub_date); - - if ($pub_date < $currentdate) { - $published = 1; - } elseif ($pub_date > $currentdate) { - $published = 0; - } -} - -if (empty($unpub_date)) { - $unpub_date = 0; -} else { - $unpub_date = $modx->toTimeStamp($unpub_date); - if ($unpub_date < $currentdate) { - $published = 0; - } -} +$resourceArray = [ + 'id' => is_numeric($_POST['id']) ? $_POST['id'] : '', + // + "introtext" => $_POST['introtext'], + "content" => $_POST['ta'], + "pagetitle" => $_POST['pagetitle'], + "longtitle" => $_POST['longtitle'], + "type" => $_POST['type'], + "description" => $_POST['description'], + "alias" => $_POST['alias'], + "link_attributes" => $_POST['link_attributes'], + "isfolder" => (int) $_POST['isfolder'], + "richtext" => (int) $_POST['richtext'], + "published" => (int) $_POST['published'], + "parent" => (int) get_by_key($_POST, 'parent', 0, 'is_scalar'), + "template" => (int) $_POST['template'], + "menuindex" => !empty($_POST['menuindex']) ? (int) $_POST['menuindex'] : 0, + "searchable" => (int) $_POST['searchable'], + "cacheable" => (int) $_POST['cacheable'], + "pub_date" => $_POST['pub_date'], + "unpub_date" => $_POST['unpub_date'], + "contentType" => $_POST['contentType'], + "content_dispo" => (int) $_POST['content_dispo'], + "hide_from_tree" => (int) $_POST['hide_from_tree'], + "menutitle" => $_POST['menutitle'], + "hidemenu" => (int) $_POST['hidemenu'], + "alias_visible" => (int) $_POST['alias_visible'], +]; // get document groups for current user -$tmplvars = []; $docgrp = array_unique(\EvolutionCMS\Models\MemberGroup::query() ->join('membergroup_access', 'membergroup_access.membergroup', '=', 'member_groups.user_group') ->where('member_groups.member', $modx->getLoginUserID('mgr'))->pluck('documentgroup')->toArray()); +$document_groups = (isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on') + ? [] + : get_by_key($_POST, 'docgroups', [], 'is_array'); + +$actionToTake = 'create'; +if ($_POST['mode'] == '73' || $_POST['mode'] == '27') { + $actionToTake = 'edit'; +} + // ensure that user has not made this document inaccessible to themselves -if ($_SESSION['mgrRole'] != 1 && is_array($document_groups)) { +if ($_SESSION['mgrRole'] != 1 && !empty($document_groups)) { + // every value is "number,type", have to leave only numbers $document_group_list = implode(',', $document_groups); $document_group_list = array_filter(explode(',', $document_group_list), 'is_numeric'); + if (!empty($document_group_list)) { - $count = \EvolutionCMS\Models\MembergroupAccess::query() + $exist = \EvolutionCMS\Models\MembergroupAccess::query() + ->select('member_groups.id') ->join('member_groups', 'membergroup_access.membergroup', '=', 'member_groups.user_group') ->whereIn('membergroup_access.documentgroup', $document_group_list) - ->where('member_groups.member', $_SESSION['mgrInternalKey'])->count('member_groups.id'); + ->where('member_groups.member', $_SESSION['mgrInternalKey']) + ->exists(); - if ($count == 0) { + if (!$exist) { if ($actionToTake == 'edit') { $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$id}"); + $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$resourceArray['id']}"); + return; } else { $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=4"); + $modx->webAlertAndQuit($_lang["resource_permissions_error"], 'index.php?a=4'); + return; } } } } -$tvs = \EvolutionCMS\Models\SiteTmplvar::query()->distinct() - ->select('site_tmplvars.*', 'site_tmplvar_contentvalues.value') - ->join('site_tmplvar_templates', 'site_tmplvar_templates.tmplvarid', '=', 'site_tmplvars.id') - ->leftJoin('site_tmplvar_contentvalues', function ($join) use ($id) { - $join->on('site_tmplvar_contentvalues.tmplvarid', '=', 'site_tmplvars.id'); - $join->on('site_tmplvar_contentvalues.contentid', '=', \DB::raw($id)); - })->leftjoin('site_tmplvar_access', 'site_tmplvar_access.tmplvarid', '=', 'site_tmplvars.id') - ->where('site_tmplvar_templates.templateid', $template)->orderBy('site_tmplvars.rank'); -if ($_SESSION['mgrRole'] != 1) { - $tvs = $tvs->leftJoin('document_groups', 'site_tmplvar_contentvalues.contentid', '=', 'document_groups.document'); - $tvs = $tvs->where(function ($query) { - $query->whereNull('site_tmplvar_access.documentgroup') - ->orWhereIn('document_groups.document_group', $_SESSION['mgrDocgroups']); - }); -} -$tvs = $tvs->get(); -foreach ($tvs->toArray() as $row) { - $tmplvar = ''; - switch ($row['type']) { - case 'url': - if (isset($_POST["tv" . $row['id']])) { - $tmplvar = $_POST["tv" . $row['id']]; - if (isset($_POST["tv" . $row['id'] . '_prefix']) && $_POST["tv" . $row['id'] . '_prefix'] != '--') { - $tmplvar = str_replace([ - "feed://", - "ftp://", - "http://", - "https://", - "mailto:", - ], "", $tmplvar); - $tmplvar = $_POST["tv" . $row['id'] . '_prefix'] . $tmplvar; - } - } - break; - case 'file': - $tmplvar = $_POST["tv" . $row['id']] ?? ''; - break; - default: - $tmp = get_by_key($_POST, 'tv' . $row['id']); - if (is_array($tmp)) { - // handles checkboxes & multiple selects elements - $feature_insert = []; - foreach ($tmp as $featureValue => $feature_item) { - $feature_insert[count($feature_insert)] = $feature_item; - } - $tmplvar = implode("||", $feature_insert); - } else { - $tmplvar = $tmp; - } - break; - } - // save value if it was modified - if ($tmplvar !== '' && $tmplvar !== $row['default_text']) { - $tmplvars[$row['id']] = array( - $row['id'], - $tmplvar, - ); - } else { - // Mark the variable for deletion - $tmplvars[$row['name']] = $row['id']; - } -} - // get the document, but only if it already exists -if ($actionToTake != "new") { - $existingDocument = \EvolutionCMS\Models\SiteContent::withTrashed()->find($id); +$existingDocument = null; +if ($actionToTake != 'create') { + $existingDocument = \EvolutionCMS\Models\SiteContent::query() + ->withTrashed() + ->find($resourceArray['id']); + if (is_null($existingDocument)) { $modx->webAlertAndQuit($_lang["error_no_results"]); + return; } + $existingDocument = $existingDocument->toArray(); } // check to see if the user is allowed to save the document in the place he wants to save it in if ($modx->getConfig('use_udperms') == 1) { - if (!isset($existingDocument) || $existingDocument['parent'] != $parent) { + $parent = (int) get_by_key($_POST, 'parent', 0, 'is_scalar'); + + if ($existingDocument && $existingDocument['parent'] != $parent) { $udperms = new EvolutionCMS\Legacy\Permissions(); $udperms->user = $modx->getLoginUserID('mgr'); $udperms->document = $parent; @@ -273,435 +112,286 @@ if (!$udperms->checkPermissions()) { if ($actionToTake == 'edit') { $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], "index.php?a=27&id={$id}"); + $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], "index.php?a=27&id={$resourceArray['id']}"); + return; } else { $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], "index.php?a=4"); + $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], 'index.php?a=4'); + return; } } } } -$resourceArray = [ - "introtext" => $introtext, - "content" => $content, - "pagetitle" => $pagetitle, - "longtitle" => $longtitle, - "type" => $type, - "description" => $description, - "alias" => $alias, - "link_attributes" => $link_attributes, - "isfolder" => $isfolder, - "richtext" => $richtext, - "published" => $published, - "parent" => $parent, - "template" => $template, - "menuindex" => $menuindex, - "searchable" => $searchable, - "cacheable" => $cacheable, - "pub_date" => $pub_date, - "unpub_date" => $unpub_date, - "contentType" => $contentType, - "content_dispo" => $contentdispo, - "hide_from_tree" => $hide_from_tree, - "menutitle" => $menutitle, - "hidemenu" => $hidemenu, - "alias_visible" => $aliasvisible, -]; +$events = true; +$cache = false; switch ($actionToTake) { - case 'new': - // invoke OnBeforeDocFormSave event - switch ($modx->config['docid_incrmnt_method']) { - case '1': - $id = \EvolutionCMS\Models\SiteContent::withTrashed() - ->leftJoin('site_content as t1', function ($join) { - $join->on(\DB::raw(evo()->getDatabase()->getFullTableName('site_content') . '.id +1'), '=', 't1.id'); - }) - ->whereNull('t1.id')->min('site_content.id'); - $id++; - - break; - case '2': - $id = \EvolutionCMS\Models\SiteContent::max('id'); - $id++; - break; - - default: - $id = ''; - } - - $modx->invokeEvent("OnBeforeDocFormSave", array( - 'mode' => 'new', - 'id' => $id, - 'doc' => &$resourceArray, - )); - - $parentDeleted = $parentId > 0 && empty(\EvolutionCMS\Models\SiteContent::find($parentId)); - if ($parentDeleted) { - $resourceArray['deleted'] = 1; - } - // deny publishing if not permitted - if (!$modx->hasPermission('publish_document')) { - $pub_date = 0; - $unpub_date = 0; - $published = 0; + case 'create': + if ((int) $_POST['syncsite'] == 1) { + // empty cache + $cache = true; } - $publishedon = ($published ? $currentdate : 0); - $publishedby = ($published ? $modx->getLoginUserID('mgr') : 0); - - if ((!empty($pub_date)) && ($published)) { - $publishedon = $pub_date; - } + // Run resource creator + try { + $document = \DocumentManager::create($resourceArray, $events, $cache); + } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); - $resourceArray['pub_date'] = $pub_date; - $resourceArray['publishedon'] = $publishedon; - $resourceArray['publishedby'] = $publishedby; - $resourceArray['unpub_date'] = $unpub_date; + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; + } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); - if ($id != '') { - $resourceArray["id"] = $id; + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; } - $key = \EvolutionCMS\Models\SiteContent::withTrashed()->create($resourceArray)->getKey(); - - $tvChanges = array(); - foreach ($tmplvars as $field => $value) { - if (is_array($value)) { - $tvId = $value[0]; - $tvVal = $value[1]; - \EvolutionCMS\Models\SiteTmplvarContentvalue::query()->create(array('tmplvarid' => $tvId, 'contentid' => $key, 'value' => $tvVal)); + // create document permissions + if ($modx->getConfig('use_udperms') == 1) { + // document access permissions + $groupsParent = []; + if ($resourceArray['parent'] != 0) { + $groupsParent = \EvolutionCMS\Models\DocumentGroup::query() + ->select('document_group', 'document') + ->where('document', $resourceArray['parent']) + ->pluck('document_group') + ->toArray(); } - } - // document access permissions - if ($modx->getConfig('use_udperms') && $parent != 0) { - $groupsParent = \EvolutionCMS\Models\DocumentGroup::select('document_group', 'document') - ->where('document', $parent)->pluck('document_group')->toArray(); - } else { - $groupsParent = []; - } - if ($modx->getConfig('use_udperms') == 1 && $modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions']) && is_array($document_groups)) { - $new_groups = []; - $groupsToInsert = []; - foreach ($document_groups as $value_pair) { - // first, split the pair (this is a new document, so ignore the second value - [$group] = explode(',', $value_pair); // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) - $group = (int) $group; - if ($modx->hasPermission('manage_groups')) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; - continue; - } - if ($modx->hasPermission('manage_document_permissions')) { - if (in_array($group, $docgrp)) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; + if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { + if (!empty($document_groups)) { + $new_groups = []; + $groupsToInsert = []; + foreach ($document_groups as $value_pair) { + // first, split the pair (this is a new document, so ignore the second value + [$group] = explode(',', $value_pair); // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) + $group = (int) $group; + + if ($modx->hasPermission('manage_groups')) { + $new_groups[] = ['document_group' => $group, 'document' => $key]; + $groupsToInsert[] = $group; + continue; + } + + if ($modx->hasPermission('manage_document_permissions')) { + if (in_array($group, $docgrp)) { + $new_groups[] = ['document_group' => $group, 'document' => $key]; + $groupsToInsert[] = $group; + } + } } - } - } - if ($modx->hasPermission('manage_document_permissions')) { - foreach ($groupsParent as $group) { - if (!in_array($group, $docgrp)) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; + + if ($modx->hasPermission('manage_document_permissions')) { + foreach ($groupsParent as $group) { + if (!in_array($group, $docgrp)) { + $new_groups[] = ['document_group' => $group, 'document' => $key]; + $groupsToInsert[] = $group; + } + } } - } - } - if (!$modx->hasPermission('manage_groups')) { - if (!array_intersect($groupsToInsert, $docgrp)) { - foreach ($groupsParent as $group) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; + + if (!$modx->hasPermission('manage_groups')) { + if (!array_intersect($groupsToInsert, $docgrp)) { + foreach ($groupsParent as $group) { + $new_groups[] = ['document_group' => $group, 'document' => $key]; + } + } + } + + if (!empty($new_groups)) { + \EvolutionCMS\Models\DocumentGroup::query() + ->insertOrIgnore($new_groups); } } - } - if (!empty($new_groups)) { - \EvolutionCMS\Models\DocumentGroup::query()->insertOrIgnore($new_groups); - } - } else { - if (!($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions']))) { + } else { // inherit document access permissions foreach ($groupsParent as $group) { - \EvolutionCMS\Models\DocumentGroup::insert(['document_group' => $group, 'document' => $key]); + \EvolutionCMS\Models\DocumentGroup::query() + ->insert(['document_group' => $group, 'document' => $key]); } } } - // update parent folder status - if ($resourceArray['parent'] != 0) { - $fields = array('isfolder' => 1); - \EvolutionCMS\Models\SiteContent::withTrashed()->where('id', $resourceArray['parent'])->update(['isfolder' => 1]); - } - - // invoke OnDocFormSave event - $modx->invokeEvent("OnDocFormSave", array( - 'mode' => 'new', - 'id' => $key, - 'doc' => $resourceArray, - )); - - // secure web documents - flag as private - include MODX_MANAGER_PATH . "includes/secure_web_documents.inc.php"; - secureWebDocument($key); - secureMgrDocument($key); - - // Set the item name for logger - $_SESSION['itemname'] = $no_esc_pagetitle; - - if ($syncsite == 1) { - // empty cache - $modx->clearCache('full'); - } - // redirect/stay options if ($_POST['stay'] != '') { // weblink if ($_POST['mode'] == "72") { - $a = ($_POST['stay'] == '2') ? "27&id=$key" : "72&pid=$parentId"; + $a = ($_POST['stay'] == '2') ? "27&id={$document['id']}" : "72&pid={$resourceArray['parent']}"; } // document if ($_POST['mode'] == "4") { - $a = ($_POST['stay'] == '2') ? "27&id=$key" : "4&pid=$parentId"; + $a = ($_POST['stay'] == '2') ? "27&id={$document['id']}" : "4&pid={$resourceArray['parent']}"; } - $header = "Location: index.php?a=" . $a . "&r=1&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=1&stay={$_POST['stay']}"; } else { - $header = "Location: index.php?a=3&id=$key&r=1"; + $header = "Location: index.php?a=3&r=1&id={$document['id']}"; } if (headers_sent()) { $header = str_replace('Location: ', '', $header); - echo "\n"; + echo "\r\n"; } else { header($header); } - break; - case 'edit': - // get the document's current parent - $oldparent = $existingDocument['parent']; - $doctype = $existingDocument['type']; - if ($id == $modx->getConfig('site_start') && $published == 0) { + case 'edit': + if ($resourceArray['id'] == $modx->getConfig('site_start') && $resourceArray['published'] == 0) { $modx->getManagerApi()->saveFormValues(27); $modx->webAlertAndQuit("Document is linked to site_start variable and cannot be unpublished!"); + return; } + $today = $modx->timestamp(); - if ($id == $modx->getConfig('site_start') && ($pub_date > $today || $unpub_date != "0")) { + if ($resourceArray['id'] == $modx->getConfig('site_start') && ($resourceArray['pub_date'] > $today || $resourceArray['unpub_date'] != "0")) { $modx->getManagerApi()->saveFormValues(27); $modx->webAlertAndQuit("Document is linked to site_start variable and cannot have publish or unpublish dates set!"); + return; } - if ($parent == $id) { + + if ($resourceArray['parent'] == $resourceArray['id']) { $modx->getManagerApi()->saveFormValues(27); $modx->webAlertAndQuit("Document can not be it's own parent!"); + return; } - $parents = $modx->getParentIds($parent); - if (in_array($id, $parents)) { + $parents = $modx->getParentIds($resourceArray['parent']); + if (in_array($resourceArray['id'], $parents)) { $modx->webAlertAndQuit("Document descendant can not be it's parent!"); + return; } - // check to see document is a folder - $child = \EvolutionCMS\Models\SiteContent::withTrashed()->select('id')->where('parent', $id)->first(); - if (!is_null($child)) { - $resourceArray['isfolder'] = 1; - } - - // set publishedon and publishedby - $was_published = $existingDocument['published']; - - // keep original publish state, if change is not permitted - if (!$modx->hasPermission('publish_document')) { - $published = $was_published; - $pub_date = 'pub_date'; - $unpub_date = 'unpub_date'; - } - - // if it was changed from unpublished to published - if (!$was_published && $published) { - $publishedon = $currentdate; - $publishedby = $modx->getLoginUserID('mgr'); - } elseif ((!empty($pub_date) && $pub_date <= $currentdate && $published)) { - $publishedon = $pub_date; - $publishedby = $modx->getLoginUserID('mgr'); - } elseif ($was_published && !$published) { - $publishedon = 0; - $publishedby = 0; - } else { - $publishedon = $existingDocument['publishedon']; - $publishedby = $existingDocument['publishedby']; + if ((int) $_POST['syncsite'] == 1) { + // empty cache + $cache = true; } - $resourceArray['pub_date'] = $pub_date; - $resourceArray['publishedon'] = $publishedon; - $resourceArray['publishedby'] = $publishedby; - - // invoke OnBeforeDocFormSave event - $modx->invokeEvent("OnBeforeDocFormSave", array( - 'mode' => 'upd', - 'id' => $id, - 'doc' => &$resourceArray, - )); - $parentDeleted = $parentId > 0 && empty(\EvolutionCMS\Models\SiteContent::find($parentId)); - if ($parentDeleted) { - $resourceArray['deleted'] = 1; - } - $resource = \EvolutionCMS\Models\SiteContent::withTrashed()->find($id); - foreach ($resourceArray as $key => $value) { - $resource->{$key} = $value; - } - $resource->save(); + // save resource + try { + $document = \DocumentManager::edit($resourceArray, $events, $cache); + } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); - // update template variables - $tvs = \EvolutionCMS\Models\SiteTmplvarContentvalue::select('id', 'tmplvarid')->where('contentid', $id)->get(); - $tvIds = array(); - foreach ($tvs as $tv) { - $tvIds[$tv->tmplvarid] = $tv->id; - } - $tvDeletions = array(); - $tvChanges = array(); - $tvAdded = array(); - - foreach ($tmplvars as $field => $value) { - if (!is_array($value)) { - if (isset($tvIds[$value])) { - $tvDeletions[] = $tvIds[$value]; - } - } else { - $tvId = $value[0]; - $tvVal = $value[1]; - if (isset($tvIds[$tvId])) { - \EvolutionCMS\Models\SiteTmplvarContentvalue::query()->find($tvIds[$tvId])->update(array('tmplvarid' => $tvId, 'contentid' => $id, 'value' => $tvVal)); - } else { - \EvolutionCMS\Models\SiteTmplvarContentvalue::query()->create(array('tmplvarid' => $tvId, 'contentid' => $id, 'value' => $tvVal)); - } - } - } + $modx->getManagerApi()->saveFormValues(27); + $modx->webAlertAndQuit($e->getMessage(), "index.php?a=27&id={$resourceArray['id']}"); + return; + } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); - if (!empty($tvDeletions)) { - \EvolutionCMS\Models\SiteTmplvarContentvalue::query()->whereIn('id', $tvDeletions)->delete(); + $modx->getManagerApi()->saveFormValues(27); + $modx->webAlertAndQuit($e->getValidationErrors(), "index.php?a=27&id={$resourceArray['id']}"); + return; } // set document permissions - if ($modx->getConfig('use_udperms') == 1 && $modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions']) && is_array($document_groups)) { - $new_groups = array(); - // process the new input - foreach ($document_groups as $value_pair) { - [$group, $link_id] = explode(',', $value_pair); // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) - if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { - $new_groups[$group] = $link_id; + if ($modx->getConfig('use_udperms') == 1) { + if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions']) && is_array($document_groups)) { + // process the new input + $new_groups = []; + foreach ($document_groups as $value_pair) { + // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) + [$group, $link_id] = explode(',', $value_pair); + if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { + $new_groups[$group] = $link_id; + } } - } - - // grab the current set of permissions on this document the user can access - $documentGroups = \EvolutionCMS\Models\DocumentGroup::select('id', 'document_group') - ->where('document', $id)->get(); - $old_groups = array(); - foreach ($documentGroups as $documentGroup) { - if (in_array($documentGroup->document_group, $docgrp) || $modx->hasPermission('manage_groups')) { - $old_groups[$documentGroup->document_group] = $documentGroup->id; - } - } - // update the permissions in the database - $insertions = $deletions = array(); - foreach ($new_groups as $group => $link_id) { - if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { - if (array_key_exists($group, $old_groups)) { - unset($old_groups[$group]); - continue; - } elseif ($link_id == 'new') { - $insertions[] = ['document_group' => (int) $group, 'document' => $id]; + // grab the current set of permissions on this document the user can access + $old_groups = []; + $documentGroups = \EvolutionCMS\Models\DocumentGroup::query() + ->select('id', 'document_group') + ->where('document', $resourceArray['id']) + ->get(); + foreach ($documentGroups as $documentGroup) { + if (in_array($documentGroup->document_group, $docgrp) || $modx->hasPermission('manage_groups')) { + $old_groups[$documentGroup->document_group] = $documentGroup->id; } } - } - if (!empty($insertions)) { - \EvolutionCMS\Models\DocumentGroup::query()->insert($insertions); - } - if (!$modx->hasPermission('manage_groups')) { - $remainingGroups = \EvolutionCMS\Models\DocumentGroup::select('document_groups.document_group') - ->whereNotIn('id', $old_groups) - ->where('document_groups.document', $id) - ->pluck('document_group') - ->toArray(); - if (!empty($docgrp) && !array_intersect($docgrp, $remainingGroups)) { - $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$id}"); - } - } - if (!empty($old_groups)) { - \EvolutionCMS\Models\DocumentGroup::query()->whereIn('id', $old_groups)->delete(); - } - // necessary to remove all permissions as document is public - if ((isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on')) { - \EvolutionCMS\Models\DocumentGroup::query()->where('document', $id)->delete(); - } - } - // do the parent stuff - if ($resourceArray['parent'] != 0) { - $parent = \EvolutionCMS\Models\SiteContent::withTrashed()->find($_REQUEST['parent']); - $parent->isfolder = 1; - $parent->save(); - } - - // finished moving the document, now check to see if the old_parent should no longer be a folder - $countChildOldParent = \EvolutionCMS\Models\SiteContent::withTrashed()->where('parent', $oldparent)->count(); - - if ($countChildOldParent == 0) { - $oldParent = \EvolutionCMS\Models\SiteContent::withTrashed()->find($oldparent); - $oldParent->isfolder = 0; - $oldParent->save(); - } + // update the permissions in the database + $insertions = $deletions = []; + foreach ($new_groups as $group => $link_id) { + if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { + if (array_key_exists($group, $old_groups)) { + unset($old_groups[$group]); + continue; + } elseif ($link_id == 'new') { + $insertions[] = [ + 'document_group' => (int) $group, + 'document' => $resourceArray['id'] + ]; + } + } + } - // invoke OnDocFormSave event - $modx->invokeEvent("OnDocFormSave", array( - 'mode' => 'upd', - 'id' => $id, - 'doc' => $resourceArray, - )); + if (!empty($insertions)) { + \EvolutionCMS\Models\DocumentGroup::query() + ->insert($insertions); + } - // secure web documents - flag as private - include MODX_MANAGER_PATH . "includes/secure_web_documents.inc.php"; - secureWebDocument($id); - secureMgrDocument($id); + if (!$modx->hasPermission('manage_groups')) { + $remainingGroups = \EvolutionCMS\Models\DocumentGroup::query() + ->select('document_groups.document_group') + ->whereNotIn('id', $old_groups) + ->where('document_groups.document', $resourceArray['id']) + ->pluck('document_group') + ->toArray(); + if (!empty($docgrp) && !array_intersect($docgrp, $remainingGroups)) { + $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$resourceArray['id']}"); + return; + } + } - // Set the item name for logger - $_SESSION['itemname'] = $no_esc_pagetitle; + if (!empty($old_groups)) { + \EvolutionCMS\Models\DocumentGroup::query() + ->whereIn('id', $old_groups) + ->delete(); + } - if ($syncsite == 1) { - // empty cache - $modx->clearCache('full'); + // necessary to remove all permissions as document is public + if (empty($document_groups)) { + \EvolutionCMS\Models\DocumentGroup::query() + ->where('document', $resourceArray['id']) + ->delete(); + } + } } + // make redirect if ($_POST['refresh_preview'] == '1') { - $header = "Location: " . MODX_SITE_URL . "index.php?id=$id&z=manprev"; + $header = "Location: {MODX_SITE_URL}index.php?id={$resourceArray['id']}&z=manprev"; } else { - if ($_POST['stay'] != '2' && $id > 0) { - $modx->unlockElement(7, $id); + if ($_POST['stay'] != '2' && $resourceArray['id'] > 0) { + $modx->unlockElement(7, $resourceArray['id']); } if ($_POST['stay'] != '') { - $id = $_REQUEST['id']; - if ($type == "reference") { + if ($resourceArray['type'] == "reference") { // weblink - $a = ($_POST['stay'] == '2') ? "27&id=$id" : "72&pid=$parentId"; + $a = ($_POST['stay'] == '2') ? "27&id={$resourceArray['id']}" : "72&pid={$resourceArray['parent']}"; } else { // document - $a = ($_POST['stay'] == '2') ? "27&id=$id" : "4&pid=$parentId"; + $a = ($_POST['stay'] == '2') ? "27&id={$resourceArray['id']}" : "4&pid={$resourceArray['parent']}"; } - $header = "Location: index.php?a=" . $a . "&r=1&stay=" . $_POST['stay'] . $add_path; + $header = "Location: index.php?a={$a}&r=1&stay={$_POST['stay']}{$add_path}"; } else { - $header = "Location: index.php?a=3&id=$id&r=1" . $add_path; + $header = "Location: index.php?a=3&r=1&id={$resourceArray['id']}{$add_path}"; } } if (headers_sent()) { $header = str_replace('Location: ', '', $header); - echo "\n"; + echo "\r\n"; } else { header($header); } break; + default: $modx->webAlertAndQuit("No operation set in request."); + return; } diff --git a/manager/processors/undelete_content.processor.php b/manager/processors/undelete_content.processor.php index 8093396e53..164037c3e1 100755 --- a/manager/processors/undelete_content.processor.php +++ b/manager/processors/undelete_content.processor.php @@ -38,34 +38,26 @@ $modx->webAlertAndQuit("Couldn't find document to determine it's date of deletion!"); } -$children = $document->getAllChildren($document); - -$documentDeleteIds = $children; -array_unshift($documentDeleteIds, $id); - -$site_content_table = (new \EvolutionCMS\Models\SiteContent())->getTable(); -DB::table($site_content_table) - ->whereIn('id', $documentDeleteIds) - ->update([ - 'deleted' => 0, - 'deletedby' => 0, - 'deletedon' => 0, - ]); - -$modx->invokeEvent( - "OnDocFormUnDelete", - array( - "id" => $id, - "children" => $children, - ) -); +// Run undeleter +try { + $document = \DocumentManager::undelete(['id' => $id]); +} catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; +} catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; +} // Set the item name for logger $_SESSION['itemname'] = $document->pagetitle; -// empty cache -$modx->clearCache('full'); - // finished emptying cache - redirect -$header = "Location: index.php?a=3&id=$pid&r=1" . $add_path; +$header = "Location: index.php?a=3&r=1&id={$pid}{$add_path}"; header($header); diff --git a/manager/processors/unpublish_content.processor.php b/manager/processors/unpublish_content.processor.php index b14029d7b8..ebf7972b66 100755 --- a/manager/processors/unpublish_content.processor.php +++ b/manager/processors/unpublish_content.processor.php @@ -21,8 +21,6 @@ $pg = isset($_REQUEST['page']) ? '&page=' . (int) $_REQUEST['page'] : ''; $add_path = $sd . $sb . $pg; -/***********************************/ - // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); $udperms->user = $modx->getLoginUserID('mgr'); @@ -33,26 +31,25 @@ $modx->webAlertAndQuit($_lang["access_permission_denied"]); } -// update the document -\EvolutionCMS\Models\SiteContent::query()->find($id)->update(array( - 'published' => 0, - 'pub_date' => 0, - 'unpub_date' => 0, - 'editedby' => $modx->getLoginUserID('mgr'), - 'editedon' => time(), - 'publishedby' => 0, - 'publishedon' => 0, -)); - -// invoke OnDocUnPublished event -$modx->invokeEvent("OnDocUnPublished", array("docid" => $id)); +// Run unpublisher +try { + $document = \DocumentManager::unpublish(['id' => $id]); +} catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; +} catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; +} // Set the item name for logger -$_SESSION['itemname'] = $content['pagetitle']; - -// empty cache -$modx->clearCache('full'); - -$header = "Location: index.php?a=3&id=$pid&r=1" . $add_path; +$_SESSION['itemname'] = $document->pagetitle; +$header = "Location: index.php?a=3&r=1&id={$pid}{$add_path}"; header($header); From 7953fed8f1929e3c4aee4a5f10ce75636eec8c59 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Tue, 13 Jan 2026 13:18:31 +0300 Subject: [PATCH 02/10] use documentmanager to set groups on create/edit --- manager/processors/save_content.processor.php | 202 +++++++++--------- 1 file changed, 97 insertions(+), 105 deletions(-) diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index 2f501bf5cf..9d2ee2dd73 100644 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -43,11 +43,15 @@ ]; // get document groups for current user -$docgrp = array_unique(\EvolutionCMS\Models\MemberGroup::query() +$userGroups = \EvolutionCMS\Models\MemberGroup::query() ->join('membergroup_access', 'membergroup_access.membergroup', '=', 'member_groups.user_group') - ->where('member_groups.member', $modx->getLoginUserID('mgr'))->pluck('documentgroup')->toArray()); + ->where('member_groups.member', $modx->getLoginUserID('mgr')) + ->pluck('documentgroup') + ->toArray(); +$userGroups = array_unique($userGroups); -$document_groups = (isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on') +// get passed document groups +$documentGroups = (isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on') ? [] : get_by_key($_POST, 'docgroups', [], 'is_array'); @@ -57,9 +61,9 @@ } // ensure that user has not made this document inaccessible to themselves -if ($_SESSION['mgrRole'] != 1 && !empty($document_groups)) { +if ($_SESSION['mgrRole'] != 1 && !empty($documentGroups)) { // every value is "number,type", have to leave only numbers - $document_group_list = implode(',', $document_groups); + $document_group_list = implode(',', $documentGroups); $document_group_list = array_filter(explode(',', $document_group_list), 'is_numeric'); if (!empty($document_group_list)) { @@ -150,12 +154,12 @@ return; } - // create document permissions - if ($modx->getConfig('use_udperms') == 1) { - // document access permissions - $groupsParent = []; + // permissions is on + if ($modx->getConfig('use_udperms') == '1') { + // parent document access permissions + $parentGroups = []; if ($resourceArray['parent'] != 0) { - $groupsParent = \EvolutionCMS\Models\DocumentGroup::query() + $parentGroups = \EvolutionCMS\Models\DocumentGroup::query() ->select('document_group', 'document') ->where('document', $resourceArray['parent']) ->pluck('document_group') @@ -163,55 +167,80 @@ } if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { - if (!empty($document_groups)) { - $new_groups = []; - $groupsToInsert = []; - foreach ($document_groups as $value_pair) { - // first, split the pair (this is a new document, so ignore the second value - [$group] = explode(',', $value_pair); // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) + // document has groups checked + if (!empty($documentGroups)) { + $groups = []; + + foreach ($documentGroups as $value_pair) { + // first, split the pair (this is a new document, so ignore the second value $link_id) + // @see actions/mutate_content.dynamic.php @ line 1418 (permissions list) + [$group, $link_id] = explode(',', $value_pair); $group = (int) $group; - if ($modx->hasPermission('manage_groups')) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; - continue; - } - - if ($modx->hasPermission('manage_document_permissions')) { - if (in_array($group, $docgrp)) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; - } + // selected $group is in $userGroups or can manage groups in general + if (in_array($group, $userGroups) || $modx->hasPermission('manage_groups')) { + $groups[] = $group; } } if ($modx->hasPermission('manage_document_permissions')) { - foreach ($groupsParent as $group) { - if (!in_array($group, $docgrp)) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; - $groupsToInsert[] = $group; + foreach ($parentGroups as $group) { + // also add $group of parent if is in $userGroups + if (!in_array($group, $userGroups)) { + $groups[] = $group; } } } if (!$modx->hasPermission('manage_groups')) { - if (!array_intersect($groupsToInsert, $docgrp)) { - foreach ($groupsParent as $group) { - $new_groups[] = ['document_group' => $group, 'document' => $key]; + // selected $groups doesn't intersect to $userGroups + if (!array_intersect($groups, $userGroups)) { + // add groups from parent + foreach ($parentGroups as $group) { + $groups[] = $group; } } } - if (!empty($new_groups)) { - \EvolutionCMS\Models\DocumentGroup::query() - ->insertOrIgnore($new_groups); + try { + \DocumentManager::setGroups([ + 'id' => $document->id, + 'document_groups' => array_unique($groups), + ]); + } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; + } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; } } } else { // inherit document access permissions - foreach ($groupsParent as $group) { - \EvolutionCMS\Models\DocumentGroup::query() - ->insert(['document_group' => $group, 'document' => $key]); + try { + \DocumentManager::setGroups([ + 'id' => $document->id, + 'document_groups' => $parentGroups, + 'check_permissions' => false, // ignore permissions + ]); + } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; + } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; } } } @@ -220,17 +249,17 @@ if ($_POST['stay'] != '') { // weblink if ($_POST['mode'] == "72") { - $a = ($_POST['stay'] == '2') ? "27&id={$document['id']}" : "72&pid={$resourceArray['parent']}"; + $a = ($_POST['stay'] == '2') ? "27&id={$document->id}" : "72&pid={$resourceArray['parent']}"; } // document if ($_POST['mode'] == "4") { - $a = ($_POST['stay'] == '2') ? "27&id={$document['id']}" : "4&pid={$resourceArray['parent']}"; + $a = ($_POST['stay'] == '2') ? "27&id={$document->id}" : "4&pid={$resourceArray['parent']}"; } $header = "Location: index.php?a={$a}&r=1&stay={$_POST['stay']}"; } else { - $header = "Location: index.php?a=3&r=1&id={$document['id']}"; + $header = "Location: index.php?a=3&r=1&id={$document->id}"; } if (headers_sent()) { @@ -291,74 +320,37 @@ // set document permissions if ($modx->getConfig('use_udperms') == 1) { - if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions']) && is_array($document_groups)) { + if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { + $groups = []; + // process the new input - $new_groups = []; - foreach ($document_groups as $value_pair) { - // @see actions/mutate_content.dynamic.php @ line 1138 (permissions list) + foreach ($documentGroups as $value_pair) { + // @see actions/mutate_content.dynamic.php @ line 1418 (permissions list) [$group, $link_id] = explode(',', $value_pair); - if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { - $new_groups[$group] = $link_id; - } - } - // grab the current set of permissions on this document the user can access - $old_groups = []; - $documentGroups = \EvolutionCMS\Models\DocumentGroup::query() - ->select('id', 'document_group') - ->where('document', $resourceArray['id']) - ->get(); - foreach ($documentGroups as $documentGroup) { - if (in_array($documentGroup->document_group, $docgrp) || $modx->hasPermission('manage_groups')) { - $old_groups[$documentGroup->document_group] = $documentGroup->id; + // selected $group is in $userGroups or can manage groups in general + if (in_array($group, $userGroups) || $modx->hasPermission('manage_groups')) { + $groups[] = $group; } } - // update the permissions in the database - $insertions = $deletions = []; - foreach ($new_groups as $group => $link_id) { - if (in_array($group, $docgrp) || $modx->hasPermission('manage_groups')) { - if (array_key_exists($group, $old_groups)) { - unset($old_groups[$group]); - continue; - } elseif ($link_id == 'new') { - $insertions[] = [ - 'document_group' => (int) $group, - 'document' => $resourceArray['id'] - ]; - } - } - } - - if (!empty($insertions)) { - \EvolutionCMS\Models\DocumentGroup::query() - ->insert($insertions); - } - - if (!$modx->hasPermission('manage_groups')) { - $remainingGroups = \EvolutionCMS\Models\DocumentGroup::query() - ->select('document_groups.document_group') - ->whereNotIn('id', $old_groups) - ->where('document_groups.document', $resourceArray['id']) - ->pluck('document_group') - ->toArray(); - if (!empty($docgrp) && !array_intersect($docgrp, $remainingGroups)) { - $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$resourceArray['id']}"); - return; - } - } - - if (!empty($old_groups)) { - \EvolutionCMS\Models\DocumentGroup::query() - ->whereIn('id', $old_groups) - ->delete(); - } - - // necessary to remove all permissions as document is public - if (empty($document_groups)) { - \EvolutionCMS\Models\DocumentGroup::query() - ->where('document', $resourceArray['id']) - ->delete(); + try { + \DocumentManager::setGroups([ + 'id' => $document->id, + 'document_groups' => array_unique($groups), + ]); + } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { + // \Log::error('Unexpected error: ' . $e->getMessage()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + return; + } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { + // \Log::error('Validation error: ' . $e->getValidationErrors()); + + $modx->getManagerApi()->saveFormValues(4); + $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + return; } } } From 95a480bcc7f0ff2286a081e1b7dc5005b72d3f4d Mon Sep 17 00:00:00 2001 From: helgispbru Date: Wed, 14 Jan 2026 15:17:22 +0300 Subject: [PATCH 03/10] add new events to installer --- .../install/SystemEventnamesTableSeeder.php | 45 ++++++++++++++----- .../update/SystemEventnamesTableSeeder.php | 42 ++++++++++++++++- 2 files changed, 74 insertions(+), 13 deletions(-) diff --git a/install/stubs/seeds/install/SystemEventnamesTableSeeder.php b/install/stubs/seeds/install/SystemEventnamesTableSeeder.php index a7d2ee0dcb..21cded46ef 100644 --- a/install/stubs/seeds/install/SystemEventnamesTableSeeder.php +++ b/install/stubs/seeds/install/SystemEventnamesTableSeeder.php @@ -1,12 +1,10 @@ delete(); \DB::table('system_eventnames')->insert([ + // after ['name' => 'OnAfterLoadDocumentObject', 'service' => '5', 'groupname' => '',], ['name' => 'OnAfterMoveDocument', 'service' => '1', 'groupname' => 'Documents',], + // before ['name' => 'OnBeforeCacheUpdate', 'service' => '4', 'groupname' => '',], ['name' => 'OnBeforeChunkFormDelete', 'service' => '1', 'groupname' => 'Chunks',], ['name' => 'OnBeforeChunkFormSave', 'service' => '1', 'groupname' => 'Chunks',], - ['name' => 'OnBeforeDocDuplicate', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnBeforeDocFormDelete', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnBeforeDocFormSave', 'service' => '1', 'groupname' => 'Documents',], + // doc + ['name' => 'OnBeforeDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocDuplicate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocEdit', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocPublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocUnpublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocDelete', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocUndelete', 'service' => 1, 'groupname' => 'Documents',], + // ['name' => 'OnBeforeEmptyTrash', 'service' => '1', 'groupname' => 'Documents',], ['name' => 'OnBeforeFileBrowserCopy', 'service' => '1', 'groupname' => 'File Browser Events',], ['name' => 'OnBeforeFileBrowserDelete', 'service' => '1', 'groupname' => 'File Browser Events',], @@ -52,22 +59,31 @@ public function run() ['name' => 'OnBeforeUserLogin', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnBeforeUserLogout', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnBeforeUserSave', 'service' => '1', 'groupname' => 'Users',], + // ['name' => 'OnCacheUpdate', 'service' => '4', 'groupname' => '',], + // chunk ['name' => 'OnChunkFormDelete', 'service' => '1', 'groupname' => 'Chunks',], ['name' => 'OnChunkFormPrerender', 'service' => '1', 'groupname' => 'Chunks',], ['name' => 'OnChunkFormRender', 'service' => '1', 'groupname' => 'Chunks',], ['name' => 'OnChunkFormSave', 'service' => '1', 'groupname' => 'Chunks',], + // ['name' => 'OnCreateDocGroup', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnDocDuplicate', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnDocFormDelete', 'service' => '1', 'groupname' => 'Documents',], + // doc form ['name' => 'OnDocFormPrerender', 'service' => '1', 'groupname' => 'Documents',], ['name' => 'OnDocFormRender', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnDocFormSave', 'service' => '1', 'groupname' => 'Documents',], ['name' => 'OnDocFormTemplateRender', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnDocFormUnDelete', 'service' => '1', 'groupname' => 'Documents',], - ['name' => 'OnDocPublished', 'service' => '5', 'groupname' => '',], - ['name' => 'OnDocUnPublished', 'service' => '5', 'groupname' => '',], + // doc + ['name' => 'OnDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocDuplicate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocEdit', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocPublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocUnpublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocDelete', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocUndelete', 'service' => 1, 'groupname' => 'Documents',], + // ['name' => 'OnEmptyTrash', 'service' => '1', 'groupname' => 'Documents',], + // file ['name' => 'OnFileBrowserCopy', 'service' => '1', 'groupname' => 'File Browser Events',], ['name' => 'OnFileBrowserDelete', 'service' => '1', 'groupname' => 'File Browser Events',], ['name' => 'OnFileBrowserInit', 'service' => '1', 'groupname' => 'File Browser Events',], @@ -76,6 +92,7 @@ public function run() ['name' => 'OnFileBrowserUpload', 'service' => '1', 'groupname' => 'File Browser Events',], ['name' => 'OnFileManagerSettingsRender', 'service' => '1', 'groupname' => 'System Settings',], ['name' => 'OnFileManagerUpload', 'service' => '1', 'groupname' => '',], + // ['name' => 'OnFriendlyURLSettingsRender', 'service' => '1', 'groupname' => 'System Settings',], ['name' => 'OnInterfaceSettingsRender', 'service' => '1', 'groupname' => 'System Settings',], ['name' => 'OnLoadDocumentObject', 'service' => '5', 'groupname' => '',], @@ -85,6 +102,7 @@ public function run() ['name' => 'OnLogEvent', 'service' => '1', 'groupname' => 'Log Event',], ['name' => 'OnMakeDocUrl', 'service' => '5', 'groupname' => '',], ['name' => 'OnMakePageCacheKey', 'service' => '4', 'groupname' => '',], + // manager ['name' => 'OnManagerFrameLoader', 'service' => '2', 'groupname' => '',], ['name' => 'OnManagerLoginFormPrerender', 'service' => '2', 'groupname' => '',], ['name' => 'OnManagerLoginFormRender', 'service' => '2', 'groupname' => '',], @@ -101,6 +119,7 @@ public function run() ['name' => 'OnManagerWelcomeHome', 'service' => '2', 'groupname' => '',], ['name' => 'OnManagerWelcomePrerender', 'service' => '2', 'groupname' => '',], ['name' => 'OnManagerWelcomeRender', 'service' => '2', 'groupname' => '',], + // ['name' => 'OnMiscSettingsRender', 'service' => '1', 'groupname' => 'System Settings',], ['name' => 'OnModFormDelete', 'service' => '1', 'groupname' => 'Modules',], ['name' => 'OnModFormPrerender', 'service' => '1', 'groupname' => 'Modules',], @@ -110,10 +129,12 @@ public function run() ['name' => 'OnPageUnauthorized', 'service' => '1', 'groupname' => '',], ['name' => 'OnParseDocument', 'service' => '5', 'groupname' => '',], ['name' => 'OnParseProperties', 'service' => '5', 'groupname' => '',], + // plugin ['name' => 'OnPluginFormDelete', 'service' => '1', 'groupname' => 'Plugins',], ['name' => 'OnPluginFormPrerender', 'service' => '1', 'groupname' => 'Plugins',], ['name' => 'OnPluginFormRender', 'service' => '1', 'groupname' => 'Plugins',], ['name' => 'OnPluginFormSave', 'service' => '1', 'groupname' => 'Plugins',], + // ['name' => 'OnRichTextEditorInit', 'service' => '1', 'groupname' => 'RichText Editor',], ['name' => 'OnRichTextEditorRegister', 'service' => '1', 'groupname' => 'RichText Editor',], ['name' => 'OnSecuritySettingsRender', 'service' => '1', 'groupname' => 'System Settings',], @@ -132,6 +153,7 @@ public function run() ['name' => 'OnTVFormPrerender', 'service' => '1', 'groupname' => 'Template Variables',], ['name' => 'OnTVFormRender', 'service' => '1', 'groupname' => 'Template Variables',], ['name' => 'OnTVFormSave', 'service' => '1', 'groupname' => 'Template Variables',], + // user ['name' => 'OnUserAuthentication', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnUserChangePassword', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnUserCreateGroup', 'service' => '1', 'groupname' => 'Users',], @@ -142,6 +164,7 @@ public function run() ['name' => 'OnUserLogout', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnUserSave', 'service' => '1', 'groupname' => 'Users',], ['name' => 'OnUserSettingsRender', 'service' => '1', 'groupname' => 'System Settings',], + // ['name' => 'OnWebPageComplete', 'service' => '5', 'groupname' => '',], ['name' => 'OnWebPageInit', 'service' => '5', 'groupname' => '',], ['name' => 'OnWebPagePrerender', 'service' => '5', 'groupname' => '',], diff --git a/install/stubs/seeds/update/SystemEventnamesTableSeeder.php b/install/stubs/seeds/update/SystemEventnamesTableSeeder.php index c1d664301d..d41aa6eb5c 100644 --- a/install/stubs/seeds/update/SystemEventnamesTableSeeder.php +++ b/install/stubs/seeds/update/SystemEventnamesTableSeeder.php @@ -1,12 +1,10 @@ insertOrIgnore([ 'name' => 'OnBeforeMailSend', 'service' => '1', 'groupname' => '', ]); + + // --- document event changes + $insert2 = [ + ['name' => 'OnBeforeDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocEdit', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocEdit', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocPublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocUnpublish', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocUndelete', 'service' => 1, 'groupname' => 'Documents',], + ]; + foreach ($insert2 as $el) { + \DB::table('system_eventnames') + ->insertOrIgnore($el); + } + + $delete2 = [ + 'OnBeforeDocFormSave', + 'OnDocFormSave', + ]; + \DB::table('system_eventnames')->whereIn('name', $delete2)->delete(); + + $rename2 = [ + 'OnBeforeDocFormDelete' => 'OnBeforeDocDelete', + 'OnDocFormDelete' => 'OnDocDelete', + 'OnDocFormUnDelete' => 'OnDocUndelete', + 'OnDocPublished' => 'OnDocPublish', + 'OnDocUnPublished' => 'OnDocUnpublish', + ]; + foreach ($rename2 as $old => $new) { + \DB::table('system_eventnames') + ->where('name', $old) + ->update([ + 'name' => $new, + 'groupname' => 'Documents', + 'service' => 1 + ]); + } } } From 4f3e650a71aee25618616ebfb0aa9523d389e8ca Mon Sep 17 00:00:00 2001 From: helgispbru Date: Wed, 14 Jan 2026 15:18:29 +0300 Subject: [PATCH 04/10] fix edit permissions --- manager/actions/mutate_content.dynamic.php | 66 ++++++++++--------- manager/processors/save_content.processor.php | 30 +++++---- 2 files changed, 54 insertions(+), 42 deletions(-) diff --git a/manager/actions/mutate_content.dynamic.php b/manager/actions/mutate_content.dynamic.php index e1aff6fe55..e7ef221e2e 100644 --- a/manager/actions/mutate_content.dynamic.php +++ b/manager/actions/mutate_content.dynamic.php @@ -487,12 +487,6 @@ function decode(s) { s = s.replace(/\%26/g, '&'); // & return s; } - - getManagerApi()->action == '72') { - $ResourceManagerLoaded = true; // ? - } - ?> /* ]]> */

getConfig('use_udperms') == 1) { +if ($modx->getConfig('use_udperms')) { $parent = (int) get_by_key($_POST, 'parent', 0, 'is_scalar'); if ($existingDocument && $existingDocument['parent'] != $parent) { @@ -155,7 +155,7 @@ } // permissions is on - if ($modx->getConfig('use_udperms') == '1') { + if ($modx->getConfig('use_udperms')) { // parent document access permissions $parentGroups = []; if ($resourceArray['parent'] != 0) { @@ -167,35 +167,41 @@ } if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { - // document has groups checked + // check if document has groups checked if (!empty($documentGroups)) { $groups = []; foreach ($documentGroups as $value_pair) { // first, split the pair (this is a new document, so ignore the second value $link_id) - // @see actions/mutate_content.dynamic.php @ line 1418 (permissions list) + // @see actions/mutate_content.dynamic.php @ line 1421 (permissions list) [$group, $link_id] = explode(',', $value_pair); $group = (int) $group; - // selected $group is in $userGroups or can manage groups in general + // - The current user belongs to this group (in $userGroups), OR + // - The user has the global 'manage_groups' permission (e.g., admin) if (in_array($group, $userGroups) || $modx->hasPermission('manage_groups')) { $groups[] = $group; } } + // If user has 'manage_document_permissions' permission, + // automatically include ALL parent document's groups — even if the user isn't in them. + // This allows privileged users to inherit or assign parent-level permissions. if ($modx->hasPermission('manage_document_permissions')) { foreach ($parentGroups as $group) { - // also add $group of parent if is in $userGroups - if (!in_array($group, $userGroups)) { - $groups[] = $group; - } + // also inherit every $group from parent + $groups[] = $group; } } + // If the user does NOT have 'manage_groups' permission, + // and they have NO overlap between their selected groups and their own groups ($userGroups), + // then fall back to inheriting ALL parent groups. + // This ensures non-admin users don't accidentally remove themselves from access. if (!$modx->hasPermission('manage_groups')) { - // selected $groups doesn't intersect to $userGroups + // Check if there's ANY common group between selected groups and user's groups if (!array_intersect($groups, $userGroups)) { - // add groups from parent + // If no overlap, restore all parent groups to prevent lockout foreach ($parentGroups as $group) { $groups[] = $group; } @@ -319,7 +325,7 @@ } // set document permissions - if ($modx->getConfig('use_udperms') == 1) { + if ($modx->getConfig('use_udperms')) { if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { $groups = []; From 81afc3a9abb44a4cbadcc61d10ce1be0f57c5b67 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Mon, 6 Apr 2026 09:58:14 +0300 Subject: [PATCH 05/10] fix event names --- .../seeds/install/SystemEventnamesTableSeeder.php | 6 ++---- .../seeds/update/SystemEventnamesTableSeeder.php | 11 +++++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/install/stubs/seeds/install/SystemEventnamesTableSeeder.php b/install/stubs/seeds/install/SystemEventnamesTableSeeder.php index 21cded46ef..f5e2a37fc4 100644 --- a/install/stubs/seeds/install/SystemEventnamesTableSeeder.php +++ b/install/stubs/seeds/install/SystemEventnamesTableSeeder.php @@ -23,9 +23,8 @@ public function run() ['name' => 'OnBeforeChunkFormDelete', 'service' => '1', 'groupname' => 'Chunks',], ['name' => 'OnBeforeChunkFormSave', 'service' => '1', 'groupname' => 'Chunks',], // doc - ['name' => 'OnBeforeDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnBeforeDocSave', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocDuplicate', 'service' => 1, 'groupname' => 'Documents',], - ['name' => 'OnBeforeDocEdit', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocPublish', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocUnpublish', 'service' => 1, 'groupname' => 'Documents',], @@ -73,9 +72,8 @@ public function run() ['name' => 'OnDocFormRender', 'service' => '1', 'groupname' => 'Documents',], ['name' => 'OnDocFormTemplateRender', 'service' => '1', 'groupname' => 'Documents',], // doc - ['name' => 'OnDocCreate', 'service' => 1, 'groupname' => 'Documents',], + ['name' => 'OnDocSave', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnDocDuplicate', 'service' => 1, 'groupname' => 'Documents',], - ['name' => 'OnDocEdit', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnDocPublish', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnDocUnpublish', 'service' => 1, 'groupname' => 'Documents',], diff --git a/install/stubs/seeds/update/SystemEventnamesTableSeeder.php b/install/stubs/seeds/update/SystemEventnamesTableSeeder.php index d41aa6eb5c..80795a9c1d 100644 --- a/install/stubs/seeds/update/SystemEventnamesTableSeeder.php +++ b/install/stubs/seeds/update/SystemEventnamesTableSeeder.php @@ -60,10 +60,6 @@ public function run() // --- document event changes $insert2 = [ - ['name' => 'OnBeforeDocCreate', 'service' => 1, 'groupname' => 'Documents',], - ['name' => 'OnDocCreate', 'service' => 1, 'groupname' => 'Documents',], - ['name' => 'OnBeforeDocEdit', 'service' => 1, 'groupname' => 'Documents',], - ['name' => 'OnDocEdit', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnDocSetGroups', 'service' => 1, 'groupname' => 'Documents',], ['name' => 'OnBeforeDocPublish', 'service' => 1, 'groupname' => 'Documents',], @@ -75,13 +71,16 @@ public function run() ->insertOrIgnore($el); } + /* $delete2 = [ - 'OnBeforeDocFormSave', - 'OnDocFormSave', + // ]; \DB::table('system_eventnames')->whereIn('name', $delete2)->delete(); + */ $rename2 = [ + 'OnBeforeDocFormSave' => 'OnBeforeDocSave', + 'OnDocFormSave' => 'OnDocSave', 'OnBeforeDocFormDelete' => 'OnBeforeDocDelete', 'OnDocFormDelete' => 'OnDocDelete', 'OnDocFormUnDelete' => 'OnDocUndelete', From 175e7056c0eecb2ce00bdbf216aca8f123004919 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Mon, 6 Apr 2026 19:30:12 +0300 Subject: [PATCH 06/10] show template by blade --- manager/media/style/default/css/main.css | 52 +++++++++++++++---- .../processors/delete_template.processor.php | 39 +++++--------- .../processors/delete_tmplvars.processor.php | 52 +++++-------------- .../page/processors/delete_template.blade.php | 37 +++++++++++++ .../page/processors/delete_tmplvars.blade.php | 51 ++++++++++++++++++ 5 files changed, 158 insertions(+), 73 deletions(-) create mode 100644 manager/views/page/processors/delete_template.blade.php create mode 100644 manager/views/page/processors/delete_tmplvars.blade.php diff --git a/manager/media/style/default/css/main.css b/manager/media/style/default/css/main.css index 41b0cfc207..1dbbcd05b0 100755 --- a/manager/media/style/default/css/main.css +++ b/manager/media/style/default/css/main.css @@ -136,16 +136,50 @@ table th { font-weight: 500; } /* elements icons in manage elements */ div#tabCategory.tab-page ul li ul li { padding-top: 7px; padding-bottom: 7px; } /*Fake tables for providing dynamic amount of cells per row*/ +.rTableWrapper { + margin: 0 -1.25rem; +} .rTable { display: table; width: 100%; padding: 0; } -.rTableRow { display: table-row; padding: 0; } -.rTableHeading { display: table-header-group; } -.rTableBody { display: table-row-group; } -.rTableFoot { display: table-footer-group; } -.lockCell, .mainCell, .btnCell, .rTableHead { display: table-cell; padding: 0; } -.lockCell { width: 2.5em; padding-left: 10px; } -.mainCell { width: auto; } -.btnCell { width: 6em; text-align: right; padding-right: 1rem; } -.mainCell > span { display: block } +.rTable .rTableRow { display: table-row; padding: 0; } +.rTable .rTableHeading { display: table-header-group; } +.rTable .rTableBody { display: table-row-group; } +.rTable .rTableFoot { display: table-footer-group; } +.rTable .lockCell, .rTable .mainCell, .rTable .btnCell, .rTable .rTableHead { display: table-cell; padding: 0; } +.rTable .lockCell { width: 2.5em; padding-left: 10px; } +.rTable .mainCell { width: auto; } +.rTable .btnCell { width: 6em; text-align: right; padding-right: 1rem; } +.rTable .mainCell > span { display: block } +.rTableCustom .rTableHead { + font-weight: bold; +} +.rTableCustom .rTableHead, +.rTableCustom .mainCell { + padding-top: 5px; + padding-bottom: 5px; +} +.rTableCustom .rTableRow { + transition: all 0.1s ease; +} +.rTableCustom .rTableRow+div { + border-bottom: 1px dotted #dedede; +} +.rTableCustom .rTableRow:hover { + background: #f9f9f9; +} +.rTableCustom .rTableRow .mainCell:first-child { + border-left: 3px solid transparent; +} +.rTableCustom .rTableRow:hover .mainCell:first-child { + border-left: 3px solid #1377c5; +} +.rTableCustom .rTableRow .rTableHead:first-child, +.rTableCustom .rTableRow .mainCell:first-child { + padding-left: 1.25rem; +} +.rTableCustom .rTableRow .rTableHead:last-child, +.rTableCustom .rTableRow .mainCell:last-child { + padding-right: 1.25rem; +} /* Manage elements general styles */ a.man_el_name { display: block; padding: .1em 0 .1em 1.25rem; } a.man_el_name:hover { text-decoration: none; } diff --git a/manager/processors/delete_template.processor.php b/manager/processors/delete_template.processor.php index c1953d33e9..eed77089d0 100755 --- a/manager/processors/delete_template.processor.php +++ b/manager/processors/delete_template.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('error_no_id')); } // delete the template, but first check it doesn't have any documents using it @@ -16,26 +16,13 @@ $count = $siteContents->count(); if ($count > 0) { - include MODX_MANAGER_PATH . "includes/header.inc.php"; - ?> -

- -
-
-

- -
-
- 'delete_template', + 'rows' => $siteContents, + ])->render(); exit; } + $default_template = $modx->getConfig('default_template'); if ($id == $default_template) { $modx->webAlertAndQuit("This template is set as the default template. Please choose a different default template in the MODX configuration before deleting this template."); @@ -46,18 +33,18 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeTempFormDelete event -$modx->invokeEvent("OnBeforeTempFormDelete", array( - "id" => $id, -)); +$modx->invokeEvent('OnBeforeTempFormDelete', [ + 'id' => $id, +]); // delete the document. EvolutionCMS\Models\SiteTemplate::where('id', $id)->delete(); EvolutionCMS\Models\SiteTmplvarTemplate::where('templateid', $id)->delete(); // invoke OnTempFormDelete event -$modx->invokeEvent("OnTempFormDelete", array( - "id" => $id, -)); +$modx->invokeEvent('OnTempFormDelete', [ + 'id' => $id, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/processors/delete_tmplvars.processor.php b/manager/processors/delete_tmplvars.processor.php index e60ce17c9d..4d1fe4b92f 100755 --- a/manager/processors/delete_tmplvars.processor.php +++ b/manager/processors/delete_tmplvars.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('error_no_id')); } $forced = isset($_GET['force']) ? $_GET['force'] : 0; @@ -19,36 +19,12 @@ $count = $siteTmlvarTemplates->count(); if ($count > 0) { - include_once MODX_MANAGER_PATH . "includes/header.inc.php"; - ?> -

- - - - -
-
-

- -
-
- 'delete_tmplvars', + 'id' => $id, + 'buttons' => $_style['actionbuttons']['dynamic']['canceldelete'], + 'rows' => $siteTmlvarTemplates, + ])->render(); exit; } } @@ -58,17 +34,17 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeTVFormDelete event -$modx->invokeEvent("OnBeforeTVFormDelete", array( - "id" => $id, -)); +$modx->invokeEvent('OnBeforeTVFormDelete', [ + 'id' => $id, +]); // delete variable EvolutionCMS\Models\SiteTmplvar::destroy($id); // invoke OnTVFormDelete event -$modx->invokeEvent("OnTVFormDelete", array( - "id" => $id, -)); +$modx->invokeEvent('OnTVFormDelete', [ + 'id' => $id, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/views/page/processors/delete_template.blade.php b/manager/views/page/processors/delete_template.blade.php new file mode 100644 index 0000000000..098a0a5652 --- /dev/null +++ b/manager/views/page/processors/delete_template.blade.php @@ -0,0 +1,37 @@ +@extends('manager::template.page') +@section('content') +

{{ __('global.templates') }}

+ +
+
+

{{ __('global.template_inuse') }}

+ +
+
+
+
+
{{ __('global.pagetitle') }}
+
{{ __('global.resource_description') }}
+
{{ __('global.resource_summary') }}
+
+
+
+ @foreach ($rows as $row) +
+ +
+ {{ $row->description }} +
+
+ {{ $row->introtext }} +
+
+ @endforeach +
+
+
+
+
+@endsection diff --git a/manager/views/page/processors/delete_tmplvars.blade.php b/manager/views/page/processors/delete_tmplvars.blade.php new file mode 100644 index 0000000000..78a90061c9 --- /dev/null +++ b/manager/views/page/processors/delete_tmplvars.blade.php @@ -0,0 +1,51 @@ +@extends('manager::template.page') +@section('content') +

{{ __('global.tmplvars') }}

+ + + + {!! $buttons !!} + +
+
+

{{ __('global.tmplvar_inuse') }}

+ +
+
+
+
+
{{ __('global.pagetitle') }}
+
{{ __('global.resource_description') }}
+
{{ __('global.resource_summary') }}
+
+
+
+ @foreach ($rows as $row) +
+ +
+ {{ $row->resource->description }} +
+
+ {{ $row->resource->introtext }} +
+
+ @endforeach +
+
+
+
+
+@endsection From 89dc5d5ce322d5adefd6c84a62126565ae770f16 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Mon, 6 Apr 2026 19:38:17 +0300 Subject: [PATCH 07/10] lang strings to lara helper --- .../processors/delete_category.processor.php | 4 +- .../processors/delete_content.processor.php | 10 +-- .../processors/delete_eventlog.processor.php | 4 +- .../delete_htmlsnippet.processor.php | 22 +++--- .../processors/delete_module.processor.php | 22 +++--- .../processors/delete_plugin.processor.php | 22 +++--- .../processors/delete_snippet.processor.php | 20 ++---- .../processors/delete_template.processor.php | 4 +- .../processors/delete_tmplvars.processor.php | 4 +- .../duplicate_content.processor.php | 8 +-- .../duplicate_htmlsnippet.processor.php | 10 +-- .../processors/duplicate_module.processor.php | 10 +-- .../processors/duplicate_plugin.processor.php | 10 +-- .../duplicate_snippet.processor.php | 10 +-- .../duplicate_template.processor.php | 10 +-- .../duplicate_tmplvars.processor.php | 10 +-- .../processors/execute_module.processor.php | 4 +- .../processors/optimize_table.processor.php | 8 +-- .../processors/publish_content.processor.php | 6 +- manager/processors/purge_plugin.processor.php | 10 ++- .../processors/remove_content.processor.php | 20 ++---- manager/processors/remove_locks.processor.php | 2 +- manager/processors/save_content.processor.php | 72 +++++++++---------- .../processors/save_htmlsnippet.processor.php | 64 ++++++++--------- manager/processors/save_module.processor.php | 70 +++++++++--------- manager/processors/save_plugin.processor.php | 64 ++++++++--------- .../processors/save_settings.processor.php | 18 ++--- manager/processors/save_snippet.processor.php | 60 ++++++++-------- .../processors/save_template.processor.php | 60 ++++++++-------- .../processors/save_tmplvars.processor.php | 60 ++++++++-------- .../processors/undelete_content.processor.php | 8 +-- .../unpublish_content.processor.php | 6 +- .../web_access_groups.processor.php | 10 +-- 33 files changed, 348 insertions(+), 374 deletions(-) diff --git a/manager/processors/delete_category.processor.php b/manager/processors/delete_category.processor.php index 8215b50929..80eab0f5f7 100755 --- a/manager/processors/delete_category.processor.php +++ b/manager/processors/delete_category.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_plugin') && !$modx->hasPermission('save_snippet') && !$modx->hasPermission('save_template') && !$modx->hasPermission('save_module')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['catId']) ? (int) $_GET['catId'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger diff --git a/manager/processors/delete_content.processor.php b/manager/processors/delete_content.processor.php index 3ee2d8dd34..2dee20261d 100755 --- a/manager/processors/delete_content.processor.php +++ b/manager/processors/delete_content.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } -$id = isset($_GET['id']) ? (int)$_GET['id'] : 0; +$id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } /*******ищем родителя чтобы к нему вернуться********/ @@ -18,7 +18,7 @@ /************ а заодно и путь возврата (сам путь внизу файла) **********/ $sd = isset($_REQUEST['dir']) ? '&dir=' . $_REQUEST['dir'] : '&dir=DESC'; $sb = isset($_REQUEST['sort']) ? '&sort=' . $_REQUEST['sort'] : '&sort=createdon'; -$pg = isset($_REQUEST['page']) ? '&page=' . (int)$_REQUEST['page'] : ''; +$pg = isset($_REQUEST['page']) ? '&page=' . (int) $_REQUEST['page'] : ''; $add_path = $sd . $sb . $pg; // check permissions on the document @@ -28,7 +28,7 @@ $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit($_lang["access_permission_denied"]); + $modx->webAlertAndQuit(__('global.access_permission_denied')); } // Run deleter diff --git a/manager/processors/delete_eventlog.processor.php b/manager/processors/delete_eventlog.processor.php index 2dd60d382b..a5e6cea8c0 100755 --- a/manager/processors/delete_eventlog.processor.php +++ b/manager/processors/delete_eventlog.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_eventlog')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $query = \EvolutionCMS\Models\EventLog::query(); @@ -12,7 +12,7 @@ } else { $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } $query = $query->where('id', $id); } diff --git a/manager/processors/delete_htmlsnippet.processor.php b/manager/processors/delete_htmlsnippet.processor.php index 3a6b727236..14e93a0954 100755 --- a/manager/processors/delete_htmlsnippet.processor.php +++ b/manager/processors/delete_htmlsnippet.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_snippet')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,23 +16,17 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeChunkFormDelete event -$modx->invokeEvent( - "OnBeforeChunkFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnBeforeChunkFormDelete', [ + 'id' => $id, +]); // delete the chunk. EvolutionCMS\Models\SiteHtmlsnippet::destroy($id); // invoke OnChunkFormDelete event -$modx->invokeEvent( - "OnChunkFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnChunkFormDelete', [ + 'id' => $id, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/processors/delete_module.processor.php b/manager/processors/delete_module.processor.php index a0ad47e6b2..2b0e1d0d57 100755 --- a/manager/processors/delete_module.processor.php +++ b/manager/processors/delete_module.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_module')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,12 +16,9 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeModFormDelete event -$modx->invokeEvent( - "OnBeforeModFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnBeforeModFormDelete', [ + 'id' => $id, +]); // delete the module. EvolutionCMS\Models\SiteModule::destroy($id); @@ -31,12 +28,9 @@ EvolutionCMS\Models\SiteModuleAccess::where('module', $id)->delete(); // invoke OnModFormDelete event -$modx->invokeEvent( - "OnModFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnModFormDelete', [ + 'id' => $id, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/processors/delete_plugin.processor.php b/manager/processors/delete_plugin.processor.php index 2bdbf8e60e..8a331f6102 100755 --- a/manager/processors/delete_plugin.processor.php +++ b/manager/processors/delete_plugin.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_plugin')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,24 +16,18 @@ $_SESSION['itemname'] = $name; // invoke OnBeforePluginFormDelete event -$modx->invokeEvent( - "OnBeforePluginFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnBeforePluginFormDelete', [ + 'id' => $id, +]); // delete the plugin. EvolutionCMS\Models\SitePlugin::destroy($id); // delete the plugin events. EvolutionCMS\Models\SitePluginEvent::where('pluginid', $id)->delete(); // invoke OnPluginFormDelete event -$modx->invokeEvent( - "OnPluginFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnPluginFormDelete', [ + 'id' => $id, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/processors/delete_snippet.processor.php b/manager/processors/delete_snippet.processor.php index ce9fdc8755..aa4df9a4c0 100755 --- a/manager/processors/delete_snippet.processor.php +++ b/manager/processors/delete_snippet.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_snippet')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,22 +16,16 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeSnipFormDelete event -$modx->invokeEvent( - "OnBeforeSnipFormDelete", - array( - "id" => $id, - ) -); +$modx->invokeEvent('OnBeforeSnipFormDelete', [ + 'id' => $id, +]); // delete the snippet. EvolutionCMS\Models\SiteSnippet::destroy($id); // invoke OnSnipFormDelete event -$modx->invokeEvent( - "OnSnipFormDelete", - array( - "id" => $id, - ) +$modx->invokeEvent('OnSnipFormDelete', [ + 'id' => $id] ); // empty cache diff --git a/manager/processors/delete_template.processor.php b/manager/processors/delete_template.processor.php index eed77089d0..3d35a0cf27 100755 --- a/manager/processors/delete_template.processor.php +++ b/manager/processors/delete_template.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit(__('error_no_privileges')); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('error_no_id')); + $modx->webAlertAndQuit(__('global.error_no_id')); } // delete the template, but first check it doesn't have any documents using it diff --git a/manager/processors/delete_tmplvars.processor.php b/manager/processors/delete_tmplvars.processor.php index 4d1fe4b92f..34768f727c 100755 --- a/manager/processors/delete_tmplvars.processor.php +++ b/manager/processors/delete_tmplvars.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit(__('error_no_privileges')); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('error_no_id')); + $modx->webAlertAndQuit(__('global.error_no_id')); } $forced = isset($_GET['force']) ? $_GET['force'] : 0; diff --git a/manager/processors/duplicate_content.processor.php b/manager/processors/duplicate_content.processor.php index ff417cd774..d01b7912a4 100755 --- a/manager/processors/duplicate_content.processor.php +++ b/manager/processors/duplicate_content.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_document') || !$modx->hasPermission('save_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } -$id = isset($_GET['id']) ? (int)$_GET['id'] : 0; +$id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // check permissions on the document @@ -20,7 +20,7 @@ $udperms->duplicateDoc = true; // непонятно зачем это if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit($_lang["access_permission_denied"]); + $modx->webAlertAndQuit(__('global.access_permission_denied')); } // Run duplicator diff --git a/manager/processors/duplicate_htmlsnippet.processor.php b/manager/processors/duplicate_htmlsnippet.processor.php index 3ef37a71b1..ba0e12409f 100755 --- a/manager/processors/duplicate_htmlsnippet.processor.php +++ b/manager/processors/duplicate_htmlsnippet.processor.php @@ -3,18 +3,18 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_chunk')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $htmlsnippet = EvolutionCMS\Models\SiteHtmlsnippet::findOrFail($id); $name = $htmlsnippet->name; -$count = EvolutionCMS\Models\SiteHtmlsnippet::where('name', 'like', $name . ' ' . $_lang['duplicated_el_suffix'] . '%')->count(); +$count = EvolutionCMS\Models\SiteHtmlsnippet::where('name', 'like', $name . ' ' . __('global.duplicated_el_suffix') . '%')->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -23,11 +23,11 @@ // duplicate htmlsnippet $newHtmlsnippet = $htmlsnippet->replicate(); -$newHtmlsnippet->name = $htmlsnippet->name . ' ' . $_lang['duplicated_el_suffix'] . $count; +$newHtmlsnippet->name = $htmlsnippet->name . ' ' . __('global.duplicated_el_suffix') . $count; $newHtmlsnippet->push(); $_SESSION['itemname'] = $newHtmlsnippet->name; // finish duplicating - redirect to new chunk -$header = "Location: index.php?r=2&a=78&id=" . $newHtmlsnippet->getKey(); +$header = "Location: index.php?r=2&a=78&id={$newHtmlsnippet->getKey()}"; header($header); diff --git a/manager/processors/duplicate_module.processor.php b/manager/processors/duplicate_module.processor.php index 6b6f93b13e..f5d4da2210 100755 --- a/manager/processors/duplicate_module.processor.php +++ b/manager/processors/duplicate_module.processor.php @@ -3,16 +3,16 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_module')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $name = EvolutionCMS\Models\SiteModule::select('name')->findOrFail($id)->name; -$count = EvolutionCMS\Models\SiteModule::where('name', 'LIKE', "{$name} {$_lang['duplicated_el_suffix']}%'")->count(); +$count = EvolutionCMS\Models\SiteModule::where('name', 'LIKE', "{$name} {__('global.duplicated_el_suffix')}%'")->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -37,7 +37,7 @@ )->findOrFail($id); $moduleNew = $module->replicate(); -$moduleNew->name .= " {$_lang['duplicated_el_suffix']}{$count}"; +$moduleNew->name .= " {__('global.duplicated_el_suffix')}{$count}"; $moduleNew->guid = createGUID(); $moduleNew->disabled = 1; $moduleNew->save(); @@ -64,5 +64,5 @@ $_SESSION['itemname'] = $name; // finish duplicating - redirect to new module -$header = "Location: index.php?r=2&a=108&id=$newid"; +$header = "Location: index.php?r=2&a=108&id={$newid}"; header($header); diff --git a/manager/processors/duplicate_plugin.processor.php b/manager/processors/duplicate_plugin.processor.php index 86e3488e38..74556e4d1f 100755 --- a/manager/processors/duplicate_plugin.processor.php +++ b/manager/processors/duplicate_plugin.processor.php @@ -3,17 +3,17 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_plugin')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $name = EvolutionCMS\Models\SitePlugin::select('name')->findOrFail($id)->name; -$count = EvolutionCMS\Models\SitePlugin::where('name', 'LIKE', "{$name} {$_lang['duplicated_el_suffix']}%'")->count(); +$count = EvolutionCMS\Models\SitePlugin::where('name', 'LIKE', "{$name} {__('global.duplicated_el_suffix')}%'")->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -25,7 +25,7 @@ ->findOrFail($id); $pluginNew = $plugin->replicate(); -$pluginNew->name .= " {$_lang['duplicated_el_suffix']}{$count}"; +$pluginNew->name .= " {__('global.duplicated_el_suffix')}{$count}"; $pluginNew->disabled = 1; $pluginNew->save(); $newid = $pluginNew->id; @@ -43,5 +43,5 @@ $_SESSION['itemname'] = $name; // finish duplicating - redirect to new plugin -$header = "Location: index.php?r=2&a=102&id=$newid"; +$header = "Location: index.php?r=2&a=102&id={$newid}"; header($header); diff --git a/manager/processors/duplicate_snippet.processor.php b/manager/processors/duplicate_snippet.processor.php index f30c2fa28e..a51bfc7609 100755 --- a/manager/processors/duplicate_snippet.processor.php +++ b/manager/processors/duplicate_snippet.processor.php @@ -3,18 +3,18 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_snippet')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $snippet = EvolutionCMS\Models\SiteSnippet::findOrFail($id); $name = $snippet->name; -$count = EvolutionCMS\Models\SiteSnippet::where('name', 'like', $name . ' ' . $_lang['duplicated_el_suffix'] . '%')->count(); +$count = EvolutionCMS\Models\SiteSnippet::where('name', 'like', $name . ' ' . __('global.duplicated_el_suffix') . '%')->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -23,12 +23,12 @@ // duplicate Snippet $newSnippet = $snippet->replicate(); -$newSnippet->name = $snippet->name . ' ' . $_lang['duplicated_el_suffix'] . $count; +$newSnippet->name = $snippet->name . ' ' . __('global.duplicated_el_suffix') . $count; $newSnippet->push(); // Set the item name for logger $_SESSION['itemname'] = $newSnippet->name; // finish duplicating - redirect to new snippet -$header = "Location: index.php?r=2&a=22&id=" . $newSnippet->getKey(); +$header = "Location: index.php?r=2&a=22&id={$newSnippet->getKey()}"; header($header); diff --git a/manager/processors/duplicate_template.processor.php b/manager/processors/duplicate_template.processor.php index 7ceff2f87f..550f3991b1 100755 --- a/manager/processors/duplicate_template.processor.php +++ b/manager/processors/duplicate_template.processor.php @@ -3,17 +3,17 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('new_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $name = EvolutionCMS\Models\SiteTemplate::select('templatename')->findOrFail($id)->templatename; -$count = EvolutionCMS\Models\SiteTemplate::where('templatename', 'LIKE', "{$name} {$_lang['duplicated_el_suffix']}%'")->count(); +$count = EvolutionCMS\Models\SiteTemplate::where('templatename', 'LIKE', "{$name} {__('global.duplicated_el_suffix')}%'")->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -24,7 +24,7 @@ $template = EvolutionCMS\Models\SiteTemplate::select("templatename", "description", "content", "category") ->findOrFail($id); $templateNew = $template->replicate(); -$templateNew->templatename .= " {$_lang['duplicated_el_suffix']}{$count}"; +$templateNew->templatename .= " {__('global.duplicated_el_suffix')}{$count}"; $templateNew->save(); $newid = $templateNew->id; @@ -41,5 +41,5 @@ $_SESSION['itemname'] = $name; // finish duplicating - redirect to new template -$header = "Location: index.php?r=2&a=16&id=$newid"; +$header = "Location: index.php?r=2&a=16&id={$newid}"; header($header); diff --git a/manager/processors/duplicate_tmplvars.processor.php b/manager/processors/duplicate_tmplvars.processor.php index d9f9205724..48e1b8b77c 100755 --- a/manager/processors/duplicate_tmplvars.processor.php +++ b/manager/processors/duplicate_tmplvars.processor.php @@ -3,18 +3,18 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('edit_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $tmplvar = EvolutionCMS\Models\SiteTmplvar::with(['tmplvarAccess', 'tmplvarTemplate', 'tmplvarUserRole'])->findOrFail($id); $name = $tmplvar->name; -$count = EvolutionCMS\Models\SiteTmplvar::where('name', 'like', $name . ' ' . $_lang['duplicated_el_suffix'] . '%')->count(); +$count = EvolutionCMS\Models\SiteTmplvar::where('name', 'like', $name . ' ' . __('global.duplicated_el_suffix') . '%')->count(); if ($count >= 1) { $count = ' ' . ($count + 1); } else { @@ -22,7 +22,7 @@ } $newTmplvar = $tmplvar->replicate(); -$newTmplvar->name = $tmplvar->name . ' ' . $_lang['duplicated_el_suffix'] . $count; +$newTmplvar->name = $tmplvar->name . ' ' . __('global.duplicated_el_suffix') . $count; $newTmplvar->caption = $tmplvar->caption . ' Duplicate ' . $count . ''; $newTmplvar->push(); @@ -45,5 +45,5 @@ $_SESSION['itemname'] = $newTmplvar->name; // finish duplicating - redirect to new variable -$header = "Location: index.php?r=2&a=301&id=" . $newTmplvar->getKey(); +$header = "Location: index.php?r=2&a=301&id={$newTmplvar->getKey()}"; header($header); diff --git a/manager/processors/execute_module.processor.php b/manager/processors/execute_module.processor.php index 059e158710..6c40a85e4f 100644 --- a/manager/processors/execute_module.processor.php +++ b/manager/processors/execute_module.processor.php @@ -6,7 +6,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('exec_module')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['id'])) { if (is_numeric($_GET['id'])) { @@ -15,7 +15,7 @@ $id = $_GET['id']; } } else { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } // check if user has access permission, except admins if ($_SESSION['mgrRole'] != 1 && is_numeric($id)) { diff --git a/manager/processors/optimize_table.processor.php b/manager/processors/optimize_table.processor.php index 3f08044373..54f7c66c31 100755 --- a/manager/processors/optimize_table.processor.php +++ b/manager/processors/optimize_table.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!($modx->hasPermission('settings') && ($modx->hasPermission('logs') || $modx->hasPermission('bk_manager')))) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_REQUEST['t'])) { if (empty($_REQUEST['t'])) { - $modx->webAlertAndQuit($_lang["error_no_optimise_tablename"]); + $modx->webAlertAndQuit(__('global.error_no_optimise_tablename')); } // Set the item name for logger @@ -19,14 +19,14 @@ } } elseif (isset($_REQUEST['u'])) { if (empty($_REQUEST['u'])) { - $modx->webAlertAndQuit($_lang["error_no_truncate_tablename"]); + $modx->webAlertAndQuit(__('global.error_no_truncate_tablename')); } // Set the item name for logger $_SESSION['itemname'] = $_REQUEST['u']; \DB::table(\DB::raw($_REQUEST['u']))->truncate(); } else { - $modx->webAlertAndQuit($_lang["error_no_optimise_tablename"]); + $modx->webAlertAndQuit(__('global.error_no_optimise_tablename')); } $mode = (int) get_by_key($_REQUEST, 'mode', 93, 'is_scalar'); diff --git a/manager/processors/publish_content.processor.php b/manager/processors/publish_content.processor.php index 750d042552..36200a4b26 100755 --- a/manager/processors/publish_content.processor.php +++ b/manager/processors/publish_content.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_document') || !$modx->hasPermission('publish_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } /************webber ********/ @@ -28,7 +28,7 @@ $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit($_lang["access_permission_denied"]); + $modx->webAlertAndQuit(__('global.access_permission_denied')); } // Run publisher diff --git a/manager/processors/purge_plugin.processor.php b/manager/processors/purge_plugin.processor.php index 0a26ef0257..a993e5b36e 100755 --- a/manager/processors/purge_plugin.processor.php +++ b/manager/processors/purge_plugin.processor.php @@ -12,7 +12,7 @@ $plugins = \EvolutionCMS\Models\SitePlugin::query()->select('site_plugins.id')->leftJoin('site_plugins as t2', function ($join) { $join->on('site_plugins.name', '=', 't2.name')->on('site_plugins.id', '<', 't2.id'); })->whereNull('t2.id'); -$latestIds = array(); +$latestIds = []; foreach ($plugins->get()->toArray() as $row) { $latestIds[] = $row['id']; } @@ -31,7 +31,9 @@ // Keep latest version of disabled plugins // invoke OnBeforePluginFormDelete event - $modx->invokeEvent('OnBeforePluginFormDelete', array('id' => $id)); + $modx->invokeEvent('OnBeforePluginFormDelete', [ + 'id' => $id, + ]); // delete the plugin. @@ -46,7 +48,9 @@ exit; } else { // invoke OnPluginFormDelete event - $modx->invokeEvent('OnPluginFormDelete', array('id' => $id)); + $modx->invokeEvent('OnPluginFormDelete', [ + 'id' => $id, + ]); } } } diff --git a/manager/processors/remove_content.processor.php b/manager/processors/remove_content.processor.php index e9d0cdb130..9f654dd73c 100755 --- a/manager/processors/remove_content.processor.php +++ b/manager/processors/remove_content.processor.php @@ -3,18 +3,15 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $ids = \EvolutionCMS\Models\SiteContent::query()->withTrashed()->where('deleted', 1)->pluck('id')->toArray(); // invoke OnBeforeEmptyTrash event -$modx->invokeEvent( - "OnBeforeEmptyTrash", - [ - "ids" => $ids, - ] -); +$modx->invokeEvent('OnBeforeEmptyTrash', [ + 'ids' => $ids, +]); // remove the document groups link. \EvolutionCMS\Models\DocumentGroup::query()->whereIn('document', $ids)->delete(); @@ -26,12 +23,9 @@ \EvolutionCMS\Models\SiteContent::query()->where('deleted', 1)->forceDelete(); // invoke OnEmptyTrash event -$modx->invokeEvent( - "OnEmptyTrash", - [ - "ids" => $ids, - ] -); +$modx->invokeEvent('OnEmptyTrash', [ + 'ids' => $ids, +]); // empty cache $modx->clearCache('full'); diff --git a/manager/processors/remove_locks.processor.php b/manager/processors/remove_locks.processor.php index 7ae7cc000e..21168ce1fa 100755 --- a/manager/processors/remove_locks.processor.php +++ b/manager/processors/remove_locks.processor.php @@ -5,7 +5,7 @@ if (!isset($_GET['id'])) { if (!$modx->hasPermission('remove_locks')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } // Remove all locks diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index 97b83e68e2..26e834a64e 100644 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); return; } @@ -16,44 +16,44 @@ $resourceArray = [ 'id' => is_numeric($_POST['id']) ? $_POST['id'] : '', // - "introtext" => $_POST['introtext'], - "content" => $_POST['ta'], - "pagetitle" => $_POST['pagetitle'], - "longtitle" => $_POST['longtitle'], - "type" => $_POST['type'], - "description" => $_POST['description'], - "alias" => $_POST['alias'], - "link_attributes" => $_POST['link_attributes'], - "isfolder" => (int) $_POST['isfolder'], - "richtext" => (int) $_POST['richtext'], - "published" => (int) $_POST['published'], - "parent" => (int) get_by_key($_POST, 'parent', 0, 'is_scalar'), - "template" => (int) $_POST['template'], - "menuindex" => !empty($_POST['menuindex']) ? (int) $_POST['menuindex'] : 0, - "searchable" => (int) $_POST['searchable'], - "cacheable" => (int) $_POST['cacheable'], - "pub_date" => $_POST['pub_date'], - "unpub_date" => $_POST['unpub_date'], - "contentType" => $_POST['contentType'], - "content_dispo" => (int) $_POST['content_dispo'], - "hide_from_tree" => (int) $_POST['hide_from_tree'], - "menutitle" => $_POST['menutitle'], - "hidemenu" => (int) $_POST['hidemenu'], - "alias_visible" => (int) $_POST['alias_visible'], + 'introtext' => $_POST['introtext'], + 'content' => $_POST['ta'], + 'pagetitle' => $_POST['pagetitle'], + 'longtitle' => $_POST['longtitle'], + 'type' => $_POST['type'], + 'description' => $_POST['description'], + 'alias' => $_POST['alias'], + 'link_attributes' => $_POST['link_attributes'], + 'isfolder' => (int) $_POST['isfolder'], + 'richtext' => (int) $_POST['richtext'], + 'published' => (int) $_POST['published'], + 'parent' => (int) get_by_key($_POST, 'parent', 0, 'is_scalar'), + 'template' => (int) $_POST['template'], + 'menuindex' => !empty($_POST['menuindex']) ? (int) $_POST['menuindex'] : 0, + 'searchable' => (int) $_POST['searchable'], + 'cacheable' => (int) $_POST['cacheable'], + 'pub_date' => $_POST['pub_date'], + 'unpub_date' => $_POST['unpub_date'], + 'contentType' => $_POST['contentType'], + 'content_dispo' => (int) $_POST['content_dispo'], + 'hide_from_tree' => (int) $_POST['hide_from_tree'], + 'menutitle' => $_POST['menutitle'], + 'hidemenu' => (int) $_POST['hidemenu'], + 'alias_visible' => (int) $_POST['alias_visible'], ]; // get document groups for current user $userGroups = \EvolutionCMS\Models\MemberGroup::query() - ->join('membergroup_access', 'membergroup_access.membergroup', '=', 'member_groups.user_group') - ->where('member_groups.member', $modx->getLoginUserID('mgr')) - ->pluck('documentgroup') - ->toArray(); + ->join('membergroup_access', 'membergroup_access.membergroup', '=', 'member_groups.user_group') + ->where('member_groups.member', $modx->getLoginUserID('mgr')) + ->pluck('documentgroup') + ->toArray(); $userGroups = array_unique($userGroups); // get passed document groups $documentGroups = (isset($_POST['chkalldocs']) && $_POST['chkalldocs'] == 'on') - ? [] - : get_by_key($_POST, 'docgroups', [], 'is_array'); +? [] +: get_by_key($_POST, 'docgroups', [], 'is_array'); $actionToTake = 'create'; if ($_POST['mode'] == '73' || $_POST['mode'] == '27') { @@ -77,11 +77,11 @@ if (!$exist) { if ($actionToTake == 'edit') { $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($_lang["resource_permissions_error"], "index.php?a=27&id={$resourceArray['id']}"); + $modx->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a=27&id={$resourceArray['id']}"); return; } else { $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($_lang["resource_permissions_error"], 'index.php?a=4'); + $modx->webAlertAndQuit(__('global.resource_permissions_error'), 'index.php?a=4'); return; } } @@ -96,7 +96,7 @@ ->find($resourceArray['id']); if (is_null($existingDocument)) { - $modx->webAlertAndQuit($_lang["error_no_results"]); + $modx->webAlertAndQuit(__('global.error_no_results')); return; } @@ -116,11 +116,11 @@ if (!$udperms->checkPermissions()) { if ($actionToTake == 'edit') { $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], "index.php?a=27&id={$resourceArray['id']}"); + $modx->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a=27&id={$resourceArray['id']}"); return; } else { $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($_lang['access_permission_parent_denied'], 'index.php?a=4'); + $modx->webAlertAndQuit(__('global.access_permission_parent_denied'), 'index.php?a=4'); return; } } diff --git a/manager/processors/save_htmlsnippet.processor.php b/manager/processors/save_htmlsnippet.processor.php index e2becea3b9..805201851a 100755 --- a/manager/processors/save_htmlsnippet.processor.php +++ b/manager/processors/save_htmlsnippet.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_chunk')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,19 +13,19 @@ try { $chunk = EvolutionCMS\Models\SiteHtmlsnippet::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforeChunkFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeChunkFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); $_SESSION['itemname'] = $chunk->name; $chunk->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent("OnChunkFormSave", array( - "mode" => "upd", - "id" => $id, - )); - } catch (\Illuminate\Database\Eloquent\ModelNotFoundException$e) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->invokeEvent('OnChunkFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { + $modx->webAlertAndQuit(__('global.error_no_id')); } // empty cache $modx->clearCache('full'); @@ -67,25 +67,25 @@ switch ($_POST['mode']) { case '77': // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforeChunkFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeChunkFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // disallow duplicate names for new chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('name', '=', $name)->first()) { $modx->getManagerApi()->saveFormValues(77); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['chunk'], $name), "index.php?a=77"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=77"); } //do stuff to save the new doc $id = EvolutionCMS\Models\SiteHtmlsnippet::create(compact('name', 'description', 'snippet', 'locked', 'category', 'editor_type', 'editor_name', 'disabled', 'createdon', 'editedon'))->getKey(); // invoke OnChunkFormSave event - $modx->invokeEvent("OnChunkFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnChunkFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -96,7 +96,7 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "78&id=$id" : "77"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $header = "Location: index.php?a=76&r=2"; @@ -105,15 +105,15 @@ break; case '78': // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforeChunkFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeChunkFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // disallow duplicate names for chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { $modx->getManagerApi()->saveFormValues(78); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['chunk'], $name), "index.php?a=78&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=78&id={$id}"); } //do stuff to save the edited doc @@ -122,10 +122,10 @@ $chunk->update(compact('name', 'description', 'snippet', 'locked', 'category', 'editor_type', 'editor_name', 'disabled', 'editedon')); // invoke OnChunkFormSave event - $modx->invokeEvent("OnChunkFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnChunkFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -135,8 +135,8 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { - $a = ($_POST['stay'] == '2') ? "78&id=$id" : "77"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $a = ($_POST['stay'] == '2') ? "78&id={$id}" : "77"; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $modx->unlockElement(3, $id); diff --git a/manager/processors/save_module.processor.php b/manager/processors/save_module.processor.php index cdcb7d4343..7ee11bdb63 100755 --- a/manager/processors/save_module.processor.php +++ b/manager/processors/save_module.processor.php @@ -5,7 +5,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_module')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } else { $use_udperms = 1; } @@ -17,19 +17,19 @@ try { $module = EvolutionCMS\Models\SiteModule::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforeModFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeModFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); $_SESSION['itemname'] = $module->name; $module->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent("OnModFormSave", array( - "mode" => "upd", - "id" => $id, - )); - } catch (\Illuminate\Database\Eloquent\ModelNotFoundException$e) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->invokeEvent('OnModFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { + $modx->webAlertAndQuit(__('global.error_no_id')); } // empty cache $modx->clearCache('full'); @@ -95,20 +95,20 @@ switch ($_POST['mode']) { case '107': // invoke OnBeforeModFormSave event - $modx->invokeEvent("OnBeforeModFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeModFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // disallow duplicate names for new modules $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(107); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_module'], $name), "index.php?a=107"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=107"); } // save the new module - $newid = \EvolutionCMS\Models\SiteModule::query()->insertGetId(array( + $newid = \EvolutionCMS\Models\SiteModule::query()->insertGetId([ 'name' => $name, 'description' => $description, 'disabled' => $disabled, @@ -124,16 +124,16 @@ 'properties' => $properties, 'createdon' => $currentdate, 'editedon' => $currentdate, - )); + ]); // save user group access permissions saveUserGroupAccessPermissons(); // invoke OnModFormSave event - $modx->invokeEvent("OnModFormSave", array( - "mode" => "new", - "id" => $newid, - )); + $modx->invokeEvent('OnModFormSave', [ + 'mode' => 'new', + 'id' => $newid, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -144,7 +144,7 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "108&id=$newid" : "107"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $header = "Location: index.php?a=76&tab=5&r=2"; @@ -153,21 +153,21 @@ break; case '108': // invoke OnBeforeModFormSave event - $modx->invokeEvent("OnBeforeModFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeModFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // disallow duplicate names for new modules $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->where('id', '!=', $id)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(108); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_module'], $name), "index.php?a=108&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=108&id={$id}"); } // save the edited module - \EvolutionCMS\Models\SiteModule::find($id)->update(array( + \EvolutionCMS\Models\SiteModule::find($id)->update([ 'name' => $name, 'description' => $description, 'icon' => $icon, @@ -182,16 +182,16 @@ 'modulecode' => $modulecode, 'properties' => $properties, 'editedon' => $currentdate, - )); + ]); // save user group access permissions saveUserGroupAccessPermissons(); // invoke OnModFormSave event - $modx->invokeEvent("OnModFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnModFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -202,7 +202,7 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "108&id=$id" : "107"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $modx->unlockElement(6, $id); diff --git a/manager/processors/save_plugin.processor.php b/manager/processors/save_plugin.processor.php index 68687ebc61..2b83d276d6 100755 --- a/manager/processors/save_plugin.processor.php +++ b/manager/processors/save_plugin.processor.php @@ -3,7 +3,7 @@ die('INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly.'); } if (!$modx->hasPermission('save_plugin')) { - $modx->webAlertAndQuit($_lang['error_no_privileges']); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,19 +13,19 @@ try { $plugin = EvolutionCMS\Models\SitePlugin::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforePluginFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforePluginFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); $_SESSION['itemname'] = $plugin->name; $plugin->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent("OnPluginFormSave", array( - "mode" => "upd", - "id" => $id, - )); - } catch (\Illuminate\Database\Eloquent\ModelNotFoundException$e) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->invokeEvent('OnPluginFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { + $modx->webAlertAndQuit(__('global.error_no_id')); } // empty cache $modx->clearCache('full'); @@ -44,7 +44,7 @@ $properties = $_POST['properties']; $disabled = isset($_POST['disabled']) && $_POST['disabled'] == 'on' ? '1' : '0'; $moduleguid = $_POST['moduleguid']; -$sysevents = !empty($_POST['sysevents']) ? $_POST['sysevents'] : array(); +$sysevents = !empty($_POST['sysevents']) ? $_POST['sysevents'] : []; $parse_docblock = isset($_POST['parse_docblock']) && $_POST['parse_docblock'] == '1' ? '1' : '0'; $currentdate = time() + $modx->config['server_offset_time']; @@ -80,26 +80,26 @@ } } -$eventIds = array(); +$eventIds = []; switch ($_POST['mode']) { case '101': // invoke OnBeforePluginFormSave event - $modx->invokeEvent('OnBeforePluginFormSave', array( + $modx->invokeEvent('OnBeforePluginFormSave', [ 'mode' => 'new', 'id' => $id, - )); + ]); // disallow duplicate names for active plugins if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(101); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['plugin'], $name), 'index.php?a=101'); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), 'index.php?a=101'); } } //do stuff to save the new plugin - $newid = \EvolutionCMS\Models\SitePlugin::query()->insertGetId(array( + $newid = \EvolutionCMS\Models\SitePlugin::query()->insertGetId([ 'name' => $name, 'description' => $description, 'plugincode' => $plugincode, @@ -110,16 +110,16 @@ 'category' => $categoryid, 'createdon' => $currentdate, 'editedon' => $currentdate, - )); + ]); // save event listeners saveEventListeners($newid, $sysevents, $_POST['mode']); // invoke OnPluginFormSave event - $modx->invokeEvent('OnPluginFormSave', array( + $modx->invokeEvent('OnPluginFormSave', [ 'mode' => 'new', 'id' => $newid, - )); + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -130,31 +130,31 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "102&id=$newid" : '101'; - $header = 'Location: index.php?a=' . $a . '&r=2&stay=' . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $header = 'Location: index.php?a=76&tab=4&r=2'; + $header = "Location: index.php?a=76&tab=4&r=2"; header($header); } break; case '102': // invoke OnBeforePluginFormSave event - $modx->invokeEvent('OnBeforePluginFormSave', array( + $modx->invokeEvent('OnBeforePluginFormSave', [ 'mode' => 'upd', 'id' => $id, - )); + ]); // disallow duplicate names for active plugins if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->where('id', '!=', $id)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(102); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['plugin'], $name), "index.php?a=102&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a=102&id={$id}"); } } //do stuff to save the edited plugin - $newid = \EvolutionCMS\Models\SitePlugin::query()->find($id)->update(array( + $newid = \EvolutionCMS\Models\SitePlugin::query()->find($id)->update([ 'name' => $name, 'description' => $description, 'plugincode' => $plugincode, @@ -164,16 +164,16 @@ 'properties' => $properties, 'category' => $categoryid, 'editedon' => $currentdate, - )); + ]); // save event listeners saveEventListeners($id, $sysevents, $_POST['mode']); // invoke OnPluginFormSave event - $modx->invokeEvent('OnPluginFormSave', array( + $modx->invokeEvent('OnPluginFormSave', [ 'mode' => 'upd', 'id' => $id, - )); + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -183,12 +183,12 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { - $a = ($_POST['stay'] == '2') ? "102&id=$id" : '101'; - $header = 'Location: index.php?a=' . $a . '&r=2&stay=' . $_POST['stay']; + $a = ($_POST['stay'] == '2') ? "102&id={$id}" : '101'; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $modx->unlockElement(5, $id); - $header = 'Location: index.php?a=76&tab=4&r=2'; + $header = "Location: index.php?a=76&tab=4&r=2"; header($header); } break; diff --git a/manager/processors/save_settings.processor.php b/manager/processors/save_settings.processor.php index de252b6099..58f8b210e7 100755 --- a/manager/processors/save_settings.processor.php +++ b/manager/processors/save_settings.processor.php @@ -5,16 +5,16 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('settings')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $defaultSettings = config('cms.settings', []); $data = $_POST + $defaultSettings; // lose the POST now, gets rid of quirky issue with Safari 3 - see FS#972 unset($_POST); -if(File::missing(MODX_MANAGER_PATH . '.htaccess')) { +if (File::missing(MODX_MANAGER_PATH . '.htaccess')) { $sample_htaccess = File::get(MODX_MANAGER_PATH . 'ht.access'); - if(!empty($sample_htaccess)) { + if (!empty($sample_htaccess)) { File::put(MODX_MANAGER_PATH . '.htaccess', str_replace('/manager/', '/' . MGR_DIR . '/', $sample_htaccess)); } } @@ -25,21 +25,21 @@ if (is_file($htaccess)) { $_ = file_get_contents($htaccess); if (strpos($_, 'RewriteBase') === false) { - $warnings[] = $_lang["settings_friendlyurls_alert2"]; + $warnings[] = __('global.settings_friendlyurls_alert2'); } elseif (is_writable($htaccess)) { $_ = preg_replace('@RewriteBase.+@', "RewriteBase {$dir}", $_); if (!@file_put_contents($htaccess, $_)) { - $warnings[] = $_lang["settings_friendlyurls_alert2"]; + $warnings[] = __('global.settings_friendlyurls_alert2'); } } } elseif (is_file($sample_htaccess)) { if (!@rename($sample_htaccess, $htaccess)) { - $warnings[] = $_lang["settings_friendlyurls_alert"]; + $warnings[] = __('global.settings_friendlyurls_alert'); } elseif (MODX_BASE_URL !== '/') { $_ = file_get_contents($htaccess); $_ = preg_replace('@RewriteBase.+@', "RewriteBase {$dir}", $_); if (!@file_put_contents($htaccess, $_)) { - $warnings[] = $_lang["settings_friendlyurls_alert2"]; + $warnings[] = __('global.settings_friendlyurls_alert2'); } } } @@ -125,9 +125,9 @@ $oldtemplate = (int) $data['old_template']; $reset = $data['reset_template']; if ($reset == 1) { - \EvolutionCMS\Models\SiteContent::where('type', 'document')->update(array('template' => $newtemplate)); + \EvolutionCMS\Models\SiteContent::where('type', 'document')->update(['template' => $newtemplate]); } else if ($reset == 2) { - \EvolutionCMS\Models\SiteContent::where('template', $oldtemplate)->update(array('template' => $newtemplate)); + \EvolutionCMS\Models\SiteContent::where('template', $oldtemplate)->update(['template' => $newtemplate]); } } diff --git a/manager/processors/save_snippet.processor.php b/manager/processors/save_snippet.processor.php index 40384a94b9..9bb0f94303 100755 --- a/manager/processors/save_snippet.processor.php +++ b/manager/processors/save_snippet.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_snippet')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,19 +13,19 @@ try { $snippet = EvolutionCMS\Models\SiteSnippet::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent("OnBeforeSnipFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeSnipFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); $_SESSION['itemname'] = $snippet->name; $snippet->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent("OnSnipFormSave", array( - "mode" => "upd", - "id" => $id, - )); - } catch (\Illuminate\Database\Eloquent\ModelNotFoundException$e) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->invokeEvent('OnSnipFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { + $modx->webAlertAndQuit(__('global.error_no_id')); } // empty cache $modx->clearCache('full'); @@ -97,25 +97,25 @@ switch ($_POST['mode']) { case '23': // Save new snippet // invoke OnBeforeSnipFormSave event - $modx->invokeEvent("OnBeforeSnipFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeSnipFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // disallow duplicate names for new snippets if (EvolutionCMS\Models\SiteSnippet::where('name', '=', $name)->first()) { $modx->getManagerApi()->saveFormValues(23); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['snippet'], $name), "index.php?a=23"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=23"); } //do stuff to save the new doc $newid = EvolutionCMS\Models\SiteSnippet::create(compact('name', 'description', 'snippet', 'moduleguid', 'locked', 'properties', 'category', 'disabled', 'createdon', 'editedon'))->getKey(); // invoke OnSnipFormSave event - $modx->invokeEvent("OnSnipFormSave", array( - "mode" => "new", - "id" => $newid, - )); + $modx->invokeEvent('OnSnipFormSave', [ + 'mode' => 'new', + 'id' => $newid, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -135,15 +135,15 @@ break; case '22': // Save existing snippet // invoke OnBeforeSnipFormSave event - $modx->invokeEvent("OnBeforeSnipFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeSnipFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // disallow duplicate names for snippets if (EvolutionCMS\Models\SiteSnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { $modx->getManagerApi()->saveFormValues(22); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['snippet'], $name), "index.php?a=22&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=22&id={$id}"); } //do stuff to save the edited doc @@ -152,10 +152,10 @@ $siteSnippet->update(compact('name', 'description', 'snippet', 'moduleguid', 'locked', 'properties', 'category', 'disabled', 'editedon')); // invoke OnSnipFormSave event - $modx->invokeEvent("OnSnipFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnSnipFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $name; @@ -166,7 +166,7 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "22&id=$id" : "23"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $modx->unlockElement(4, $id); diff --git a/manager/processors/save_template.processor.php b/manager/processors/save_template.processor.php index feeb43a6cb..225d43d891 100755 --- a/manager/processors/save_template.processor.php +++ b/manager/processors/save_template.processor.php @@ -7,7 +7,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['selectable'])) { @@ -18,7 +18,7 @@ /** @var SiteTemplate $template */ $template = SiteTemplate::query()->findOrFail($id); - $modx->invokeEvent("OnBeforeTempFormSave", [ + $modx->invokeEvent('OnBeforeTempFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -31,7 +31,7 @@ 'id' => $id, ]); } catch (ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.error_no_id')); + $modx->webAlertAndQuit(__('global.global.error_no_id')); } $header = 'Location: index.php?a=76&tab=0&r=2'; @@ -92,16 +92,16 @@ function createBladeFile($templatealias) switch ($_POST['mode']) { case '19': // invoke OnBeforeTempFormSave event - $modx->invokeEvent("OnBeforeTempFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeTempFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // disallow duplicate names for new templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(19); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['template'], $templatename), "index.php?a=19"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=19"); } if ($templatealias == '') { @@ -114,10 +114,10 @@ function createBladeFile($templatealias) if ($count > 0) { $modx->getManagerApi()->saveFormValues(19); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_template_alias_found"], $docid, $templatealias), "index.php?a=19"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=19"); } //do stuff to save the new doc - $newid = \EvolutionCMS\Models\SiteTemplate::query()->insertGetId(array( + $newid = \EvolutionCMS\Models\SiteTemplate::query()->insertGetId([ 'templatename' => $templatename, 'templatealias' => $templatealias, 'templatecontroller' => $templatecontroller, @@ -128,13 +128,13 @@ function createBladeFile($templatealias) 'category' => $categoryid, 'createdon' => $currentdate, 'editedon' => $currentdate, - )); + ]); // invoke OnTempFormSave event - $modx->invokeEvent("OnTempFormSave", array( - "mode" => "new", - "id" => $newid, - )); + $modx->invokeEvent('OnTempFormSave', [ + 'mode' => 'new', + 'id' => $newid, + ]); // Set new assigned Tvs saveTemplateAccess($newid); @@ -151,7 +151,7 @@ function createBladeFile($templatealias) // finished emptying cache - redirect if ($_POST['stay'] != '') { $a = ($_POST['stay'] == '2') ? "16&id=$newid" : "19"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $header = "Location: index.php?a=76&r=2"; @@ -161,16 +161,16 @@ function createBladeFile($templatealias) break; case '16': // invoke OnBeforeTempFormSave event - $modx->invokeEvent("OnBeforeTempFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeTempFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // disallow duplicate names for templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->where('id', '!=', $id)->count(); if ($count > 0) { $modx->getManagerApi()->saveFormValues(16); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['template'], $templatename), "index.php?a=16&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=16&id={$id}"); } if ($templatealias == '') { @@ -183,10 +183,10 @@ function createBladeFile($templatealias) if ($count > 0) { $modx->getManagerApi()->saveFormValues(16); - $modx->webAlertAndQuit(sprintf($_lang["duplicate_template_alias_found"], $docid, $templatealias), "index.php?a=16&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=16&id={$id}"); } //do stuff to save the edited doc - \EvolutionCMS\Models\SiteTemplate::find($id)->update(array( + \EvolutionCMS\Models\SiteTemplate::find($id)->update([ 'templatename' => $templatename, 'templatealias' => $templatealias, 'templatecontroller' => $templatecontroller, @@ -196,7 +196,7 @@ function createBladeFile($templatealias) 'selectable' => $selectable, 'category' => $categoryid, 'editedon' => $currentdate, - )); + ]); // Set new assigned Tvs saveTemplateAccess($id); @@ -205,10 +205,10 @@ function createBladeFile($templatealias) } // invoke OnTempFormSave event - $modx->invokeEvent("OnTempFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnTempFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $templatename; @@ -218,8 +218,8 @@ function createBladeFile($templatealias) // finished emptying cache - redirect if ($_POST['stay'] != '') { - $a = ($_POST['stay'] == '2') ? "16&id=$id" : "19"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay']; + $a = ($_POST['stay'] == '2') ? "16&id={$id}" : "19"; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { $modx->unlockElement(1, $id); diff --git a/manager/processors/save_tmplvars.processor.php b/manager/processors/save_tmplvars.processor.php index 651ae0e12d..852c5a7fc9 100755 --- a/manager/processors/save_tmplvars.processor.php +++ b/manager/processors/save_tmplvars.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_template')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = (int) $_POST['id']; @@ -41,25 +41,25 @@ switch ($_POST['mode']) { case '300': // invoke OnBeforeTVFormSave event - $modx->invokeEvent("OnBeforeTVFormSave", array( - "mode" => "new", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeTVFormSave', [ + 'mode' => 'new', + 'id' => $id, + ]); // disallow duplicate names for new tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->first()) { $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['tv'], $name), "index.php?a=300"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=300"); } // disallow reserved names - if (in_array($name, array('id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'))) { + if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { $_POST['name'] = ''; $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf($_lang['reserved_name_warning'], $_lang['tv'], $name), "index.php?a=300"); + $modx->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=300"); } // Add new TV - $field = array( + $field = [ 'name' => $name, 'description' => $description, 'caption' => $caption, @@ -74,7 +74,7 @@ 'createdon' => $currentdate, 'editedon' => $currentdate, 'properties' => $properties, - ); + ]; $tmplVar = EvolutionCMS\Models\SiteTmplvar::create($field); $newid = $tmplVar->getKey(); @@ -84,10 +84,10 @@ saveVarRoles($newid); // invoke OnTVFormSave event - $modx->invokeEvent("OnTVFormSave", array( - "mode" => "new", - "id" => $newid, - )); + $modx->invokeEvent('OnTVFormSave', [ + 'mode' => 'new', + 'id' => $newid, + ]); // Set the item name for logger $_SESSION['itemname'] = $caption; @@ -107,24 +107,24 @@ break; case '301': // invoke OnBeforeTVFormSave event - $modx->invokeEvent("OnBeforeTVFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnBeforeTVFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // disallow duplicate names for tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->where('id', '!=', $id)->first()) { $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf($_lang['duplicate_name_found_general'], $_lang['tv'], $name), "index.php?a=301&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=301&id={$id}"); } // disallow reserved names - if (in_array($name, array('id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'))) { + if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf($_lang['reserved_name_warning'], $_lang['tv'], $name), "index.php?a=301&id={$id}"); + $modx->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=301&id={$id}"); } // update TV - $field = array( + $field = [ 'name' => $name, 'description' => $description, 'caption' => $caption, @@ -138,7 +138,7 @@ 'category' => $categoryid, 'editedon' => $currentdate, 'properties' => $properties, - ); + ]; $tmplVar = EvolutionCMS\Models\SiteTmplvar::findOrFail($id); $tmplVar->update($field); @@ -148,10 +148,10 @@ saveVarRoles($id); // invoke OnTVFormSave event - $modx->invokeEvent("OnTVFormSave", array( - "mode" => "upd", - "id" => $id, - )); + $modx->invokeEvent('OnTVFormSave', [ + 'mode' => 'upd', + 'id' => $id, + ]); // Set the item name for logger $_SESSION['itemname'] = $caption; @@ -161,12 +161,12 @@ // finished emptying cache - redirect if ($_POST['stay'] != '') { - $a = ($_POST['stay'] == '2') ? "301&id=$id" : "300"; - $header = "Location: index.php?a=" . $a . "&r=2&stay=" . $_POST['stay'] . "&or=" . $origin . "&oid=" . $originId; + $a = ($_POST['stay'] == '2') ? "301&id={$id}" : "300"; + $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}&or={$origin}&oid={$originId}"; header($header); } else { $modx->unlockElement(2, $id); - $header = "Location: index.php?a=" . $origin . "&r=2" . (empty($originId) ? '' : '&id=' . $originId); + $header = "Location: index.php?a={$origin}&r=2" . (empty($originId) ? '' : '&id=' . $originId); header($header); } diff --git a/manager/processors/undelete_content.processor.php b/manager/processors/undelete_content.processor.php index 164037c3e1..4a6dea5c52 100755 --- a/manager/processors/undelete_content.processor.php +++ b/manager/processors/undelete_content.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } $document = \EvolutionCMS\Models\SiteContent::withTrashed()->findOrFail($id); @@ -16,7 +16,7 @@ $pid = ($document->parent == 0 ? $id : $document->parent); $parentDeleted = $document->parent > 0 && empty(\EvolutionCMS\Models\SiteContent::find($document->parent)); if ($parentDeleted) { - $modx->webAlertAndQuit($_lang["error_parent_deleted"]); + $modx->webAlertAndQuit(__('global.error_parent_deleted')); } $sd = isset($_REQUEST['dir']) ? '&dir=' . $_REQUEST['dir'] : '&dir=DESC'; $sb = isset($_REQUEST['sort']) ? '&sort=' . $_REQUEST['sort'] : '&sort=createdon'; @@ -30,7 +30,7 @@ $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit($_lang["access_permission_denied"]); + $modx->webAlertAndQuit(__('global.access_permission_denied')); } // get the timestamp on which the document was deleted. diff --git a/manager/processors/unpublish_content.processor.php b/manager/processors/unpublish_content.processor.php index ebf7972b66..9a11ed0dc8 100755 --- a/manager/processors/unpublish_content.processor.php +++ b/manager/processors/unpublish_content.processor.php @@ -3,12 +3,12 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('save_document') || !$modx->hasPermission('publish_document')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit($_lang["error_no_id"]); + $modx->webAlertAndQuit(__('global.error_no_id')); } /************webber ********/ @@ -28,7 +28,7 @@ $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit($_lang["access_permission_denied"]); + $modx->webAlertAndQuit(__('global.access_permission_denied')); } // Run unpublisher diff --git a/manager/processors/web_access_groups.processor.php b/manager/processors/web_access_groups.processor.php index 0dda000fc3..17f1e9c1cc 100755 --- a/manager/processors/web_access_groups.processor.php +++ b/manager/processors/web_access_groups.processor.php @@ -3,7 +3,7 @@ die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } if (!$modx->hasPermission('manage_groups')) { - $modx->webAlertAndQuit($_lang["error_no_privileges"]); + $modx->webAlertAndQuit(__('global.error_no_privileges')); } // web access group processor. @@ -20,10 +20,10 @@ } else { $id = \EvolutionCMS\Models\MembergroupName::query()->insertGetId(['name' => $newgroup]); // invoke OnWebCreateGroup event - $modx->invokeEvent('OnCreateUserGroup', array( + $modx->invokeEvent('OnCreateUserGroup', [ 'groupid' => $id, 'groupname' => $newgroup, - )); + ]); } break; case "add_document_group": @@ -34,10 +34,10 @@ $id = \EvolutionCMS\Models\DocumentgroupName::query()->insertGetId(['name' => $newgroup]); // invoke OnCreateDocGroup event - $modx->invokeEvent('OnCreateDocGroup', array( + $modx->invokeEvent('OnCreateDocGroup', [ 'groupid' => $id, 'groupname' => $newgroup, - )); + ]); } break; case "delete_user_group": From 884890804cfcd36b35cd14f37fab793b5d6493f5 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Wed, 8 Apr 2026 10:40:46 +0300 Subject: [PATCH 08/10] solved tv save on edit --- manager/processors/save_content.processor.php | 181 ++++++++++++------ 1 file changed, 125 insertions(+), 56 deletions(-) diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index 26e834a64e..80d8079913 100644 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -2,14 +2,14 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); return; } /************* webber ********/ $sd = isset($_POST['dir']) && strtolower($_POST['dir']) === 'asc' ? '&dir=ASC' : '&dir=DESC'; -$sb = isset($_POST['sort']) ? '&sort=' . entities($_POST['sort'], $modx->getConfig('modx_charset')) : '&sort=pub_date'; +$sb = isset($_POST['sort']) ? '&sort=' . entities($_POST['sort'], evo()->getConfig('modx_charset')) : '&sort=pub_date'; $pg = isset($_POST['page']) ? '&page=' . (int) $_POST['page'] : ''; $add_path = $sd . $sb . $pg; @@ -45,7 +45,7 @@ // get document groups for current user $userGroups = \EvolutionCMS\Models\MemberGroup::query() ->join('membergroup_access', 'membergroup_access.membergroup', '=', 'member_groups.user_group') - ->where('member_groups.member', $modx->getLoginUserID('mgr')) + ->where('member_groups.member', evo()->getLoginUserID('mgr')) ->pluck('documentgroup') ->toArray(); $userGroups = array_unique($userGroups); @@ -55,6 +55,70 @@ ? [] : get_by_key($_POST, 'docgroups', [], 'is_array'); +// get template variables +$templateVariables = []; + +// get tv id by template id +$tvIds = \EvolutionCMS\Models\SiteTmplvarTemplate::query() + ->where('templateid', $resourceArray['template']) + ->pluck('tmplvarid') + ->toArray(); + +// get tv +$tvs = \EvolutionCMS\Models\SiteTmplvar::query() + ->whereIn('id', $tvIds) + ->get(); + +foreach ($tvs->toArray() as $tv) { + $tmplvar = ''; + + switch ($tv['type']) { + case 'url': + if (isset($_POST['tv' . $tv['id']])) { + $tmplvar = $_POST['tv' . $tv['id']]; + + if (isset($_POST['tv' . $tv['id'] . '_prefix']) && $_POST['tv' . $tv['id'] . '_prefix'] != '--') { + $tmplvar = str_replace([ + 'feed://', + 'ftp://', + 'http://', + 'https://', + 'mailto:', + ], '', $tmplvar); + + $tmplvar = $_POST['tv' . $tv['id'] . '_prefix'] . $tmplvar; + } + } + break; + + case 'file': + $tmplvar = $_POST['tv' . $tv['id']] ?? ''; + break; + + default: + $tmp = get_by_key($_POST, 'tv' . $tv['id']); + + if (is_array($tmp)) { + // handles checkboxes & multiple selects elements + $arr = []; + + foreach ($tmp as $key => $value) { + $arr[count($arr)] = $value; + } + + $tmplvar = implode('||', $arr); + } else { + $tmplvar = $tmp; + } + break; + } + + $templateVariables[$tv['name']] = $tmplvar; +} + +// add tv to resource arr +$resourceArray = array_merge($resourceArray, $templateVariables); + $actionToTake = 'create'; if ($_POST['mode'] == '73' || $_POST['mode'] == '27') { $actionToTake = 'edit'; @@ -76,12 +140,12 @@ if (!$exist) { if ($actionToTake == 'edit') { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a=27&id={$resourceArray['id']}"); + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a=27&id={$resourceArray['id']}"); return; } else { - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit(__('global.resource_permissions_error'), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit(__('global.resource_permissions_error'), 'index.php?a=4'); return; } } @@ -91,12 +155,17 @@ // get the document, but only if it already exists $existingDocument = null; if ($actionToTake != 'create') { + if ($resourceArray['id'] == '') { + evo()->webAlertAndQuit(__('global.error_no_results')); + return; + } + $existingDocument = \EvolutionCMS\Models\SiteContent::query() ->withTrashed() ->find($resourceArray['id']); if (is_null($existingDocument)) { - $modx->webAlertAndQuit(__('global.error_no_results')); + evo()->webAlertAndQuit(__('global.error_no_results')); return; } @@ -104,23 +173,23 @@ } // check to see if the user is allowed to save the document in the place he wants to save it in -if ($modx->getConfig('use_udperms')) { +if (evo()->getConfig('use_udperms')) { $parent = (int) get_by_key($_POST, 'parent', 0, 'is_scalar'); if ($existingDocument && $existingDocument['parent'] != $parent) { $udperms = new EvolutionCMS\Legacy\Permissions(); - $udperms->user = $modx->getLoginUserID('mgr'); + $udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $parent; $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { if ($actionToTake == 'edit') { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a=27&id={$resourceArray['id']}"); + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a=27&id={$resourceArray['id']}"); return; } else { - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit(__('global.access_permission_parent_denied'), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), 'index.php?a=4'); return; } } @@ -143,19 +212,19 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } // permissions is on - if ($modx->getConfig('use_udperms')) { + if (evo()->getConfig('use_udperms')) { // parent document access permissions $parentGroups = []; if ($resourceArray['parent'] != 0) { @@ -166,7 +235,7 @@ ->toArray(); } - if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { + if (evo()->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { // check if document has groups checked if (!empty($documentGroups)) { $groups = []; @@ -179,7 +248,7 @@ // - The current user belongs to this group (in $userGroups), OR // - The user has the global 'manage_groups' permission (e.g., admin) - if (in_array($group, $userGroups) || $modx->hasPermission('manage_groups')) { + if (in_array($group, $userGroups) || evo()->hasPermission('manage_groups')) { $groups[] = $group; } } @@ -187,7 +256,7 @@ // If user has 'manage_document_permissions' permission, // automatically include ALL parent document's groups — even if the user isn't in them. // This allows privileged users to inherit or assign parent-level permissions. - if ($modx->hasPermission('manage_document_permissions')) { + if (evo()->hasPermission('manage_document_permissions')) { foreach ($parentGroups as $group) { // also inherit every $group from parent $groups[] = $group; @@ -198,7 +267,7 @@ // and they have NO overlap between their selected groups and their own groups ($userGroups), // then fall back to inheriting ALL parent groups. // This ensures non-admin users don't accidentally remove themselves from access. - if (!$modx->hasPermission('manage_groups')) { + if (!evo()->hasPermission('manage_groups')) { // Check if there's ANY common group between selected groups and user's groups if (!array_intersect($groups, $userGroups)) { // If no overlap, restore all parent groups to prevent lockout @@ -216,14 +285,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } } @@ -238,14 +307,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } } @@ -277,28 +346,28 @@ break; case 'edit': - if ($resourceArray['id'] == $modx->getConfig('site_start') && $resourceArray['published'] == 0) { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit("Document is linked to site_start variable and cannot be unpublished!"); + if ($resourceArray['id'] == evo()->getConfig('site_start') && $resourceArray['published'] == 0) { + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit("Document is linked to site_start variable and cannot be unpublished!"); return; } - $today = $modx->timestamp(); - if ($resourceArray['id'] == $modx->getConfig('site_start') && ($resourceArray['pub_date'] > $today || $resourceArray['unpub_date'] != "0")) { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit("Document is linked to site_start variable and cannot have publish or unpublish dates set!"); + $today = evo()->timestamp(); + if ($resourceArray['id'] == evo()->getConfig('site_start') && ($resourceArray['pub_date'] > $today || $resourceArray['unpub_date'] != "0")) { + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit("Document is linked to site_start variable and cannot have publish or unpublish dates set!"); return; } if ($resourceArray['parent'] == $resourceArray['id']) { - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit("Document can not be it's own parent!"); + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit("Document can not be it's own parent!"); return; } - $parents = $modx->getParentIds($resourceArray['parent']); + $parents = evo()->getParentIds($resourceArray['parent']); if (in_array($resourceArray['id'], $parents)) { - $modx->webAlertAndQuit("Document descendant can not be it's parent!"); + evo()->webAlertAndQuit("Document descendant can not be it's parent!"); return; } @@ -313,20 +382,20 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($e->getMessage(), "index.php?a=27&id={$resourceArray['id']}"); + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a=27&id={$resourceArray['id']}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(27); - $modx->webAlertAndQuit($e->getValidationErrors(), "index.php?a=27&id={$resourceArray['id']}"); + evo()->getManagerApi()->saveFormValues(27); + evo()->webAlertAndQuit($e->getValidationErrors(), "index.php?a=27&id={$resourceArray['id']}"); return; } // set document permissions - if ($modx->getConfig('use_udperms')) { - if ($modx->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { + if (evo()->getConfig('use_udperms')) { + if (evo()->hasAnyPermissions(['manage_groups', 'manage_document_permissions'])) { $groups = []; // process the new input @@ -335,7 +404,7 @@ [$group, $link_id] = explode(',', $value_pair); // selected $group is in $userGroups or can manage groups in general - if (in_array($group, $userGroups) || $modx->hasPermission('manage_groups')) { + if (in_array($group, $userGroups) || evo()->hasPermission('manage_groups')) { $groups[] = $group; } } @@ -348,14 +417,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } } @@ -366,7 +435,7 @@ $header = "Location: {MODX_SITE_URL}index.php?id={$resourceArray['id']}&z=manprev"; } else { if ($_POST['stay'] != '2' && $resourceArray['id'] > 0) { - $modx->unlockElement(7, $resourceArray['id']); + evo()->unlockElement(7, $resourceArray['id']); } if ($_POST['stay'] != '') { if ($resourceArray['type'] == "reference") { @@ -390,6 +459,6 @@ break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit('No operation set in request.'); return; } From 8b71b44867831dca4673036f3624bd3efe7b4f85 Mon Sep 17 00:00:00 2001 From: helgispbru Date: Wed, 8 Apr 2026 10:48:51 +0300 Subject: [PATCH 09/10] change $modx to evo() --- .../processors/delete_category.processor.php | 6 +-- .../processors/delete_content.processor.php | 18 +++---- .../processors/delete_eventlog.processor.php | 6 +-- .../delete_htmlsnippet.processor.php | 12 ++--- .../processors/delete_module.processor.php | 12 ++--- .../processors/delete_plugin.processor.php | 12 ++--- .../processors/delete_snippet.processor.php | 12 ++--- .../processors/delete_template.processor.php | 16 +++--- .../processors/delete_tmplvars.processor.php | 12 ++--- .../duplicate_content.processor.php | 18 +++---- .../duplicate_htmlsnippet.processor.php | 6 +-- .../processors/duplicate_module.processor.php | 6 +-- .../processors/duplicate_plugin.processor.php | 6 +-- .../duplicate_snippet.processor.php | 6 +-- .../duplicate_template.processor.php | 6 +-- .../duplicate_tmplvars.processor.php | 6 +-- .../processors/execute_module.processor.php | 16 +++--- .../processors/optimize_table.processor.php | 14 ++--- .../processors/publish_content.processor.php | 18 +++---- manager/processors/purge_plugin.processor.php | 6 +-- .../processors/remove_content.processor.php | 10 ++-- manager/processors/remove_locks.processor.php | 8 +-- .../processors/save_htmlsnippet.processor.php | 38 +++++++------- manager/processors/save_module.processor.php | 40 +++++++-------- manager/processors/save_plugin.processor.php | 40 +++++++-------- .../processors/save_settings.processor.php | 20 ++++---- manager/processors/save_snippet.processor.php | 38 +++++++------- .../processors/save_template.processor.php | 51 +++++++++---------- .../processors/save_tmplvars.processor.php | 38 +++++++------- .../processors/undelete_content.processor.php | 22 ++++---- .../unpublish_content.processor.php | 18 +++---- .../web_access_groups.processor.php | 26 +++++----- 32 files changed, 281 insertions(+), 282 deletions(-) diff --git a/manager/processors/delete_category.processor.php b/manager/processors/delete_category.processor.php index 80eab0f5f7..e807c7fc48 100755 --- a/manager/processors/delete_category.processor.php +++ b/manager/processors/delete_category.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_plugin') && !$modx->hasPermission('save_snippet') && !$modx->hasPermission('save_template') && !$modx->hasPermission('save_module')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_plugin') && !evo()->hasPermission('save_snippet') && !evo()->hasPermission('save_template') && !evo()->hasPermission('save_module')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['catId']) ? (int) $_GET['catId'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger diff --git a/manager/processors/delete_content.processor.php b/manager/processors/delete_content.processor.php index 2dee20261d..cb36c5545e 100755 --- a/manager/processors/delete_content.processor.php +++ b/manager/processors/delete_content.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } /*******ищем родителя чтобы к нему вернуться********/ @@ -23,12 +23,12 @@ // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); -$udperms->user = $modx->getLoginUserID('mgr'); +$udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit(__('global.access_permission_denied')); + evo()->webAlertAndQuit(__('global.access_permission_denied')); } // Run deleter @@ -37,14 +37,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } diff --git a/manager/processors/delete_eventlog.processor.php b/manager/processors/delete_eventlog.processor.php index a5e6cea8c0..fded133df9 100755 --- a/manager/processors/delete_eventlog.processor.php +++ b/manager/processors/delete_eventlog.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_eventlog')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_eventlog')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $query = \EvolutionCMS\Models\EventLog::query(); @@ -12,7 +12,7 @@ } else { $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } $query = $query->where('id', $id); } diff --git a/manager/processors/delete_htmlsnippet.processor.php b/manager/processors/delete_htmlsnippet.processor.php index 14e93a0954..94371b505b 100755 --- a/manager/processors/delete_htmlsnippet.processor.php +++ b/manager/processors/delete_htmlsnippet.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_snippet')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_snippet')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,7 +16,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeChunkFormDelete event -$modx->invokeEvent('OnBeforeChunkFormDelete', [ +evo()->invokeEvent('OnBeforeChunkFormDelete', [ 'id' => $id, ]); @@ -24,12 +24,12 @@ EvolutionCMS\Models\SiteHtmlsnippet::destroy($id); // invoke OnChunkFormDelete event -$modx->invokeEvent('OnChunkFormDelete', [ +evo()->invokeEvent('OnChunkFormDelete', [ 'id' => $id, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2&tab=2"; diff --git a/manager/processors/delete_module.processor.php b/manager/processors/delete_module.processor.php index 2b0e1d0d57..d540a9a0bf 100755 --- a/manager/processors/delete_module.processor.php +++ b/manager/processors/delete_module.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_module')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_module')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,7 +16,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeModFormDelete event -$modx->invokeEvent('OnBeforeModFormDelete', [ +evo()->invokeEvent('OnBeforeModFormDelete', [ 'id' => $id, ]); @@ -28,12 +28,12 @@ EvolutionCMS\Models\SiteModuleAccess::where('module', $id)->delete(); // invoke OnModFormDelete event -$modx->invokeEvent('OnModFormDelete', [ +evo()->invokeEvent('OnModFormDelete', [ 'id' => $id, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2&tab=5"; diff --git a/manager/processors/delete_plugin.processor.php b/manager/processors/delete_plugin.processor.php index 8a331f6102..e32e4b2d84 100755 --- a/manager/processors/delete_plugin.processor.php +++ b/manager/processors/delete_plugin.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_plugin')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_plugin')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,7 +16,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforePluginFormDelete event -$modx->invokeEvent('OnBeforePluginFormDelete', [ +evo()->invokeEvent('OnBeforePluginFormDelete', [ 'id' => $id, ]); @@ -25,12 +25,12 @@ // delete the plugin events. EvolutionCMS\Models\SitePluginEvent::where('pluginid', $id)->delete(); // invoke OnPluginFormDelete event -$modx->invokeEvent('OnPluginFormDelete', [ +evo()->invokeEvent('OnPluginFormDelete', [ 'id' => $id, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2&tab=4"; diff --git a/manager/processors/delete_snippet.processor.php b/manager/processors/delete_snippet.processor.php index aa4df9a4c0..57f5bb696b 100755 --- a/manager/processors/delete_snippet.processor.php +++ b/manager/processors/delete_snippet.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_snippet')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_snippet')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // Set the item name for logger @@ -16,7 +16,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeSnipFormDelete event -$modx->invokeEvent('OnBeforeSnipFormDelete', [ +evo()->invokeEvent('OnBeforeSnipFormDelete', [ 'id' => $id, ]); @@ -24,12 +24,12 @@ EvolutionCMS\Models\SiteSnippet::destroy($id); // invoke OnSnipFormDelete event -$modx->invokeEvent('OnSnipFormDelete', [ +evo()->invokeEvent('OnSnipFormDelete', [ 'id' => $id] ); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2&tab=3"; diff --git a/manager/processors/delete_template.processor.php b/manager/processors/delete_template.processor.php index 3d35a0cf27..3d688705d0 100755 --- a/manager/processors/delete_template.processor.php +++ b/manager/processors/delete_template.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // delete the template, but first check it doesn't have any documents using it @@ -23,9 +23,9 @@ exit; } -$default_template = $modx->getConfig('default_template'); +$default_template = evo()->getConfig('default_template'); if ($id == $default_template) { - $modx->webAlertAndQuit("This template is set as the default template. Please choose a different default template in the MODX configuration before deleting this template."); + evo()->webAlertAndQuit("This template is set as the default template. Please choose a different default template in the MODX configuration before deleting this template."); } // Set the item name for logger @@ -33,7 +33,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeTempFormDelete event -$modx->invokeEvent('OnBeforeTempFormDelete', [ +evo()->invokeEvent('OnBeforeTempFormDelete', [ 'id' => $id, ]); @@ -42,12 +42,12 @@ EvolutionCMS\Models\SiteTmplvarTemplate::where('templateid', $id)->delete(); // invoke OnTempFormDelete event -$modx->invokeEvent('OnTempFormDelete', [ +evo()->invokeEvent('OnTempFormDelete', [ 'id' => $id, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2"; diff --git a/manager/processors/delete_tmplvars.processor.php b/manager/processors/delete_tmplvars.processor.php index 34768f727c..fe7b4c9b04 100755 --- a/manager/processors/delete_tmplvars.processor.php +++ b/manager/processors/delete_tmplvars.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } $forced = isset($_GET['force']) ? $_GET['force'] : 0; @@ -34,7 +34,7 @@ $_SESSION['itemname'] = $name; // invoke OnBeforeTVFormDelete event -$modx->invokeEvent('OnBeforeTVFormDelete', [ +evo()->invokeEvent('OnBeforeTVFormDelete', [ 'id' => $id, ]); @@ -42,12 +42,12 @@ EvolutionCMS\Models\SiteTmplvar::destroy($id); // invoke OnTVFormDelete event -$modx->invokeEvent('OnTVFormDelete', [ +evo()->invokeEvent('OnTVFormDelete', [ 'id' => $id, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&r=2&tab=1"; diff --git a/manager/processors/duplicate_content.processor.php b/manager/processors/duplicate_content.processor.php index d01b7912a4..507469f5ea 100755 --- a/manager/processors/duplicate_content.processor.php +++ b/manager/processors/duplicate_content.processor.php @@ -2,25 +2,25 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_document') || !$modx->hasPermission('save_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_document') || !evo()->hasPermission('save_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); -$udperms->user = $modx->getLoginUserID('mgr'); +$udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; // EvolutionCMS\Legacy\Permissions: $udperms->duplicateDoc = true; // непонятно зачем это if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit(__('global.access_permission_denied')); + evo()->webAlertAndQuit(__('global.access_permission_denied')); } // Run duplicator @@ -29,14 +29,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } diff --git a/manager/processors/duplicate_htmlsnippet.processor.php b/manager/processors/duplicate_htmlsnippet.processor.php index ba0e12409f..de52716c36 100755 --- a/manager/processors/duplicate_htmlsnippet.processor.php +++ b/manager/processors/duplicate_htmlsnippet.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_chunk')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_chunk')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates diff --git a/manager/processors/duplicate_module.processor.php b/manager/processors/duplicate_module.processor.php index f5d4da2210..c9e5280aef 100755 --- a/manager/processors/duplicate_module.processor.php +++ b/manager/processors/duplicate_module.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_module')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_module')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates $name = EvolutionCMS\Models\SiteModule::select('name')->findOrFail($id)->name; diff --git a/manager/processors/duplicate_plugin.processor.php b/manager/processors/duplicate_plugin.processor.php index 74556e4d1f..141a6c5453 100755 --- a/manager/processors/duplicate_plugin.processor.php +++ b/manager/processors/duplicate_plugin.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_plugin')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_plugin')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates diff --git a/manager/processors/duplicate_snippet.processor.php b/manager/processors/duplicate_snippet.processor.php index a51bfc7609..e931464939 100755 --- a/manager/processors/duplicate_snippet.processor.php +++ b/manager/processors/duplicate_snippet.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_snippet')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_snippet')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates diff --git a/manager/processors/duplicate_template.processor.php b/manager/processors/duplicate_template.processor.php index 550f3991b1..5e4c1f2397 100755 --- a/manager/processors/duplicate_template.processor.php +++ b/manager/processors/duplicate_template.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('new_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('new_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates diff --git a/manager/processors/duplicate_tmplvars.processor.php b/manager/processors/duplicate_tmplvars.processor.php index 48e1b8b77c..686eac9885 100755 --- a/manager/processors/duplicate_tmplvars.processor.php +++ b/manager/processors/duplicate_tmplvars.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('edit_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('edit_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_GET['id']) ? (int) $_GET['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // count duplicates diff --git a/manager/processors/execute_module.processor.php b/manager/processors/execute_module.processor.php index 6c40a85e4f..2eb7d352b3 100644 --- a/manager/processors/execute_module.processor.php +++ b/manager/processors/execute_module.processor.php @@ -5,8 +5,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('exec_module')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('exec_module')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['id'])) { if (is_numeric($_GET['id'])) { @@ -15,7 +15,7 @@ $id = $_GET['id']; } } else { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // check if user has access permission, except admins if ($_SESSION['mgrRole'] != 1 && is_numeric($id)) { @@ -25,21 +25,21 @@ ->first(); if (empty($moduleAccess)) { - $modx->webAlertAndQuit("You do not sufficient privileges to execute this module.", "index.php?a=76&tab=5"); + evo()->webAlertAndQuit("You do not sufficient privileges to execute this module.", "index.php?a=76&tab=5"); } } if (is_numeric($id)) { // get module data $content = \EvolutionCMS\Models\SiteModule::find($id); if (is_null($content)) { - $modx->webAlertAndQuit("No record found for id {$id}.", "index.php?a=76&tab=5"); + evo()->webAlertAndQuit("No record found for id {$id}.", "index.php?a=76&tab=5"); } $content = $content->toArray(); if ($content['disabled']) { - $modx->webAlertAndQuit("This module is disabled and cannot be executed.", "index.php?a=76&tab=5"); + evo()->webAlertAndQuit("This module is disabled and cannot be executed.", "index.php?a=76&tab=5"); } } else { - $content = $modx->modulesFromFile[$id]; + $content = evo()->modulesFromFile[$id]; $content['modulecode'] = file_get_contents($content['file']); $content["guid"] = ''; } @@ -47,7 +47,7 @@ $_SESSION['itemname'] = $content['name']; // load module configuration -$parameter = $modx->parseProperties($content["properties"], $content["guid"], 'module'); +$parameter = evo()->parseProperties($content["properties"], $content["guid"], 'module'); // Set the item name for logger $_SESSION['itemname'] = $content['name']; diff --git a/manager/processors/optimize_table.processor.php b/manager/processors/optimize_table.processor.php index 54f7c66c31..97e5b93f23 100755 --- a/manager/processors/optimize_table.processor.php +++ b/manager/processors/optimize_table.processor.php @@ -2,31 +2,31 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!($modx->hasPermission('settings') && ($modx->hasPermission('logs') || $modx->hasPermission('bk_manager')))) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!(evo()->hasPermission('settings') && (evo()->hasPermission('logs') || evo()->hasPermission('bk_manager')))) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_REQUEST['t'])) { if (empty($_REQUEST['t'])) { - $modx->webAlertAndQuit(__('global.error_no_optimise_tablename')); + evo()->webAlertAndQuit(__('global.error_no_optimise_tablename')); } // Set the item name for logger $_SESSION['itemname'] = $_REQUEST['t']; - if ($modx->getDatabase()->getConfig('driver') != 'pgsql') { - $modx->getDatabase()->optimize($_REQUEST['t']); + if (evo()->getDatabase()->getConfig('driver') != 'pgsql') { + evo()->getDatabase()->optimize($_REQUEST['t']); } } elseif (isset($_REQUEST['u'])) { if (empty($_REQUEST['u'])) { - $modx->webAlertAndQuit(__('global.error_no_truncate_tablename')); + evo()->webAlertAndQuit(__('global.error_no_truncate_tablename')); } // Set the item name for logger $_SESSION['itemname'] = $_REQUEST['u']; \DB::table(\DB::raw($_REQUEST['u']))->truncate(); } else { - $modx->webAlertAndQuit(__('global.error_no_optimise_tablename')); + evo()->webAlertAndQuit(__('global.error_no_optimise_tablename')); } $mode = (int) get_by_key($_REQUEST, 'mode', 93, 'is_scalar'); diff --git a/manager/processors/publish_content.processor.php b/manager/processors/publish_content.processor.php index 36200a4b26..13037daad4 100755 --- a/manager/processors/publish_content.processor.php +++ b/manager/processors/publish_content.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_document') || !$modx->hasPermission('publish_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_document') || !evo()->hasPermission('publish_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } /************webber ********/ @@ -23,12 +23,12 @@ // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); -$udperms->user = $modx->getLoginUserID('mgr'); +$udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit(__('global.access_permission_denied')); + evo()->webAlertAndQuit(__('global.access_permission_denied')); } // Run publisher @@ -37,14 +37,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } diff --git a/manager/processors/purge_plugin.processor.php b/manager/processors/purge_plugin.processor.php index a993e5b36e..26d91eb1fc 100755 --- a/manager/processors/purge_plugin.processor.php +++ b/manager/processors/purge_plugin.processor.php @@ -3,7 +3,7 @@ exit(); } -if (!$modx->hasPermission('delete_plugin')) { +if (!evo()->hasPermission('delete_plugin')) { $e->setError(3); $e->dumpError(); } @@ -31,7 +31,7 @@ // Keep latest version of disabled plugins // invoke OnBeforePluginFormDelete event - $modx->invokeEvent('OnBeforePluginFormDelete', [ + evo()->invokeEvent('OnBeforePluginFormDelete', [ 'id' => $id, ]); @@ -48,7 +48,7 @@ exit; } else { // invoke OnPluginFormDelete event - $modx->invokeEvent('OnPluginFormDelete', [ + evo()->invokeEvent('OnPluginFormDelete', [ 'id' => $id, ]); } diff --git a/manager/processors/remove_content.processor.php b/manager/processors/remove_content.processor.php index 9f654dd73c..11ffa02aee 100755 --- a/manager/processors/remove_content.processor.php +++ b/manager/processors/remove_content.processor.php @@ -2,14 +2,14 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $ids = \EvolutionCMS\Models\SiteContent::query()->withTrashed()->where('deleted', 1)->pluck('id')->toArray(); // invoke OnBeforeEmptyTrash event -$modx->invokeEvent('OnBeforeEmptyTrash', [ +evo()->invokeEvent('OnBeforeEmptyTrash', [ 'ids' => $ids, ]); @@ -23,12 +23,12 @@ \EvolutionCMS\Models\SiteContent::query()->where('deleted', 1)->forceDelete(); // invoke OnEmptyTrash event -$modx->invokeEvent('OnEmptyTrash', [ +evo()->invokeEvent('OnEmptyTrash', [ 'ids' => $ids, ]); // empty cache -$modx->clearCache('full'); +evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=2&r=1"; diff --git a/manager/processors/remove_locks.processor.php b/manager/processors/remove_locks.processor.php index 21168ce1fa..929a49acff 100755 --- a/manager/processors/remove_locks.processor.php +++ b/manager/processors/remove_locks.processor.php @@ -4,8 +4,8 @@ } if (!isset($_GET['id'])) { - if (!$modx->hasPermission('remove_locks')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); + if (!evo()->hasPermission('remove_locks')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } // Remove all locks @@ -18,9 +18,9 @@ // Remove single locks via AJAX / window.onbeforeunload $type = (int) $_GET['type']; $id = (int) $_GET['id']; - $includeAllUsers = $modx->hasPermission('remove_locks'); // Enables usage of "unlock"-ajax-button + $includeAllUsers = evo()->hasPermission('remove_locks'); // Enables usage of "unlock"-ajax-button if ($type && $id) { - $modx->unlockElement($type, $id, $includeAllUsers); + evo()->unlockElement($type, $id, $includeAllUsers); echo '1'; exit; } else { diff --git a/manager/processors/save_htmlsnippet.processor.php b/manager/processors/save_htmlsnippet.processor.php index 805201851a..721f07cda3 100755 --- a/manager/processors/save_htmlsnippet.processor.php +++ b/manager/processors/save_htmlsnippet.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_chunk')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_chunk')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,22 +13,22 @@ try { $chunk = EvolutionCMS\Models\SiteHtmlsnippet::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforeChunkFormSave', [ + evo()->invokeEvent('OnBeforeChunkFormSave', [ 'mode' => 'upd', 'id' => $id, ]); $_SESSION['itemname'] = $chunk->name; $chunk->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent('OnChunkFormSave', [ + evo()->invokeEvent('OnChunkFormSave', [ 'mode' => 'upd', 'id' => $id, ]); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&tab=2&r=2"; @@ -42,7 +42,7 @@ $description = $_POST['description']; $locked = isset($_POST['locked']) && $_POST['locked'] == 'on' ? 1 : 0; $disabled = isset($_POST['disabled']) && $_POST['disabled'] == "on" ? '1' : '0'; -$createdon = $editedon = time() + $modx->config['server_offset_time']; +$createdon = $editedon = time() + evo()->config['server_offset_time']; //Kyle Jaebker - added category support if (empty($_POST['newcategory']) && $_POST['categoryid'] > 0) { @@ -67,22 +67,22 @@ switch ($_POST['mode']) { case '77': // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforeChunkFormSave', [ + evo()->invokeEvent('OnBeforeChunkFormSave', [ 'mode' => 'new', 'id' => $id, ]); // disallow duplicate names for new chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('name', '=', $name)->first()) { - $modx->getManagerApi()->saveFormValues(77); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=77"); + evo()->getManagerApi()->saveFormValues(77); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=77"); } //do stuff to save the new doc $id = EvolutionCMS\Models\SiteHtmlsnippet::create(compact('name', 'description', 'snippet', 'locked', 'category', 'editor_type', 'editor_name', 'disabled', 'createdon', 'editedon'))->getKey(); // invoke OnChunkFormSave event - $modx->invokeEvent('OnChunkFormSave', [ + evo()->invokeEvent('OnChunkFormSave', [ 'mode' => 'new', 'id' => $id, ]); @@ -91,7 +91,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -105,15 +105,15 @@ break; case '78': // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforeChunkFormSave', [ + evo()->invokeEvent('OnBeforeChunkFormSave', [ 'mode' => 'upd', 'id' => $id, ]); // disallow duplicate names for chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { - $modx->getManagerApi()->saveFormValues(78); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=78&id={$id}"); + evo()->getManagerApi()->saveFormValues(78); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=78&id={$id}"); } //do stuff to save the edited doc @@ -122,7 +122,7 @@ $chunk->update(compact('name', 'description', 'snippet', 'locked', 'category', 'editor_type', 'editor_name', 'disabled', 'editedon')); // invoke OnChunkFormSave event - $modx->invokeEvent('OnChunkFormSave', [ + evo()->invokeEvent('OnChunkFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -131,7 +131,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -139,11 +139,11 @@ $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $modx->unlockElement(3, $id); + evo()->unlockElement(3, $id); $header = "Location: index.php?a=76&r=2"; header($header); } break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } diff --git a/manager/processors/save_module.processor.php b/manager/processors/save_module.processor.php index 7ee11bdb63..884f80da90 100755 --- a/manager/processors/save_module.processor.php +++ b/manager/processors/save_module.processor.php @@ -4,8 +4,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_module')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_module')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } else { $use_udperms = 1; } @@ -17,22 +17,22 @@ try { $module = EvolutionCMS\Models\SiteModule::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforeModFormSave', [ + evo()->invokeEvent('OnBeforeModFormSave', [ 'mode' => 'upd', 'id' => $id, ]); $_SESSION['itemname'] = $module->name; $module->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent('OnModFormSave', [ + evo()->invokeEvent('OnModFormSave', [ 'mode' => 'upd', 'id' => $id, ]); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&tab=5&r=2"; @@ -55,7 +55,7 @@ $enable_sharedparams = (isset($_POST['enable_sharedparams']) && $_POST['enable_sharedparams'] == 'on') == 'on' ? 1 : 0; $guid = $_POST['guid']; $parse_docblock = (isset($_POST['parse_docblock']) && $_POST['parse_docblock'] == 'on') == "1" ? '1' : '0'; -$currentdate = time() + $modx->config['server_offset_time']; +$currentdate = time() + evo()->config['server_offset_time']; //Kyle Jaebker - added category support if (empty($_POST['newcategory']) && $_POST['categoryid'] > 0) { @@ -75,7 +75,7 @@ } if ($parse_docblock) { - $parsed = $modx->parseDocBlockFromString($modulecode, true); + $parsed = evo()->parseDocBlockFromString($modulecode, true); $name = isset($parsed['name']) ? $parsed['name'] : $name; $properties = isset($parsed['properties']) ? $parsed['properties'] : $properties; $guid = isset($parsed['guid']) ? $parsed['guid'] : $guid; @@ -95,7 +95,7 @@ switch ($_POST['mode']) { case '107': // invoke OnBeforeModFormSave event - $modx->invokeEvent('OnBeforeModFormSave', [ + evo()->invokeEvent('OnBeforeModFormSave', [ 'mode' => 'new', 'id' => $id, ]); @@ -103,8 +103,8 @@ // disallow duplicate names for new modules $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(107); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=107"); + evo()->getManagerApi()->saveFormValues(107); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=107"); } // save the new module @@ -130,7 +130,7 @@ saveUserGroupAccessPermissons(); // invoke OnModFormSave event - $modx->invokeEvent('OnModFormSave', [ + evo()->invokeEvent('OnModFormSave', [ 'mode' => 'new', 'id' => $newid, ]); @@ -139,7 +139,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -153,7 +153,7 @@ break; case '108': // invoke OnBeforeModFormSave event - $modx->invokeEvent('OnBeforeModFormSave', [ + evo()->invokeEvent('OnBeforeModFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -162,8 +162,8 @@ $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->where('id', '!=', $id)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(108); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=108&id={$id}"); + evo()->getManagerApi()->saveFormValues(108); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=108&id={$id}"); } // save the edited module @@ -188,7 +188,7 @@ saveUserGroupAccessPermissons(); // invoke OnModFormSave event - $modx->invokeEvent('OnModFormSave', [ + evo()->invokeEvent('OnModFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -197,7 +197,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -205,11 +205,11 @@ $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $modx->unlockElement(6, $id); + evo()->unlockElement(6, $id); $header = "Location: index.php?a=76&tab=5&r=2"; header($header); } break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } diff --git a/manager/processors/save_plugin.processor.php b/manager/processors/save_plugin.processor.php index 2b83d276d6..e8131a37ba 100755 --- a/manager/processors/save_plugin.processor.php +++ b/manager/processors/save_plugin.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die('INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly.'); } -if (!$modx->hasPermission('save_plugin')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_plugin')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,22 +13,22 @@ try { $plugin = EvolutionCMS\Models\SitePlugin::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforePluginFormSave', [ + evo()->invokeEvent('OnBeforePluginFormSave', [ 'mode' => 'upd', 'id' => $id, ]); $_SESSION['itemname'] = $plugin->name; $plugin->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent('OnPluginFormSave', [ + evo()->invokeEvent('OnPluginFormSave', [ 'mode' => 'upd', 'id' => $id, ]); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&tab=4&r=2"; @@ -46,7 +46,7 @@ $moduleguid = $_POST['moduleguid']; $sysevents = !empty($_POST['sysevents']) ? $_POST['sysevents'] : []; $parse_docblock = isset($_POST['parse_docblock']) && $_POST['parse_docblock'] == '1' ? '1' : '0'; -$currentdate = time() + $modx->config['server_offset_time']; +$currentdate = time() + evo()->config['server_offset_time']; //Kyle Jaebker - added category support if (empty($_POST['newcategory']) && $_POST['categoryid'] > 0) { @@ -63,7 +63,7 @@ } if ($parse_docblock) { - $parsed = $modx->parseDocBlockFromString($plugincode, true); + $parsed = evo()->parseDocBlockFromString($plugincode, true); $name = isset($parsed['name']) ? $parsed['name'] : $name; $sysevents = isset($parsed['events']) ? explode(',', $parsed['events']) : $sysevents; $properties = isset($parsed['properties']) ? $parsed['properties'] : $properties; @@ -84,7 +84,7 @@ switch ($_POST['mode']) { case '101': // invoke OnBeforePluginFormSave event - $modx->invokeEvent('OnBeforePluginFormSave', [ + evo()->invokeEvent('OnBeforePluginFormSave', [ 'mode' => 'new', 'id' => $id, ]); @@ -93,8 +93,8 @@ if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(101); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), 'index.php?a=101'); + evo()->getManagerApi()->saveFormValues(101); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), 'index.php?a=101'); } } @@ -116,7 +116,7 @@ saveEventListeners($newid, $sysevents, $_POST['mode']); // invoke OnPluginFormSave event - $modx->invokeEvent('OnPluginFormSave', [ + evo()->invokeEvent('OnPluginFormSave', [ 'mode' => 'new', 'id' => $newid, ]); @@ -125,7 +125,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -139,7 +139,7 @@ break; case '102': // invoke OnBeforePluginFormSave event - $modx->invokeEvent('OnBeforePluginFormSave', [ + evo()->invokeEvent('OnBeforePluginFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -148,8 +148,8 @@ if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->where('id', '!=', $id)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(102); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a=102&id={$id}"); + evo()->getManagerApi()->saveFormValues(102); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a=102&id={$id}"); } } @@ -170,7 +170,7 @@ saveEventListeners($id, $sysevents, $_POST['mode']); // invoke OnPluginFormSave event - $modx->invokeEvent('OnPluginFormSave', [ + evo()->invokeEvent('OnPluginFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -179,7 +179,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -187,11 +187,11 @@ $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $modx->unlockElement(5, $id); + evo()->unlockElement(5, $id); $header = "Location: index.php?a=76&tab=4&r=2"; header($header); } break; default: - $modx->webAlertAndQuit('No operation set in request.'); + evo()->webAlertAndQuit('No operation set in request.'); } diff --git a/manager/processors/save_settings.processor.php b/manager/processors/save_settings.processor.php index 58f8b210e7..9164de75ec 100755 --- a/manager/processors/save_settings.processor.php +++ b/manager/processors/save_settings.processor.php @@ -4,8 +4,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('settings')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('settings')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $defaultSettings = config('cms.settings', []); $data = $_POST + $defaultSettings; @@ -45,8 +45,8 @@ } } -if (file_exists(MODX_MANAGER_PATH . 'media/style/' . $modx->getConfig('manager_theme') . '/css/styles.min.css')) { - unlink(MODX_MANAGER_PATH . 'media/style/' . $modx->getConfig('manager_theme') . '/css/styles.min.css'); +if (file_exists(MODX_MANAGER_PATH . 'media/style/' . evo()->getConfig('manager_theme') . '/css/styles.min.css')) { + unlink(MODX_MANAGER_PATH . 'media/style/' . evo()->getConfig('manager_theme') . '/css/styles.min.css'); } $data['filemanager_path'] = str_replace('[(base_path)]', MODX_BASE_PATH, $data['filemanager_path']); @@ -60,7 +60,7 @@ $data['lang_code'] = $data['manager_language']; } } - $data['sys_files_checksum'] = $modx->getManagerApi()->getSystemChecksum($data['check_files_onlogin']); + $data['sys_files_checksum'] = evo()->getManagerApi()->getSystemChecksum($data['check_files_onlogin']); foreach ($data as $k => $v) { if (isset($defaultSettings[$k])) { continue; @@ -68,9 +68,9 @@ switch ($k) { case 'settings_version': - if ($modx->getVersionData('version') != $data['settings_version']) { - $modx->logEvent(17, 2, '
' . var_export($data['settings_version'], true) . '
', 'fake settings_version'); - $v = $modx->getVersionData('version'); + if (evo()->getVersionData('version') != $data['settings_version']) { + evo()->logEvent(17, 2, '
' . var_export($data['settings_version'], true) . '
', 'fake settings_version'); + $v = evo()->getVersionData('version'); } break; case 'error_page': @@ -112,7 +112,7 @@ } $v = is_array($v) ? implode(",", $v) : $v; - $modx->config[$k] = $v; + evo()->config[$k] = $v; if (!empty($k)) { \EvolutionCMS\Models\SystemSetting::query()->updateOrCreate(['setting_name' => $k], ['setting_value' => $v]); @@ -132,7 +132,7 @@ } // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); } $header = "Location: index.php?a=7&r=10"; header($header); diff --git a/manager/processors/save_snippet.processor.php b/manager/processors/save_snippet.processor.php index 9bb0f94303..6cdb47eb64 100755 --- a/manager/processors/save_snippet.processor.php +++ b/manager/processors/save_snippet.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_snippet')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_snippet')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['disabled'])) { @@ -13,22 +13,22 @@ try { $snippet = EvolutionCMS\Models\SiteSnippet::findOrFail($id); // invoke OnBeforeChunkFormSave event - $modx->invokeEvent('OnBeforeSnipFormSave', [ + evo()->invokeEvent('OnBeforeSnipFormSave', [ 'mode' => 'upd', 'id' => $id, ]); $_SESSION['itemname'] = $snippet->name; $snippet->update(['disabled' => $disabled]); // invoke OnChunkFormSave event - $modx->invokeEvent('OnSnipFormSave', [ + evo()->invokeEvent('OnSnipFormSave', [ 'mode' => 'upd', 'id' => $id, ]); } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect $header = "Location: index.php?a=76&tab=3&r=2"; @@ -42,7 +42,7 @@ $description = $_POST['description']; $locked = isset($_POST['locked']) && $_POST['locked'] == 'on' ? 1 : 0; $disabled = isset($_POST['disabled']) && $_POST['disabled'] == "on" ? '1' : '0'; -$createdon = $editedon = time() + $modx->config['server_offset_time']; +$createdon = $editedon = time() + evo()->config['server_offset_time']; // strip out PHP tags from snippets if (strncmp($snippet, "invokeEvent('OnBeforeSnipFormSave', [ + evo()->invokeEvent('OnBeforeSnipFormSave', [ 'mode' => 'new', 'id' => $id, ]); // disallow duplicate names for new snippets if (EvolutionCMS\Models\SiteSnippet::where('name', '=', $name)->first()) { - $modx->getManagerApi()->saveFormValues(23); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=23"); + evo()->getManagerApi()->saveFormValues(23); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=23"); } //do stuff to save the new doc $newid = EvolutionCMS\Models\SiteSnippet::create(compact('name', 'description', 'snippet', 'moduleguid', 'locked', 'properties', 'category', 'disabled', 'createdon', 'editedon'))->getKey(); // invoke OnSnipFormSave event - $modx->invokeEvent('OnSnipFormSave', [ + evo()->invokeEvent('OnSnipFormSave', [ 'mode' => 'new', 'id' => $newid, ]); @@ -121,7 +121,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -135,15 +135,15 @@ break; case '22': // Save existing snippet // invoke OnBeforeSnipFormSave event - $modx->invokeEvent('OnBeforeSnipFormSave', [ + evo()->invokeEvent('OnBeforeSnipFormSave', [ 'mode' => 'upd', 'id' => $id, ]); // disallow duplicate names for snippets if (EvolutionCMS\Models\SiteSnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { - $modx->getManagerApi()->saveFormValues(22); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=22&id={$id}"); + evo()->getManagerApi()->saveFormValues(22); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=22&id={$id}"); } //do stuff to save the edited doc @@ -152,7 +152,7 @@ $siteSnippet->update(compact('name', 'description', 'snippet', 'moduleguid', 'locked', 'properties', 'category', 'disabled', 'editedon')); // invoke OnSnipFormSave event - $modx->invokeEvent('OnSnipFormSave', [ + evo()->invokeEvent('OnSnipFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -161,7 +161,7 @@ $_SESSION['itemname'] = $name; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -169,11 +169,11 @@ $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $modx->unlockElement(4, $id); + evo()->unlockElement(4, $id); $header = "Location: index.php?a=76&tab=3&r=2"; header($header); } break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } diff --git a/manager/processors/save_template.processor.php b/manager/processors/save_template.processor.php index 225d43d891..720223baaf 100755 --- a/manager/processors/save_template.processor.php +++ b/manager/processors/save_template.processor.php @@ -6,8 +6,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } if (isset($_GET['selectable'])) { @@ -18,7 +18,7 @@ /** @var SiteTemplate $template */ $template = SiteTemplate::query()->findOrFail($id); - $modx->invokeEvent('OnBeforeTempFormSave', [ + evo()->invokeEvent('OnBeforeTempFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -26,12 +26,12 @@ $_SESSION['itemname'] = $template->templatename; $template->update(['selectable' => $selectable]); - $modx->invokeEvent('OnTempFormSave', [ + evo()->invokeEvent('OnTempFormSave', [ 'mode' => 'upd', 'id' => $id, ]); } catch (ModelNotFoundException $e) { - $modx->webAlertAndQuit(__('global.global.error_no_id')); + evo()->webAlertAndQuit(__('global.global.error_no_id')); } $header = 'Location: index.php?a=76&tab=0&r=2'; @@ -46,9 +46,8 @@ $templatecontroller = trim($_POST['templatecontroller']); $description = $_POST['description']; $locked = isset($_POST['locked']) && $_POST['locked'] == 'on' ? 1 : 0; -$selectable = $id == $modx->config['default_template'] ? 1 : // Force selectable -(isset($_POST['selectable']) && $_POST['selectable'] == 'on' ? 1 : 0); -$currentdate = time() + $modx->config['server_offset_time']; +$selectable = ($id == evo()->config['default_template']) ? 1 : (isset($_POST['selectable']) && $_POST['selectable'] == 'on' ? 1 : 0); // Force selectable +$currentdate = time() + evo()->config['server_offset_time']; //Kyle Jaebker - added category support if (empty($_POST['newcategory']) && $_POST['categoryid'] > 0) { @@ -92,7 +91,7 @@ function createBladeFile($templatealias) switch ($_POST['mode']) { case '19': // invoke OnBeforeTempFormSave event - $modx->invokeEvent('OnBeforeTempFormSave', [ + evo()->invokeEvent('OnBeforeTempFormSave', [ 'mode' => 'new', 'id' => $id, ]); @@ -100,21 +99,21 @@ function createBladeFile($templatealias) // disallow duplicate names for new templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(19); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=19"); + evo()->getManagerApi()->saveFormValues(19); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=19"); } if ($templatealias == '') { $templatealias = $templatename; } - $templatealias = strtolower($modx->stripAlias(trim($templatealias))); + $templatealias = strtolower(evo()->stripAlias(trim($templatealias))); $count = \EvolutionCMS\Models\SiteTemplate::where('templatealias', $templatealias)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(19); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=19"); + evo()->getManagerApi()->saveFormValues(19); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=19"); } //do stuff to save the new doc $newid = \EvolutionCMS\Models\SiteTemplate::query()->insertGetId([ @@ -131,7 +130,7 @@ function createBladeFile($templatealias) ]); // invoke OnTempFormSave event - $modx->invokeEvent('OnTempFormSave', [ + evo()->invokeEvent('OnTempFormSave', [ 'mode' => 'new', 'id' => $newid, ]); @@ -146,7 +145,7 @@ function createBladeFile($templatealias) $_SESSION['itemname'] = $templatename; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -161,7 +160,7 @@ function createBladeFile($templatealias) break; case '16': // invoke OnBeforeTempFormSave event - $modx->invokeEvent('OnBeforeTempFormSave', [ + evo()->invokeEvent('OnBeforeTempFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -169,21 +168,21 @@ function createBladeFile($templatealias) // disallow duplicate names for templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->where('id', '!=', $id)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(16); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=16&id={$id}"); + evo()->getManagerApi()->saveFormValues(16); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=16&id={$id}"); } if ($templatealias == '') { $templatealias = $templatename; } - $templatealias = strtolower($modx->stripAlias(trim($templatealias))); + $templatealias = strtolower(evo()->stripAlias(trim($templatealias))); $count = \EvolutionCMS\Models\SiteTemplate::where('templatealias', $templatealias)->where('id', '!=', $id)->count(); if ($count > 0) { - $modx->getManagerApi()->saveFormValues(16); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=16&id={$id}"); + evo()->getManagerApi()->saveFormValues(16); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=16&id={$id}"); } //do stuff to save the edited doc \EvolutionCMS\Models\SiteTemplate::find($id)->update([ @@ -205,7 +204,7 @@ function createBladeFile($templatealias) } // invoke OnTempFormSave event - $modx->invokeEvent('OnTempFormSave', [ + evo()->invokeEvent('OnTempFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -214,7 +213,7 @@ function createBladeFile($templatealias) $_SESSION['itemname'] = $templatename; // first empty the cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -222,11 +221,11 @@ function createBladeFile($templatealias) $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}"; header($header); } else { - $modx->unlockElement(1, $id); + evo()->unlockElement(1, $id); $header = "Location: index.php?a=76&r=2"; header($header); } break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } diff --git a/manager/processors/save_tmplvars.processor.php b/manager/processors/save_tmplvars.processor.php index 852c5a7fc9..c3e1dbb829 100755 --- a/manager/processors/save_tmplvars.processor.php +++ b/manager/processors/save_tmplvars.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_template')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_template')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = (int) $_POST['id']; @@ -19,7 +19,7 @@ $locked = isset($_POST['locked']) && $_POST['locked'] == 'on' ? 1 : 0; $origin = isset($_REQUEST['or']) ? (int) $_REQUEST['or'] : 76; $originId = isset($_REQUEST['oid']) ? (int) $_REQUEST['oid'] : null; -$currentdate = time() + $modx->config['server_offset_time']; +$currentdate = time() + evo()->config['server_offset_time']; $properties = $_POST['properties']; //Kyle Jaebker - added category support @@ -41,21 +41,21 @@ switch ($_POST['mode']) { case '300': // invoke OnBeforeTVFormSave event - $modx->invokeEvent('OnBeforeTVFormSave', [ + evo()->invokeEvent('OnBeforeTVFormSave', [ 'mode' => 'new', 'id' => $id, ]); // disallow duplicate names for new tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->first()) { - $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=300"); + evo()->getManagerApi()->saveFormValues(300); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=300"); } // disallow reserved names if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { $_POST['name'] = ''; - $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=300"); + evo()->getManagerApi()->saveFormValues(300); + evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=300"); } // Add new TV @@ -84,7 +84,7 @@ saveVarRoles($newid); // invoke OnTVFormSave event - $modx->invokeEvent('OnTVFormSave', [ + evo()->invokeEvent('OnTVFormSave', [ 'mode' => 'new', 'id' => $newid, ]); @@ -93,7 +93,7 @@ $_SESSION['itemname'] = $caption; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -107,20 +107,20 @@ break; case '301': // invoke OnBeforeTVFormSave event - $modx->invokeEvent('OnBeforeTVFormSave', [ + evo()->invokeEvent('OnBeforeTVFormSave', [ 'mode' => 'upd', 'id' => $id, ]); // disallow duplicate names for tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->where('id', '!=', $id)->first()) { - $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=301&id={$id}"); + evo()->getManagerApi()->saveFormValues(300); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=301&id={$id}"); } // disallow reserved names if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { - $modx->getManagerApi()->saveFormValues(300); - $modx->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=301&id={$id}"); + evo()->getManagerApi()->saveFormValues(300); + evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=301&id={$id}"); } // update TV @@ -148,7 +148,7 @@ saveVarRoles($id); // invoke OnTVFormSave event - $modx->invokeEvent('OnTVFormSave', [ + evo()->invokeEvent('OnTVFormSave', [ 'mode' => 'upd', 'id' => $id, ]); @@ -157,7 +157,7 @@ $_SESSION['itemname'] = $caption; // empty cache - $modx->clearCache('full'); + evo()->clearCache('full'); // finished emptying cache - redirect if ($_POST['stay'] != '') { @@ -165,12 +165,12 @@ $header = "Location: index.php?a={$a}&r=2&stay={$_POST['stay']}&or={$origin}&oid={$originId}"; header($header); } else { - $modx->unlockElement(2, $id); + evo()->unlockElement(2, $id); $header = "Location: index.php?a={$origin}&r=2" . (empty($originId) ? '' : '&id=' . $originId); header($header); } break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } diff --git a/manager/processors/undelete_content.processor.php b/manager/processors/undelete_content.processor.php index 4a6dea5c52..140676855e 100755 --- a/manager/processors/undelete_content.processor.php +++ b/manager/processors/undelete_content.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('delete_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('delete_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } $document = \EvolutionCMS\Models\SiteContent::withTrashed()->findOrFail($id); @@ -16,7 +16,7 @@ $pid = ($document->parent == 0 ? $id : $document->parent); $parentDeleted = $document->parent > 0 && empty(\EvolutionCMS\Models\SiteContent::find($document->parent)); if ($parentDeleted) { - $modx->webAlertAndQuit(__('global.error_parent_deleted')); + evo()->webAlertAndQuit(__('global.error_parent_deleted')); } $sd = isset($_REQUEST['dir']) ? '&dir=' . $_REQUEST['dir'] : '&dir=DESC'; $sb = isset($_REQUEST['sort']) ? '&sort=' . $_REQUEST['sort'] : '&sort=createdon'; @@ -25,17 +25,17 @@ // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); -$udperms->user = $modx->getLoginUserID('mgr'); +$udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit(__('global.access_permission_denied')); + evo()->webAlertAndQuit(__('global.access_permission_denied')); } // get the timestamp on which the document was deleted. if (!$document->deletedon) { - $modx->webAlertAndQuit("Couldn't find document to determine it's date of deletion!"); + evo()->webAlertAndQuit("Couldn't find document to determine it's date of deletion!"); } // Run undeleter @@ -44,14 +44,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } diff --git a/manager/processors/unpublish_content.processor.php b/manager/processors/unpublish_content.processor.php index 9a11ed0dc8..3a777af74c 100755 --- a/manager/processors/unpublish_content.processor.php +++ b/manager/processors/unpublish_content.processor.php @@ -2,13 +2,13 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('save_document') || !$modx->hasPermission('publish_document')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('save_document') || !evo()->hasPermission('publish_document')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if ($id == 0) { - $modx->webAlertAndQuit(__('global.error_no_id')); + evo()->webAlertAndQuit(__('global.error_no_id')); } /************webber ********/ @@ -23,12 +23,12 @@ // check permissions on the document $udperms = new EvolutionCMS\Legacy\Permissions(); -$udperms->user = $modx->getLoginUserID('mgr'); +$udperms->user = evo()->getLoginUserID('mgr'); $udperms->document = $id; $udperms->role = $_SESSION['mgrRole']; if (!$udperms->checkPermissions()) { - $modx->webAlertAndQuit(__('global.access_permission_denied')); + evo()->webAlertAndQuit(__('global.access_permission_denied')); } // Run unpublisher @@ -37,14 +37,14 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { // \Log::error('Validation error: ' . $e->getValidationErrors()); - $modx->getManagerApi()->saveFormValues(4); - $modx->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + evo()->getManagerApi()->saveFormValues(4); + evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); return; } diff --git a/manager/processors/web_access_groups.processor.php b/manager/processors/web_access_groups.processor.php index 17f1e9c1cc..6b166800b0 100755 --- a/manager/processors/web_access_groups.processor.php +++ b/manager/processors/web_access_groups.processor.php @@ -2,8 +2,8 @@ if (!defined('IN_MANAGER_MODE') || IN_MANAGER_MODE !== true) { die("INCLUDE_ORDERING_ERROR

Please use the EVO Content Manager instead of accessing this file directly."); } -if (!$modx->hasPermission('manage_groups')) { - $modx->webAlertAndQuit(__('global.error_no_privileges')); +if (!evo()->hasPermission('manage_groups')) { + evo()->webAlertAndQuit(__('global.error_no_privileges')); } // web access group processor. @@ -16,11 +16,11 @@ case "add_user_group": $newgroup = $_REQUEST['newusergroup'] ?? ''; if (empty($newgroup)) { - $modx->webAlertAndQuit("No group name specified."); + evo()->webAlertAndQuit("No group name specified."); } else { $id = \EvolutionCMS\Models\MembergroupName::query()->insertGetId(['name' => $newgroup]); // invoke OnWebCreateGroup event - $modx->invokeEvent('OnCreateUserGroup', [ + evo()->invokeEvent('OnCreateUserGroup', [ 'groupid' => $id, 'groupname' => $newgroup, ]); @@ -29,12 +29,12 @@ case "add_document_group": $newgroup = $_REQUEST['newdocgroup'] ?? ''; if (empty($newgroup)) { - $modx->webAlertAndQuit("No group name specified."); + evo()->webAlertAndQuit("No group name specified."); } else { $id = \EvolutionCMS\Models\DocumentgroupName::query()->insertGetId(['name' => $newgroup]); // invoke OnCreateDocGroup event - $modx->invokeEvent('OnCreateDocGroup', [ + evo()->invokeEvent('OnCreateDocGroup', [ 'groupid' => $id, 'groupname' => $newgroup, ]); @@ -44,7 +44,7 @@ $updategroupaccess = true; $usergroup = (int) ($_REQUEST['usergroup'] ?? ''); if (empty($usergroup)) { - $modx->webAlertAndQuit("No user group id specified for deletion."); + evo()->webAlertAndQuit("No user group id specified for deletion."); } else { \EvolutionCMS\Models\MembergroupName::where('id', $usergroup)->delete(); @@ -56,7 +56,7 @@ case "delete_document_group": $group = (int) ($_REQUEST['documentgroup'] ?? ''); if (empty($group)) { - $modx->webAlertAndQuit("No document group id specified for deletion."); + evo()->webAlertAndQuit("No document group id specified for deletion."); } else { \EvolutionCMS\Models\DocumentgroupName::where('id', $group)->delete(); @@ -68,22 +68,22 @@ case "rename_user_group": $newgroupname = $_REQUEST['newgroupname'] ?? ''; if (empty($newgroupname)) { - $modx->webAlertAndQuit("No group name specified."); + evo()->webAlertAndQuit("No group name specified."); } $groupid = (int) $_REQUEST['groupid']; if (empty($groupid)) { - $modx->webAlertAndQuit("No user group id specified for rename."); + evo()->webAlertAndQuit("No user group id specified for rename."); } \EvolutionCMS\Models\MembergroupName::where('id', $groupid)->update(['name' => $newgroupname]); break; case "rename_document_group": $newgroupname = $_REQUEST['newgroupname'] ?? ''; if (empty($newgroupname)) { - $modx->webAlertAndQuit("No group name specified."); + evo()->webAlertAndQuit("No group name specified."); } $groupid = (int) ($_REQUEST['groupid'] ?? ''); if (empty($groupid)) { - $modx->webAlertAndQuit("No document group id specified for rename."); + evo()->webAlertAndQuit("No document group id specified for rename."); } \EvolutionCMS\Models\DocumentgroupName::where('id', $groupid)->update(['name' => $newgroupname]); break; @@ -115,7 +115,7 @@ \EvolutionCMS\Models\MembergroupAccess::where('id', $coupling)->delete(); break; default: - $modx->webAlertAndQuit("No operation set in request."); + evo()->webAlertAndQuit("No operation set in request."); } // secure web documents - flag as private From 8de8814207a733e255eda35db3cdeda63ed3023b Mon Sep 17 00:00:00 2001 From: helgispbru Date: Sat, 11 Apr 2026 11:37:16 +0300 Subject: [PATCH 10/10] processors messages and checks --- .../processors/delete_content.processor.php | 13 ++- .../duplicate_content.processor.php | 13 ++- .../processors/publish_content.processor.php | 13 ++- manager/processors/save_content.processor.php | 103 +++++++++++------- .../processors/save_htmlsnippet.processor.php | 10 +- manager/processors/save_module.processor.php | 10 +- manager/processors/save_plugin.processor.php | 10 +- manager/processors/save_snippet.processor.php | 10 +- .../processors/save_template.processor.php | 20 ++-- .../processors/save_tmplvars.processor.php | 22 ++-- .../processors/undelete_content.processor.php | 13 ++- .../unpublish_content.processor.php | 13 ++- manager/views/page/62.php | 2 +- 13 files changed, 154 insertions(+), 98 deletions(-) diff --git a/manager/processors/delete_content.processor.php b/manager/processors/delete_content.processor.php index cb36c5545e..bdddbed30e 100755 --- a/manager/processors/delete_content.processor.php +++ b/manager/processors/delete_content.processor.php @@ -37,14 +37,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } diff --git a/manager/processors/duplicate_content.processor.php b/manager/processors/duplicate_content.processor.php index 507469f5ea..f4abb4f241 100755 --- a/manager/processors/duplicate_content.processor.php +++ b/manager/processors/duplicate_content.processor.php @@ -29,14 +29,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } diff --git a/manager/processors/publish_content.processor.php b/manager/processors/publish_content.processor.php index 13037daad4..66dd5520c8 100755 --- a/manager/processors/publish_content.processor.php +++ b/manager/processors/publish_content.processor.php @@ -37,14 +37,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } diff --git a/manager/processors/save_content.processor.php b/manager/processors/save_content.processor.php index 80d8079913..8d189041b5 100644 --- a/manager/processors/save_content.processor.php +++ b/manager/processors/save_content.processor.php @@ -140,12 +140,14 @@ if (!$exist) { if ($actionToTake == 'edit') { - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a=27&id={$resourceArray['id']}"); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a={$action}&id={$resourceArray['id']}"); return; } else { - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit(__('global.resource_permissions_error'), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(__('global.resource_permissions_error'), "index.php?a={$action}"); return; } } @@ -184,12 +186,14 @@ if (!$udperms->checkPermissions()) { if ($actionToTake == 'edit') { - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a=27&id={$resourceArray['id']}"); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a={$action}&id={$resourceArray['id']}"); return; } else { - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(__('global.access_permission_parent_denied'), "index.php?a={$action}"); return; } } @@ -212,18 +216,21 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } - // permissions is on + // permissions are on if (evo()->getConfig('use_udperms')) { // parent document access permissions $parentGroups = []; @@ -285,14 +292,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } } @@ -307,14 +317,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } } @@ -347,20 +360,24 @@ case 'edit': if ($resourceArray['id'] == evo()->getConfig('site_start') && $resourceArray['published'] == 0) { - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit("Document is linked to site_start variable and cannot be unpublished!"); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit("Document is linked to 'site_start' variable and cannot be unpublished!"); return; } $today = evo()->timestamp(); - if ($resourceArray['id'] == evo()->getConfig('site_start') && ($resourceArray['pub_date'] > $today || $resourceArray['unpub_date'] != "0")) { - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit("Document is linked to site_start variable and cannot have publish or unpublish dates set!"); + + if ($resourceArray['id'] == evo()->getConfig('site_start') && ((int) $resourceArray['pub_date'] > $today || (int) $resourceArray['unpub_date'] != 0)) { + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit("Document is linked to 'site_start' variable and cannot have publish or unpublish dates set!"); return; } if ($resourceArray['parent'] == $resourceArray['id']) { - evo()->getManagerApi()->saveFormValues(27); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); evo()->webAlertAndQuit("Document can not be it's own parent!"); return; } @@ -382,14 +399,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit($e->getMessage(), "index.php?a=27&id={$resourceArray['id']}"); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}&id={$resourceArray['id']}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(27); - evo()->webAlertAndQuit($e->getValidationErrors(), "index.php?a=27&id={$resourceArray['id']}"); + $action = 27; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}&id={$resourceArray['id']}"); return; } @@ -417,14 +437,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } } diff --git a/manager/processors/save_htmlsnippet.processor.php b/manager/processors/save_htmlsnippet.processor.php index 721f07cda3..1be1a4c7bb 100755 --- a/manager/processors/save_htmlsnippet.processor.php +++ b/manager/processors/save_htmlsnippet.processor.php @@ -74,8 +74,9 @@ // disallow duplicate names for new chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('name', '=', $name)->first()) { - evo()->getManagerApi()->saveFormValues(77); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=77"); + $action = 77; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a={$action}"); } //do stuff to save the new doc @@ -112,8 +113,9 @@ // disallow duplicate names for chunks if (EvolutionCMS\Models\SiteHtmlsnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { - evo()->getManagerApi()->saveFormValues(78); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a=78&id={$id}"); + $action = 78; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.chunk'), $name), "index.php?a={$action}&id={$id}"); } //do stuff to save the edited doc diff --git a/manager/processors/save_module.processor.php b/manager/processors/save_module.processor.php index 884f80da90..5543209425 100755 --- a/manager/processors/save_module.processor.php +++ b/manager/processors/save_module.processor.php @@ -103,8 +103,9 @@ // disallow duplicate names for new modules $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(107); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=107"); + $action = 107; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a={$action}"); } // save the new module @@ -162,8 +163,9 @@ $count = \EvolutionCMS\Models\SiteModule::query()->where('name', $name)->where('id', '!=', $id)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(108); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a=108&id={$id}"); + $action = 108; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_module'), $name), "index.php?a={$action}&id={$id}"); } // save the edited module diff --git a/manager/processors/save_plugin.processor.php b/manager/processors/save_plugin.processor.php index e8131a37ba..33055337e3 100755 --- a/manager/processors/save_plugin.processor.php +++ b/manager/processors/save_plugin.processor.php @@ -93,8 +93,9 @@ if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(101); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), 'index.php?a=101'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a={$action}"); } } @@ -148,8 +149,9 @@ if ($disabled == '0') { $count = \EvolutionCMS\Models\SitePlugin::query()->where('name', $name)->where('disabled', 0)->where('id', '!=', $id)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(102); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a=102&id={$id}"); + $action = 102; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.plugin'), $name), "index.php?a={$action}&id={$id}"); } } diff --git a/manager/processors/save_snippet.processor.php b/manager/processors/save_snippet.processor.php index 6cdb47eb64..b90dcf2329 100755 --- a/manager/processors/save_snippet.processor.php +++ b/manager/processors/save_snippet.processor.php @@ -104,8 +104,9 @@ // disallow duplicate names for new snippets if (EvolutionCMS\Models\SiteSnippet::where('name', '=', $name)->first()) { - evo()->getManagerApi()->saveFormValues(23); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=23"); + $action = 23; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a={$action}"); } //do stuff to save the new doc @@ -142,8 +143,9 @@ // disallow duplicate names for snippets if (EvolutionCMS\Models\SiteSnippet::where('id', '!=', $id)->where('name', '=', $name)->first()) { - evo()->getManagerApi()->saveFormValues(22); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a=22&id={$id}"); + $action = 22; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.snippet'), $name), "index.php?a={$action}&id={$id}"); } //do stuff to save the edited doc diff --git a/manager/processors/save_template.processor.php b/manager/processors/save_template.processor.php index 720223baaf..6247f01fa4 100755 --- a/manager/processors/save_template.processor.php +++ b/manager/processors/save_template.processor.php @@ -99,8 +99,9 @@ function createBladeFile($templatealias) // disallow duplicate names for new templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(19); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=19"); + $action = 19; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a={$action}"); } if ($templatealias == '') { @@ -112,8 +113,9 @@ function createBladeFile($templatealias) $count = \EvolutionCMS\Models\SiteTemplate::where('templatealias', $templatealias)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(19); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=19"); + $action = 19; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a={$action}"); } //do stuff to save the new doc $newid = \EvolutionCMS\Models\SiteTemplate::query()->insertGetId([ @@ -168,8 +170,9 @@ function createBladeFile($templatealias) // disallow duplicate names for templates $count = \EvolutionCMS\Models\SiteTemplate::where('templatename', $templatename)->where('id', '!=', $id)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(16); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a=16&id={$id}"); + $action = 16; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.template'), $templatename), "index.php?a={$action}&id={$id}"); } if ($templatealias == '') { @@ -181,8 +184,9 @@ function createBladeFile($templatealias) $count = \EvolutionCMS\Models\SiteTemplate::where('templatealias', $templatealias)->where('id', '!=', $id)->count(); if ($count > 0) { - evo()->getManagerApi()->saveFormValues(16); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a=16&id={$id}"); + $action = 16; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_template_alias_found'), $docid, $templatealias), "index.php?a={$action}&id={$id}"); } //do stuff to save the edited doc \EvolutionCMS\Models\SiteTemplate::find($id)->update([ diff --git a/manager/processors/save_tmplvars.processor.php b/manager/processors/save_tmplvars.processor.php index c3e1dbb829..00fa5ad75a 100755 --- a/manager/processors/save_tmplvars.processor.php +++ b/manager/processors/save_tmplvars.processor.php @@ -48,14 +48,16 @@ // disallow duplicate names for new tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->first()) { - evo()->getManagerApi()->saveFormValues(300); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=300"); + $action = 300; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a={$action}"); } // disallow reserved names if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { $_POST['name'] = ''; - evo()->getManagerApi()->saveFormValues(300); - evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=300"); + $action = 300; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a={$action}"); } // Add new TV @@ -114,13 +116,17 @@ // disallow duplicate names for tvs if (EvolutionCMS\Models\SiteTmplvar::where('name', '=', $name)->where('id', '!=', $id)->first()) { - evo()->getManagerApi()->saveFormValues(300); - evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a=301&id={$id}"); + $action = 300; + $action1 = 301; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.duplicate_name_found_general'), __('global.tv'), $name), "index.php?a={$action1}&id={$id}"); } // disallow reserved names if (in_array($name, ['id', 'type', 'contentType', 'pagetitle', 'longtitle', 'description', 'alias', 'link_attributes', 'published', 'pub_date', 'unpub_date', 'parent', 'isfolder', 'introtext', 'content', 'richtext', 'template', 'menuindex', 'searchable', 'cacheable', 'createdby', 'createdon', 'editedby', 'editedon', 'deleted', 'deletedon', 'deletedby', 'publishedon', 'publishedby', 'menutitle', 'hide_from_tree', 'privateweb', 'privatemgr', 'content_dispo', 'hidemenu', 'alias_visible', 'id', 'oldusername', 'oldemail', 'newusername', 'fullname', 'first_name', 'middle_name', 'last_name', 'verified', 'newpassword', 'newpasswordcheck', 'passwordgenmethod', 'passwordnotifymethod', 'specifiedpassword', 'confirmpassword', 'email', 'phone', 'mobilephone', 'fax', 'dob', 'country', 'street', 'city', 'state', 'zip', 'gender', 'photo', 'comment', 'role', 'failedlogincount', 'blocked', 'blockeduntil', 'blockedafter', 'user_groups', 'mode', 'blockedmode', 'stay', 'save', 'theme_refresher', 'username'])) { - evo()->getManagerApi()->saveFormValues(300); - evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a=301&id={$id}"); + $action = 300; + $action1 = 301; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit(sprintf(__('global.reserved_name_warning'), __('global.tv'), $name), "index.php?a={$action1}&id={$id}"); } // update TV diff --git a/manager/processors/undelete_content.processor.php b/manager/processors/undelete_content.processor.php index 140676855e..23791f18cf 100755 --- a/manager/processors/undelete_content.processor.php +++ b/manager/processors/undelete_content.processor.php @@ -44,14 +44,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } diff --git a/manager/processors/unpublish_content.processor.php b/manager/processors/unpublish_content.processor.php index 3a777af74c..f327847f92 100755 --- a/manager/processors/unpublish_content.processor.php +++ b/manager/processors/unpublish_content.processor.php @@ -37,14 +37,17 @@ } catch (EvolutionCMS\Exceptions\ServiceActionException $e) { // \Log::error('Unexpected error: ' . $e->getMessage()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getMessage(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + evo()->webAlertAndQuit($e->getMessage(), "index.php?a={$action}"); return; } catch (EvolutionCMS\Exceptions\ServiceValidationException $e) { - // \Log::error('Validation error: ' . $e->getValidationErrors()); + // \Log::error('Validation errors: ' . $e->getValidationErrors()); - evo()->getManagerApi()->saveFormValues(4); - evo()->webAlertAndQuit($e->getValidationErrors(), 'index.php?a=4'); + $action = 4; + evo()->getManagerApi()->saveFormValues($action); + $errors = implode('
', array_reduce($e->getValidationErrors(), 'array_merge', [])); + evo()->webAlertAndQuit($errors, "index.php?a={$action}"); return; } diff --git a/manager/views/page/62.php b/manager/views/page/62.php index 9e32963e10..1c571ae8f9 100644 --- a/manager/views/page/62.php +++ b/manager/views/page/62.php @@ -1,4 +1,4 @@ get('ManagerTheme')->getViewAttributes(), EXTR_OVERWRITE); include_once evolutionCMS()->get('ManagerTheme')->getFileProcessor("processors/unpublish_content.processor.php");