diff --git a/CHANGELOG.md b/CHANGELOG.md index e5a5e8d..ac33299 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +dcAdvancedCleaner 1.4 - 2023.10.07 +=========================================================== +* Require Dotclear 2.28 +* Require PHP 8.1 +* Upgrade to Dotclear 2.28 + dcAdvancedCleaner 1.3 - 2023.08.14 =========================================================== * Require Dotclear 2.27 diff --git a/README.md b/README.md index 613c25a..d483c8b 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,23 @@ # README -[![Release](https://img.shields.io/badge/release-1.3-a2cbe9.svg)](https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/releases) -[![Date](https://img.shields.io/badge/date-2023.08.14-c44d58.svg)](https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/releases) -[![Dotclear](https://img.shields.io/badge/dotclear-v2.27-137bbb.svg)](https://fr.dotclear.org/download) +[![Release](https://img.shields.io/badge/release-1.4-a2cbe9.svg)](https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/releases) +![Date](https://img.shields.io/badge/date-2023.10.07-c44d58.svg) +[![Dotclear](https://img.shields.io/badge/dotclear-v2.28-137bbb.svg)](https://fr.dotclear.org/download) [![Dotaddict](https://img.shields.io/badge/dotaddict-official-9ac123.svg)](https://plugins.dotaddict.org/dc2/details/dcAdvancedCleaner) -[![License](https://img.shields.io/github/license/JcDenis/dcAdvancedCleaner)](https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/blob/master/LICENSE) +[![License](https://img.shields.io/badge/license-GPL--2.0-ececec.svg)](https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/src/branch/master/LICENSE) -## WHAT IS DCADVANCEDCLEANER ? +## ABOUT -_dcAdvancedCleaner_ is a plugin for the open-source -web publishing software called Dotclear. +_dcAdvancedCleaner_ is a plugin for the open-source web publishing software called [Dotclear](https://www.dotclear.org). -It help clean up Dotclear install, plugins, themes, -settings, tables, cache, etc... +> It help clean up Dotclear install, plugins, themes, settings, tables, cache, etc... ## REQUIREMENTS -_dcAdvancedCleaner_ requires: - * Permissions superadmin -* Dotclear 2.27 +* Dotclear 2.28 * PHP >= 8.1 -* Plugin Uninstaller (temporary at https://github.com/JcDenis/Uninstaller ) +* Plugin Uninstaller ## USAGE diff --git a/_define.php b/_define.php index 7eee0d3..452cfa5 100644 --- a/_define.php +++ b/_define.php @@ -18,12 +18,12 @@ $this->registerModule( 'Advanced cleaner', 'Make a huge cleaning of dotclear', 'Jean-Christian Denis and Contributors', - '1.3', + '1.4', [ 'requires' => [ ['php', '8.1'], - ['core', '2.27'], - ['Uninstaller', '0.8'], + ['core', '2.28'], + ['Uninstaller', '1.0'], ], 'permissions' => null, 'type' => 'plugin', diff --git a/dcstore.xml b/dcstore.xml index 02ae9b5..f641440 100644 --- a/dcstore.xml +++ b/dcstore.xml @@ -2,11 +2,11 @@ Advanced cleaner - 1.3 + 1.4 Jean-Christian Denis and Contributors Make a huge cleaning of dotclear - https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/releases/download/v1.3/plugin-dcAdvancedCleaner.zip - 2.27 + https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/releases/download/v1.4/plugin-dcAdvancedCleaner.zip + 2.28 https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/src/branch/master/README.md https://git.dotclear.watch/JcDenis/dcAdvancedCleaner/issues diff --git a/src/Backend.php b/src/Backend.php index 13c4cbd..09f2f1e 100644 --- a/src/Backend.php +++ b/src/Backend.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Dotclear\Plugin\dcAdvancedCleaner; -use dcCore; +use Dotclear\App; use Dotclear\Core\Process; use Dotclear\Core\Backend\Favorites; @@ -27,20 +27,19 @@ class Backend extends Process public static function process(): bool { - if (!self::status() || !dcCore::app()->plugins->moduleExists('Uninstaller')) { + if (!self::status() || !App::plugins()->moduleExists('Uninstaller')) { return false; } My::addBackendMenuItem(); - dcCore::app()->addBehaviors([ + App::behavior()->addBehaviors([ 'adminDashboardFavoritesV2' => function (Favorites $favs): void { $favs->register(My::id(), [ 'title' => My::name(), 'url' => My::manageURL(), 'small-icon' => My::icons(), 'large-icon' => My::icons(), - //'permissions' => dcCore::app()->auth?->isSuperAdmin(), ]); }, ]); diff --git a/src/Manage.php b/src/Manage.php index 429f69c..3fd4509 100644 --- a/src/Manage.php +++ b/src/Manage.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Dotclear\Plugin\dcAdvancedCleaner; -use dcCore; +use Dotclear\App; use Dotclear\Core\Process; use Dotclear\Core\Backend\{ Notices, @@ -44,7 +44,7 @@ class Manage extends Process public static function process(): bool { - if (!self::status() || !dcCore::app()->plugins->moduleExists('Uninstaller')) { + if (!self::status() || !App::plugins()->moduleExists('Uninstaller')) { return false; } @@ -79,7 +79,7 @@ class Manage extends Process $ns .= $vars->related . ':' . $id . ';'; } $vars->cleaners->execute($vars->cleaner->id, $vars->action, $ns); - // other actions + // other actions } elseif ($vars->action != 'delete_related') { foreach ($vars->entries as $ns) { $vars->cleaners->execute($vars->cleaner->id, $vars->action, $ns); @@ -89,7 +89,7 @@ class Manage extends Process Notices::addSuccessNotice(__('Action successfuly excecuted')); My::redirect(['part' => $vars->cleaner->id]); } catch (Exception $e) { - dcCore::app()->error->add($e->getMessage()); + App::error()->add($e->getMessage()); } } @@ -112,7 +112,7 @@ class Manage extends Process ); # --BEHAVIOR-- dcAdvancedCleanerAdminHeader - dcCore::app()->callBehavior('dcAdvancedCleanerAdminHeader'); + App::behavior()->callBehavior('dcAdvancedCleanerAdminHeader'); $breadcrumb = [ __('Plugins') => '', @@ -144,7 +144,7 @@ class Manage extends Process if (empty($vars->related)) { echo - (new Form('parts_menu'))->method('get')->action(dcCore::app()->admin->getPageURL())->fields([ + (new Form('parts_menu'))->method('get')->action(App::backend()->getPageURL())->fields([ (new Para())->class('anchor-nav')->items([ (new Label(__('Goto:'), Label::OUTSIDE_LABEL_BEFORE))->for('part')->class('classic'), (new Select(['part', 'select_part']))->default($vars->cleaner->id)->items($vars->combo), @@ -172,7 +172,7 @@ class Manage extends Process } echo - '
' . + '' . '
' . '' . '' . @@ -221,7 +221,7 @@ class Manage extends Process } echo - (new Form('option'))->method('post')->action(dcCore::app()->admin->getPageURL())->fields([ + (new Form('option'))->method('post')->action(App::backend()->getPageURL())->fields([ (new Para())->items([ (new Submit('option-action'))->value(My::settings()->getGlobal('dcproperty_hide') ? __('Show Dotclear default properties') : __('Hide Dotclear default properties')), (new Hidden('dcproperty_hide', My::settings()->getGlobal('dcproperty_hide') ? '0' : '1')), @@ -240,7 +240,7 @@ class Manage extends Process echo (new Text('p', __('There is nothing to display')))->class('error')->render(); } else { echo - '' . + '' . '
' . '
' . sprintf(__('There are %s entries'), count($rs)) . '
' . __('Name') . '' . __('Objects') . '
' . '' . @@ -263,10 +263,11 @@ class Manage extends Process '
' . sprintf(__('There are %s related entries for the group "%s"'), count($rs), $vars->related) . '
' . __('Name') . '' . __('Objects') . '
' . (new Para())->items([ (new Submit('do-action'))->class('delete')->value(__('I understand and I am want to delete this')), - (new Hidden(['related'], $vars->related)), - (new Hidden(['part'], $vars->cleaner->id)), - (new Hidden(['action'], 'delete_related')), - ... My::hiddenFields(), + ... My::hiddenFields([ + 'related' => $vars->related, + 'part' => $vars->cleaner->id, + 'action' => 'delete_related', + ]), ])->render() . '

