summaryrefslogtreecommitdiff
path: root/modules/user/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/libraries')
-rw-r--r--modules/user/libraries/drivers/Identity/Gallery.php124
1 files changed, 28 insertions, 96 deletions
diff --git a/modules/user/libraries/drivers/Identity/Gallery.php b/modules/user/libraries/drivers/Identity/Gallery.php
index 013497b6..77db11a3 100644
--- a/modules/user/libraries/drivers/Identity/Gallery.php
+++ b/modules/user/libraries/drivers/Identity/Gallery.php
@@ -25,28 +25,14 @@ class Identity_Gallery_Driver implements Identity_Driver {
* @see Identity_Driver::guest.
*/
public function guest() {
- return new Gallery_User(model_cache::get("user", 1));
+ return new Gallery_User(user::guest());
}
/**
* @see Identity_Driver::create_user.
*/
public function create_user($name, $full_name, $password) {
- $user = ORM::factory("user")->where("name", $name)->find();
- if ($user->loaded) {
- throw new Exception("@todo USER_ALREADY_EXISTS $name");
- }
-
- $user->name = $name;
- $user->full_name = $full_name;
- $user->password = $password;
-
- // Required groups
- $user->add($this->everybody()->_uncloaked());
- $user->add($this->registered_users()->_uncloaked());
-
- $user->save();
- return new Gallery_User($user);
+ return new Gallery_User(user::create($name, $full_name, $password));
}
/**
@@ -84,126 +70,58 @@ class Identity_Gallery_Driver implements Identity_Driver {
* @see Identity_Driver::hash_password.
*/
public function hash_password($password) {
- require_once(MODPATH . "user/lib/PasswordHash.php");
- $hashGenerator = new PasswordHash(10, true);
- return $hashGenerator->HashPassword($password);
+ return user::hash_password($password);
}
/**
* @see Identity_Driver::lookup_user_by_field.
*/
public function lookup_user_by_field($field_name, $value) {
- try {
- $user = model_cache::get("user", $value, $field_name);
- if ($user->loaded) {
- return new Gallery_User($user);
- }
- } catch (Exception $e) {
- if (strpos($e->getMessage(), "MISSING_MODEL") === false) {
- throw $e;
- }
- }
- return null;
+ return new Gallery_User(user::lookup_by_field($field_name, $value));
}
/**
* @see Identity_Driver::create_group.
*/
public function create_group($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 new Gallery_Group($group);
+ return new Gallery_Group(group::create($name));
}
/**
* @see Identity_Driver::everybody.
*/
public function everybody() {
- return new Gallery_Group(model_cache::get("group", 1));
+ return new Gallery_Group(group::everybody());
}
/**
* @see Identity_Driver::registered_users.
*/
public function registered_users() {
- return new Gallery_Group(model_cache::get("group", 2));
+ return new Gallery_Group(group::registered_users());
}
/**
* @see Identity_Driver::lookup_group_by_field.
*/
public function lookup_group_by_field($field_name, $value) {
- try {
- $group = model_cache::get("group", $value, $field_name);
- if ($group->loaded) {
- return new Gallery_Group($group);
- }
- } catch (Exception $e) {
- if (strpos($e->getMessage(), "MISSING_MODEL") === false) {
- throw $e;
- }
- }
- return null;
+ return new Gallery_Group(group::lookup_by_field($field_name, $value));
}
/**
* @see Identity_Driver::get_user_list.
*/
- public function get_user_list($filter=array()) {
- $results = $this->_do_search("user", $filter);
+ public function get_user_list($ids) {
+ $results = ORM::factory("user")
+ ->in("id", ids)
+ ->find_all()
+ ->as_array();;
$users = array();
- foreach ($results->as_array() as $user) {
+ foreach ($results as $user) {
$users[] = new Gallery_User($user);
}
return $users;
}
-
- /**
- * @see Identity_Driver::get_group_list.
- */
- public function get_group_list($filter=array()) {
- $results = $this->_do_search("group", $filter);
- $groups = array();
- foreach ($results->as_array() as $group) {
- $groups[] = new Gallery_Group($group);
- }
- return $groups;
- }
-
- /**
- * @see Identity_Driver::get_edit_rules.
- */
- public function get_edit_rules($object_type) {
- return (object)ORM::factory($object_type)->rules;
- }
-
- /**
- * Build the query based on the supplied filters for the specified model.
- * @param string $object_type to return rules for ("user"|"group")
- * @param mixed $filters options to apply to the selection.
- */
- private function _do_search($object_type, $filter) {
- $object = ORM::factory($object_type);
-
- foreach ($filter as $method => $args) {
- switch ($method) {
- case "in":
- $object->in($args[0], $args[1]);
- break;
- default:
- $object->$method($args);
- }
- }
-
- return $object->find_all();
- }
-
} // End Identity Gallery Driver
/**
@@ -217,6 +135,20 @@ class Gallery_User extends User_Definition {
$this->user = $user;
}
+ /**
+ * @see User_Definition::avatar_url
+ */
+ public function avatar_url($size=80, $default=null) {
+ return $this->user->avatar_url($size, $default);
+ }
+
+ /**
+ * @see User_Definition::display_name
+ */
+ public function display_name() {
+ return $this->user->display_name();
+ }
+
public function save() {
$this->user->save();
}