From 796119e0d28f8f87a808808f4ac62c1d014dbe10 Mon Sep 17 00:00:00 2001 From: Jean-Christian Denis Date: Wed, 30 Nov 2022 23:58:37 +0100 Subject: [PATCH] use anonymous function --- _admin.php | 161 ++++++++++++++++++++++------------------------------- 1 file changed, 68 insertions(+), 93 deletions(-) diff --git a/_admin.php b/_admin.php index a8d6272..3732b1c 100644 --- a/_admin.php +++ b/_admin.php @@ -16,111 +16,86 @@ if (!defined('DC_CONTEXT_ADMIN')) { require __DIR__ . '/_widgets.php'; -# Dashboard item and user preference -dcCore::app()->addBehavior( - 'adminDashboardItemsV2', - ['dcLatestVersionsAdmin', 'adminDashboardItems'] -); -dcCore::app()->addBehavior( - 'adminDashboardOptionsFormV2', - ['dcLatestVersionsAdmin', 'adminDashboardOptionsForm'] -); -dcCore::app()->addBehavior( - 'adminAfterDashboardOptionsUpdate', - ['dcLatestVersionsAdmin', 'adminAfterDashboardOptionsUpdate'] -); +dcCore::app()->addBehavior('adminDashboardItemsV2', function($__dashboard_items) { + if (!dcCore::app()->auth->user_prefs->dashboard->get('dcLatestVersionsItems')) { + return null; + } -/** - * @ingroup DC_PLUGIN_DCLATESTVERSIONS - * @brief Display latest versions of Dotclear - admin methods. - * @since 2.6 - */ -class dcLatestVersionsAdmin -{ - public static function adminDashboardItems($__dashboard_items) - { - if (!dcCore::app()->auth->user_prefs->dashboard->get('dcLatestVersionsItems')) { - return null; + $builds = explode(',', (string) dcCore::app()->blog->settings->dcLatestVersions->builds); + if (empty($builds)) { + return null; + } + + $text = __('
  • %r : %v
  • '); + $li = []; + + foreach ($builds as $build) { + $build = strtolower(trim($build)); + if (empty($build)) { + continue; } - $builds = explode(',', (string) dcCore::app()->blog->settings->dcLatestVersions->builds); - if (empty($builds)) { - return null; + $updater = new dcUpdate( + DC_UPDATE_URL, + 'dotclear', + $build, + DC_TPL_CACHE . '/versions' + ); + + if (false === $updater->check('0')) { + continue; } - $text = __('
  • %r : %v
  • '); - $li = []; - - foreach ($builds as $build) { - $build = strtolower(trim($build)); - if (empty($build)) { - continue; - } - - $updater = new dcUpdate( - DC_UPDATE_URL, - 'dotclear', + $li[] = str_replace( + [ + '%r', + '%v', + '%u', + ], + [ $build, - DC_TPL_CACHE . '/versions' - ); - - if (false === $updater->check('0')) { - continue; - } - - $li[] = str_replace( - [ - '%r', - '%v', - '%u', - ], - [ - $build, - $updater->getVersion(), - $updater->getFileURL(), - ], - $text - ); - } - - if (empty($li)) { - return null; - } - - # Display - $__dashboard_items[0][] = '
    ' . - '

    ' . html::escapeHTML(__("Dotclear's latest versions")) . '

    ' . - '' . - '
    '; + $updater->getVersion(), + $updater->getFileURL(), + ], + $text + ); } - public static function adminDashboardOptionsForm() - { - if (!dcCore::app()->auth->user_prefs->dashboard->prefExists('dcLatestVersionsItems')) { - dcCore::app()->auth->user_prefs->dashboard->put( - 'dcLatestVersionsItems', - false, - 'boolean' - ); - } - $pref = dcCore::app()->auth->user_prefs->dashboard->get('dcLatestVersionsItems'); - - echo - '
    ' . - '

    ' . __("Dotclear's latest versions") . '

    ' . - '

    ' . - '
    '; + if (empty($li)) { + return null; } - public static function adminAfterDashboardOptionsUpdate($user_id) - { + # Display + $__dashboard_items[0][] = '
    ' . + '

    ' . html::escapeHTML(__("Dotclear's latest versions")) . '

    ' . + '' . + '
    '; +}); + +dcCore::app()->addBehavior('adminDashboardOptionsFormV2', function() { + if (!dcCore::app()->auth->user_prefs->dashboard->prefExists('dcLatestVersionsItems')) { dcCore::app()->auth->user_prefs->dashboard->put( 'dcLatestVersionsItems', - !empty($_POST['dcLatestVersionsItems']), + false, 'boolean' ); } -} + $pref = dcCore::app()->auth->user_prefs->dashboard->get('dcLatestVersionsItems'); + + echo + '
    ' . + '

    ' . __("Dotclear's latest versions") . '

    ' . + '

    ' . + '
    '; +}); + +dcCore::app()->addBehavior('adminAfterDashboardOptionsUpdate', function($user_id) { + dcCore::app()->auth->user_prefs->dashboard->put( + 'dcLatestVersionsItems', + !empty($_POST['dcLatestVersionsItems']), + 'boolean' + ); +});