Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
J'utilise Notepad qui colore les couple d'accolades (et est bien lourd en passant
), et il me dit que ce n'est pas la peine d'envoyer tout le fichier, qu'il te suffit d'ajouter une accolade tout à la fin avant le ?>. As-tu essayé de le faire ?
Ou si tu ne veux pas essayer, as-tu bien vérifié que l'accolade débutant à
function mark_topic_read($topic_id, $forum_id, $last_post) {était bien fermée ?
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Hors ligne
Même réponse que depuis plusieurs posts : il te manque une accolade tout à la fin avant le ?>.
Cf messages précédents pour plus de détails 
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
+1 pour l'accolade...
Personnellement, j'ai un problème avec le fameux "Warning: Invalid argument supplied for foreach() in /homepages/26/d203881843/htdocs/forum/include/functions.php on line 1271" qui renvoie à un "foreach".
Après plusieurs essais, installation puis désinstallation, impossible de le résoudre... Ce code est un c/c de celui du script original, je voudrais savoir d'où pourrait provenir cette erreur afin d'éviter le désagréable message d'avertissement.
Au cas où, le code :
[c]// Function Mark Topic As Read
function get_all_new_topics() {
global $db, $pun_user;
$result = $db->query('SELECT forum_id, id, last_post FROM '.$db->prefix.'topics WHERE last_post>'. $pun_user['last_visit'] .' AND moved_to IS NULL ORDER BY last_post DESC') or error('Unable to fetch new topics from forum', __FILE__, __LINE__, $db->error());
$new_topics = array();
while($new_topics_row = $db->fetch_assoc($result))
$new_topics[$new_topics_row['forum_id']][$new_topics_row['id']] = $new_topics_row['last_post'];
return $new_topics;
}
function forum_is_new($forum_id, $last_post_time) { // This function scares me but I believe all the logic is good. Have fun. 
global $pun_user, $new_topics;
// First we try to do this the easy way.
if ($pun_user['last_visit'] >= $last_post_time) { // Were there no posts since the user's last visit?
return false;
} else if (!empty($pun_user['read_topics']['f'][$forum_id]) && // Has the user marked all topics in
$pun_user['read_topics']['f'][$forum_id] >= $last_post_time) { // The forum read since the last post?
return false;
} else if (empty($pun_user['read_topics']['t']) && empty($pun_user['read_topics']['f'])) { // Is it even possible that any of the new posts could be read?
return true;
} else {
// Now we must loop through all the "unread" topics in the forum and see if the user has read them.
foreach($new_topics[$forum_id] as $topic_id => $last_post) {
if ( // I'll be nice and explain this one for you. If:
(empty($pun_user['read_topics']['f'][$forum_id]) || // The user hasn't marked the forum read, or
$pun_user['read_topics']['f'][$forum_id] < $last_post) && // They have but the topic has been posted in since, AND
(empty($pun_user['read_topics']['t'][$topic_id]) || // The user hasn't marked the topic read, or
$pun_user['read_topics']['t'][$topic_id] < $last_post) // They have but the topic has been posted in since, then
)
return true; // The topic must be new
}
return false; // Well, since every topic was marked read, then the forum must not have any new posts.
}
}
function topic_is_new($topic_id, $forum_id, $last_post_time) {
global $pun_user;
if ($pun_user['last_visit'] >= $last_post_time) {
return false;
} else if (!empty($pun_user['read_topics']['f'][$forum_id]) &&
$pun_user['read_topics']['f'][$forum_id] >= $last_post_time) {
return false;
} else if (!empty($pun_user['read_topics']['t'][$topic_id]) &&
$pun_user['read_topics']['t'][$topic_id] >= $last_post_time) {
return false;
}
return true;
}
function mark_topic_read($topic_id, $forum_id, $last_post) {
global $db, $pun_user;
if (topic_is_new($topic_id, $forum_id, $last_post)) {
$pun_user['read_topics']['t'][$topic_id] = time();
$db->query('UPDATE '.$db->prefix.'users SET read_topics=\''.$db->escape(serialize($pun_user['read_topics'])).'\' WHERE id='.$pun_user['id']) or error('Unable to update read-topic data', __FILE__, __LINE__, $db->error());
}
}[/c]
Hors ligne
Un petit up, juste au cas où 
Hors ligne
Il manque un test sur $new_topic pour savoir si la tableau est vide ou non (il est vide s'il n'y a pas de nouveaux messages).
Il suffit d'ajouter un test :
// Now we must loop through all the "unread" topics in the forum and see if the user has read them.
if (!empty($new_topics[$forum_id]))
{
foreach($new_topics[$forum_id] as $topic_id => $last_post) {
if ( // I'll be nice and explain this one for you. If:
(empty($pun_user['read_topics']['f'][$forum_id]) || // The user hasn't marked the forum read, or
$pun_user['read_topics']['f'][$forum_id] < $last_post) && // They have but the topic has been posted in since, AND
(empty($pun_user['read_topics']['t'][$topic_id]) || // The user hasn't marked the topic read, or
$pun_user['read_topics']['t'][$topic_id] < $last_post) // They have but the topic has been posted in since, then
)
return true; // The topic must be new
}
}2 ans après la publication du mod, le bug existe toujours dans la version "officielle"... super !
Hors ligne
Effectivement, après essai, le problème m'a l'air d'être résolu 
J'espère que ça durera (avec le php, il ne faut jurer de rien xD), mais en tout cas merci beaucoup pour ta réponse !
Hors ligne
Et il faut les rajouter où ces quelques lignes ?
Merci d'avance.
Hors ligne
Il ne faut pas ajouter tout le bloc !
Il faut juste modifier les lignes en dessous [c]"Now we must loop through ..."[/c].
C'est à dire qu'il faut juste ajouter :
[c]if (!empty($new_topics[$forum_id])) {[/c]
avant
[c]foreach($new_topics[$forum_id][/c]
et ajouter une } après l'accolade fermant le bloc du foreach 
Dernière modification par Glycogène (05-10-2008 23:29:11)
Hors ligne
Merci Glycogène, je vais regarder ça de suite.
Hors ligne
Bonsoir,
Petite novice, j'essaie tant bien que mal d'installer ce mode sur mon forum, j'ai bien modifier tous les fichiers demandé et pourtant cela ne fonctionne pas.
Mes messages sont toujours en non lus même ceux que je rédige.
Ma version fluxbb est la 1.2.20 mais je n'ai pas de message d'erreur comme quoi le mode ne serait pas compatible.
Après maintes recherches, je viens appeler à l'aide 
Merci de vos réponses
Céline
Hors ligne
Genre
http://www.punbb.fr/forums/viewtopic.php?id=4706
Voilà réponse à ton votre soucis. 
Vous êtes deux à taper le message ? Pas facile tout ça 
M@x.
Dernière modification par M@x (13-10-2008 18:13:51)
...
Hors ligne
Salut max,
Merci pour ta réponse, mais je suis bien seule à écrire (l'deuxième c'est ma bête à poils
) et pas encore blonde
, j'avais déjà modifier dans mon fichier install_mod pour le rendre compatible avec ma version de forum... oui oui j'sais lire et la recherche et google sont mes amis !! 
Mais mon pb n'est pas encore résolu, je ne sais pas où ça peche...
Merci de ton aide !! :ange:
Hors ligne
Souvent ça vient d'une mauvaise modif, d'un mauvais copier/coller, enfin d'une erreur toute bête...
Le mieux pour commencer c'est d'éplucher ce topic pour voir si quelqu'un à subit ce même problème (et éventuellement avoir une réponse) et l'autre solution c'est de refaire les modifs de la mod une nouvelle fois 
Courage 
Hors ligne
@Céline et Twist : Tu pourrait nous donner la ligne que tu as modifié dans le install_mod.php
Donc twist c'est le prénom du toutou Oo Trop bon 
@Defaz : Sauf vraiment une inattention de modification -de la part de céline et twist
- l'erreur sur l'install mod est à proscrire : on aurait entendu brailler depuis lomgtemps 
M@x.
...
Hors ligne
@Defaz : Sauf vraiment une inattention de modification.
C'est typiquement ce qui m'arrive lorsqu'une mod ne fonctionne pas 
Hors ligne
Merci les gars pour vos réponses, ce soir je ne peux vous donner la ligne exacte modifier car je suis au taff et malheureusement mon grand patron (vive l'etat) ne m'autorise pas à installer de ftp sur mon pc !!! 
Donc je vous dirais ça exactement demain soir, mais dans ce fichier, j'ai juste rajouter la version de mon forum à savoir 1.2.20, rien de plus !!! 
@Defaze : j'ai éplucher ce post en long, en large et en travers et rien trouvé et effectivement, j'ai commencé à brailler devant mon pc avant de trouver qu'il fallait que je modifie la version dans le fichier install !!!! 
@M@x : Twist c'est mieux que Théodore !!! 
Dernière modification par Céline et Twist (14-10-2008 22:53:27)
Hors ligne
Merci pour ce mod

Dernière modification par Filou69 (15-10-2008 19:41:20)
Hors ligne
Bon ben je crois que je suis à moitié abrutie, je retrouve pas ma ligne de modif !!! j'dois blondifier !!! 
Bon allez je réinstalle mon mod, on verra bien ensuite, je vous tiens au jus !!!! 
Hors ligne
Bon en reinstallant, me dit que ma bdd a bien été préparée, je repars à l'assaut des pages à modifier !!!! 
Hors ligne
- Header.php = vérifier et ok (pas de faute de copier/coller)
- Include/functions.php = idem et pour ce fichier dans le lisez moi, il demande de modifier la ligne 104 pour le pun_user et encore ligne 104 pour le cure_user que je n'ai trouvé qu'à la ligne 251 (en esperant que je ne me suis pas plantée).
- Index.php = ligne 83 à modifier, trouvée ligne 99, pas de fautes de recopiage
- langue/english/commun.php = vérifier et ok
- langue/english/misc.php = vérifier et ok
- langue/french/commun.php = vérifier et ok
- langue/french/misc.php = vérifier et ok
- login.php = vérifier et ok
- misc.php = vérifier et ok
- viewforum.php = vérifier et ok
- viewtopic.php = ligne 105 chercher t.sticky et mettre après t.last post, je l'avais mis dans la ligne else et pas dans la ligne if !!!! 
donc ça marche mais maintenant mes onglets sont en anglais !!! mon dieu vais-je y arriver ??? si qq un a une idée !!! 
J'ai bien essayé de ne pas modifier les fichiers anglais et de remettre les originaux mais ça ne change rien !!!! ggrrrrrrrr
Dernière modification par Céline et Twist (16-10-2008 01:16:22)
Hors ligne
@Defaze :
Gniiiiiiiiiiii :fouet:
Pour revenir sérieusement au sujet, va voir les lignes que tu as modifié dans :
- langue/french/commun.php
- langue/french/misc.php
C'est sûrement dans ces fichiers que se trouvent les termes anglais à modifier 
Et pour contourner les plans de ton grand patron tu peux essayer de passer par un web ftp (c'est comme ça que je faisais) 
Hors ligne
@ Defaz >> merci mais comme j'ai pas d'editeur php sur le pc de la boite bah le web ftp ne me sers pas à grand chose lol !!! je file voir mes fichiers merchi !! 
Hors ligne
Notepad li le PHP 
Mais tu ne peut rien installer ?!
M@x.
...
Hors ligne
nan rien de rien, sont racros nos admin !!! 
Hors ligne