From 00eacd659f27df9c13246c510057c4f42c8866a2 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 15 Oct 2009 14:37:57 -0700 Subject: Start simplifying the interface by moving the static methods from user.php and group.php. Tried creating a identity helper, but the helper identity.php was confused with the library Identity.php. So got around this by making the methods on Identity static and calling the instance within the static methods. Also temporarily moved the user.php and group.php back into the user module. --- modules/user/controllers/admin_users.php | 6 +- modules/user/controllers/users.php | 4 +- modules/user/helpers/group.php | 79 ++++++++++++++++++++++ modules/user/helpers/user.php | 109 +++++++++++++++++++++++++++++++ modules/user/views/admin_users.html.php | 2 +- 5 files changed, 194 insertions(+), 6 deletions(-) create mode 100644 modules/user/helpers/group.php create mode 100644 modules/user/helpers/user.php (limited to 'modules/user') diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index 64f19ecd..3465c4b1 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -65,7 +65,7 @@ class Admin_Users_Controller extends Admin_Controller { public function delete_user($id) { access::verify_csrf(); - if ($id == user::active()->id || $id == user::guest()->id) { + if ($id == Identity::active()->id || $id == user::guest()->id) { access::forbidden(); } @@ -132,7 +132,7 @@ class Admin_Users_Controller extends Admin_Controller { } // An admin can change the admin status for any user but themselves - if ($user->id != user::active()->id) { + if ($user->id != Identity::active()->id) { $user->admin = $form->edit_user->admin->checked; } $user->save(); @@ -154,7 +154,7 @@ class Admin_Users_Controller extends Admin_Controller { $form = $this->_get_user_edit_form_admin($user); // Don't allow the user to control their own admin bit, else you can lock yourself out - if ($user->id == user::active()->id) { + if ($user->id == Identity::active()->id) { $form->edit_user->admin->disabled(1); } print $form; diff --git a/modules/user/controllers/users.php b/modules/user/controllers/users.php index 7c2e7833..6e666ba3 100644 --- a/modules/user/controllers/users.php +++ b/modules/user/controllers/users.php @@ -21,7 +21,7 @@ class Users_Controller extends Controller { public function update($id) { $user = user::lookup($id); - if ($user->guest || $user->id != user::active()->id) { + if ($user->guest || $user->id != Identity::active()->id) { access::forbidden(); } @@ -59,7 +59,7 @@ class Users_Controller extends Controller { public function form_edit($id) { $user = user::lookup($id); - if ($user->guest || $user->id != user::active()->id) { + if ($user->guest || $user->id != Identity::active()->id) { access::forbidden(); } diff --git a/modules/user/helpers/group.php b/modules/user/helpers/group.php new file mode 100644 index 00000000..295e5f50 --- /dev/null +++ b/modules/user/helpers/group.php @@ -0,0 +1,79 @@ +create_group($name); + } + + /** + * @see Identity_Driver::everbody. + */ + static function everybody() { + return Identity::instance()->everybody(); + } + + /** + * @see Identity_Driver::registered_users. + */ + static function registered_users() { + return Identity::instance()->everybody(); + } + + /** + * Look up a group by id. + * @param integer $id the user id + * @return Group_Definition the group object, or null if the id was invalid. + */ + static function lookup($id) { + return Identity::instance()->lookup_group_by_field("id", $id); + } + + /** + * Look up a group by name. + * @param integer $id the group name + * @return Group_Definition the group object, or null if the name was invalid. + */ + static function lookup_by_name($name) { + return Identity::instance()->lookup_group_by_field("name", $name); + } + + /** + * @see Identity_Driver::get_group_list. + */ + static function get_group_list($filter=array()) { + return Identity::instance()->get_group_list($filter); + } + + /** + * @see Identity_Driver::get_edit_rules. + */ + static function get_edit_rules() { + return Identity::instance()->get_edit_rules("group"); + } +} diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php new file mode 100644 index 00000000..394f8185 --- /dev/null +++ b/modules/user/helpers/user.php @@ -0,0 +1,109 @@ +loaded) { + return $user; + } + } catch (Exception $e) { + if (strpos($e->getMessage(), "MISSING_MODEL") === false) { + throw $e; + } + } + return null; + } +} \ No newline at end of file diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index a29f24b1..400686cc 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -90,7 +90,7 @@ - id != $user->id && !$user->guest): ?> + id != $user->id && !$user->guest): ?> id") ?>" class="g-dialog-link g-button ui-state-default ui-corner-all ui-icon-left"> -- cgit v1.2.3