aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-28 23:09:39 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-28 23:09:39 +0100
commit96bdbafceac44af2159e6b80d3d403e0608991d9 (patch)
treecdea25a7a4835ca4852666ff68b23e22e4c9d3c2 /lib
parent856d2c125b1592df0f98a141f3de599c5089ce02 (diff)
Refactorisation FreshRSS_Configuration
Implémente https://github.com/marienfressinaud/FreshRSS/issues/260 (évite les comparaisons de chaînes au profit des vrais booléens et entiers) Grosse simplification et réduction du code relatif à la configuration. Supprime ConfigurationDAO. Permet de simplifier considérablement configureController. Évite de multiples copies des mêmes données en mémoire. Évite de garder plusieurs versions de la configuration en mémoire (auparavant : dans un tableau au niveau de ModelArray + au niveau de FreshRSS_Configuration + en Session + des copies temporaires comme ConfigurationDAO). Ne stocke plus 'conf' en Session (n'était presque pas utilisé). Évite de recharger plusieurs fois Translate inutilement. Contribue à https://github.com/marienfressinaud/FreshRSS/issues/303
Diffstat (limited to 'lib')
-rw-r--r--lib/Minz/Configuration.php4
-rw-r--r--lib/Minz/ModelArray.php20
-rw-r--r--lib/Minz/Session.php6
-rw-r--r--lib/lib_rss.php2
4 files changed, 13 insertions, 19 deletions
diff --git a/lib/Minz/Configuration.php b/lib/Minz/Configuration.php
index 306328904..3864a9335 100644
--- a/lib/Minz/Configuration.php
+++ b/lib/Minz/Configuration.php
@@ -225,14 +225,14 @@ class Minz_Configuration {
}
}
if (isset ($general['delay_cache'])) {
- self::$delay_cache = $general['delay_cache'];
+ self::$delay_cache = inval($general['delay_cache']);
}
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']);
+ self::$allow_anonymous = ((bool)($general['allow_anonymous'])) && ($general['allow_anonymous'] !== 'no');
}
// Base de données
diff --git a/lib/Minz/ModelArray.php b/lib/Minz/ModelArray.php
index 89d7f06c1..e3ec77dc9 100644
--- a/lib/Minz/ModelArray.php
+++ b/lib/Minz/ModelArray.php
@@ -9,11 +9,6 @@
*/
class Minz_ModelArray {
/**
- * $array Le tableau php contenu dans le fichier $filename
- */
- protected $array = array ();
-
- /**
* $filename est le nom du fichier
*/
protected $filename;
@@ -25,29 +20,32 @@ class Minz_ModelArray {
*/
public function __construct ($filename) {
$this->filename = $filename;
+ }
+ protected function loadArray() {
if (!file_exists($this->filename)) {
throw new Minz_FileNotExistException($this->filename, Minz_Exception::WARNING);
}
elseif (($handle = $this->getLock()) === false) {
throw new Minz_PermissionDeniedException($this->filename);
} else {
- $this->array = include($this->filename);
+ $data = include($this->filename);
$this->releaseLock($handle);
- if ($this->array === false) {
+ if ($data === false) {
throw new Minz_PermissionDeniedException($this->filename);
- } elseif (!is_array($this->array)) {
- $this->array = array();
+ } elseif (!is_array($data)) {
+ $data = array();
}
+ return $data;
}
}
/**
* Sauve le tableau $array dans le fichier $filename
**/
- protected function writeFile() {
- if (!file_put_contents($this->filename, "<?php\n return " . var_export($this->array, true) . ';', LOCK_EX)) {
+ protected function writeArray($array) {
+ if (!file_put_contents($this->filename, "<?php\n return " . var_export($array, true) . ';', LOCK_EX)) {
throw new Minz_PermissionDeniedException($this->filename);
}
return true;
diff --git a/lib/Minz/Session.php b/lib/Minz/Session.php
index f527322f5..6e45fd226 100644
--- a/lib/Minz/Session.php
+++ b/lib/Minz/Session.php
@@ -55,11 +55,6 @@ class Minz_Session {
} else {
$_SESSION[$p] = $v;
self::$session[$p] = $v;
-
- if($p == 'language') {
- // reset pour remettre à jour le fichier de langue à utiliser
- Minz_Translate::reset ();
- }
}
}
@@ -76,6 +71,7 @@ class Minz_Session {
if (!$force) {
self::_param ('language', $language);
+ Minz_Translate::reset ();
}
}
}
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index a27ef171a..3f55c7d58 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -63,7 +63,7 @@ function is_logged () {
// vérifie que le système d'authentification est configuré
function login_is_conf ($conf) {
- return $conf->mailLogin () != false;
+ return $conf->mail_login != '';
}
// tiré de Shaarli de Seb Sauvage //Format RFC 4648 base64url