aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/admin.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/admin.php')
-rw-r--r--engine/lib/admin.php348
1 files changed, 174 insertions, 174 deletions
diff --git a/engine/lib/admin.php b/engine/lib/admin.php
index a8272dc83..f09167bfa 100644
--- a/engine/lib/admin.php
+++ b/engine/lib/admin.php
@@ -1,177 +1,177 @@
-<?php
- /**
- * Elgg admin functions.
- * Functions for adding and manipulating options on the admin panel.
- *
- * @package Elgg
- * @subpackage Core
+<?php
+ /**
+ * Elgg admin functions.
+ * Functions for adding and manipulating options on the admin panel.
+ *
+ * @package Elgg
+ * @subpackage Core
- * @author Curverider Ltd
+ * @author Curverider Ltd
- * @link http://elgg.org/
- */
-
-
- /**
- * Register an admin page with the admin panel.
- * This function extends the view "admin/main" with the provided view. This view should provide a description
- * and either a control or a link to.
- *
- * Usage:
- * - To add a control to the main admin panel then extend admin/main
- * - To add a control to a new page create a page which renders a view admin/subpage (where subpage is your new page -
- * nb. some pages already exist that you can extend), extend the main view to point to it, and add controls to your
- * new view.
- *
- * At the moment this is essentially a wrapper around extend_view.
- *
- * @param string $new_admin_view The view associated with the control you're adding
- * @param string $view The view to extend, by default this is 'admin/main'.
- * @param int $priority Optional priority to govern the appearance in the list.
- */
- function extend_elgg_admin_page( $new_admin_view, $view = 'admin/main', $priority = 500)
- {
- return extend_view($view, $new_admin_view, $priority);
- }
-
- /**
- * Initialise the admin page.
- */
- function admin_init()
- {
- // Add plugin main menu option (last)
- extend_elgg_admin_page('admin/main_opt/statistics', 'admin/main');
- extend_elgg_admin_page('admin/main_opt/site', 'admin/main');
- extend_elgg_admin_page('admin/main_opt/user', 'admin/main');
- extend_elgg_admin_page('admin/main_opt/plugins', 'admin/main', 999); // Always last
-
- register_action('admin/user/ban', false, "", true);
- register_action('admin/user/unban', false, "", true);
- register_action('admin/user/delete', false, "", true);
- register_action('admin/user/resetpassword', false, "", true);
+ * @link http://elgg.org/
+ */
+
+
+ /**
+ * Register an admin page with the admin panel.
+ * This function extends the view "admin/main" with the provided view. This view should provide a description
+ * and either a control or a link to.
+ *
+ * Usage:
+ * - To add a control to the main admin panel then extend admin/main
+ * - To add a control to a new page create a page which renders a view admin/subpage (where subpage is your new page -
+ * nb. some pages already exist that you can extend), extend the main view to point to it, and add controls to your
+ * new view.
+ *
+ * At the moment this is essentially a wrapper around extend_view.
+ *
+ * @param string $new_admin_view The view associated with the control you're adding
+ * @param string $view The view to extend, by default this is 'admin/main'.
+ * @param int $priority Optional priority to govern the appearance in the list.
+ */
+ function extend_elgg_admin_page( $new_admin_view, $view = 'admin/main', $priority = 500)
+ {
+ return extend_view($view, $new_admin_view, $priority);
+ }
+
+ /**
+ * Initialise the admin page.
+ */
+ function admin_init()
+ {
+ // Add plugin main menu option (last)
+ extend_elgg_admin_page('admin/main_opt/statistics', 'admin/main');
+ extend_elgg_admin_page('admin/main_opt/site', 'admin/main');
+ extend_elgg_admin_page('admin/main_opt/user', 'admin/main');
+ extend_elgg_admin_page('admin/main_opt/plugins', 'admin/main', 999); // Always last
+
+ register_action('admin/user/ban', false, "", true);
+ register_action('admin/user/unban', false, "", true);
+ register_action('admin/user/delete', false, "", true);
+ register_action('admin/user/resetpassword', false, "", true);
register_action('admin/user/makeadmin', false, "", true);
- register_action('admin/user/removeadmin', false, "", true);
-
- // Register some actions
- register_action('admin/site/update_basic', false, "", true); // Register basic site admin action
-
- // Page handler
- register_page_handler('admin','admin_settings_page_handler');
-
- if (isadminloggedin()) {
- global $is_admin;
- $is_admin = true;
- }
-
- }
-
- function admin_pagesetup() {
-
- if (get_context() == 'admin') {
-
- global $CONFIG;
- add_submenu_item(elgg_echo('admin:statistics'), $CONFIG->wwwroot . 'pg/admin/statistics/');
- add_submenu_item(elgg_echo('admin:site'), $CONFIG->wwwroot . 'pg/admin/site/');
- add_submenu_item(elgg_echo('admin:user'), $CONFIG->wwwroot . 'pg/admin/user/');
- add_submenu_item(elgg_echo('admin:plugins'), $CONFIG->wwwroot . 'pg/admin/plugins/');
-
- }
-
- }
-
- function admin_settings_page_handler($page)
- {
- global $CONFIG;
-
- $path = $CONFIG->path . "admin/index.php";
-
- if ($page[0])
- {
- switch ($page[0])
- {
- case 'user' : $path = $CONFIG->path . "admin/user.php"; break;
- case 'statistics' : $path = $CONFIG->path . "admin/statistics.php"; break;
- case 'plugins' : $path = $CONFIG->path . "admin/plugins.php"; break;
- case 'site' : $path = $CONFIG->path . "admin/site.php"; break;
- }
- }
-
- if ($page[1])
- set_input('username', $page[1]);
-
- include($path);
- }
-
-
- /**
- * Admin permissions system
- *
- * @return true|null True if the current user is an admin.
- */
- function admin_permissions($hook, $type, $returnval, $params) {
-
- if (is_array($params) && !empty($params['user']) && $params['user'] instanceof ElggUser) {
- $admin = $params['user']->admin;
- if ($admin) {
- return true;
- }
- }
-
- }
-
- /**
- * Write a persistent message to the administrator's notification window.
- *
- * Currently this writes a message to the admin store, we may want to come up with another way at some point.
- *
- * @param string $subject Subject of the message
- * @param string $message Body of the message
- */
- function send_admin_message($subject, $message)
- {
- $subject = sanitise_string($subject);
- $message = sanitise_string($message);
-
- if (($subject) && ($message))
- {
- $admin_message = new ElggObject();
- $admin_message->subtype = 'admin_message';
- $admin_message->access_id = ACCESS_PUBLIC;
- $admin_message->title = $subject;
- $admin_message->description = $message;
-
- return $admin_message->save();
- }
-
- return false;
- }
-
- /**
- * List all admin messages.
- *
- * @param int $limit Limit
- */
- function list_admin_messages($limit = 10)
- {
- return list_entities('object','admin_message',0,$limit);
- }
-
- /**
- * Remove an admin message.
- *
- * @param int $guid The
- */
- function clear_admin_message($guid)
- {
- return delete_entity($guid);
- }
-
- /// Register init functions
- register_elgg_event_handler('init','system','admin_init');
- register_elgg_event_handler('pagesetup','system','admin_pagesetup');
-
- // Register a plugin hook for permissions
- register_plugin_hook('permissions_check','all','admin_permissions');
- register_plugin_hook('container_permissions_check','all','admin_permissions');
-
-?>
+ register_action('admin/user/removeadmin', false, "", true);
+
+ // Register some actions
+ register_action('admin/site/update_basic', false, "", true); // Register basic site admin action
+
+ // Page handler
+ register_page_handler('admin','admin_settings_page_handler');
+
+ if (isadminloggedin()) {
+ global $is_admin;
+ $is_admin = true;
+ }
+
+ }
+
+ function admin_pagesetup() {
+
+ if (get_context() == 'admin') {
+
+ global $CONFIG;
+ add_submenu_item(elgg_echo('admin:statistics'), $CONFIG->wwwroot . 'pg/admin/statistics/');
+ add_submenu_item(elgg_echo('admin:site'), $CONFIG->wwwroot . 'pg/admin/site/');
+ add_submenu_item(elgg_echo('admin:user'), $CONFIG->wwwroot . 'pg/admin/user/');
+ add_submenu_item(elgg_echo('admin:plugins'), $CONFIG->wwwroot . 'pg/admin/plugins/');
+
+ }
+
+ }
+
+ function admin_settings_page_handler($page)
+ {
+ global $CONFIG;
+
+ $path = $CONFIG->path . "admin/index.php";
+
+ if ($page[0])
+ {
+ switch ($page[0])
+ {
+ case 'user' : $path = $CONFIG->path . "admin/user.php"; break;
+ case 'statistics' : $path = $CONFIG->path . "admin/statistics.php"; break;
+ case 'plugins' : $path = $CONFIG->path . "admin/plugins.php"; break;
+ case 'site' : $path = $CONFIG->path . "admin/site.php"; break;
+ }
+ }
+
+ if ($page[1])
+ set_input('username', $page[1]);
+
+ include($path);
+ }
+
+
+ /**
+ * Admin permissions system
+ *
+ * @return true|null True if the current user is an admin.
+ */
+ function admin_permissions($hook, $type, $returnval, $params) {
+
+ if (is_array($params) && !empty($params['user']) && $params['user'] instanceof ElggUser) {
+ $admin = $params['user']->admin;
+ if ($admin) {
+ return true;
+ }
+ }
+
+ }
+
+ /**
+ * Write a persistent message to the administrator's notification window.
+ *
+ * Currently this writes a message to the admin store, we may want to come up with another way at some point.
+ *
+ * @param string $subject Subject of the message
+ * @param string $message Body of the message
+ */
+ function send_admin_message($subject, $message)
+ {
+ $subject = sanitise_string($subject);
+ $message = sanitise_string($message);
+
+ if (($subject) && ($message))
+ {
+ $admin_message = new ElggObject();
+ $admin_message->subtype = 'admin_message';
+ $admin_message->access_id = ACCESS_PUBLIC;
+ $admin_message->title = $subject;
+ $admin_message->description = $message;
+
+ return $admin_message->save();
+ }
+
+ return false;
+ }
+
+ /**
+ * List all admin messages.
+ *
+ * @param int $limit Limit
+ */
+ function list_admin_messages($limit = 10)
+ {
+ return list_entities('object','admin_message',0,$limit);
+ }
+
+ /**
+ * Remove an admin message.
+ *
+ * @param int $guid The
+ */
+ function clear_admin_message($guid)
+ {
+ return delete_entity($guid);
+ }
+
+ /// Register init functions
+ register_elgg_event_handler('init','system','admin_init');
+ register_elgg_event_handler('pagesetup','system','admin_pagesetup');
+
+ // Register a plugin hook for permissions
+ register_plugin_hook('permissions_check','all','admin_permissions');
+ register_plugin_hook('container_permissions_check','all','admin_permissions');
+
+?>