Règles du forum

Si vous rencontrez un bug lié à FSB2, merci de le poster dans le forum des rapports de bugs.
Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Problème d'affichage des sujets, erreur xml, problème email du forum

Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 1 fois, dernière édition par Rom1_thequich, 10 Mai 2008, 15:41     Lien vers ce message 10 Mai 2008, 2:16
Bonsoir à tous, n'ayant pas trouvé de problème similaire je poste ici.

Je viens d'effectuer le passage de fsb 2.0.0 rc4b à la 2.0.0 finale (en passant par la rc5 fix 2 avec rc4_to_rc5.php et les différentes requètes SQL, sachant qu'avant la rc4b j'étais en fsb1 et j'avais effectué le fsb1 => fsb2, aucun soucis en fsb2 rc4b).

Malheureusement, j'ai un soucis, certains topics fonctionnent, mais pour d'autres, la plupart, j'avais cette erreur :

Citation
Une erreur a été rencontrée durant l'éxécution du script. L'erreur rencontrée est :

Le fichier XML main/maps/.xml n'existe pas

à la ligne 47 du fichier /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/class_xml.php

Voici la zone où se situe l'erreur dans le script :

Ligne 40 : ** $use_cache :: Utilisation du cache
Ligne 41 : */
Ligne 42 : public function load_file($filename, $use_cache = TRUE)
Ligne 43 : {
Ligne 44 : if (!file_exists($filename))
Ligne 45 : {
Ligne 46 : trigger_error('Le fichier XML ' . $filename . ' n\'existe pas', FSB_ERROR);
Ligne 47 : }
Ligne 48 :
Ligne 49 : if ($use_cache)
Ligne 50 : {
Ligne 51 : $hash = md5($filename);
Ligne 52 : $cache = Cache::factory('xml');
Ligne 53 : if ($cache->exists($hash) && $cache->get_time($hash) == filemtime($filename))
Ligne 54 : {


Trace des fonctions / méthodes appelées :

Méthode : Fsb_frame->__construct()
Fichier : index.php
Ligne : 357


Méthode : Fsb_frame_child->main()
Fichier : index.php
Ligne : 60


Méthode : Fsb_frame_child->show_posts()
Fichier : main/forum/forum_topic.php
Ligne : 105


Méthode : Parser->mapped_message()
Fichier : main/forum/forum_topic.php
Ligne : 327


Méthode : Map::parse_message()
Fichier : main/class/parser/parser.php
Ligne : 102


Méthode : Xml->load_file()
Fichier : main/class/class_map.php
Ligne : 364


Fonction : trigger_error()
Fichier : main/class/class_xml.php
Ligne : 47



J'ai donc créé un fichier .xml dans le dossier main/maps/ (ne sachant pas quoi faire d'autre), maintenant j'ai cette erreur ci :


Citation
FSB Notice : Undefined property: Xml_element::$head in file /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/class_map.php (368)

Fatal error: Call to a member function childExists() on a non-object in /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/class_map.php on line 368



Si vous avez une idée, merci.

J'ai aussi un problème pour envoyer un email de masse, l'envoi échoue (problème de configuration de ma part je suppose mais je ne trouve pas) et j'ai ceci en haut :

Citation
FSB Notice : Undefined variable: send_email in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (176)
FSB Notice : Undefined variable: result in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (182)



Le forum est hébergé sur un ftp free, PHP 5.1.3RC4-dev, MySQL 5.0.45.

Bonne soirée/nuit/journée. Merci.
 
Volcan
Avatar de Eagle
  • Age : 30 ans
  • Messages : 1010
  • Inscrit : 22 Janvier 2005
  Lien vers ce message 10 Mai 2008, 9:33
Le coup de la map (c'est ce qui permet de formatter les messages) qui pose problème, j'ai eu quelque chose de similaire lorsque j'ai fait la migration RC4b -> RC5. Dans le (ou les sujets) traitant de la migration, il y a plusieurs messages importants listant de petites choses à faire.

Mais si le système ne trouve pas ".xml" c'est que dans la base de données il y a des messages sans map définie, dans la table fsb2_posts, vérifie que la colonne p_map est bien toujours remplie, si ce n'est pas le cas tu auras certainement la raison du bug.


Dans les hauteurs des cieux, par delà les nuages et les sommets enneigés, l'aigle majestueux survole la terre...

Kosmos & Eagle homepage ^^
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 7 fois, dernière édition par Rom1_thequich, 10 Mai 2008, 14:19     Lien vers ce message 10 Mai 2008, 13:05
Salut,

Merci de ta réponse, si je comprends bien, dans cette colonne devrait être présente la valeur classic (puisque la seule map installé est celle ci), je n'ai qu'une partie des messages qui l'ont, tout le reste comporte "NULL".

Je dois donc mettre classic partout?

Merci

Edit : ça fonctionne en copiant classic.xml et en le nommant .xml, puisqu'il trouve alors ce qu'il cherche, mais c'est pas très propre.
Edit 2 : les messages qui ne comporte pas de valeur pour p_map sont ceux qui était à la base sur fsb1 apparemment, les ips associées aux messages sont foireuses aussi, mais bon ça c'est pas grave.

Edit 3 : j'arrive pas à faire fonctionner l'envoi d'email du forum, que ce soit pour les inscriptions ou l'email de masse, avant ça fonctionnait il me semble pourtant...
Avec une adresse gmail et les réglages du smtp en conséquence, j'ai :

Citation
FSB Notice : Undefined variable: send_email in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (176)
FSB Warning : fsockopen() [function.fsockopen]: unable to connect to smtp.gmail.com:587 (Connection timed out) in file /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/notify/notify_smtp.php (110)
FSB Notice : Undefined variable: result in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (182)
Donc problème de connexion je suppose...

Avec une adresse hotmail (donc sans smtp, c'est peut être pas censé fonctionner d'ailleurs), "l'envoi de l'email a echoué" + :
Citation
FSB Notice : Undefined variable: send_email in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (176)
FSB Notice : Undefined variable: result in file /mnt/128/sdb/4/c/romain.favraud/fsb2/admin/general/general_email.php (182)


Edit 4 : Le undefined variable vient du fait que je n'ai pas choisi de groupe mais mis un pseudo en dessous apparement.
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 2 fois, dernière édition par Rom1_thequich, 10 Mai 2008, 16:24     Lien vers ce message 10 Mai 2008, 15:43
J'ai toujours pas trouvé comment faire fonctionner l'envoi d'email du forum, que ce soit pour l'email de masse ou pour les inscriptions, ça ne fonctionne pas.

Avec une adresse hotmail sans smtp ça ne fonctionne pas.
Avec une adresse gmail avec smtp non plus.
Avec une adresse free avec smtp non plus.

Si quelqu'un a une idée...

Edit : sous rc4b ça fonctionnait avec une adresse hotmail sans smtp.
Là si un membre s'inscrit il y a :

Citation
FSB Notice : Undefined index: email@hotmail.fr in file /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/class_user.php (588)


Et il ne reçoit pas l'email de confirmation.
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
  Lien vers ce message 11 Mai 2008, 20:46
Personne n'a une idée?

Merci.
 
Equipe des MODS
Avatar de Korko
  • Age : 21 ans
  • Messages : 2491
  • Inscrit : 06 Octobre 2004
  Lien vers ce message Hier, 8:27
Euh la direct non, mais c'est etonnant qu'il te parle de l'index de ton email...
J'ai pas trop le temps de m'y attarder je suis désolé j'espere que quelqu'un d'autre pourra voir avec toi.


Dieu vous aime. Offre soumise à conditions
Développements en cours :
- Group Users Oldness
 
Flammeche
Avatar de NumberEight
  • Age : 24 ans
  • Messages : 39
  • Inscrit : 13 Janvier 2007
Message édité 2 fois, dernière édition par NumberEight, Hier, 22:01     Lien vers ce message Hier, 12:07
Salut!
Citation
FSB Notice : Undefined index: email@hotmail.fr in file /mnt/128/sdb/4/c/romain.favraud/fsb2/main/class/class_user.php (588)

Visiblement, tu as activé la confirmation des inscriptions par les administrateurs. J'ai regardé le code dans les environs de la ligne 588 et ça plante au niveau de l'envoi de l'email aux administrateurs.
		// On récupère les informations pour notifier les administrateurs
		$sql = 'SELECT u_email, u_language, u_activate_auto_notification
				FROM ' . SQL_PREFIX . 'users
				WHERE u_auth > ' . $level['auth_level'];
		$result = Fsb::$db->query($sql);
		$notify_list = array();
		while ($row = Fsb::$db->row($result))
		{
			if (!isset($notify_list[$row['u_language']]))
			{
				$notify_list[$row['u_language']] = array();
			}
			$notify_list[$row['u_language']][] = $row[$row['u_email']];
		}
		Fsb::$db->free($result);

La dernière ligne est la ligne 590

Si on regarde la ligne 588 (là où Rom1_thequich a une erreur), on a $row[$row['u_email']]. Dans son cas, $row['u_email'] vaut email@hotmail.fr.
Pour moi, il y a un souci à ce niveau car du coup, le forum cherche un champ 'email@hotmail.fr' dans la table users :
$notify_list[$row['u_language']][] = $row['email@hotmail.fr'];


Rom1_thequich : Essayes ceci :

Dans le fichier main/class/class_user.php
CHERCHE
$notify_list[$row['u_language']][] = $row[$row['u_email']];

REMPLACE PAR
$notify_list[$row['u_language']][] = $row['u_email'];


Edit : J'avoue ne pas trop comprendre cette ligne étant donné que je viens de faire une recherche sur le forum et qu'il s'agit d'un fix qui avait été donné par Génova... Attendons confirmation!


--=<#8>=--
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14161
  • Inscrit : 16 Septembre 2004
  Lien vers ce message Hier, 15:45
Normalement pour les MAPS il y a une requête qui met tout correctement en place, dans les MAJS. Tu l'a appliquée ?


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 2 fois, dernière édition par Rom1_thequich, Hier, 21:37     Lien vers ce message Hier, 21:23
J'ai fait toutes les requêtes que j'ai pu trouver (pour passage de rc4b à rc5 puis fix 1 puis fix 2 puis finale). Maintenant il y en a peut être que j'ai oublié.

Je vais essayer ce que vous venez de m'indiquer, merci à vous ;)
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14161
  • Inscrit : 16 Septembre 2004
  Lien vers ce message Hier, 21:26
Tu utilisais des MAPS autre que la MAP classique ?


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 1 fois, dernière édition par Rom1_thequich, Hier, 21:45     Lien vers ce message Hier, 21:42
Donc, maintenant, après modification du class_user.php comme indiqué.

Le membre reçoit bien l'email de confirmation, que ce soit confirmation simple par email ou par email + administrateur, et l'admin reçoit aussi l'email pour le prévenir. Donc cela fonctionne.

L'email de masse fonctionne aussi après test, merci beaucoup NumberEight :)

Tu utilisais des MAPS autre que la MAP classique ?

Absolument pas, mais comme je l'ai dit, tous les messages qui proviennent de la rc4b contiennent bien la valeur "classic" dans la BDD, mais ceux qui proviennent de fsb1 (j'étais passé de fsb1 à fsb2 rc4b) ne contiennent pas cette valeur, bizarrement ça ne gênait pas en rc4b.
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14161
  • Inscrit : 16 Septembre 2004
Message édité 1 fois, dernière édition par Genova, Hier, 21:49     Lien vers ce message Hier, 21:48
Dans ce cas exécute cette requête SQL :
UPDATE fsb2_posts SET p_map = 'classic' WHERE p_map = ''

ça corrigera tout ça ;)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
Message édité 2 fois, dernière édition par Rom1_thequich, Hier, 22:06     Lien vers ce message Hier, 21:59
Hum, bizarrement, ça ne fonctionne pas :

Le champ p_map reste avec NULL, et PHPmyAdmin me dit : "Nombre d'enregistrements affectés : 0 (Traitement en 0.0146 sec.)" (logique que rien ne change).

Edit : c'est bon en virant le WHERE p_map = ''
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14161
  • Inscrit : 16 Septembre 2004
  Lien vers ce message Hier, 22:01
Réessaie avec
UPDATE fsb2_posts SET p_map = 'classic' WHERE p_map IS NULL


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de Rom1_thequich
  • Messages : 13
  • Inscrit : 28 Octobre 2006
  Lien vers ce message Hier, 22:02
C'est bon merci ;)

Merci pour l'aide, et pour le forum :)

Bonne continuation :)
 
Répondre


.