From 155af654c9396b04e88c12281975952aaae44c5a Mon Sep 17 00:00:00 2001
From: cobalt74
Date: Sat, 25 May 2013 00:11:14 +0200
Subject: [PATCH] =?UTF-8?q?issue=20#150=20-=20possibilit=C3=A9=20de=20para?=
=?UTF-8?q?m=C3=A8tre=20activation=20du=20cache=20issue=20#169=20-=20possi?=
=?UTF-8?q?bilit=C3=A9=20de=20param=C3=A8tre=20activation=20du=20force=5Ff?=
=?UTF-8?q?eed=20correction=20sur=20upgrade=20des=20param=C3=A8tre=20->=20?=
=?UTF-8?q?redirection=20sur=20les=20param=C3=A8tres=20correction=20instal?=
=?UTF-8?q?le=20->=20ne=20pas=20charger=20le=20user=20car=20ne=20sert=20pa?=
=?UTF-8?q?s=20en=20amont=20de=20la=20cr=C3=A9ation?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Feed.class.php | 5 +++--
action.php | 20 +++++++++-----------
install.php | 18 +++++++++++++++++-
settings.php | 2 ++
templates/marigolds/settings.html | 18 +++++++++++++++++-
5 files changed, 48 insertions(+), 15 deletions(-)
diff --git a/Feed.class.php b/Feed.class.php
index b9d9cf77..59b4409f 100755
--- a/Feed.class.php
+++ b/Feed.class.php
@@ -61,7 +61,7 @@ function getError() { return $this->error; }
nécessaire, et appelle parse(). Impossible de vérifier dans parse() même
car elle est appelée aussi pour autre chose que l'ajout.
*/
- function parse($syncId){
+ function parse($syncId, $enableCache=true, $forceFeed=false){
assert('is_int($syncId) && $syncId>0');
if (empty($this->id) || 0 == $this->id) {
/* Le flux ne dispose pas pas d'id !. Ça arrive si on appelle
@@ -73,7 +73,8 @@ function parse($syncId){
die($msg); // Arrêt, sinon création événements sans flux associé.
}
$feed = new SimplePie();
- $feed->enable_cache(false);
+ $feed->enable_cache($enableCache);
+ $feed->force_feed($forceFeed);
$feed->set_feed_url($this->url);
$feed->set_useragent('Mozilla/4.0 Leed (LightFeed Agrgegator) '.VERSION_NAME.' by idleman http://projet.idleman.fr/leed');
if (!$feed->init()) {
diff --git a/action.php b/action.php
index 4dda3727..b35e64f7 100755
--- a/action.php
+++ b/action.php
@@ -36,8 +36,7 @@
die('Vous devez vous connecter pour cette action.');
}
Functions::triggerDirectOutput();
-
- // On ne devrait pas mettre de style ici.
+
if (!$commandLine)
echo '
@@ -70,10 +69,12 @@
$nbTotal = 0;
$localTotal = 0; // somme de tous les temps locaux, pour chaque flux
$syncId = time();
+ $enableCache = $configurationManager->get('synchronisationEnableCache');
+ $forceFeed = $configurationManager->get('synchronisationForceFeed');
foreach ($feeds as $feed) {
$nbTotal++;
$startLocal = microtime(true);
- $parseOk = $feed->parse($syncId);
+ $parseOk = $feed->parse($syncId, $enableCache, $forceFeed);
$parseTime = microtime(true)-$startLocal;
$localTotal += $parseTime;
$parseTimeStr = number_format($parseTime, 3);
@@ -165,7 +166,6 @@
case 'updateConfiguration':
if($myUser==false) exit('Vous devez vous connecter pour cette action.');
-
//Ajout des préférences et réglages
$configurationManager->put('root',(substr($_['root'], strlen($_['root'])-1)=='/'?$_['root']:$_['root'].'/'));
//$configurationManager->put('view',$_['view']);
@@ -180,16 +180,14 @@
$configurationManager->put('articleDisplayHomeSort',$_['articleDisplayHomeSort']);
$configurationManager->put('articleDisplayFolderSort',$_['articleDisplayFolderSort']);
$configurationManager->put('synchronisationType',$_['synchronisationType']);
+ $configurationManager->put('synchronisationEnableCache',$_['synchronisationEnableCache']);
+ $configurationManager->put('synchronisationForceFeed',$_['synchronisationForceFeed']);
$configurationManager->put('feedMaxEvents',$_['feedMaxEvents']);
-
-
- $userManager->change(array('login'=>$_['login']),array('id'=>$myUser->getId()));
- if(trim($_['password'])!='') $userManager->change(array('password'=>User::encrypt($_['password'])),array('id'=>$myUser->getId()));
-
-
+ $userManager->change(array('login'=>$_['login']),array('id'=>$myUser->getId()));
+ if(trim($_['password'])!='') $userManager->change(array('password'=>User::encrypt($_['password'])),array('id'=>$myUser->getId()));
- header('location: ./settings.php');
+ header('location: ./settings.php#preferenceBloc');
break;
diff --git a/install.php b/install.php
index 36097a2a..460f36db 100644
--- a/install.php
+++ b/install.php
@@ -122,7 +122,7 @@
require_once('User.class.php');
require_once('Folder.class.php');
require_once('Configuration.class.php');
- $myUser = (isset($_SESSION['currentUser'])?unserialize($_SESSION['currentUser']):false);
+
$feedManager = new Feed();
$eventManager = new Event();
$userManager = new User();
@@ -161,6 +161,8 @@
$configurationManager->add('feedMaxEvents',$_['feedMaxEvents']);
$configurationManager->add('synchronisationCode',$synchronisationCode);
+ $configurationManager->add('synchronisationEnableCache',$_['synchronisationEnableCache']);
+ $configurationManager->add('synchronisationForceFeed',$_['synchronisationForceFeed']);
//Création du dossier de base
$folder = $folderManager->load(array('id'=>1));
@@ -286,6 +288,20 @@
Automatique (complet) : Le script mettra à jour automatiquement tous vos flux en une seule fois, ceci permet la mise à jour en une fois de tous vos flux mais peux faire ramer votre serveur, les appels cron ne doivent pas être trop rapprochés.
Automatique (gradué) : Le script mettra à jour automatiquement les 10 flux les plus vieux en terme de mise à jour, ceci permet d'alléger la charge serveur et d'éviter les timeouts intempestifs mais nécessite un appel de cron plus fréquent afin de mettre à jour le plus de flux possible.
Manuel (complet) : Le script ne fait aucune mise à jour automatique, vous devez faire vous même les mises à jour depuis l'espace administration.
Le script mettra à jour automatiquement les 10 flux les plus vieux en terme de mise à jour, ceci permet d'alléger la charge serveur et d'éviter les timeouts intempestifs mais nécessite un appel de cron plus fréquent afin de mettre à jour le plus de flux possible
Le script ne fait aucune mise à jour automatique, vous devez faire vous même les mises à jour depuis l'espace administration.
- Code de synchronisation:
+
Code de synchronisation:
{$synchronisationCode}
+
+
Options de synchronisation
+
+
+
@@ -182,6 +197,7 @@
Nb: si vous choissisez un affichage partiel des articles, un click sur ces d
Nb: Plus il y aura d'événements à conserver, plus votre base de données sera importante. Nous vous conseillons de garder les 50 derniers événements au maximum pour conserver une performance correcte. Notez que vos événements marqués comme favoris ne seront jamais supprimés.