aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-30 15:00:41 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-30 15:00:41 +0100
commitbd5d7a7bcb16cff1c01f4445ceee765fc11e3b50 (patch)
tree1839dbb208d1b63c034fce2cb3d646124a6c937c /lib
parent4d6ab45b03031e1c13ac2d3589364a43a0fe5578 (diff)
Cache HTTP compatible multi-utilisateur
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126
Diffstat (limited to 'lib')
-rw-r--r--lib/Minz/Configuration.php13
-rw-r--r--lib/Minz/Log.php2
-rw-r--r--lib/Minz/ModelPdo.php3
-rw-r--r--lib/Minz/Session.php10
-rw-r--r--lib/lib_rss.php9
5 files changed, 9 insertions, 28 deletions
diff --git a/lib/Minz/Configuration.php b/lib/Minz/Configuration.php
index e6d7ae471..1513af6d0 100644
--- a/lib/Minz/Configuration.php
+++ b/lib/Minz/Configuration.php
@@ -51,7 +51,6 @@ class Minz_Configuration {
private static $cache_enabled = false;
private static $delay_cache = 3600;
private static $default_user = '';
- private static $current_user = '';
private static $allow_anonymous = false;
private static $auth_type = 'none';
@@ -95,11 +94,8 @@ class Minz_Configuration {
public static function defaultUser () {
return self::$default_user;
}
- public static function currentUser () {
- return self::$current_user;
- }
- public static function isAdmin () {
- return self::$current_user === self::$default_user;
+ public static function isAdmin($currentUser) {
+ return $currentUser === self::$default_user;
}
public static function allowAnonymous() {
return self::$allow_anonymous;
@@ -127,10 +123,6 @@ class Minz_Configuration {
break;
}
}
- public static function _currentUser($user) {
- self::$current_user = $user;
- }
-
/**
* Initialise les variables de configuration
@@ -255,7 +247,6 @@ class Minz_Configuration {
}
if (isset ($general['default_user'])) {
self::$default_user = $general['default_user'];
- self::$current_user = self::$default_user;
}
if (isset ($general['allow_anonymous'])) {
self::$allow_anonymous = ((bool)($general['allow_anonymous'])) && ($general['allow_anonymous'] !== 'no');
diff --git a/lib/Minz/Log.php b/lib/Minz/Log.php
index 968301c81..e710aad4a 100644
--- a/lib/Minz/Log.php
+++ b/lib/Minz/Log.php
@@ -37,7 +37,7 @@ class Minz_Log {
|| ($env === Minz_Configuration::PRODUCTION
&& ($level >= Minz_Log::NOTICE)))) {
if ($file_name === null) {
- $file_name = LOG_PATH . '/' . Minz_Configuration::currentUser() . '.log';
+ $file_name = LOG_PATH . '/' . Minz_Session::param('currentUser', '_') . '.log';
}
switch ($level) {
diff --git a/lib/Minz/ModelPdo.php b/lib/Minz/ModelPdo.php
index 9655539b2..1ea68e104 100644
--- a/lib/Minz/ModelPdo.php
+++ b/lib/Minz/ModelPdo.php
@@ -60,8 +60,7 @@ class Minz_ModelPdo {
);
self::$sharedBd = $this->bd;
- $userPrefix = Minz_Configuration::currentUser ();
- $this->prefix = $db['prefix'] . (empty($userPrefix) ? '' : ($userPrefix . '_'));
+ $this->prefix = $db['prefix'] . Minz_Session::param('currentUser', '_') . '_';
self::$sharedPrefix = $this->prefix;
} catch (Exception $e) {
throw new Minz_PDOConnectionException (
diff --git a/lib/Minz/Session.php b/lib/Minz/Session.php
index 6e45fd226..3f6ed88a3 100644
--- a/lib/Minz/Session.php
+++ b/lib/Minz/Session.php
@@ -8,7 +8,7 @@ class Minz_Session {
/**
* $session stocke les variables de session
*/
- private static $session = array ();
+ private static $session = array (); //TODO: Try to avoid having another local copy
/**
* Initialise la session, avec un nom
@@ -33,13 +33,7 @@ class Minz_Session {
* @return la valeur de la variable de session, false si n'existe pas
*/
public static function param ($p, $default = false) {
- if (isset (self::$session[$p])) {
- $return = self::$session[$p];
- } else {
- $return = $default;
- }
-
- return $return;
+ return isset(self::$session[$p]) ? self::$session[$p] : $default;
}
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index b266fa5c7..7489f2bf5 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -163,8 +163,9 @@ function uSecString() {
return str_pad($t['usec'], 6, '0');
}
-function invalidateHttpCache($currentUser = '') { //TODO: Make multi-user compatible
- file_put_contents(DATA_PATH . '/touch.txt', uTimeString());
+function invalidateHttpCache() {
+ //touch(LOG_PATH . '/' . Minz_Session::param('currentUser', '_') . '.log');
+ Minz_Session::_param('touch', uTimeString());
}
function usernameFromPath($userPath) {
@@ -175,10 +176,6 @@ function usernameFromPath($userPath) {
}
}
-function isValidUser($user) {
- return $user != '' && ctype_alnum($user) && file_exists(DATA_PATH . '/' . $user . '_user.php');
-}
-
function listUsers() {
return array_map('usernameFromPath', glob(DATA_PATH . '/*_user.php'));
}