diff options
Diffstat (limited to 'modules/gallery/helpers/group.php')
-rw-r--r-- | modules/gallery/helpers/group.php | 75 |
1 files changed, 17 insertions, 58 deletions
diff --git a/modules/gallery/helpers/group.php b/modules/gallery/helpers/group.php index 1702fb87..295e5f50 100644 --- a/modules/gallery/helpers/group.php +++ b/modules/gallery/helpers/group.php @@ -25,96 +25,55 @@ */ class group_Core { /** - * Create a new group. - * - * @param string $name - * @return Group_Model + * @see Identity_Driver::create. */ static function create($name) { - $group = ORM::factory("group")->where("name", $name)->find(); - if ($group->loaded) { - throw new Exception("@todo GROUP_ALREADY_EXISTS $name"); - } - - $group->name = $name; - $group->save(); - - return $group; + return Identity::instance()->create_group($name); } /** - * The group of all possible visitors. This includes the guest user. - * - * @return Group_Model + * @see Identity_Driver::everbody. */ static function everybody() { - return model_cache::get("group", 1); + return Identity::instance()->everybody(); } /** - * The group of all logged-in visitors. This does not include guest users. - * - * @return Group_Model + * @see Identity_Driver::registered_users. */ static function registered_users() { - return model_cache::get("group", 2); + return Identity::instance()->everybody(); } /** - * Look up a user by id. + * Look up a group by id. * @param integer $id the user id - * @return User_Model the user object, or null if the id was invalid. + * @return Group_Definition the group object, or null if the id was invalid. */ static function lookup($id) { - return self::_lookup_group_by_field("id", $id); + return Identity::instance()->lookup_group_by_field("id", $id); } /** * Look up a group by name. * @param integer $id the group name - * @return Group_Model the group object, or null if the name was invalid. + * @return Group_Definition the group object, or null if the name was invalid. */ static function lookup_by_name($name) { - return self::_lookup_group_by_field("name", $name); + return Identity::instance()->lookup_group_by_field("name", $name); } /** - * Look up a user by field value. - * @param string search field - * @param string search value - * @return Group_Model the user object, or null if the name was invalid. + * @see Identity_Driver::get_group_list. */ - private static function _lookup_group_by_field($field_name, $value) { - try { - $user = model_cache::get("group", $value, $field_name); - if ($user->loaded) { - return $user; - } - } catch (Exception $e) { - if (strpos($e->getMessage(), "MISSING_MODEL") === false) { - throw $e; - } - } - return null; + static function get_group_list($filter=array()) { + return Identity::instance()->get_group_list($filter); } /** - * List the users - * @param mixed filters (@see Database.php - * @return array the group list. + * @see Identity_Driver::get_edit_rules. */ - static function get_group_list($filter=array()) { - $group = ORM::factory("group"); - - foreach($filter as $method => $args) { - switch ($method) { - case "in": - $group->in($args[0], $args[1]); - break; - default: - $group->$method($args); - } - } - return $group->find_all(); + static function get_edit_rules() { + return Identity::instance()->get_edit_rules("group"); } } |