diff options
-rw-r--r-- | actions/admin/user/makeadmin.php | 36 | ||||
-rw-r--r-- | languages/en.php | 6 | ||||
-rw-r--r-- | mod/profile/views/default/profile/userdetails.php | 2 |
3 files changed, 43 insertions, 1 deletions
diff --git a/actions/admin/user/makeadmin.php b/actions/admin/user/makeadmin.php new file mode 100644 index 000000000..b81f24b9d --- /dev/null +++ b/actions/admin/user/makeadmin.php @@ -0,0 +1,36 @@ +<?php + /** + * Make another user an admin. + * + * @package Elgg + * @subpackage Core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.org/ + */ + + require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"); + global $CONFIG; + + // block non-admin users + admin_gatekeeper(); + + // Get the user + $guid = get_input('guid'); + $obj = get_entity($guid); + + if ( ($obj instanceof ElggUser) && ($obj->canEdit())) + { + $result = $obj->admin = 'yes'; + if ($result) + system_message(elgg_echo('admin:user:makeadmin:yes')); + else + system_message(elgg_echo('admin:user:makeadmin:no')); + } + else + system_message(elgg_echo('admin:user:makeadmin:no')); + + forward($_SERVER['HTTP_REFERER']); + exit; +?>
\ No newline at end of file diff --git a/languages/en.php b/languages/en.php index 49b2a6d9d..b792b2fc5 100644 --- a/languages/en.php +++ b/languages/en.php @@ -318,7 +318,10 @@ 'admin:user:delete:yes' => "User deleted", 'admin:user:resetpassword:yes' => "Password reset, user notified.", - 'admin:user:resetpassword:no' => "Password could not be reset.",
+ 'admin:user:resetpassword:no' => "Password could not be reset.", + + 'admin:user:makeadmin:yes' => "User is now an admin.", + 'admin:user:makeadmin:no' => "We could not make this user an admin.",
/** * User settings @@ -365,6 +368,7 @@ 'disable' => "Disable", 'resetpassword' => "Reset password", + 'makeadmin' => "Make admin", 'option:yes' => "Yes", 'option:no' => "No",
diff --git a/mod/profile/views/default/profile/userdetails.php b/mod/profile/views/default/profile/userdetails.php index a6f381328..160ff4abe 100644 --- a/mod/profile/views/default/profile/userdetails.php +++ b/mod/profile/views/default/profile/userdetails.php @@ -125,6 +125,8 @@ <a href="<?php echo $vars['url']; ?>actions/admin/user/delete?guid=<?php echo $vars['entity']->guid; ?>"><?php echo elgg_echo("delete"); ?></a> <a href="<?php echo $vars['url']; ?>actions/admin/user/resetpassword?guid=<?php echo $vars['entity']->guid; ?>"><?php echo elgg_echo("resetpassword"); ?></a> + + <?php if (!$vars['entity']->admin) { ?> <a href="<?php echo $vars['url']; ?>actions/admin/user/makeadmin?guid=<?php echo $vars['entity']->guid; ?>"><?php echo elgg_echo("makeadmin"); ?></a> <?php } ?> <?php } |