summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-10-22 13:09:20 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-10-22 13:11:03 -0700
commit3c936d661a088fb43b47eb5b208958180e8f65eb (patch)
tree1a117dc1bfe54bec44f664cbd7c5f8c93aa5e993
parent4cb9ec1d6d37b49ebafc68d0a94d794a1acb8b28 (diff)
Change the name of identity library from Identity to IdentityProvider. Create a helper class called identity to simplify call the Identity Provider. Move the contents of MY_Session.php to the new helper class and remove the MY_Session class
-rw-r--r--modules/akismet/tests/Akismet_Helper_Test.php2
-rw-r--r--modules/comment/controllers/comments.php8
-rw-r--r--modules/comment/helpers/comment.php2
-rw-r--r--modules/comment/models/comment.php2
-rw-r--r--modules/comment/tests/Comment_Event_Test.php2
-rw-r--r--modules/comment/tests/Comment_Helper_Test.php4
-rw-r--r--modules/comment/tests/Comment_Model_Test.php8
-rw-r--r--modules/digibug/controllers/digibug.php2
-rw-r--r--modules/digibug/tests/Digibug_Controller_Test.php4
-rw-r--r--modules/g2_import/helpers/g2_import.php16
-rw-r--r--modules/gallery/controllers/admin.php2
-rw-r--r--modules/gallery/controllers/admin_identity.php10
-rw-r--r--modules/gallery/controllers/albums.php4
-rw-r--r--modules/gallery/controllers/l10n_client.php4
-rw-r--r--modules/gallery/controllers/login.php8
-rw-r--r--modules/gallery/controllers/logout.php2
-rw-r--r--modules/gallery/controllers/permissions.php6
-rw-r--r--modules/gallery/controllers/upgrader.php4
-rw-r--r--modules/gallery/controllers/welcome_message.php4
-rw-r--r--modules/gallery/helpers/access.php4
-rw-r--r--modules/gallery/helpers/gallery.php2
-rw-r--r--modules/gallery/helpers/gallery_event.php10
-rw-r--r--modules/gallery/helpers/gallery_installer.php2
-rw-r--r--modules/gallery/helpers/gallery_theme.php2
-rw-r--r--modules/gallery/helpers/identity.php225
-rw-r--r--modules/gallery/helpers/item.php4
-rw-r--r--modules/gallery/helpers/locales.php2
-rw-r--r--modules/gallery/helpers/log.php2
-rw-r--r--modules/gallery/helpers/movie.php2
-rw-r--r--modules/gallery/helpers/photo.php2
-rw-r--r--modules/gallery/helpers/site_status.php2
-rw-r--r--modules/gallery/helpers/task.php2
-rw-r--r--modules/gallery/libraries/Admin_View.php4
-rw-r--r--modules/gallery/libraries/Identity.php222
-rw-r--r--modules/gallery/libraries/IdentityProvider.php200
-rw-r--r--modules/gallery/libraries/MY_Session.php93
-rw-r--r--modules/gallery/libraries/Theme_View.php6
-rw-r--r--modules/gallery/libraries/drivers/IdentityProvider.php (renamed from modules/gallery/libraries/drivers/Identity.php)2
-rw-r--r--modules/gallery/models/item.php2
-rw-r--r--modules/gallery/models/log.php2
-rw-r--r--modules/gallery/models/task.php2
-rw-r--r--modules/gallery/tests/Access_Helper_Test.php144
-rw-r--r--modules/gallery/tests/Albums_Controller_Test.php4
-rw-r--r--modules/gallery/tests/Item_Helper_Test.php6
-rw-r--r--modules/gallery/tests/Photos_Controller_Test.php6
-rw-r--r--modules/gallery/views/kohana_error_page.php2
-rw-r--r--modules/gallery/views/login.html.php2
-rw-r--r--modules/gallery/views/login_ajax.html.php2
-rw-r--r--modules/notification/helpers/notification.php10
-rw-r--r--modules/notification/helpers/notification_event.php2
-rw-r--r--modules/search/helpers/search.php4
-rw-r--r--modules/server_add/controllers/server_add.php4
-rw-r--r--modules/server_add/helpers/server_add_event.php2
-rw-r--r--modules/server_add/helpers/server_add_theme.php2
-rw-r--r--modules/user/controllers/admin_users.php6
-rw-r--r--modules/user/controllers/password.php2
-rw-r--r--modules/user/controllers/users.php4
-rw-r--r--modules/user/helpers/group.php18
-rw-r--r--modules/user/libraries/drivers/IdentityProvider/Gallery.php (renamed from modules/user/libraries/drivers/Identity/Gallery.php)30
-rw-r--r--modules/user/views/admin_users.html.php2
60 files changed, 628 insertions, 512 deletions
diff --git a/modules/akismet/tests/Akismet_Helper_Test.php b/modules/akismet/tests/Akismet_Helper_Test.php
index 6788e7a3..745b455c 100644
--- a/modules/akismet/tests/Akismet_Helper_Test.php
+++ b/modules/akismet/tests/Akismet_Helper_Test.php
@@ -26,7 +26,7 @@ class Akismet_Helper_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$this->_comment = comment::create(
- $root, Identity::guest(), "This is a comment",
+ $root, identity::guest(), "This is a comment",
"John Doe", "john@gallery2.org", "http://gallery2.org");
foreach ($this->_comment->list_fields("comments") as $name => $field) {
if (strpos($name, "server_") === 0) {
diff --git a/modules/comment/controllers/comments.php b/modules/comment/controllers/comments.php
index c0658cc1..09b9c607 100644
--- a/modules/comment/controllers/comments.php
+++ b/modules/comment/controllers/comments.php
@@ -65,7 +65,7 @@ class Comments_Controller extends REST_Controller {
$form = comment::get_add_form($item);
$valid = $form->validate();
if ($valid) {
- if (Session::active_user()->guest && !$form->add_comment->inputs["name"]->value) {
+ if (identity::active_user()->guest && !$form->add_comment->inputs["name"]->value) {
$form->add_comment->inputs["name"]->add_error("missing", 1);
$valid = false;
}
@@ -78,13 +78,13 @@ class Comments_Controller extends REST_Controller {
if ($valid) {
$comment = comment::create(
- $item, Session::active_user(),
+ $item, identity::active_user(),
$form->add_comment->text->value,
$form->add_comment->inputs["name"]->value,
$form->add_comment->email->value,
$form->add_comment->url->value);
- $active = Session::active_user();
+ $active = identity::active_user();
if ($active->guest) {
$form->add_comment->inputs["name"]->value("");
$form->add_comment->email->value("");
@@ -192,7 +192,7 @@ class Comments_Controller extends REST_Controller {
* @see REST_Controller::form_edit($resource)
*/
public function _form_edit($comment) {
- if (!Session::active_user()->admin) {
+ if (!identity::active_user()->admin) {
access::forbidden();
}
print comment::get_edit_form($comment);
diff --git a/modules/comment/helpers/comment.php b/modules/comment/helpers/comment.php
index e741266d..53d58afa 100644
--- a/modules/comment/helpers/comment.php
+++ b/modules/comment/helpers/comment.php
@@ -75,7 +75,7 @@ class comment_Core {
module::event("comment_add_form", $form);
$group->submit("")->value(t("Add"));
- $active = Session::active_user();
+ $active = identity::active_user();
if (!$active->guest) {
$group->inputs["name"]->value($active->full_name)->disabled("disabled");
$group->email->value($active->email)->disabled("disabled");
diff --git a/modules/comment/models/comment.php b/modules/comment/models/comment.php
index 5e29e778..bb9b8833 100644
--- a/modules/comment/models/comment.php
+++ b/modules/comment/models/comment.php
@@ -23,7 +23,7 @@ class Comment_Model extends ORM {
}
function author() {
- return Identity::lookup_user($this->author_id);
+ return identity::lookup_user($this->author_id);
}
function author_name() {
diff --git a/modules/comment/tests/Comment_Event_Test.php b/modules/comment/tests/Comment_Event_Test.php
index eb301893..f650cabf 100644
--- a/modules/comment/tests/Comment_Event_Test.php
+++ b/modules/comment/tests/Comment_Event_Test.php
@@ -22,7 +22,7 @@ class Comment_Event_Test extends Unit_Test_Case {
$rand = rand();
$album = album::create(ORM::factory("item", 1), "test_$rand", "test_$rand");
$comment = comment::create(
- $album, Identity::guest(), "text_$rand", "name_$rand", "email_$rand", "url_$rand");
+ $album, identity::guest(), "text_$rand", "name_$rand", "email_$rand", "url_$rand");
$album->delete();
diff --git a/modules/comment/tests/Comment_Helper_Test.php b/modules/comment/tests/Comment_Helper_Test.php
index e8ab7c79..c635c3b7 100644
--- a/modules/comment/tests/Comment_Helper_Test.php
+++ b/modules/comment/tests/Comment_Helper_Test.php
@@ -48,7 +48,7 @@ class Comment_Helper_Test extends Unit_Test_Case {
$rand = rand();
$root = ORM::factory("item", 1);
$comment = comment::create(
- $root, Identity::guest(), "text_$rand", "name_$rand", "email_$rand", "url_$rand");
+ $root, identity::guest(), "text_$rand", "name_$rand", "email_$rand", "url_$rand");
$this->assert_equal("name_$rand", $comment->author_name());
$this->assert_equal("email_$rand", $comment->author_email());
@@ -77,7 +77,7 @@ class Comment_Helper_Test extends Unit_Test_Case {
public function create_comment_for_user_test() {
$rand = rand();
$root = ORM::factory("item", 1);
- $admin = Identity::lookup_user(2);
+ $admin = identity::lookup_user(2);
$comment = comment::create(
$root, $admin, "text_$rand", "name_$rand", "email_$rand", "url_$rand");
diff --git a/modules/comment/tests/Comment_Model_Test.php b/modules/comment/tests/Comment_Model_Test.php
index 84532a96..de19648d 100644
--- a/modules/comment/tests/Comment_Model_Test.php
+++ b/modules/comment/tests/Comment_Model_Test.php
@@ -22,17 +22,17 @@ class Comment_Model_Test extends Unit_Test_Case {
public function cant_view_comments_for_unviewable_items_test() {
$root = ORM::factory("item", 1);
$album = album::create($root, rand(), rand(), rand());
- $comment = comment::create($album, Identity::guest(), "text", "name", "email", "url");
- Session::set_active_user(Identity::guest());
+ $comment = comment::create($album, identity::guest(), "text", "name", "email", "url");
+ identity::set_active_user(identity::guest());
// We can see the comment when permissions are granted on the album
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$this->assert_equal(
1,
ORM::factory("comment")->viewable()->where("comments.id", $comment->id)->count_all());
// We can't see the comment when permissions are denied on the album
- access::deny(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $album);
$this->assert_equal(
0,
ORM::factory("comment")->viewable()->where("comments.id", $comment->id)->count_all());
diff --git a/modules/digibug/controllers/digibug.php b/modules/digibug/controllers/digibug.php
index 8ea83601..1bb2691b 100644
--- a/modules/digibug/controllers/digibug.php
+++ b/modules/digibug/controllers/digibug.php
@@ -23,7 +23,7 @@ class Digibug_Controller extends Controller {
$item = ORM::factory("item", $id);
access::required("view", $item);
- if (access::group_can(Identity::everybody(), "view_full", $item)) {
+ if (access::group_can(identity::everybody(), "view_full", $item)) {
$full_url = $item->file_url(true);
$thumb_url = $item->thumb_url(true);
} else {
diff --git a/modules/digibug/tests/Digibug_Controller_Test.php b/modules/digibug/tests/Digibug_Controller_Test.php
index 19f57972..a56d58bb 100644
--- a/modules/digibug/tests/Digibug_Controller_Test.php
+++ b/modules/digibug/tests/Digibug_Controller_Test.php
@@ -35,8 +35,8 @@ class Digibug_Controller_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$this->_album = album::create($root, rand(), "test album");
- access::deny(Identity::everybody(), "view_full", $this->_album);
- access::deny(Identity::registered_users(), "view_full", $this->_album);
+ access::deny(identity::everybody(), "view_full", $this->_album);
+ access::deny(identity::registered_users(), "view_full", $this->_album);
$rand = rand();
$this->_item = photo::create($this->_album, MODPATH . "gallery/tests/test.jpg", "$rand.jpg",
diff --git a/modules/g2_import/helpers/g2_import.php b/modules/g2_import/helpers/g2_import.php
index d24aab93..f55e7f32 100644
--- a/modules/g2_import/helpers/g2_import.php
+++ b/modules/g2_import/helpers/g2_import.php
@@ -230,16 +230,16 @@ class g2_import_Core {
switch ($g2_group->getGroupType()) {
case GROUP_NORMAL:
try {
- $group = Identity::create_group($g2_group->getGroupName());
+ $group = identity::create_group($g2_group->getGroupName());
} catch (Exception $e) {
// @todo For now we assume this is a "duplicate group" exception
- $group = Identity::lookup_user_by_name($g2_group->getGroupname());
+ $group = identity::lookup_user_by_name($g2_group->getGroupname());
}
$message = t("Group '%name' was imported", array("name" => $g2_group->getGroupname()));
break;
case GROUP_ALL_USERS:
- $group = Identity::registered_users();
+ $group = identity::registered_users();
$message = t("Group 'Registered' was converted to '%name'", array("name" => $group->name));
break;
@@ -248,7 +248,7 @@ class g2_import_Core {
break; // This is not a group in G3
case GROUP_EVERYBODY:
- $group = Identity::everybody();
+ $group = identity::everybody();
$message = t("Group 'Everybody' was converted to '%name'", array("name" => $group->name));
break;
}
@@ -270,7 +270,7 @@ class g2_import_Core {
}
if (g2(GalleryCoreApi::isAnonymousUser($g2_user_id))) {
- self::set_map($g2_user_id, Identity::guest()->id);
+ self::set_map($g2_user_id, identity::guest()->id);
return t("Skipping Anonymous User");
}
@@ -285,11 +285,11 @@ class g2_import_Core {
$g2_groups = g2(GalleryCoreApi::fetchGroupsForUser($g2_user->getId()));
try {
- $user = Identity::create_user($g2_user->getUsername(), $g2_user->getfullname(), "");
+ $user = identity::create_user($g2_user->getUsername(), $g2_user->getfullname(), "");
$message = t("Created user: '%name'.", array("name" => $user->name));
} catch (Exception $e) {
// @todo For now we assume this is a "duplicate user" exception
- $user = Identity::lookup_user_by_name($g2_user->getUsername());
+ $user = identity::lookup_user_by_name($g2_user->getUsername());
$message = t("Loaded existing user: '%name'.", array("name" => $user->name));
}
@@ -301,7 +301,7 @@ class g2_import_Core {
$user->admin = true;
$message .= t("\n\tAdded 'admin' flag to user");
} else {
- $group = Identity::lookup_group(self::map($g2_group_id));
+ $group = identity::lookup_group(self::map($g2_group_id));
$user->add($group);
$message .= t("\n\tAdded user to group '%group'.", array("group" => $group->name));
}
diff --git a/modules/gallery/controllers/admin.php b/modules/gallery/controllers/admin.php
index 24eebe7d..98cac557 100644
--- a/modules/gallery/controllers/admin.php
+++ b/modules/gallery/controllers/admin.php
@@ -21,7 +21,7 @@ class Admin_Controller extends Controller {
private $theme;
public function __construct($theme=null) {
- if (!(Session::active_user()->admin)) {
+ if (!(identity::active_user()->admin)) {
access::forbidden();
}
diff --git a/modules/gallery/controllers/admin_identity.php b/modules/gallery/controllers/admin_identity.php
index 9d756a5c..d06132ff 100644
--- a/modules/gallery/controllers/admin_identity.php
+++ b/modules/gallery/controllers/admin_identity.php
@@ -21,7 +21,7 @@ class Admin_Identity_Controller extends Admin_Controller {
public function index() {
$view = new Admin_View("admin.html");
$view->content = new View("admin_identity.html");
- $view->content->available = Identity::providers();
+ $view->content->available = identity::providers();
$view->content->active = module::get_var("gallery", "identity_provider", "user");
print $view;
}
@@ -39,7 +39,7 @@ class Admin_Identity_Controller extends Admin_Controller {
access::verify_csrf();
$active_provider = module::get_var("gallery", "identity_provider", "user");
- $providers = Identity::providers();
+ $providers = identity::providers();
$new_provider = $this->input->post("provider");
@@ -47,13 +47,13 @@ class Admin_Identity_Controller extends Admin_Controller {
module::event("pre_identity_change", $active_provider, $new_provider);
- Identity::deactivate();
+ identity::deactivate();
// Switch authentication
module::set_var("gallery", "identity_provider", $new_provider);
- Identity::reset();
+ identity::reset();
- Identity::activate();
+ identity::activate();
// @todo this type of collation is questionable from an i18n perspective
message::success(t("Changed to %description",
diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php
index fabf67ce..24ceb0c9 100644
--- a/modules/gallery/controllers/albums.php
+++ b/modules/gallery/controllers/albums.php
@@ -111,7 +111,7 @@ class Albums_Controller extends Items_Controller {
$this->input->post("name"),
$this->input->post("title", $this->input->post("name")),
$this->input->post("description"),
- Session::active_user()->id,
+ identity::active_user()->id,
$this->input->post("slug"));
log::success("content", "Created an album",
@@ -146,7 +146,7 @@ class Albums_Controller extends Items_Controller {
$_FILES["file"]["name"],
$this->input->post("title", $this->input->post("name")),
$this->input->post("description"),
- Session::active_user()->id);
+ identity::active_user()->id);
log::success("content", "Added a photo", html::anchor("photos/$photo->id", "view photo"));
message::success(t("Added photo %photo_title",
diff --git a/modules/gallery/controllers/l10n_client.php b/modules/gallery/controllers/l10n_client.php
index 2ab73102..6db67d3b 100644
--- a/modules/gallery/controllers/l10n_client.php
+++ b/modules/gallery/controllers/l10n_client.php
@@ -20,7 +20,7 @@
class L10n_Client_Controller extends Controller {
public function save() {
access::verify_csrf();
- if (!Session::active_user()->admin) {
+ if (!identity::active_user()->admin) {
access::forbidden();
}
@@ -85,7 +85,7 @@ class L10n_Client_Controller extends Controller {
public function toggle_l10n_mode() {
access::verify_csrf();
- if (!Session::active_user()->admin) {
+ if (!identity::active_user()->admin) {
access::forbidden();
}
diff --git a/modules/gallery/controllers/login.php b/modules/gallery/controllers/login.php
index 4c83d647..86e2b0a4 100644
--- a/modules/gallery/controllers/login.php
+++ b/modules/gallery/controllers/login.php
@@ -58,8 +58,8 @@ class Login_Controller extends Controller {
$form = login::get_login_form($url);
$valid = $form->validate();
if ($valid) {
- $user = Identity::lookup_user_by_name($form->login->inputs["name"]->value);
- if (empty($user) || !Identity::is_correct_password($user, $form->login->password->value)) {
+ $user = identity::lookup_user_by_name($form->login->inputs["name"]->value);
+ if (empty($user) || !identity::is_correct_password($user, $form->login->password->value)) {
log::warning(
"user",
t("Failed login for %name",
@@ -70,12 +70,12 @@ class Login_Controller extends Controller {
}
if ($valid) {
- if (Identity::is_writable()) {
+ if (identity::is_writable()) {
$user->login_count += 1;
$user->last_login = time();
$user->save();
}
- Session::set_active_user($user);
+ identity::set_active_user($user);
log::info("user", t("User %name logged in", array("name" => $user->name)));
}
diff --git a/modules/gallery/controllers/logout.php b/modules/gallery/controllers/logout.php
index 058860fa..1b0364fd 100644
--- a/modules/gallery/controllers/logout.php
+++ b/modules/gallery/controllers/logout.php
@@ -19,7 +19,7 @@
*/
class Logout_Controller extends Controller {
public function index() {
- $user = Session::active_user();
+ $user = identity::active_user();
if (!$user->guest) {
try {
Session::instance()->destroy();
diff --git a/modules/gallery/controllers/permissions.php b/modules/gallery/controllers/permissions.php
index 58c5b816..99943fbb 100644
--- a/modules/gallery/controllers/permissions.php
+++ b/modules/gallery/controllers/permissions.php
@@ -51,7 +51,7 @@ class Permissions_Controller extends Controller {
function change($command, $group_id, $perm_id, $item_id) {
access::verify_csrf();
- $group = Identity::lookup_group($group_id);
+ $group = identity::lookup_group($group_id);
$perm = ORM::factory("permission", $perm_id);
$item = ORM::factory("item", $item_id);
access::required("view", $item);
@@ -74,7 +74,7 @@ class Permissions_Controller extends Controller {
// If the active user just took away their own edit permissions, give it back.
if ($perm->name == "edit") {
- if (!access::user_can(Session::active_user(), "edit", $item)) {
+ if (!access::user_can(identity::active_user(), "edit", $item)) {
access::allow($group, $perm->name, $item);
}
}
@@ -84,7 +84,7 @@ class Permissions_Controller extends Controller {
private function _get_form($item) {
$view = new View("permissions_form.html");
$view->item = $item;
- $view->groups = Identity::groups();
+ $view->groups = identity::groups();
$view->permissions = ORM::factory("permission")->find_all();
return $view;
}
diff --git a/modules/gallery/controllers/upgrader.php b/modules/gallery/controllers/upgrader.php
index e0c5d340..1aa607ef 100644
--- a/modules/gallery/controllers/upgrader.php
+++ b/modules/gallery/controllers/upgrader.php
@@ -40,7 +40,7 @@ class Upgrader_Controller extends Controller {
}
$view = new View("upgrader.html");
- $view->can_upgrade = Session::active_user()->admin || $session->get("can_upgrade");
+ $view->can_upgrade = identity::active_user()->admin || $session->get("can_upgrade");
$view->upgrade_token = $upgrade_token;
$view->available = module::available();
$view->done = ($available_upgrades == 0);
@@ -52,7 +52,7 @@ class Upgrader_Controller extends Controller {
// @todo this may screw up some module installers, but we don't have a better answer at
// this time.
$_SERVER["HTTP_HOST"] = "example.com";
- } else if (!Session::active_user()->admin && !Session::instance()->get("can_upgrade", false)) {
+ } else if (!identity::active_user()->admin && !Session::instance()->get("can_upgrade", false)) {
access::forbidden();
}
diff --git a/modules/gallery/controllers/welcome_message.php b/modules/gallery/controllers/welcome_message.php
index cfdc3976..af0d6997 100644
--- a/modules/gallery/controllers/welcome_message.php
+++ b/modules/gallery/controllers/welcome_message.php
@@ -19,12 +19,12 @@
*/
class Welcome_Message_Controller extends Controller {
public function index() {
- if (!Session::active_user()->admin) {
+ if (!identity::active_user()->admin) {
url::redirect(item::root()->abs_url());
}
$v = new View("welcome_message.html");
- $v->user = Session::active_user();
+ $v->user = identity::active_user();
print $v;
}
}
diff --git a/modules/gallery/helpers/access.php b/modules/gallery/helpers/access.php
index 4e7491e3..a3abbe2e 100644
--- a/modules/gallery/helpers/access.php
+++ b/modules/gallery/helpers/access.php
@@ -79,7 +79,7 @@ class access_Core {
* @return boolean
*/
static function can($perm_name, $item) {
- return self::user_can(Session::active_user(), $perm_name, $item);
+ return self::user_can(identity::active_user(), $perm_name, $item);
}
/**
@@ -423,7 +423,7 @@ class access_Core {
// This is ok at packaging time, so work around it.
$config = module::get_var("gallery", "identity_provider");
if (!empty($config)) {
- return Identity::groups();
+ return identity::groups();
} else {
return array();
}
diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php
index 18bb2609..84f8a7fb 100644
--- a/modules/gallery/helpers/gallery.php
+++ b/modules/gallery/helpers/gallery.php
@@ -27,7 +27,7 @@ class gallery_Core {
static function maintenance_mode() {
$maintenance_mode = Kohana::config("core.maintenance_mode", false, false);
- if (Router::$controller != "login" && !empty($maintenance_mode) && !Session::active_user()->admin) {
+ if (Router::$controller != "login" && !empty($maintenance_mode) && !identity::active_user()->admin) {
Router::$controller = "maintenance";
Router::$controller_path = MODPATH . "gallery/controllers/maintenance.php";
Router::$method = "index";
diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php
index 95be4813..b6afa2c8 100644
--- a/modules/gallery/helpers/gallery_event.php
+++ b/modules/gallery/helpers/gallery_event.php
@@ -23,11 +23,7 @@ class gallery_event_Core {
* Initialization.
*/
static function gallery_ready() {
- // Call Identity::instance() now to force the load of the user interface classes.
- // Session::load_user will attempt to load the active user from the session and needs
- // the user definition class, which can't be reached by Kohana's heiracrchical lookup.
- Identity::instance();
- Session::load_user();
+ identity::load_user();
locales::set_request_locale();
}
@@ -139,7 +135,7 @@ class gallery_event_Core {
}
}
- if (Session::active_user()->admin) {
+ if (identity::active_user()->admin) {
$menu->append($admin_menu = Menu::factory("submenu")
->id("admin_menu")
->label(t("Admin")));
@@ -191,7 +187,7 @@ class gallery_event_Core {
->id("sidebar")
->label(t("Manage Sidebar"))
->url(url::site("admin/sidebar"))));
- if (count(Identity::providers()) > 1) {
+ if (count(identity::providers()) > 1) {
$menu
->append(Menu::factory("submenu")
->id("identity_menu")
diff --git a/modules/gallery/helpers/gallery_installer.php b/modules/gallery/helpers/gallery_installer.php
index 10e796fd..9c19eaed 100644
--- a/modules/gallery/helpers/gallery_installer.php
+++ b/modules/gallery/helpers/gallery_installer.php
@@ -317,7 +317,7 @@ class gallery_installer {
}
if ($version == 7) {
- $groups = Identity::groups();
+ $groups = identity::groups();
$permissions = ORM::factory("permission")->find_all();
foreach($groups as $group) {
foreach($permissions as $permission) {
diff --git a/modules/gallery/helpers/gallery_theme.php b/modules/gallery/helpers/gallery_theme.php
index d21cb124..5f3eb2a9 100644
--- a/modules/gallery/helpers/gallery_theme.php
+++ b/modules/gallery/helpers/gallery_theme.php
@@ -54,7 +54,7 @@ class gallery_theme_Core {
static function header_top($theme) {
if ($theme->page_type != "login") {
$view = new View("login.html");
- $view->user = Session::active_user();
+ $view->user = identity::active_user();
return $view->render();
}
}
diff --git a/modules/gallery/helpers/identity.php b/modules/gallery/helpers/identity.php
new file mode 100644
index 00000000..cf84c8a9
--- /dev/null
+++ b/modules/gallery/helpers/identity.php
@@ -0,0 +1,225 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2009 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+class identity_Core {
+ protected static $available;
+
+ /**
+ * Return a list of installed Identity Drivers.
+ *
+ * @return boolean true if the driver supports updates; false if read only
+ */
+ static function providers() {
+ if (empty(self::$available)) {
+ $drivers = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
+ foreach (module::available() as $module_name => $module) {
+ if (file_exists(MODPATH . "{$module_name}/config/identity.php")) {
+ $drivers->$module_name = $module->description;
+ }
+ }
+ self::$available = $drivers;
+ }
+ return self::$available;
+ }
+
+ /**
+ * Make sure that we have a session and group_ids cached in the session.
+ */
+ static function load_user() {
+ //try {
+ // Call IdentityProvider::instance() now to force the load of the user interface classes.
+ // We are about to load the active user from the session and which needs the user definition
+ // class, which can't be reached by Kohana's heiracrchical lookup.
+ IdentityProvider::instance();
+
+ $session = Session::instance();
+ if (!($user = $session->get("user"))) {
+ self::set_active_user($user = self::guest());
+ }
+
+ // The installer cannot set a user into the session, so it just sets an id which we should
+ // upconvert into a user.
+ // @todo set the user name into the session instead of 2 and then use it to get the user object
+ if ($user === 2) {
+ $user = IdentityProvider::instance()->lookup_user_by_name("admin");
+ self::set_active_user($user);
+ $session->set("user", $user);
+ }
+
+ if (!$session->get("group_ids")) {
+ $ids = array();
+ foreach ($user->groups as $group) {
+ $ids[] = $group->id;
+ }
+ $session->set("group_ids", $ids);
+ }
+ //} catch (Exception $e) {
+ //try {
+ //Session::instance()->destroy();
+ //} catch (Exception $e) {
+ // We don't care if there was a problem destroying the session.
+ //}
+ //url::redirect(item::root()->abs_url());
+ //}
+ }
+
+ /**
+ * Return the array of group ids this user belongs to
+ *
+ * @return array
+ */
+ static function group_ids_for_active_user() {
+ return Session::instance()->get("group_ids", array(1));
+ }
+
+ /**
+ * Return the active user. If there's no active user, return the guest user.
+ *
+ * @return User_Definition
+ */
+ static function active_user() {
+ // @todo (maybe) cache this object so we're not always doing session lookups.
+ $user = Session::instance()->get("user", null);
+ if (!isset($user)) {
+ // Don't do this as a fallback in the Session::get() call because it can trigger unnecessary
+ // work.
+ $user = identity::guest();
+ }
+ return $user;
+ }
+
+ /**
+ * Change the active user.
+ * @param User_Definition $user
+ */
+ static function set_active_user($user) {
+ $session = Session::instance();
+ $session->set("user", $user);
+ $session->delete("group_ids");
+ self::load_user();
+ }
+
+ /**
+ * Determine if if the current driver supports updates.
+ *
+ * @return boolean true if the driver supports updates; false if read only
+ */
+ static function is_writable() {
+ return IdentityProvider::instance()->is_writable();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::activate.
+ */
+ static function activate() {
+ IdentityProvider::instance()->activate();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::deactivate.
+ */
+ static function deactivate() {
+ IdentityProvider::instance()->deactivate();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::guest.
+ */
+ static function guest() {
+ return IdentityProvider::instance()->guest();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::create_user.
+ */
+ static function create_user($name, $full_name, $password) {
+ return IdentityProvider::instance()->create_user($name, $full_name, $password);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::is_correct_password.
+ */
+ static function is_correct_password($user, $password) {
+ return IdentityProvider::instance()->is_correct_password($user, $password);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_user.
+ */
+ static function lookup_user($id) {
+ return IdentityProvider::instance()->lookup_user($id);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_user_by_name.
+ */
+ static function lookup_user_by_name($name) {
+ return IdentityProvider::instance()->lookup_user_by_name($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::create_group.
+ */
+ static function create_group($name) {
+ return IdentityProvider::instance()->create_group($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::everybody.
+ */
+ static function everybody() {
+ return IdentityProvider::instance()->everybody();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::registered_users.
+ */
+ static function registered_users() {
+ return IdentityProvider::instance()->everybody();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_group.
+ */
+ static function lookup_group($id) {
+ return IdentityProvider::instance()->lookup_group($id);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_group_by_name.
+ */
+ static function lookup_group_by_name($name) {
+ return IdentityProvider::instance()->lookup_group_by_name($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::get_user_list.
+ */
+ static function get_user_list($ids) {
+ return IdentityProvider::instance()->get_user_list($ids);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::groups.
+ */
+ static function groups() {
+ return IdentityProvider::instance()->groups();
+ }
+} \ No newline at end of file
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php
index 3d36a324..b3b6d0bb 100644
--- a/modules/gallery/helpers/item.php
+++ b/modules/gallery/helpers/item.php
@@ -158,8 +158,8 @@ class item_Core {
*/
static function viewable($model) {
$view_restrictions = array();
- if (!Session::active_user()->admin) {
- foreach (Session::group_ids_for_active_user() as $id) {
+ if (!identity::active_user()->admin) {
+ foreach (identity::group_ids_for_active_user() as $id) {
// Separate the first restriction from the rest to make it easier for us to formulate
// our where clause below
if (empty($view_restrictions)) {
diff --git a/modules/gallery/helpers/locales.php b/modules/gallery/helpers/locales.php
index f80fce03..c2a606cd 100644
--- a/modules/gallery/helpers/locales.php
+++ b/modules/gallery/helpers/locales.php
@@ -141,7 +141,7 @@ class locales_Core {
$locale = self::cookie_locale();
// 2. Check the user's preference
if (!$locale) {
- $locale = Session::active_user()->locale;
+ $locale = identity::active_user()->locale;
}
// 3. Check the browser's / OS' preference
if (!$locale) {
diff --git a/modules/gallery/helpers/log.php b/modules/gallery/helpers/log.php
index d1b34e3a..184b0b97 100644
--- a/modules/gallery/helpers/log.php
+++ b/modules/gallery/helpers/log.php
@@ -80,7 +80,7 @@ class log_Core {
$log->url = substr(url::abs_current(true), 0, 255);
$log->referer = request::referrer(null);
$log->timestamp = time();
- $log->user_id = Session::active_user()->id;
+ $log->user_id = identity::active_user()->id;
$log->save();
}
diff --git a/modules/gallery/helpers/movie.php b/modules/gallery/helpers/movie.php
index 9541f20e..6dac0803 100644
--- a/modules/gallery/helpers/movie.php
+++ b/modules/gallery/helpers/movie.php
@@ -77,7 +77,7 @@ class movie_Core {
$movie->title = $title;
$movie->description = $description;
$movie->name = $name;
- $movie->owner_id = $owner_id ? $owner_id : Session::active_user()->id;
+ $movie->owner_id = $owner_id ? $owner_id : identity::active_user()->id;
$movie->width = $movie_info[0];
$movie->height = $movie_info[1];
$movie->mime_type = strtolower($pi["extension"]) == "mp4" ? "video/mp4" : "video/x-flv";
diff --git a/modules/gallery/helpers/photo.php b/modules/gallery/helpers/photo.php
index 193293e8..01cf5278 100644
--- a/modules/gallery/helpers/photo.php
+++ b/modules/gallery/helpers/photo.php
@@ -76,7 +76,7 @@ class photo_Core {
$photo->title = $title;
$photo->description = $description;
$photo->name = $name;
- $photo->owner_id = $owner_id ? $owner_id : Session::active_user()->id;
+ $photo->owner_id = $owner_id ? $owner_id : identity::active_user()->id;
$photo->width = $image_info[0];
$photo->height = $image_info[1];
$photo->mime_type = empty($image_info['mime']) ? "application/unknown" : $image_info['mime'];
diff --git a/modules/gallery/helpers/site_status.php b/modules/gallery/helpers/site_status.php
index 06b29fda..2b090776 100644
--- a/modules/gallery/helpers/site_status.php
+++ b/modules/gallery/helpers/site_status.php
@@ -95,7 +95,7 @@ class site_status_Core {
* @return html text
*/
static function get() {
- if (!Session::active_user()->admin) {
+ if (!identity::active_user()->admin) {
return;
}
$buf = array();
diff --git a/modules/gallery/helpers/task.php b/modules/gallery/helpers/task.php
index f84fd10e..dac5f9d3 100644
--- a/modules/gallery/helpers/task.php
+++ b/modules/gallery/helpers/task.php
@@ -42,7 +42,7 @@ class task_Core {
$task->percent_complete = 0;
$task->status = "";
$task->state = "started";
- $task->owner_id = Session::active_user()->id;
+ $task->owner_id = identity::active_user()->id;
$task->context = serialize($context);
$task->save();
diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php
index 74a08c77..6eedec0d 100644
--- a/modules/gallery/libraries/Admin_View.php
+++ b/modules/gallery/libraries/Admin_View.php
@@ -36,12 +36,12 @@ class Admin_View_Core extends Gallery_View {
parent::__construct($name);
$this->theme_name = module::get_var("gallery", "active_admin_theme");
- if (Session::active_user()->admin) {
+ if (identity::active_user()->admin) {
$this->theme_name = Input::instance()->get("theme", $this->theme_name);
}
$this->sidebar = "";
$this->set_global("theme", $this);
- $this->set_global("user", Session::active_user());
+ $this->set_global("user", identity::active_user());
}
public function admin_menu() {
diff --git a/modules/gallery/libraries/Identity.php b/modules/gallery/libraries/Identity.php
deleted file mode 100644
index 1dd5d23b..00000000
--- a/modules/gallery/libraries/Identity.php
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2009 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-/**
- * Provides a driver-based interface for managing users and groups.
- */
-class Identity_Core {
- protected static $instance;
-
- protected static $active;
-
- // Configuration
- protected $config;
-
- // Driver object
- protected $driver;
-
- /**
- * Returns a singleton instance of Identity.
- * There can only be one Identity driver configured at a given point
- *
- * @param string configuration
- * @return Identity_Core
- */
- static function & instance() {
- if (!isset(self::$instance)) {
- // Create a new instance
- self::$instance = new Identity();
- }
-
- return self::$instance;
- }
-
- /**
- * Returns a singleton instance of Identity.
- * There can only be one Identity driver configured at a given point
- *
- * @param string configuration
- * @return Identity_Core
- */
- static function reset() {
- self::$instance = new Identity();
- }
-
- /**
- * Loads the configured driver and validates it.
- *
- * @return void
- */
- public function __construct() {
- $config = module::get_var("gallery", "identity_provider", "user");
-
- // Test the config group name
- if (($this->config = Kohana::config("identity.".$config)) === NULL) {
- throw new Exception("@todo NO USER LIBRARY CONFIGURATION FOR: $config");
- }
-
- // Set driver name
- $driver = "Identity_".ucfirst($this->config["driver"])."_Driver";
-
- // Load the driver
- if ( ! Kohana::auto_load($driver)) {
- throw new Kohana_Exception("core.driver_not_found", $this->config["driver"],
- get_class($this));
- }
-
- // Initialize the driver
- $this->driver = new $driver($this->config["params"]);
-
- // Validate the driver
- if ( !($this->driver instanceof Identity_Driver)) {
- throw new Kohana_Exception("core.driver_implements", $this->config["driver"],
- get_class($this), "Identity_Driver");
- }
-
- Kohana::log("debug", "Identity Library initialized");
- }
-
- /**
- * Return a list of installed Identity Drivers.
- *
- * @return boolean true if the driver supports updates; false if read only
- */
- static function providers() {
- if (empty(self::$active)) {
- $drivers = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
- foreach (module::active() as $module) {
- $module_name = $module->name;
- if (file_exists(MODPATH . "{$module->name}/config/identity.php") &&
- ($info = module::info($module_name))) {
- $drivers->$module_name = $info->description;
- }
- }
- self::$active = $drivers;
- }
- return self::$active;
- }
-
- /**
- * @see Identity_Driver::activate.
- */
- static function activate() {
- self::instance()->driver->activate();
- }
-
- /**
- * @see Identity_Driver::deactivate.
- */
- static function deactivate() {
- self::instance()->driver->deactivate();
- }
-
- /**
- * Determine if if the current driver supports updates.
- *
- * @return boolean true if the driver supports updates; false if read only
- */
- static function is_writable() {
- return !empty(self::instance()->config["allow_updates"]);
- }
-
- /**
- * @see Identity_Driver::guest.
- */
- static function guest() {
- return self::instance()->driver->guest();
- }
-
- /**
- * @see Identity_Driver::create_user.
- */
- static function create_user($name, $full_name, $password) {
- return self::instance()->driver->create_user($name, $full_name, $password);
- }
-
- /**
- * @see Identity_Driver::is_correct_password.
- */
- static function is_correct_password($user, $password) {
- return self::instance()->driver->is_correct_password($user, $password);
- }
-
- /**
- * @see Identity_Driver::lookup_user.
- */
- static function lookup_user($id) {
- return self::instance()->driver->lookup_user($id);
- }
-
- /**
- * @see Identity_Driver::lookup_user_by_name.
- */
- static function lookup_user_by_name($name) {
- return self::instance()->driver->lookup_user_by_name($name);
- }
-
- /**
- * @see Identity_Driver::create_group.
- */
- static function create_group($name) {
- return self::instance()->driver->create_group($name);
- }
-
- /**
- * @see Identity_Driver::everybody.
- */
- static function everybody() {
- return self::instance()->driver->everybody();
- }
-
- /**
- * @see Identity_Driver::registered_users.
- */
- static function registered_users() {
- return self::instance()->driver->everybody();
- }
-
- /**
- * @see Identity_Driver::lookup_group.
- */
- static function lookup_group($id) {
- return self::instance()->driver->lookup_group($id);
- }
-
- /**
- * @see Identity_Driver::lookup_group_by_name.
- */
- static function lookup_group_by_name($name) {
- return self::instance()->driver->lookup_group_by_name($name);
- }
-
- /**
- * @see Identity_Driver::get_user_list.
- */
- static function get_user_list($ids) {
- return self::instance()->driver->get_user_list($ids);
- }
-
- /**
- * @see Identity_Driver::groups.
- */
- static function groups() {
- return self::instance()->driver->groups();
- }
-} // End Identity
diff --git a/modules/gallery/libraries/IdentityProvider.php b/modules/gallery/libraries/IdentityProvider.php
new file mode 100644
index 00000000..512f28eb
--- /dev/null
+++ b/modules/gallery/libraries/IdentityProvider.php
@@ -0,0 +1,200 @@
+<?php defined("SYSPATH") or die("No direct script access.");
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2009 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * Provides a driver-based interface for managing users and groups.
+ */
+class IdentityProvider_Core {
+ protected static $instance;
+
+ // Configuration
+ protected $config;
+
+ // Driver object
+ protected $driver;
+
+ /**
+ * Returns a singleton instance of Identity.
+ * There can only be one Identity driver configured at a given point
+ *
+ * @param string configuration
+ * @return Identity_Core
+ */
+ static function & instance() {
+ if (!isset(self::$instance)) {
+ // Create a new instance
+ self::$instance = new IdentityProvider();
+ }
+
+ return self::$instance;
+ }
+
+ /**
+ * Returns a singleton instance of Identity.
+ * There can only be one Identity driver configured at a given point
+ *
+ * @param string configuration
+ * @return Identity_Core
+ */
+ static function reset() {
+ self::$instance = new IdentityProvider();
+ }
+
+ /**
+ * Loads the configured driver and validates it.
+ *
+ * @return void
+ */
+ public function __construct() {
+ $config = module::get_var("gallery", "identity_provider", "user");
+
+ // Test the config group name
+ if (($this->config = Kohana::config("identity.".$config)) === NULL) {
+ throw new Exception("@todo NO USER LIBRARY CONFIGURATION FOR: $config");
+ }
+
+ // Set driver name
+ $driver = "IdentityProvider_".ucfirst($this->config["driver"])."_Driver";
+
+ // Load the driver
+ if ( ! Kohana::auto_load($driver)) {
+ throw new Kohana_Exception("core.driver_not_found", $this->config["driver"],
+ get_class($this));
+ }
+
+ // Initialize the driver
+ $this->driver = new $driver($this->config["params"]);
+
+ // Validate the driver
+ if ( !($this->driver instanceof IdentityProvider_Driver)) {
+ throw new Kohana_Exception("core.driver_implements", $this->config["driver"],
+ get_class($this), "IdentityProvider_Driver");
+ }
+
+ Kohana::log("debug", "Identity Library initialized");
+ }
+
+ /**
+ * Determine if if the current driver supports updates.
+ *
+ * @return boolean true if the driver supports updates; false if read only
+ */
+ public function is_writable() {
+ return !empty($this->config["allow_updates"]);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::activate.
+ */
+ public function activate() {
+ $this->driver->activate();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::deactivate.
+ */
+ public function deactivate() {
+ $this->driver->deactivate();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::guest.
+ */
+ public function guest() {
+ return $this->driver->guest();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::create_user.
+ */
+ public function create_user($name, $full_name, $password) {
+ return $this->driver->create_user($name, $full_name, $password);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::is_correct_password.
+ */
+ public function is_correct_password($user, $password) {
+ return $this->driver->is_correct_password($user, $password);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_user.
+ */
+ public function lookup_user($id) {
+ return $this->driver->lookup_user($id);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_user_by_name.
+ */
+ public function lookup_user_by_name($name) {
+ return $this->driver->lookup_user_by_name($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::create_group.
+ */
+ public function create_group($name) {
+ return $this->driver->create_group($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::everybody.
+ */
+ public function everybody() {
+ return $this->driver->everybody();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::registered_users.
+ */
+ public function registered_users() {
+ return $this->driver->everybody();
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_group.
+ */
+ public function lookup_group($id) {
+ return $this->driver->lookup_group($id);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::lookup_group_by_name.
+ */
+ public function lookup_group_by_name($name) {
+ return $this->driver->lookup_group_by_name($name);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::get_user_list.
+ */
+ public function get_user_list($ids) {
+ return $this->driver->get_user_list($ids);
+ }
+
+ /**
+ * @see IdentityProvider_Driver::groups.
+ */
+ public function groups() {
+ return $this->driver->groups();
+ }
+} // End Identity
diff --git a/modules/gallery/libraries/MY_Session.php b/modules/gallery/libraries/MY_Session.php
deleted file mode 100644
index 1a3ae801..00000000
--- a/modules/gallery/libraries/MY_Session.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2009 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-class Session extends Session_Core {
- /**
- * Make sure that we have a session and group_ids cached in the session.
- */
- static function load_user() {
- try {
- $session = Session::instance();
- if (!($user = $session->get("user"))) {
- $session->set("user", $user = Identity::guest());
- }
-
- // The installer cannot set a user into the session, so it just sets an id which we should
- // upconvert into a user.
- // @todo set the user name into the session instead of 2 and then use it to get the user object
- if ($user === 2) {
- $user = Instance::lookup_user_by_name("admin");
- self::set_active_user($user);
- $session->set("user", $user);
- }
-
- if (!$session->get("group_ids")) {
- $ids = array();
- foreach ($user->groups as $group) {
- $ids[] = $group->id;
- }
- $session->set("group_ids", $ids);
- }
- } catch (Exception $e) {
- try {
- Session::instance()->destroy();
- } catch (Exception $e) {
- // We don't care if there was a problem destroying the session.
- }
- url::redirect(item::root()->abs_url());
- }
- }
-
- /**
- * Return the array of group ids this user belongs to
- *
- * @return array
- */
- static function group_ids_for_active_user() {
- return self::instance()->get("group_ids", array(1));
- }
-
- /**
- * Return the active user. If there's no active user, return the guest user.
- *
- * @return User_Definition
- */
- static function active_user() {
- // @todo (maybe) cache this object so we're not always doing session lookups.
- $user = self::instance()->get("user", null);
- if (!isset($user)) {
- // Don't do this as a fallback in the Session::get() call because it can trigger unnecessary
- // work.
- $user = Identity::guest();
- }
- return $user;
- }
-
- /**
- * Change the active user.
- * @param User_Definition $user
- */
- static function set_active_user($user) {
- $session = Session::instance();
- $session->set("user", $user);
- $session->delete("group_ids");
- self::load_user();
- }
-} \ No newline at end of file
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index 2fdc7531..68ec325f 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -37,13 +37,13 @@ class Theme_View_Core extends Gallery_View {
parent::__construct($name);
$this->theme_name = module::get_var("gallery", "active_site_theme");
- if (Session::active_user()->admin) {
+ if (identity::active_user()->admin) {
$this->theme_name = Input::instance()->get("theme", $this->theme_name);
}
$this->item = null;
$this->tag = null;
$this->set_global("theme", $this);
- $this->set_global("user", Session::active_user());
+ $this->set_global("user", identity::active_user());
$this->set_global("page_type", $page_type);
$this->set_global("page_title", null);
if ($page_type == "album") {
@@ -158,7 +158,7 @@ class Theme_View_Core extends Gallery_View {
*/
public function sidebar_blocks() {
$sidebar = block_manager::get_html("site.sidebar", $this);
- if (empty($sidebar) && Session::active_user()->admin) {
+ if (empty($sidebar) && identity::active_user()->admin) {
$sidebar = new View("no_sidebar.html");
}
return $sidebar;
diff --git a/modules/gallery/libraries/drivers/Identity.php b/modules/gallery/libraries/drivers/IdentityProvider.php
index 39b2a9c7..8a578d1b 100644
--- a/modules/gallery/libraries/drivers/Identity.php
+++ b/modules/gallery/libraries/drivers/IdentityProvider.php
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
-interface Identity_Driver {
+interface IdentityProvider_Driver {
/**
* Initialize the provider so it is ready to use
*/
diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php
index ba44709f..db89c6df 100644
--- a/modules/gallery/models/item.php
+++ b/modules/gallery/models/item.php
@@ -333,7 +333,7 @@ class Item_Model extends ORM_MPTT {
// This relationship depends on an outside module, which may not be present so handle
// failures gracefully.
try {
- return Identity::lookup_user($this->owner_id);
+ return identity::lookup_user($this->owner_id);
} catch (Exception $e) {
return null;
}
diff --git a/modules/gallery/models/log.php b/modules/gallery/models/log.php
index 1d639857..4f6b8c4b 100644
--- a/modules/gallery/models/log.php
+++ b/modules/gallery/models/log.php
@@ -26,7 +26,7 @@ class Log_Model extends ORM {
// This relationship depends on an outside module, which may not be present so handle
// failures gracefully.
try {
- return Identity::lookup_user($this->user_id);
+ return identity::lookup_user($this->user_id);
} catch (Exception $e) {
return null;
}
diff --git a/modules/gallery/models/task.php b/modules/gallery/models/task.php
index 548e5f9c..f40be492 100644
--- a/modules/gallery/models/task.php
+++ b/modules/gallery/models/task.php
@@ -46,7 +46,7 @@ class Task_Model extends ORM {
}
public function owner() {
- return Identity::lookup_user($this->owner_id);
+ return identity::lookup_user($this->owner_id);
}
/**
diff --git a/modules/gallery/tests/Access_Helper_Test.php b/modules/gallery/tests/Access_Helper_Test.php
index dac431a7..e9e5cb26 100644
--- a/modules/gallery/tests/Access_Helper_Test.php
+++ b/modules/gallery/tests/Access_Helper_Test.php
@@ -22,7 +22,7 @@ class Access_Helper_Test extends Unit_Test_Case {
public function teardown() {
try {
- $group = Identity::lookup_group_by_name("access_test");
+ $group = identity::lookup_group_by_name("access_test");
if (!empty($group)) {
$group->delete();
}
@@ -33,7 +33,7 @@ class Access_Helper_Test extends Unit_Test_Case {
} catch (Exception $e) { }
try {
- $user = Identity::lookup_user_by_name("access_test");
+ $user = identity::lookup_user_by_name("access_test");
if (!empty($user)) {
$user->delete();
}
@@ -41,16 +41,16 @@ class Access_Helper_Test extends Unit_Test_Case {
// Reset some permissions that we mangle below
$root = ORM::factory("item", 1);
- access::allow(Identity::everybody(), "view", $root);
+ access::allow(identity::everybody(), "view", $root);
}
public function setup() {
- Session::set_active_user(Identity::guest());
+ identity::set_active_user(identity::guest());
}
public function groups_and_permissions_are_bound_to_columns_test() {
access::register_permission("access_test", "Access Test");
- $group = Identity::create_group("access_test");
+ $group = identity::create_group("access_test");
// We have a new column for this perm / group combo
$fields = Database::instance()->list_fields("access_caches");
@@ -65,17 +65,17 @@ class Access_Helper_Test extends Unit_Test_Case {
}
public function user_can_access_test() {
- $access_test = Identity::create_group("access_test");
+ $access_test = identity::create_group("access_test");
$root = ORM::factory("item", 1);
access::allow($access_test, "view", $root);
$item = album::create($root, rand(), "test album");
- access::deny(Identity::everybody(), "view", $item);
- access::deny(Identity::registered_users(), "view", $item);
+ access::deny(identity::everybody(), "view", $item);
+ access::deny(identity::registered_users(), "view", $item);
- $user = Identity::create_user("access_test", "Access Test", "");
+ $user = identity::create_user("access_test", "Access Test", "");
foreach ($user->groups as $group) {
$user->remove($group);
}
@@ -89,10 +89,10 @@ class Access_Helper_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$item = album::create($root, rand(), "test album");
- access::deny(Identity::everybody(), "view", $item);
- access::deny(Identity::registered_users(), "view", $item);
+ access::deny(identity::everybody(), "view", $item);
+ access::deny(identity::registered_users(), "view", $item);
- $user = Identity::create_user("access_test", "Access Test", "");
+ $user = identity::create_user("access_test", "Access Test", "");
foreach ($user->groups as $group) {
$user->remove($group);
}
@@ -121,11 +121,11 @@ class Access_Helper_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$album = album::create($root, rand(), "test album");
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$photo = photo::create($album, MODPATH . "gallery/images/gallery.png", "", "");
- $this->assert_true($photo->__get("view_" . Identity::everybody()->id));
+ $this->assert_true($photo->__get("view_" . identity::everybody()->id));
}
public function can_allow_deny_and_reset_intent_test() {
@@ -134,23 +134,23 @@ class Access_Helper_Test extends Unit_Test_Case {
$intent = ORM::factory("access_intent")->where("item_id", $album)->find();
// Allow
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$this->assert_same(access::ALLOW, $intent->reload()->view_1);
// Deny
- access::deny(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $album);
$this->assert_same(
access::DENY,
ORM::factory("access_intent")->where("item_id", $album)->find()->view_1);
// Allow again. If the initial value was allow, then the first Allow clause above may not
// have actually changed any values.
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$this->assert_same(
access::ALLOW,
ORM::factory("access_intent")->where("item_id", $album)->find()->view_1);
- access::reset(Identity::everybody(), "view", $album);
+ access::reset(identity::everybody(), "view", $album);
$this->assert_same(
null,
ORM::factory("access_intent")->where("item_id", $album)->find()->view_1);
@@ -158,7 +158,7 @@ class Access_Helper_Test extends Unit_Test_Case {
public function cant_reset_root_item_test() {
try {
- access::reset(Identity::everybody(), "view", ORM::factory("item", 1));
+ access::reset(identity::everybody(), "view", ORM::factory("item", 1));
} catch (Exception $e) {
return;
}
@@ -167,17 +167,17 @@ class Access_Helper_Test extends Unit_Test_Case {
public function can_view_item_test() {
$root = ORM::factory("item", 1);
- access::allow(Identity::everybody(), "view", $root);
- $this->assert_true(access::group_can(Identity::everybody(), "view", $root));
+ access::allow(identity::everybody(), "view", $root);
+ $this->assert_true(access::group_can(identity::everybody(), "view", $root));
}
public function can_always_fails_on_unloaded_items_test() {
$root = ORM::factory("item", 1);
- access::allow(Identity::everybody(), "view", $root);
- $this->assert_true(access::group_can(Identity::everybody(), "view", $root));
+ access::allow(identity::everybody(), "view", $root);
+ $this->assert_true(access::group_can(identity::everybody(), "view", $root));
$bogus = ORM::factory("item", -1);
- $this->assert_false(access::group_can(Identity::everybody(), "view", $bogus));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $bogus));
}
public function cant_view_child_of_hidden_parent_test() {
@@ -185,21 +185,21 @@ class Access_Helper_Test extends Unit_Test_Case {
$album = album::create($root, rand(), "test album");
$root->reload();
- access::deny(Identity::everybody(), "view", $root);
- access::reset(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $root);
+ access::reset(identity::everybody(), "view", $album);
$album->reload();
- $this->assert_false(access::group_can(Identity::everybody(), "view", $album));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $album));
}
public function view_permissions_propagate_down_test() {
$root = ORM::factory("item", 1);
$album = album::create($root, rand(), "test album");
- access::allow(Identity::everybody(), "view", $root);
- access::reset(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $root);
+ access::reset(identity::everybody(), "view", $album);
$album->reload();
- $this->assert_true(access::group_can(Identity::everybody(), "view", $album));
+ $this->assert_true(access::group_can(identity::everybody(), "view", $album));
}
public function can_toggle_view_permissions_propagate_down_test() {
@@ -214,18 +214,18 @@ class Access_Helper_Test extends Unit_Test_Case {
$album3->reload();
$album4->reload();
- access::allow(Identity::everybody(), "view", $root);
- access::deny(Identity::everybody(), "view", $album1);
- access::reset(Identity::everybody(), "view", $album2);
- access::reset(Identity::everybody(), "view", $album3);
- access::reset(Identity::everybody(), "view", $album4);
+ access::allow(identity::everybody(), "view", $root);
+ access::deny(identity::everybody(), "view", $album1);
+ access::reset(identity::everybody(), "view", $album2);
+ access::reset(identity::everybody(), "view", $album3);
+ access::reset(identity::everybody(), "view", $album4);
$album4->reload();
- $this->assert_false(access::group_can(Identity::everybody(), "view", $album4));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $album4));
- access::allow(Identity::everybody(), "view", $album1);
+ access::allow(identity::everybody(), "view", $album1);
$album4->reload();
- $this->assert_true(access::group_can(Identity::everybody(), "view", $album4));
+ $this->assert_true(access::group_can(identity::everybody(), "view", $album4));
}
public function revoked_view_permissions_cant_be_allowed_lower_down_test() {
@@ -234,29 +234,29 @@ class Access_Helper_Test extends Unit_Test_Case {
$album2 = album::create($album1, rand(), "test album");
$root->reload();
- access::deny(Identity::everybody(), "view", $root);
- access::allow(Identity::everybody(), "view", $album2);
+ access::deny(identity::everybody(), "view", $root);
+ access::allow(identity::everybody(), "view", $album2);
$album1->reload();
- $this->assert_false(access::group_can(Identity::everybody(), "view", $album1));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $album1));
$album2->reload();
- $this->assert_false(access::group_can(Identity::everybody(), "view", $album2));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $album2));
}
public function can_edit_item_test() {
$root = ORM::factory("item", 1);
- access::allow(Identity::everybody(), "edit", $root);
- $this->assert_true(access::group_can(Identity::everybody(), "edit", $root));
+ access::allow(identity::everybody(), "edit", $root);
+ $this->assert_true(access::group_can(identity::everybody(), "edit", $root));
}
public function non_view_permissions_propagate_down_test() {
$root = ORM::factory("item", 1);
$album = album::create($root, rand(), "test album");
- access::allow(Identity::everybody(), "edit", $root);
- access::reset(Identity::everybody(), "edit", $album);
- $this->assert_true(access::group_can(Identity::everybody(), "edit", $album));
+ access::allow(identity::everybody(), "edit", $root);
+ access::reset(identity::everybody(), "edit", $album);
+ $this->assert_true(access::group_can(identity::everybody(), "edit", $album));
}
public function non_view_permissions_can_be_revoked_lower_down_test() {
@@ -276,36 +276,36 @@ class Access_Helper_Test extends Unit_Test_Case {
$outer->reload();
$inner->reload();
- access::allow(Identity::everybody(), "edit", $root);
- access::deny(Identity::everybody(), "edit", $outer);
- access::allow(Identity::everybody(), "edit", $inner);
+ access::allow(identity::everybody(), "edit", $root);
+ access::deny(identity::everybody(), "edit", $outer);
+ access::allow(identity::everybody(), "edit", $inner);
// Outer album is not editable, inner one is.
- $this->assert_false(access::group_can(Identity::everybody(), "edit", $outer_photo));
- $this->assert_true(access::group_can(Identity::everybody(), "edit", $inner_photo));
+ $this->assert_false(access::group_can(identity::everybody(), "edit", $outer_photo));
+ $this->assert_true(access::group_can(identity::everybody(), "edit", $inner_photo));
}
public function i_can_edit_test() {
// Create a new user that belongs to no groups
- $user = Identity::create_user("access_test", "Access Test", "");
+ $user = identity::create_user("access_test", "Access Test", "");
foreach ($user->groups as $group) {
$user->remove($group);
}
$user->save();
- Session::set_active_user($user);
+ identity::set_active_user($user);
// This user can't edit anything
$root = ORM::factory("item", 1);
$this->assert_false(access::can("edit", $root));
// Now add them to a group that has edit permission
- $group = Identity::create_group("access_test");
+ $group = identity::create_group("access_test");
$group->add($user);
$group->save();
access::allow($group, "edit", $root);
- $user = Identity::lookup_user($user->id); // reload() does not flush related columns
- Session::set_active_user($user);
+ $user = identity::lookup_user($user->id); // reload() does not flush related columns
+ identity::set_active_user($user);
// And verify that the user can edit.
$this->assert_true(access::can("edit", $root));
@@ -317,16 +317,16 @@ class Access_Helper_Test extends Unit_Test_Case {
$this->assert_false(file_exists($album->file_path() . "/.htaccess"));
- access::deny(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $album);
$this->assert_true(file_exists($album->file_path() . "/.htaccess"));
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$this->assert_false(file_exists($album->file_path() . "/.htaccess"));
- access::deny(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $album);
$this->assert_true(file_exists($album->file_path() . "/.htaccess"));
- access::reset(Identity::everybody(), "view", $album);
+ access::reset(identity::everybody(), "view", $album);
$this->assert_false(file_exists($album->file_path() . "/.htaccess"));
}
@@ -338,44 +338,44 @@ class Access_Helper_Test extends Unit_Test_Case {
$this->assert_false(file_exists($album->resize_path() . "/.htaccess"));
$this->assert_false(file_exists($album->thumb_path() . "/.htaccess"));
- access::deny(Identity::everybody(), "view_full", $album);
+ access::deny(identity::everybody(), "view_full", $album);
$this->assert_true(file_exists($album->file_path() . "/.htaccess"));
$this->assert_false(file_exists($album->resize_path() . "/.htaccess"));
$this->assert_false(file_exists($album->thumb_path() . "/.htaccess"));
- access::allow(Identity::everybody(), "view_full", $album);
+ access::allow(identity::everybody(), "view_full", $album);
$this->assert_false(file_exists($album->file_path() . "/.htaccess"));
$this->assert_false(file_exists($album->resize_path() . "/.htaccess"));
$this->assert_false(file_exists($album->thumb_path() . "/.htaccess"));
- access::deny(Identity::everybody(), "view_full", $album);
+ access::deny(identity::everybody(), "view_full", $album);
$this->assert_true(file_exists($album->file_path() . "/.htaccess"));
$this->assert_false(file_exists($album->resize_path() . "/.htaccess"));
$this->assert_false(file_exists($album->thumb_path() . "/.htaccess"));
- access::reset(Identity::everybody(), "view_full", $album);
+ access::reset(identity::everybody(), "view_full", $album);
$this->assert_false(file_exists($album->file_path() . "/.htaccess"));
$this->assert_false(file_exists($album->resize_path() . "/.htaccess"));
$this->assert_false(file_exists($album->thumb_path() . "/.htaccess"));
}
public function moved_items_inherit_new_permissions_test() {
- Session::set_active_user(Identity::lookup_user_by_name("admin"));
+ identity::set_active_user(identity::lookup_user_by_name("admin"));
$root = ORM::factory("item", 1);
$public_album = album::create($root, rand(), "public album");
$public_photo = photo::create($public_album, MODPATH . "gallery/images/gallery.png", "", "");
- access::allow(Identity::everybody(), "view", $public_album);
+ access::allow(identity::everybody(), "view", $public_album);
$root->reload(); // Account for MPTT changes
$private_album = album::create($root, rand(), "private album");
- access::deny(Identity::everybody(), "view", $private_album);
+ access::deny(identity::everybody(), "view", $private_album);
$private_photo = photo::create($private_album, MODPATH . "gallery/images/gallery.png", "", "");
// Make sure that we now have a public photo and private photo.
- $this->assert_true(access::group_can(Identity::everybody(), "view", $public_photo));
- $this->assert_false(access::group_can(Identity::everybody(), "view", $private_photo));
+ $this->assert_true(access::group_can(identity::everybody(), "view", $public_photo));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $private_photo));
// Swap the photos
item::move($public_photo, $private_album);
@@ -391,7 +391,7 @@ class Access_Helper_Test extends Unit_Test_Case {
$public_photo->reload();
// Make sure that the public_photo is now private, and the private_photo is now public.
- $this->assert_false(access::group_can(Identity::everybody(), "view", $public_photo));
- $this->assert_true(access::group_can(Identity::everybody(), "view", $private_photo));
+ $this->assert_false(access::group_can(identity::everybody(), "view", $public_photo));
+ $this->assert_true(access::group_can(identity::everybody(), "view", $private_photo));
}
}
diff --git a/modules/gallery/tests/Albums_Controller_Test.php b/modules/gallery/tests/Albums_Controller_Test.php
index fa46d924..b85b5258 100644
--- a/modules/gallery/tests/Albums_Controller_Test.php
+++ b/modules/gallery/tests/Albums_Controller_Test.php
@@ -45,7 +45,7 @@ class Albums_Controller_Test extends Unit_Test_Case {
$_POST["csrf"] = access::csrf_token();
$_POST["slug"] = "new_name";
$_POST["_method"] = "put";
- access::allow(Identity::everybody(), "edit", $root);
+ access::allow(identity::everybody(), "edit", $root);
ob_start();
$controller->_update($this->_album);
@@ -69,7 +69,7 @@ class Albums_Controller_Test extends Unit_Test_Case {
$_POST["name"] = "new name";
$_POST["title"] = "new title";
$_POST["description"] = "new description";
- access::allow(Identity::everybody(), "edit", $root);
+ access::allow(identity::everybody(), "edit", $root);
try {
$controller->_update($this->_album);
diff --git a/modules/gallery/tests/Item_Helper_Test.php b/modules/gallery/tests/Item_Helper_Test.php
index fc01db91..a364423a 100644
--- a/modules/gallery/tests/Item_Helper_Test.php
+++ b/modules/gallery/tests/Item_Helper_Test.php
@@ -23,16 +23,16 @@ class Item_Helper_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$album = album::create($root, rand(), rand(), rand());
$item = self::_create_random_item($album);
- Session::set_active_user(Identity::guest());
+ identity::set_active_user(identity::guest());
// We can see the item when permissions are granted
- access::allow(Identity::everybody(), "view", $album);
+ access::allow(identity::everybody(), "view", $album);
$this->assert_equal(
1,
ORM::factory("item")->viewable()->where("id", $item->id)->count_all());
// We can't see the item when permissions are denied
- access::deny(Identity::everybody(), "view", $album);
+ access::deny(identity::everybody(), "view", $album);
$this->assert_equal(
0,
ORM::factory("item")->viewable()->where("id", $item->id)->count_all());
diff --git a/modules/gallery/tests/Photos_Controller_Test.php b/modules/gallery/tests/Photos_Controller_Test.php
index 59c3f78a..2e5d7fe3 100644
--- a/modules/gallery/tests/Photos_Controller_Test.php
+++ b/modules/gallery/tests/Photos_Controller_Test.php
@@ -31,7 +31,7 @@ class Photos_Controller_Test extends Unit_Test_Case {
$root = ORM::factory("item", 1);
$photo = photo::create(
$root, MODPATH . "gallery/tests/test.jpg", "test.jpeg",
- "test", "test", Session::active_user()->id, "slug");
+ "test", "test", identity::active_user()->id, "slug");
$orig_name = $photo->name;
$_POST["filename"] = "test.jpeg";
@@ -40,7 +40,7 @@ class Photos_Controller_Test extends Unit_Test_Case {
$_POST["description"] = "new description";
$_POST["slug"] = "new-slug";
$_POST["csrf"] = access::csrf_token();
- access::allow(Identity::everybody(), "edit", $root);
+ access::allow(identity::everybody(), "edit", $root);
ob_start();
$controller->_update($photo);
@@ -64,7 +64,7 @@ class Photos_Controller_Test extends Unit_Test_Case {
$_POST["name"] = "new name";
$_POST["title"] = "new title";
$_POST["description"] = "new description";
- access::allow(Identity::everybody(), "edit", $root);
+ access::allow(identity::everybody(), "edit", $root);
try {
$controller->_update($photo);
diff --git a/modules/gallery/views/kohana_error_page.php b/modules/gallery/views/kohana_error_page.php
index 0256fabb..0d8801e5 100644
--- a/modules/gallery/views/kohana_error_page.php
+++ b/modules/gallery/views/kohana_error_page.php
@@ -57,7 +57,7 @@
<title><?= t("Something went wrong!") ?></title>
</head>
<body>
- <? try { $user = Session::active_user(); } catch (Exception $e) { } ?>
+ <? try { $user = identity::active_user(); } catch (Exception $e) { } ?>
<? $admin = php_sapi_name() == "cli" || isset($user) && $user->admin ?>
<div class="big_box" id="framework_error">
<h1>
diff --git a/modules/gallery/views/login.html.php b/modules/gallery/views/login.html.php
index 6695d564..961f44fa 100644
--- a/modules/gallery/views/login.html.php
+++ b/modules/gallery/views/login.html.php
@@ -8,7 +8,7 @@
</li>
<? else: ?>
<li class="first">
- <? if (Identity::is_writable()): ?>
+ <? if (identity::is_writable()): ?>
<?= t('Logged in as %name', array('name' => html::mark_clean(
'<a href="' . url::site("form/edit/users/{$user->id}") .
'" title="' . t("Edit Your Profile")->for_html_attr() .
diff --git a/modules/gallery/views/login_ajax.html.php b/modules/gallery/views/login_ajax.html.php
index 6ed40571..a9a9ef11 100644
--- a/modules/gallery/views/login_ajax.html.php
+++ b/modules/gallery/views/login_ajax.html.php
@@ -36,7 +36,7 @@
<li id="g-login-form">
<?= $form ?>
</li>
- <? if (Identity::is_writable()): ?>
+ <? if (identity::is_writable()): ?>
<li>
<a href="#" id="g-password-reset" class="g-right g-txt-small"><?= t("Forgot Your Password?") ?></a>
</li>
diff --git a/modules/notification/helpers/notification.php b/modules/notification/helpers/notification.php
index 080f154b..9a40b0b9 100644
--- a/modules/notification/helpers/notification.php
+++ b/modules/notification/helpers/notification.php
@@ -20,7 +20,7 @@
class notification {
static function get_subscription($item_id, $user=null) {
if (empty($user)) {
- $user = Session::active_user();
+ $user = identity::active_user();
}
return ORM::factory("subscription")
@@ -31,7 +31,7 @@ class notification {
static function is_watching($item, $user=null) {
if (empty($user)) {
- $user = Session::active_user();
+ $user = identity::active_user();
}
return ORM::factory("subscription")
@@ -44,7 +44,7 @@ class notification {
static function add_watch($item, $user=null) {
if ($item->is_album()) {
if (empty($user)) {
- $user = Session::active_user();
+ $user = identity::active_user();
}
$subscription = ORM::factory("subscription");
$subscription->item_id = $item->id;
@@ -56,7 +56,7 @@ class notification {
static function remove_watch($item, $user=null) {
if ($item->is_album()) {
if (empty($user)) {
- $user = Session::active_user();
+ $user = identity::active_user();
}
$subscription = ORM::factory("subscription")
@@ -81,7 +81,7 @@ class notification {
if (empty($subscriber_ids)) {
return array();
}
- $users = Identity::get_user_list($subscriber_ids);
+ $users = identity::get_user_list($subscriber_ids);
$subscribers = array();
foreach ($users as $user) {
diff --git a/modules/notification/helpers/notification_event.php b/modules/notification/helpers/notification_event.php
index f0530cd9..3a369155 100644
--- a/modules/notification/helpers/notification_event.php
+++ b/modules/notification/helpers/notification_event.php
@@ -95,7 +95,7 @@ class notification_event_Core {
}
static function site_menu($menu, $theme) {
- if (!Session::active_user()->guest) {
+ if (!identity::active_user()->guest) {
$item = $theme->item();
if ($item && $item->is_album() && access::can("view", $item)) {
diff --git a/modules/search/helpers/search.php b/modules/search/helpers/search.php
index 8b14cfa9..f9da9a16 100644
--- a/modules/search/helpers/search.php
+++ b/modules/search/helpers/search.php
@@ -22,8 +22,8 @@ class search_Core {
$db = Database::instance();
$q = $db->escape_str($q);
- if (!Session::active_user()->admin) {
- foreach (Session::group_ids_for_active_user() as $id) {
+ if (!identity::active_user()->admin) {
+ foreach (identity::group_ids_for_active_user() as $id) {
$fields[] = "`view_$id` = TRUE"; // access::ALLOW
}
$access_sql = "AND (" . join(" AND ", $fields) . ")";
diff --git a/modules/server_add/controllers/server_add.php b/modules/server_add/controllers/server_add.php
index 428065f6..53a3d091 100644
--- a/modules/server_add/controllers/server_add.php
+++ b/modules/server_add/controllers/server_add.php
@@ -103,7 +103,7 @@ class Server_Add_Controller extends Admin_Controller {
access::verify_csrf();
$task = ORM::factory("task", $task_id);
- if (!$task->loaded || $task->owner_id != Session::active_user()->id) {
+ if (!$task->loaded || $task->owner_id != identity::active_user()->id) {
access::forbidden();
}
@@ -207,7 +207,7 @@ class Server_Add_Controller extends Admin_Controller {
$task->set("mode", "done");
}
- $owner_id = Session::active_user()->id;
+ $owner_id = identity::active_user()->id;
foreach ($entries as $entry) {
if (microtime(true) - $start > 0.5) {
break;
diff --git a/modules/server_add/helpers/server_add_event.php b/modules/server_add/helpers/server_add_event.php
index 8f8b0016..1d883a71 100644
--- a/modules/server_add/helpers/server_add_event.php
+++ b/modules/server_add/helpers/server_add_event.php
@@ -30,7 +30,7 @@ class server_add_event_Core {
$item = $theme->item();
$paths = unserialize(module::get_var("server_add", "authorized_paths"));
- if ($item && Session::active_user()->admin && $item->is_album() && !empty($paths) &&
+ if ($item && identity::active_user()->admin && $item->is_album() && !empty($paths) &&
is_writable($item->is_album() ? $item->file_path() : $item->parent()->file_path())) {
$menu->get("add_menu")
->append(Menu::factory("dialog")
diff --git a/modules/server_add/helpers/server_add_theme.php b/modules/server_add/helpers/server_add_theme.php
index 44681d36..9da8969a 100644
--- a/modules/server_add/helpers/server_add_theme.php
+++ b/modules/server_add/helpers/server_add_theme.php
@@ -19,7 +19,7 @@
*/
class server_add_theme_Core {
static function head($theme) {
- if (Session::active_user()->admin) {
+ if (identity::active_user()->admin) {
$theme->script("server_add.js");
}
}
diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php
index 258de843..8b96ebd2 100644
--- a/modules/user/controllers/admin_users.php
+++ b/modules/user/controllers/admin_users.php
@@ -69,7 +69,7 @@ class Admin_Users_Controller extends Admin_Controller {
public function delete_user($id) {
access::verify_csrf();
- if ($id == Session::active_user()->id || $id == user::guest()->id) {
+ if ($id == identity::active_user()->id || $id == user::guest()->id) {
access::forbidden();
}
@@ -136,7 +136,7 @@ class Admin_Users_Controller extends Admin_Controller {
}
// An admin can change the admin status for any user but themselves
- if ($user->id != Session::active_user()->id) {
+ if ($user->id != identity::active_user()->id) {
$user->admin = $form->edit_user->admin->checked;
}
$user->save();
@@ -158,7 +158,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 == Session::active_user()->id) {
+ if ($user->id == identity::active_user()->id) {
$form->edit_user->admin->disabled(1);
}
print $form;
diff --git a/modules/user/controllers/password.php b/modules/user/controllers/password.php
index a8f1c5ca..6bef1a17 100644
--- a/modules/user/controllers/password.php
+++ b/modules/user/controllers/password.php
@@ -46,7 +46,7 @@ class Password_Controller extends Controller {
$valid = $form->validate();
if ($valid) {
- $user = Identity::lookup_user_by_name($form->reset->inputs["name"]->value);
+ $user = identity::lookup_user_by_name($form->reset->inputs["name"]->value);
if (!$user->loaded || empty($user->email)) {
$form->reset->inputs["name"]->add_error("no_email", 1);
$valid = false;
diff --git a/modules/user/controllers/users.php b/modules/user/controllers/users.php
index 0ccf3e2a..dee54f63 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 != Session::active_user()->id) {
+ if ($user->guest || $user->id != identity::active_user()->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 != Session::active_user()->id) {
+ if ($user->guest || $user->id != identity::active_user()->id) {
access::forbidden();
}
diff --git a/modules/user/helpers/group.php b/modules/user/helpers/group.php
index 8ad52564..567b2ee4 100644
--- a/modules/user/helpers/group.php
+++ b/modules/user/helpers/group.php
@@ -25,7 +25,10 @@
*/
class group_Core {
/**
- * @see Identity_Driver::create.
+ * Create a new group.
+ *
+ * @param string $name
+ * @return Group_Definition the group object
*/
static function create($name) {
$group = ORM::factory("group")->where("name", $name)->find();
@@ -39,14 +42,18 @@ class group_Core {
}
/**
- * @see Identity_Driver::everbody.
+ * The group of all possible visitors. This includes the guest user.
+ *
+ * @return Group_Definition the group object
*/
static function everybody() {
return model_cache::get("group", 1);
}
/**
- * @see Identity_Driver::registered_users.
+ * The group of all logged-in visitors. This does not include guest users.
+ *
+ * @return Group_Definition the group object
*/
static function registered_users() {
return model_cache::get("group", 2);
@@ -71,7 +78,10 @@ class group_Core {
}
/**
- * @see Identity_Driver::get_group_list.
+ * Search the groups by the field and value.
+ * @param string $field_name column to look up the user by
+ * @param string $value value to match
+ * @return Group_Definition the group object, or null if the name was invalid.
*/
static function lookup_by_field($field_name, $value) {
try {
diff --git a/modules/user/libraries/drivers/Identity/Gallery.php b/modules/user/libraries/drivers/IdentityProvider/Gallery.php
index 36f37543..5941abb7 100644
--- a/modules/user/libraries/drivers/Identity/Gallery.php
+++ b/modules/user/libraries/drivers/IdentityProvider/Gallery.php
@@ -20,37 +20,37 @@
/*
* Based on the Cache_Sqlite_Driver developed by the Kohana Team
*/
-class Identity_Gallery_Driver implements Identity_Driver {
+class Identity_Gallery_Driver implements IdentityProvider_Driver {
/**
- * @see Identity_Driver::activate.
+ * @see IdentityProvider_Driver::activate.
*/
public function activate() {
user::activate();
}
/**
- * @see Identity_Driver::deactivate.
+ * @see IdentityProvider_Driver::deactivate.
*/
public function deactivate() {
user::deactivate();
}
/**
- * @see Identity_Driver::guest.
+ * @see IdentityProvider_Driver::guest.
*/
public function guest() {
return user::guest();
}
/**
- * @see Identity_Driver::create_user.
+ * @see IdentityProvider_Driver::create_user.
*/
public function create_user($name, $full_name, $password) {
return user::create($name, $full_name, $password);
}
/**
- * @see Identity_Driver::is_correct_password.
+ * @see IdentityProvider_Driver::is_correct_password.
*/
public function is_correct_password($user, $password) {
$valid = $user->password;
@@ -81,56 +81,56 @@ class Identity_Gallery_Driver implements Identity_Driver {
}
/**
- * @see Identity_Driver::lookup_user.
+ * @see IdentityProvider_Driver::lookup_user.
*/
public function lookup_user($id) {
return user::lookup_by_field("id", $id);
}
/**
- * @see Identity_Driver::lookup_user_by_name.
+ * @see IdentityProvider_Driver::lookup_user_by_name.
*/
public function lookup_user_by_name($name) {
return user::lookup_by_field("name", $name);
}
/**
- * @see Identity_Driver::create_group.
+ * @see IdentityProvider_Driver::create_group.
*/
public function create_group($name) {
return group::create($name);
}
/**
- * @see Identity_Driver::everybody.
+ * @see IdentityProvider_Driver::everybody.
*/
public function everybody() {
return group::everybody();
}
/**
- * @see Identity_Driver::registered_users.
+ * @see IdentityProvider_Driver::registered_users.
*/
public function registered_users() {
return group::registered_users();
}
/**
- * @see Identity_Driver::lookup_group.
+ * @see IdentityProvider_Driver::lookup_group.
*/
public function lookup_group($id) {
return group::lookup_by_field("id", $id);
}
/**
- * @see Identity_Driver::lookup_group_by_name.
+ * @see IdentityProvider_Driver::lookup_group_by_name.
*/
public function lookup_group_by_name($name) {
return group::lookup_by_field("name", $name);
}
/**
- * @see Identity_Driver::get_user_list.
+ * @see IdentityProvider_Driver::get_user_list.
*/
public function get_user_list($ids) {
return ORM::factory("user")
@@ -140,7 +140,7 @@ class Identity_Gallery_Driver implements Identity_Driver {
}
/**
- * @see Identity_Driver::groups.
+ * @see IdentityProvider_Driver::groups.
*/
public function groups() {
return ORM::factory("group")->find_all();
diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php
index ee8d413c..fed92c5e 100644
--- a/modules/user/views/admin_users.html.php
+++ b/modules/user/views/admin_users.html.php
@@ -91,7 +91,7 @@
open_text="<?= t("close") ?>"
class="g-panel-link g-button ui-state-default ui-corner-all ui-icon-left">
<span class="ui-icon ui-icon-pencil"></span><span class="g-button-text"><?= t("edit") ?></span></a>
- <? if (Session::active_user()->id != $user->id && !$user->guest): ?>
+ <? if (identity::active_user()->id != $user->id && !$user->guest): ?>
<a href="<?= url::site("admin/users/delete_user_form/$user->id") ?>"
class="g-dialog-link g-button ui-state-default ui-corner-all ui-icon-left">
<span class="ui-icon ui-icon-trash"></span><?= t("delete") ?></a>