aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/admin.php
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-23 01:55:47 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-23 01:55:47 +0000
commit8e518978b3f570930a8f5c3bfcbceb4b2ef61f78 (patch)
treee67ab7a2b0ec0b032977698a12513a504215220d /engine/lib/admin.php
parent1f517f9af8545e5a332f83cad8f04246ba6b35b9 (diff)
downloadelgg-8e518978b3f570930a8f5c3bfcbceb4b2ef61f78.tar.gz
elgg-8e518978b3f570930a8f5c3bfcbceb4b2ef61f78.tar.bz2
Refs #3165 new admin users all get admin widgets
git-svn-id: http://code.elgg.org/elgg/trunk@8823 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/admin.php')
-rw-r--r--engine/lib/admin.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/engine/lib/admin.php b/engine/lib/admin.php
index 71bf8fe12..876af307b 100644
--- a/engine/lib/admin.php
+++ b/engine/lib/admin.php
@@ -278,6 +278,9 @@ function admin_init() {
);
}
+ // automatic adding of widgets for admin
+ elgg_register_event_handler('make_admin', 'user', 'elgg_add_admin_widgets');
+
elgg_register_page_handler('admin', 'admin_settings_page_handler');
elgg_register_page_handler('admin_plugin_screenshot', 'admin_plugin_screenshot_page_handler');
}
@@ -459,5 +462,34 @@ function admin_plugin_screenshot_page_handler($pages) {
return true;
}
+/**
+ * Adds default admin widgets to the admin dashboard.
+ */
+function elgg_add_admin_widgets($event, $type, $user) {
+ elgg_set_ignore_access(true);
+
+ // check if the user already has widgets
+ if (elgg_get_widgets($user->getGUID(), 'admin')) {
+ return true;
+ }
+
+ // In the form column => array of handlers in order, top to bottom
+ $adminWidgets = array(
+ 1 => array('online_users', 'new_users', 'content_stats'),
+ 2 => array('admin_welcome'),
+ );
+
+ foreach ($adminWidgets as $column => $handlers) {
+ foreach ($handlers as $position => $handler) {
+ $guid = elgg_create_widget($user->getGUID(), $handler, 'admin');
+ if ($guid) {
+ $widget = get_entity($guid);
+ $widget->move($column, $position);
+ }
+ }
+ }
+ elgg_set_ignore_access(false);
+}
+
elgg_register_event_handler('init', 'system', 'admin_init');
elgg_register_event_handler('pagesetup', 'system', 'admin_pagesetup', 1000);