'.__('Maintenance').'
'.
''.sprintf(__('There is a task to execute.', 'There are %s tasks to execute.', count($lines)), count($lines)).'
'. '- '.implode('',$lines).'
addItem(
__('Maintenance'),
'plugin.php?p=maintenance',
'index.php?pf=maintenance/icon.png',
preg_match('/plugin.php\?p=maintenance(&.*)?$/', $_SERVER['REQUEST_URI']),
$core->auth->check('admin', $core->blog->id)
);
// Admin behaviors
$core->addBehavior('dcMaintenanceInit', array('dcMaintenanceAdmin', 'dcMaintenanceInit'));
$core->addBehavior('adminDashboardFavs', array('dcMaintenanceAdmin', 'adminDashboardFavs'));
$core->addBehavior('adminDashboardFavsIcon', array('dcMaintenanceAdmin', 'adminDashboardFavsIcon'));
$core->addBehavior('adminDashboardContents', array('dcMaintenanceAdmin', 'adminDashboardItems'));
$core->addBehavior('adminDashboardOptionsForm', array('dcMaintenanceAdmin', 'adminDashboardOptionsForm'));
$core->addBehavior('adminAfterDashboardOptionsUpdate', array('dcMaintenanceAdmin', 'adminAfterDashboardOptionsUpdate'));
$core->addBehavior('adminPageHelpBlock', array('dcMaintenanceAdmin', 'adminPageHelpBlock'));
$core->addBehavior('pluginsToolsHeaders', array('dcMaintenanceAdmin', 'pluginsToolsHeaders'));
/**
@ingroup PLUGIN_MAINTENANCE
@nosubgrouping
@brief Maintenance plugin admin class.
Group of methods used on behaviors.
*/
class dcMaintenanceAdmin
{
/**
* Register default tasks.
*
* @param $maintenance dcMaintenance dcMaintenance instance
*/
public static function dcMaintenanceInit($maintenance)
{
$maintenance
->addTab('maintenance', __('Servicing'), array('summary' => __('Tools to maintain the performance of your blogs.')))
->addTab('backup', __('Backup'), array('summary' => __('Tools to back up your content.')))
->addTab('dev', __('Development'), array('summary' => __('Tools to assist in development of plugins, themes and core.')))
->addGroup('optimize', __('Optimize'))
->addGroup('index', __('Count and index'))
->addGroup('purge', __('Purge'))
->addGroup('other', __('Other'))
->addGroup('zipblog', __('Current blog'))
->addGroup('zipfull', __('All blogs'))
->addGroup('l10n', __('Translations'), array('summary' => __('Maintain translations')))
->addTask('dcMaintenanceCache')
->addTask('dcMaintenanceIndexposts')
->addTask('dcMaintenanceIndexcomments')
->addTask('dcMaintenanceCountcomments')
->addTask('dcMaintenanceSynchpostsmeta')
->addTask('dcMaintenanceLogs')
->addTask('dcMaintenanceVacuum')
->addTask('dcMaintenanceZipmedia')
->addTask('dcMaintenanceZiptheme')
;
}
/**
* Dashboard favs.
*
* @param $core dcCore dcCore instance
* @param $favs arrayObject Array of favs
*/
public static function adminDashboardFavs($core, $favs)
{
$favs['maintenance'] = new ArrayObject(array(
'maintenance',
'Maintenance',
'plugin.php?p=maintenance',
'index.php?pf=maintenance/icon.png',
'index.php?pf=maintenance/icon-big.png',
null,null,null
));
}
/**
* Dashboard favs icon.
*
* This updates maintenance fav icon text
* if there are tasks required maintenance.
*
* @param $core dcCore dcCore instance
* @param $name string Current fav name
* @param $icon arrayObject Current fav attributes
*/
public static function adminDashboardFavsIcon($core, $name, $icon)
{
// Check icon
if ($name !== 'maintenance') {
return null;
}
// Check user option
$core->auth->user_prefs->addWorkspace('maintenance');
if (!$core->auth->user_prefs->maintenance->dashboard_icon) {
return null;
}
// Check expired tasks
$maintenance = new dcMaintenance($core);
$count = 0;
foreach($maintenance->getTasks() as $t)
{
if ($t->expired() !== false){
$count++;
}
}
if (!$count) {
return null;
}
$icon[0] .= '
'.sprintf(__('One task to execute', '%s tasks to execute', $count), $count);
$icon[2] = 'index.php?pf=maintenance/icon-big-update.png';
}
/**
* Dashboard items stack.
*
* @param $core dcCore dcCore instance
* @param $items arrayObject Dashboard items
*/
public static function adminDashboardItems($core, $items)
{
$core->auth->user_prefs->addWorkspace('maintenance');
if (!$core->auth->user_prefs->maintenance->dashboard_item) {
return null;
}
$maintenance = new dcMaintenance($core);
$lines = array();
foreach($maintenance->getTasks() as $t)
{
$ts = $t->expired();
if ($ts === false){
continue;
}
$lines[] =
'
'.sprintf(__('There is a task to execute.', 'There are %s tasks to execute.', count($lines)), count($lines)).'
'. ''.$desc.'
' : ''). ''.$desc.'
' : ''). $res_group; } } if (!empty($res_tab)) { $res = new ArrayObject(); $res->content = $res_tab; $blocks[] = $res; } } /** * Add javascript for plugin configuration. * * @param $core dcCore dcCore instance * @param $module mixed Module ID or false if none * @return string Header code for js inclusion */ public static function pluginsToolsHeaders($core, $module) { if ($module == 'maintenance') { return dcPage::jsLoad('index.php?pf=maintenance/js/settings.js'); } } }