From 02813085c2b44aa080747e81fb81c46f12f403cc Mon Sep 17 00:00:00 2001 From: Jean-Christian Denis Date: Mon, 30 Jan 2023 19:15:12 +0100 Subject: [PATCH] fix dasboard icon, fix #2 --- _admin.php | 288 ++++++++++++++++++++++++++--------------------------- 1 file changed, 144 insertions(+), 144 deletions(-) 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 '

' . __('Advanced uninstall') . '

'; + echo '

' . __('Advanced uninstall') . '

'; - if (!count($modules)) { - echo '

' . __('There is no module with uninstall features') . '

'; + if (!count($modules)) { + echo '

' . __('There is no module with uninstall features') . '

'; - return null; - } + return null; + } - echo - '

' . __('List of modules with advanced uninstall features') . '

' . - '
' . - '' . - ''; - - foreach ($props as $pro_id => $prop) { - echo ''; - } - - echo '' . ''; - - $i = 0; - foreach ($modules as $module_id => $module) { echo - '' . - '' . - ''; + '

' . __('List of modules with advanced uninstall features') . '

' . + '' . + '
' . __('module') . '' . __($pro_id) . '' . __('other') . '
' . $module_id . '' . $module['version'] . '
' . + ''; - $actions = $uninstaller->getUserActions($module_id); + foreach ($props as $pro_id => $prop) { + echo ''; + } - foreach ($props as $prop_id => $prop) { - echo '' . ''; - if (!isset($actions[$prop_id])) { - echo '--'; + $i = 0; + foreach ($modules as $module_id => $module) { + echo + '' . + '' . + ''; - continue; - } + $actions = $uninstaller->getUserActions($module_id); + + foreach ($props as $prop_id => $prop) { + echo ''; - $j = 0; - foreach ($actions[$prop_id] as $action_id => $action) { - if (!isset($props[$prop_id][$action['action']])) { continue; } - $ret = base64_encode(serialize([ - 'type' => $prop_id, - 'action' => $action['action'], - 'ns' => $action['ns'], - ])); + + $j = 0; + foreach ($actions[$prop_id] as $action_id => $action) { + if (!isset($props[$prop_id][$action['action']])) { + continue; + } + $ret = base64_encode(serialize([ + 'type' => $prop_id, + 'action' => $action['action'], + 'ns' => $action['ns'], + ])); + + echo '
'; + + $j++; + } + echo ''; + } + + echo ''; + + echo ''; + } + echo + '
' . __('module') . '' . __($pro_id) . ''; + echo '' . __('other') . '
' . $module_id . '' . $module['version'] . ''; + + if (!isset($actions[$prop_id])) { + echo '--'; + + $callbacks = $uninstaller->getUserCallbacks($module_id); + + if (empty($callbacks)) { + echo '--'; + } + + $k = 0; + foreach ($callbacks as $callback_id => $callback) { + $ret = base64_encode(serialize($callback['func'])); echo '
'; - - $j++; + form::checkbox(['extras[' . $module_id . '][' . $k . ']'], $ret) . + ' ' . $callback['desc'] . '
'; } - echo '
' . + '

' . + dcCore::app()->formNonce() . + form::hidden(['path'], $path) . + form::hidden(['redir'], $redir) . + form::hidden(['action'], 'uninstall') . + ' ' . + '

' . + '
'; + + echo ''; + }, + + 'adminModulesListDoActions' => function ($list, $modules, $type) { + if (!dcCore::app()->blog->settings->__get(basename(__DIR__))->dcAdvancedCleaner_behavior_active) { + return null; } - echo ''; - - $callbacks = $uninstaller->getUserCallbacks($module_id); - - if (empty($callbacks)) { - echo '--'; + if (!isset($_POST['action']) || $_POST['action'] != 'uninstall' + || (empty($_POST['extras']) && empty($_POST['actions'])) + ) { + return null; } - $k = 0; - foreach ($callbacks as $callback_id => $callback) { - $ret = base64_encode(serialize($callback['func'])); + $uninstaller = new dcUninstaller(); + $uninstaller->loadModules($_POST['path']); + $modules = $uninstaller->getModules(); + $props = $uninstaller->getAllowedActions(); - echo '
'; - } + try { + // Extras + if (!empty($_POST['extras'])) { + foreach ($_POST['extras'] as $module_id => $extras) { + foreach ($extras as $k => $sentence) { + $extra = @unserialize(@base64_decode($sentence)); - echo ''; - } - echo - '' . - '

' . - dcCore::app()->formNonce() . - form::hidden(['path'], $path) . - form::hidden(['redir'], $redir) . - form::hidden(['action'], 'uninstall') . - ' ' . - '

' . - ''; - - 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) {