' . __('Beware: All actions done here are irreversible and are directly applied') . diff --git a/src/My.php b/src/My.php index d873eef..f5eda4c 100644 --- a/src/My.php +++ b/src/My.php @@ -14,13 +14,13 @@ declare(strict_types=1); namespace Dotclear\Plugin\dcAdvancedCleaner; -use dcCore; +use Dotclear\App; use Dotclear\Module\MyPlugin; class My extends MyPlugin { public static function checkCustomContext(int $context): ?bool { - return $context === self::PREPEND ? dcCore::app()->auth->isSuperAdmin() : null; + return $context === self::PREPEND ? App::auth()->isSuperAdmin() : null; } } diff --git a/src/Uninstall.php b/src/Uninstall.php index f3b1104..7225665 100644 --- a/src/Uninstall.php +++ b/src/Uninstall.php @@ -14,7 +14,6 @@ declare(strict_types=1); namespace Dotclear\Plugin\dcAdvancedCleaner; -use dcCore; use Dotclear\Core\Process; use Dotclear\Plugin\Uninstaller\Uninstaller; @@ -27,7 +26,7 @@ class Uninstall extends Process public static function process(): bool { - if (!self::status() || !dcCore::app()->plugins->moduleExists('Uninstaller')) { + if (!self::status()) { return false; }