From b0b84c911c200fd355b55e8b701a57baa8e62477 Mon Sep 17 00:00:00 2001 From: marcus Date: Wed, 13 Aug 2008 15:52:18 +0000 Subject: Refs #237: Added option, now just needs a search listing banned users. Depends #243 git-svn-id: https://code.elgg.org/elgg/trunk@1904 36083f99-b078-4883-b0ff-0f9b5a30f544 --- actions/admin/user/unban.php | 40 ++++++++++++++++++++++ engine/lib/admin.php | 1 + engine/lib/entities.php | 14 ++++++++ languages/en.php | 4 ++- .../views/default/profile/menu/adminlinks.php | 10 ++++-- 5 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 actions/admin/user/unban.php diff --git a/actions/admin/user/unban.php b/actions/admin/user/unban.php new file mode 100644 index 000000000..61c62a47c --- /dev/null +++ b/actions/admin/user/unban.php @@ -0,0 +1,40 @@ +canEdit())) + { + // Now actually disable it + if ($obj->enable()) + system_message(elgg_echo('admin:user:unban:yes')); + else + register_error(elgg_echo('admin:user:unban:no')); + } + else + register_error(elgg_echo('admin:user:unban:no')); + + access_show_hidden_entities($access_status); + + forward($_SERVER['HTTP_REFERER']); + exit; +?> \ No newline at end of file diff --git a/engine/lib/admin.php b/engine/lib/admin.php index e8ec019ac..52bf3e1f1 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -46,6 +46,7 @@ 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); diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 31129fbad..771627b89 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -86,6 +86,7 @@ $this->attributes['access_id'] = 0; $this->attributes['time_created'] = ""; $this->attributes['time_updated'] = ""; + $this->attributes['enabled'] = ""; // There now follows a bit of a hack /* Problem: To speed things up, some objects are split over several tables, this means that it requires @@ -673,6 +674,19 @@ return enable_entity($this->get('guid')); } + /** + * Is this entity enabled? + * + * @return boolean + */ + public function isEnabled() + { + if ($this->enabled) + return true; + + return false; + } + /** * Delete this entity. */ diff --git a/languages/en.php b/languages/en.php index b7df82137..92d6b6b60 100644 --- a/languages/en.php +++ b/languages/en.php @@ -460,7 +460,9 @@ To remove a widget drag it back to the Widget gallery.", 'admin:user:label:seachbutton' => "Search", 'admin:user:ban:no' => "Can not ban user", - 'admin:user:ban:yes' => "User banned.", + 'admin:user:ban:yes' => "User banned.", + 'admin:user:unban:no' => "Can not unban user", + 'admin:user:unban:yes' => "User un-banned.", 'admin:user:delete:no' => "Can not delete user", 'admin:user:delete:yes' => "User deleted", diff --git a/mod/profile/views/default/profile/menu/adminlinks.php b/mod/profile/views/default/profile/menu/adminlinks.php index 240c8453b..f59059db8 100644 --- a/mod/profile/views/default/profile/menu/adminlinks.php +++ b/mod/profile/views/default/profile/menu/adminlinks.php @@ -15,9 +15,13 @@ if (isadminloggedin()){ if ($_SESSION['id']!=$vars['entity']->guid){ ?> -

- - +

isEnabled()) { + ?> admin) { ?>

-- cgit v1.2.3