Add onAdminDashboard event. Move maintenance and Statistics widgets on their own partial, add to Twig::plugins_hooked_dashboard_widgets on onAdminDashboard

This commit is contained in:
Flavio Copes
2016-01-10 17:39:54 +01:00
parent 53bbbf9fc2
commit 2c9630b7af
4 changed files with 114 additions and 100 deletions

View File

@@ -71,10 +71,12 @@ class AdminPlugin extends Plugin
return [
'onPluginsInitialized' => [['setup', 100000], ['onPluginsInitialized', 1000]],
'onShutdown' => ['onShutdown', 1000],
'onFormProcessed' => ['onFormProcessed', 0]
'onFormProcessed' => ['onFormProcessed', 0],
'onAdminDashboard' => ['onAdminDashboard', 0],
];
}
return [];
}
@@ -423,6 +425,10 @@ class AdminPlugin extends Plugin
switch ($this->template) {
case 'dashboard':
$twig->twig_vars['popularity'] = $this->popularity;
// Gather Plugin-hooked dashboard items
$this->grav->fireEvent('onAdminDashboard');
break;
case 'pages':
$page = $this->admin->page(true);
@@ -622,4 +628,10 @@ class AdminPlugin extends Plugin
return false;
}
public function onAdminDashboard()
{
$this->grav['twig']->plugins_hooked_dashboard_widgets[] = ['template' => 'dashboard-maintenance'];
$this->grav['twig']->plugins_hooked_dashboard_widgets[] = ['template' => 'dashboard-statistics'];
}
}