LeedRSS / Leed

Leed (contraction de Light Feed) est un agrégateur RSS libre et minimaliste qui permet la consultation de flux RSS de manière rapide et non intrusive.
214 stars 41 forks source link

La syncronisation manuelle ne fonctionne pas #125

Closed emmflo closed 11 years ago

emmflo commented 11 years ago

Bonjour Je viens de remettre leed en place avec le dernier code disponible sur git. J'ai donc réimporté mes flux mais pas moyen de lancer la syncronisation des flux. J'attends de voir ce que va donner la tache cron mais je n'en attends pas vraiment plus. ^^' J'ai rien trouvé de suspect dans les logs mis à part un warning : "PHP Warning: array_merge(): Argument #2 is not an array in /srv/http/leed/Plugin.class.php on line 139" La page de syncronisation manuelle reste blanche (avec le design autour). Demandez moi si vous voulez plus d'informations ^^ Merci d'avance Emmflo

Sbgodin commented 11 years ago

Hello,

Que donne la commande git log -1 --pretty=oneline ? C'est pour connaître la révision exacte à tester. La synchronisation est-elle complète ou partielle ? Voir la page de configuration.

emmflo commented 11 years ago

Ah... en fait j'ai juste récupéré le code en .zip sur l'interface web de git ^^

Sbgodin commented 11 years ago

Chez moi je n'ai pas l'erreur, alors pour être sûr et bien tester, il serait bien de faire ceci :

Comme ça je sait quelle version est concernée. Merci d'avance.

emmflo commented 11 years ago

Voilà qui est fait avec pour somme (en latest commit) : f2c8b3b295fdb9cff09098ee6b63a82ee2880f47 J'ai toujours le même problème.

Sbgodin commented 11 years ago

Merci pour la référence. J'ai tenté de reproduire le problème avec une base utilisée et en réinstallant. Ça fonctionne bien chez moi. Je n'ai ni le warning, ni de problème à la mise à jour. Le log de mise à jour s'affiche comme attendu.

Idéalement, il me faudrait le fichier constant.php (les MYSQL avec des XXX à la place), un export de la base de données et une archive contenant le code source utilisé. Ça fait beaucoup, mais sans ça je ne peux tester plus.

Sbgodin commented 11 years ago

@emmflo le bug se manifeste encore ?

emmflo commented 11 years ago

Bonjour, Désolé mais je n'étais pas chez moi ces derniers jours, je n'ai donc pas pu continuer à m'occuper de leed. Je vais donc m'y remettre. Je vous tiens au courant. Emmflo

TimCruz commented 11 years ago

Bonjour, J'ai la même erreur : "Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /datas/vol1/monserveur/var/www/leed.geekdefrance.fr/htdocs/Plugin.class.php on line 154" Lorsque je me rends sur les pages de config de mon Leed.

Mon constant.php : <?php define('VERSION_NUMBER','1.5'); define('VERSION_NAME','Beta');

//Host de Mysql, le plus souvent localhost ou 127.0.0.1
define('MYSQL_HOST','jegardelinfopourmoi'); 
//Identifiant MySQL
define('MYSQL_LOGIN','jegardelinfopourmoi');
//mot de passe MySQL
define('MYSQL_MDP',jegardelinfopourmoi');
//Nom de la base MySQL ou se trouvera leed
define('MYSQL_BDD','jegardelinfopourmoi');
//Prefix des noms des tables leed pour les bases de données uniques
define('MYSQL_PREFIX','leed_');
//Theme graphique
define('DEFAULT_THEME','marigolds');
//Nombre de pages affichées dans la barre de pagination
define('PAGINATION_SCALE',5);
//Nombre de flux mis à jour lors de la synchronisation graduée
define('SYNC_GRAD_COUNT',10);   
?>
cobalt74 commented 11 years ago

Dans PHP5, array_merge n'accepte plus que des types array comme argument. Pour faire disparaître le messages, il faut transtyper :

ex: $customer_info = array_merge((array)$country, (array)$info, (array)$reviews);

dans notre cas ligne 154 Plugin.class.php, $files est un tableau et glob devrait renvoyer un tableau aussi a part si il y a une erreur. arraymerge($files,glob(dirname(FILE) . Plugin::FOLDER .'//_.plugin.disabled.php')); a tester en mettant arraymerge($files,(array)glob(dirname(FILE) . Plugin::FOLDER .'//_.plugin.disabled.php'));

sinon peut être plus propre public static function getFiles($onlyActivated=false){ $files = glob(dirname(FILE) . Plugin::FOLDER .'//.plugin.enabled.php'); $filesDisabled = glob(dirname(FILE) . Plugin::FOLDER .'//.plugin.disabled.php'); if (!is_array($files)) $files = array(); if (!is_array($filesDisabled)) $filesDisabled = array(); if(!$onlyActivated)$files = array_merge($files,$filesDisabled); return $files; }

ldleman commented 11 years ago

Yop !

Que donne ce bout de code @emmflo ça résout ton pb?

cobalt74 commented 11 years ago

ou @TimCruz ? :p

TimCruz commented 11 years ago

Pour moi ca marche, par contre, il galère à importer ce flux : http://www.linuxmint-fr.org/index.php?format=feed&type=rss

cobalt74 commented 11 years ago

ok cool, y'a plus qu'a faire la correction. Je me l'assigne et je ferai ça ce soir. sinon pour ton flux, il ne semble pas valide. http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fwww.linuxmint-fr.org%2Findex.php%3Fformat%3Dfeed%26type%3Drss

TimCruz commented 11 years ago

Par contre, je ne peux plus envoyer de modif dans mes configuration, j’obtiens l'erreur : Warning: Cannot modify header information - headers already sent by (output started at /var/www/leed.geekdefrance.fr/htdocs/constant.php:1) in /var/www/leed.geekdefrance.fr/htdocs/action.php on line 191

Même chose quand je veux mettre à jour mes flux...

cobalt74 commented 11 years ago

un article sur le sujet : http://lesdoigtsdanslenet.com/cannot-modify-header-information/

cobalt74 commented 11 years ago

@TimCruz tu as essayé quel bout de code ?

TimCruz commented 11 years ago

j'ai simplement remplacé la fonction getFiles par le code que tu proposais. Du reste, je n'ai rien modifié!

cobalt74 commented 11 years ago

je clos le sujet de base, @TimCruz est ce que tu peux ouvrir une autre issue pour ton problème

ldleman commented 11 years ago

@TimCruz dans ton fichier constant, vérifie que :

Ce problème de header est causé par l'affichage d'un caractere html visible ou non avant le header:location de PHP.

La plupart du temps c'est le BOM qui fait chier, car si tu réenregistre en utf8 simple, le BOM passe comme un caractère et fait tout planter.

TimCruz commented 11 years ago

@ldleman c'est tout à fait ça! J'avais modifié mon constant.php pour changer le thème en passant par Filezilla directement et il m'avait passé mon encodage en utf8 avec BOM

Merci (d'ailleurs, ca semble résoudre pas mal de mes bugs)

ldleman commented 11 years ago

Cool :), (ils sont fourbes ces éditeurs quand même :p)