mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-10-25 20:48:43 -04:00
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
This commit is contained in:
1 parent
856d2c125b
commit
96bdbafcea
25 files changed
+309
-652
No files matched your search
+9
-11
@@ -8,11 +8,6 @@
|
||||
* La classe Model_array représente le modèle interragissant avec les fichiers de type texte gérant des tableaux php
|
||||
*/
|
||||
class Minz_ModelArray {
|
||||
/**
|
||||
* $array Le tableau php contenu dans le fichier $filename
|
||||
*/
|
||||
protected $array = array ();
|
||||
|
||||
/**
|
||||
* $filename est le nom du fichier
|
||||
*/
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user