diff --git a/_admin.php b/_admin.php index b69111e..b9df92c 100644 --- a/_admin.php +++ b/_admin.php @@ -14,8 +14,6 @@ if (!defined('DC_CONTEXT_ADMIN')) { return null; } -dcCore::app()->blog->settings->addNamespace(basename(__DIR__)); - dcCore::app()->menu[dcAdmin::MENU_PLUGINS]->addItem( __('Advanced cleaner'), dcCore::app()->adminurl->get('admin.plugin.' . basename(__DIR__)), @@ -27,182 +25,184 @@ dcCore::app()->menu[dcAdmin::MENU_PLUGINS]->addItem( dcCore::app()->auth->isSuperAdmin() ); -dcCore::app()->addBehavior('adminDashboardFavoritesV2', function ($favs) { - $favs->register(basename(__DIR__), [ - 'title' => __('Advanced cleaner'), - 'url' => dcCore::app()->adminurl->get('admin.plugin.' . basename(__DIR__)), - 'small-icon' => dcPage::getPF(basename(__DIR__) . '/icon.png'), - 'large-icon' => dcPage::getPF(basename(__DIR__) . '/icon-big.png'), - //'permissions' => dcCore::app()->auth->isSuperAdmin(), - ]); -}); +dcCore::app()->addBehaviors([ + 'adminDashboardFavoritesV2' => function ($favs) { + $favs->register(basename(__DIR__), [ + 'title' => __('Advanced cleaner'), + 'url' => dcCore::app()->adminurl->get('admin.plugin.' . basename(__DIR__)), + 'small-icon' => dcPage::getPF(basename(__DIR__) . '/icon.svg'), + 'large-icon' => dcPage::getPF(basename(__DIR__) . '/icon-big.svg'), + //'permissions' => dcCore::app()->auth->isSuperAdmin(), + ]); + }, -dcCore::app()->addBehavior('pluginsToolsTabsV2', function () { - if (!dcCore::app()->blog->settings->__get(basename(__DIR__))->dcAdvancedCleaner_behavior_active) { - return null; - } + 'pluginsToolsTabsV2' => function () { + if (!dcCore::app()->blog->settings->__get(basename(__DIR__))->dcAdvancedCleaner_behavior_active) { + return null; + } - $path = DC_PLUGINS_ROOT; - $redir = dcCore::app()->adminurl->get('admin.plugins', [], '#uninstaller'); - $title = ''; + $path = DC_PLUGINS_ROOT; + $redir = dcCore::app()->adminurl->get('admin.plugins', [], '#uninstaller'); + $title = ''; - $uninstaller = new dcUninstaller(); - $uninstaller->loadModules($path); - $modules = $uninstaller->getModules(); - $props = $uninstaller->getAllowedActions(); + $uninstaller = new dcUninstaller(); + $uninstaller->loadModules($path); + $modules = $uninstaller->getModules(); + $props = $uninstaller->getAllowedActions(); - echo '
' . __('There is no module with uninstall features') . '
' . __('There is no module with uninstall features') . '
' . __('List of modules with advanced uninstall features') . '
' . - ''; - - echo ''; -}); - -dcCore::app()->addBehavior('adminModulesListDoActions', function ($list, $modules, $type) { - if (!dcCore::app()->blog->settings->__get(basename(__DIR__))->dcAdvancedCleaner_behavior_active) { - return null; - } - - if (!isset($_POST['action']) || $_POST['action'] != 'uninstall' - || (empty($_POST['extras']) && empty($_POST['actions'])) - ) { - return null; - } - - $uninstaller = new dcUninstaller(); - $uninstaller->loadModules($_POST['path']); - $modules = $uninstaller->getModules(); - $props = $uninstaller->getAllowedActions(); - - try { - // Extras - if (!empty($_POST['extras'])) { - foreach ($_POST['extras'] as $module_id => $extras) { - foreach ($extras as $k => $sentence) { - $extra = @unserialize(@base64_decode($sentence)); - - if (!$extra || !is_callable($extra)) { - continue; + if (!$extra || !is_callable($extra)) { + continue; + } + call_user_func($extra, $module_id); } - call_user_func($extra, $module_id); } } - } - // Actions - if (!empty($_POST['actions'])) { - foreach ($_POST['actions'] as $module_id => $actions) { - foreach ($actions as $k => $sentence) { - $action = @unserialize(@base64_decode($sentence)); + // Actions + if (!empty($_POST['actions'])) { + foreach ($_POST['actions'] as $module_id => $actions) { + foreach ($actions as $k => $sentence) { + $action = @unserialize(@base64_decode($sentence)); - if (!$action - || !isset($action['type']) - || !isset($action['action']) - || !isset($action['ns']) - ) { - continue; + if (!$action + || !isset($action['type']) + || !isset($action['action']) + || !isset($action['ns']) + ) { + continue; + } + $uninstaller->execute($action['type'], $action['action'], $action['ns']); } - $uninstaller->execute($action['type'], $action['action'], $action['ns']); } } + dcAdminNotices::addSuccessNotice(__('Action successfuly excecuted')); + http::redirect($_POST['redir']); + } catch (Exception $e) { + dcCore::app()->error->add($e->getMessage()); } - dcAdminNotices::addSuccessNotice(__('Action successfuly excecuted')); - http::redirect($_POST['redir']); - } catch (Exception $e) { - dcCore::app()->error->add($e->getMessage()); - } -}); + }, -dcCore::app()->addBehavior('pluginsBeforeDelete', function ($plugin) { - dcAdvancedCleanerModuleBeforeDelete($plugin); -}); + 'pluginsBeforeDelete' => function ($plugin) { + dcAdvancedCleanerModuleBeforeDelete($plugin); + }, -dcCore::app()->addBehavior('themeBeforeDelete', function ($theme) { - dcAdvancedCleanerModuleBeforeDelete($theme); -}); + 'themeBeforeDelete' => function ($theme) { + dcAdvancedCleanerModuleBeforeDelete($theme); + }, +]); function dcAdvancedCleanerModuleBeforeDelete($module) {