addBehavior( 'adminDashboardItemsV2', ['dcLatestVersionsAdmin', 'adminDashboardItems'] ); dcCore::app()->addBehavior( 'adminDashboardOptionsFormV2', ['dcLatestVersionsAdmin', 'adminDashboardOptionsForm'] ); dcCore::app()->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($__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; } $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() { 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") . '

    ' . '

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