summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/identity.php
diff options
context:
space:
mode:
authorNathan Kinkade <nkinkade@nkinka.de>2010-08-19 23:29:35 +0000
committerNathan Kinkade <nkinkade@nkinka.de>2010-08-19 23:29:35 +0000
commit45b6d344b4a5431e7cf11fde5808c63bf7553676 (patch)
tree33a5bd2ee0124553c4d35f4152e607296479a551 /modules/gallery/helpers/identity.php
parentd1475ec40ebda6404baab45b5b2482c651e657f9 (diff)
parent21a0f832b66eaba902b09e2a88ece52c76e4a0c3 (diff)
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'modules/gallery/helpers/identity.php')
-rw-r--r--modules/gallery/helpers/identity.php7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/gallery/helpers/identity.php b/modules/gallery/helpers/identity.php
index 5f1664ec..5de05948 100644
--- a/modules/gallery/helpers/identity.php
+++ b/modules/gallery/helpers/identity.php
@@ -66,17 +66,20 @@ class identity_Core {
// 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
+ // @todo set the user name into the session instead of 2 and then use it to get the
+ // user object
if ($user === 2) {
auth::login(IdentityProvider::instance()->admin_user());
}
- if (!$session->get("group_ids")) {
+ // Cache the group ids for a day to trade off performance for security updates.
+ if (!$session->get("group_ids") || $session->get("group_ids_timeout", 0) < time()) {
$ids = array();
foreach ($user->groups() as $group) {
$ids[] = $group->id;
}
$session->set("group_ids", $ids);
+ $session->set("group_ids_timeout", time() + 86400);
}
} catch (Exception $e) {
// Log it, so we at least have so notification that we swallowed the exception.