addBehavior( 'adminDashboardItems', ['dcLatestVersionsAdmin', 'adminDashboardItems'] ); $core->addBehavior( 'adminDashboardOptionsForm', ['dcLatestVersionsAdmin', 'adminDashboardOptionsForm'] ); $core->addBehavior( 'adminAfterDashboardOptionsUpdate', ['dcLatestVersionsAdmin', 'adminAfterDashboardOptionsUpdate'] ); /** * @ingroup DC_PLUGIN_DCLATESTVERSIONS * @brief Display latest versions of Dotclear - admin methods. * @since 2.6 */ class dcLatestVersionsAdmin { public static function adminDashboardItems(dcCore $core, $__dashboard_items) { if (!$core->auth->user_prefs->dashboard->get('dcLatestVersionsItems')) { return null; } $builds = explode(',', (string) $core->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; } $updater = new dcUpdate( DC_UPDATE_URL, 'dotclear', $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")) . '

    ' . '' . '
    '; } public static function adminDashboardOptionsForm(dcCore $core) { if (!$core->auth->user_prefs->dashboard->prefExists('dcLatestVersionsItems')) { $core->auth->user_prefs->dashboard->put( 'dcLatestVersionsItems', false, 'boolean' ); } $pref = $core->auth->user_prefs->dashboard->get('dcLatestVersionsItems'); echo '
    ' . '

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

    ' . '

    ' . '
    '; } public static function adminAfterDashboardOptionsUpdate($user_id) { $GLOBALS['core']->auth->user_prefs->dashboard->put( 'dcLatestVersionsItems', !empty($_POST['dcLatestVersionsItems']), 'boolean' ); } }