Problème de gestion des messages

Forum consacré à phpBB2. Comment tirer le meilleur de ce puissant forum.

Modérateur: Modérateurs

Problème de gestion des messages

Messagede Nerva » Jeu Fév 01, 2007 12:10 pm

Bonjour.

J'ai des problèmes de gestion des messages sur mon forum ; peut-être dus à un mod ?

1) En tant qu'administrateur, je ne peux pas supprimer un de mes propres messages si j'en ai d'autres qui suivent ; j'ai cet avertissement qui s'affiche Désolé, mais vous ne pouvez pas supprimer un message ayant eu des réponses alors que je peux supprimer sans problème ceux d'autrui.

2) Impossible (pour l'administrateur et les modérateurs) de diviser les sujets ; une fois cliqué sur le bouton de division, j'ai cet avertissement qui s'affiche Vous n'avez sélectionné aucun sujet pour accomplir cette opération. Veuillez revenir en arrière et sélectionnez-en au moins un alors que j'ai bien saisi le titre du nouveau sujet.

Si vous voyez d'où cela peut venir...

Merci.
_________________________________________________

Version phpBB : 2.0.22
Hébergeur : Allo-Heberge
Mods installés : Birthday, Gender, Tchat, Album Photos, Corbeille, Fusion, Direct User Link, Inactive Users, Multiple Pseudos Hunter, Name Notification, Profile Photo, Watched Topics, Strike out topic title on lock, Email List, Admin Users List, Sauvegarde complète, Visits Counter, Fast and Furious, EzPortal, Users View Topics Created, Recent, Reg Topics Posts Members, Avatar select on register, Modos no admins edit, New BB Codes, BB Code Player
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Publicité

Messagede dcz » Jeu Fév 01, 2007 12:47 pm

Tu as essayé avec FF ?

J'ai parfois eu le bug de la modération des forums sur de très long fils avec IE6.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Jeu Fév 01, 2007 1:03 pm

Non, je viens d'essayer avec IE (j'utilise Firefox), mêmes problèmes...
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Jeu Fév 01, 2007 10:53 pm

Pour le 1), ç 'est à cet endroit de posting.php que le message est construit :

Code: Tout sélectionner
      else if ( !$post_data['last_post'] && !$is_auth['auth_mod'] && ( $mode == 'delete' || $delete ) )
      {
         message_die(GENERAL_MESSAGE, $lang['Cannot_delete_replied']);
      }


Pour retrouver l'origine du problème tu pourrais essayer de voir quelle est la variable qui coince dans le else if, sur un forum test avec le code de ton forum en ligne.
Pour le 2), c'est pratiquement sûr que c'est la variable $topic_id qui est pas passé et qui nous renvois sur une :

Code: Tout sélectionner
message_die(GENERAL_MESSAGE, $lang['None_selected']);


Dans modcp.php.

Tu pourrais nous poste l'url du lien pour effacer un message ?
Pour la modération de sujet, il faudrait que tu verifies que tu as bien un truc dans le genre de :

Code: Tout sélectionner
<input type="hidden" name="t" value="xx" />


Dans le code source de le page ou tu pourrais diviser le sujet.

Aussi, tu pourrais comparer un peut tes posting.php et modcp.php avec des tout neuf phpBB 2.0.22, en utilisant winmerge par exemple.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 9:50 am

Bon, j'avais posté ce sujet ailleurs et j'ai obtenu la solution au problème de division de sujets :

Dans modcp.php, trouver :

Code: Tout sélectionner
if ($post_id_sql == '')
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }

         $sql = "SELECT post_id, poster_id, topic_id, post_time
            FROM " . POSTS_TABLE . "
            WHERE post_id IN ($post_id_sql)
            ORDER BY post_time ASC";
         if (!($result = $db->sql_query($sql)))
         {
            message_die(GENERAL_ERROR, 'Could not get post information', '', __LINE__, __FILE__, $sql);
         }

Avant, ajouter :

Code: Tout sélectionner
while ($row = $db->sql_fetchrow($result))
         {
            $post_id_sql .= (($post_id_sql != '') ? ', ' : '') . intval($row['post_id']);
         }
         $db->sql_freeresult($result);

Je te remercie pour ce qui est du premier problème, mais je suis loin d'être un pro et je ne sais vraiment pas comment procéder... :roll:

Voici le bloc correspondant que j'ai dans mon fichier :

Code: Tout sélectionner
//
      // Can this user edit/delete the post/poll?
      //
      if ( $post_info['poster_id'] != $userdata['user_id'] && !$is_auth['auth_mod'] )
      {
         $message = ( $delete || $mode == 'delete' ) ? $lang['Delete_own_posts'] : $lang['Edit_own_posts'];
         $message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');

         message_die(GENERAL_MESSAGE, $message);
      }
      else if ( !$post_data['last_post'] && !$is_auth['auth_mod'] && ( $mode == 'delete' || $delete ) )
      {
         message_die(GENERAL_MESSAGE, $lang['Cannot_delete_replied']);
      }
      else if ( !$post_data['edit_poll'] && !$is_auth['auth_mod'] && ( $mode == 'poll_delete' || $poll_delete ) )
      {
         message_die(GENERAL_MESSAGE, $lang['Cannot_delete_poll']);
      }
   }
   else
   {
      if ( $mode == 'quote' )
      {
         $topic_id = $post_info['topic_id'];
      }
      if ( $mode == 'newtopic' )
      {
         $post_data['topic_type'] = POST_NORMAL;
      }

      $post_data['first_post'] = ( $mode == 'newtopic' ) ? true : 0;
      $post_data['last_post'] = false;
      $post_data['has_poll'] = false;
      $post_data['edit_poll'] = false;
   }
   if ( $mode == 'poll_delete' && !isset($poll_id) )
   {
      message_die(GENERAL_MESSAGE, $lang['No_such_post']);
   }
}
else
{
   message_die(GENERAL_MESSAGE, $lang['No_such_post']);
}
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Ven Fév 02, 2007 10:00 am

Tu veux dire qu'il te manquais carrément ce bout de code dans modcp.php ?

Si c'est bien ça, une comparaison winmerge s'impose pour posting.php ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 10:02 am

A première vue, il me manquait bien cette portion mais je ne m'explique pas du tout comment elle a pu s'envoler.
Je vais utiliser Winmerge, pour voir, mais avec tous les mods que j'ai d'installés, c'est sûr qu'il va trouver des différences...
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Ven Fév 02, 2007 10:11 am

A mon avis la partie intéressante concerne cette ligne :

Code: Tout sélectionner
      else if ( !$post_data['last_post'] && !$is_auth['auth_mod'] && ( $mode == 'delete' || $delete ) )


Ce qui veut dire qu'il va falloir s'intéresser plus précisément aux variables contenu dans ce if.

En premier je suivrait la route de $delete et $mode, mais vu ton erreur sur modcp.php, faudra peut être pousser plus.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 10:22 am

Alors, je n'ai que 3 différences dans les fichiers :

1) L'ajout de code du mod "Présentation obligatoire", qui oblige chaque nouveau membre à se présenter dans un forum spécifique avant de pouvoir répondre à n'importe quel sujet ou en créer de nouveaux.
Ce code est inséré juste après ça, comme indiqué dans le mode opératoire :

Code: Tout sélectionner
//
// What auth type do we need to check?
//
$is_auth = array();

2) Le mode d'intégration d'ImageShack, que j'ai conçu moi-même :

Code: Tout sélectionner
// Start add - ImageShack integration
   'L_IMAGESHACK_TITLE' => $lang['Imageshack_title'],
   'L_IMAGESHACK_DESC' => $lang['Imageshack_desc'],
   'L_IMAGESHACK_WAIT' => $lang['Imageshack_wait'],
// End add - ImageShack integration

Positionné après ça :

Code: Tout sélectionner
'L_SPELLCHECK' => $lang['Spellcheck'],
'L_SUBMIT' => $lang['Submit'],

3) Les lignes de codes des mods New BBCode (texte centré, barré, etc...) et BBCode Player (lecteurs multimedia) :

Code: Tout sélectionner
'L_BBCODE_K_HELP' => $lang['bbcode_k_help'],
'L_BBCODE_E_HELP' => $lang['bbcode_e_help'],
'L_BBCODE_R_HELP' => $lang['bbcode_r_help'],
'L_BBCODE_V_HELP' => $lang['bbcode_v_help'],
'L_BBCODE_J_HELP' => $lang['bbcode_j_help'],
'L_BBCODE_D_HELP' => $lang['bbcode_d_help'],
'L_BBCODE_T_HELP' => $lang['bbcode_t_help'],
'L_BBCODE_G_HELP' => $lang['bbcode_g_help'],
'L_BBCODE_X_HELP' => $lang['bbcode_x_help'],
'L_BBCODE_qt_HELP' => $lang['bbcode_qt_help'],
'L_BBCODE_win_HELP' => $lang['bbcode_win_help'],
'L_BBCODE_real_HELP' => $lang['bbcode_real_help'],
'L_BBCODE_son_HELP' => $lang['bbcode_son_help'],
'L_BBCODE_swf_HELP' => $lang['bbcode_swf_help'],

Placées après celles des BBCodes d'origine.

Mais en ce qui concerne la partie de code dont tu parles, tout est ok...
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Ven Fév 02, 2007 10:37 am

mm.

Et pour les templates ?

posting_body.tpl ?
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 10:52 am

Là, ça devient compliqué parce que l'intégration des nouveaux BBCodes a modifié pas mal de lignes ! :roll:
Cependant, après ça :

Code: Tout sélectionner
{POLLBOX}
   <tr>
     <td class="catBottom" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_PREVIEW}" />&nbsp;<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" /></td>
   </tr>
  </table>

Dans le fichier d'origine, il y a ça :

Code: Tout sélectionner
<table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
   <tr>
     <td align="right" valign="top"><span class="gensmall">{S_TIMEZONE}</span></td>
   </tr>
  </table>
</form>

Dans mon fichier, cette portion est placée après le code d'intégration d'ImageShack, sauf le </form> qui est placé avant.
Mais premièrement, l'intégration d'ImageShack (ainsi que des nouveaux BBCodes) est toute récente, ça déconnait avant, et deuxièmement, ça n'expliquerait pas pourquoi les modos peuvent supprimer leurs propres messages intercalés et pas moi.
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Ven Fév 02, 2007 12:14 pm

dcz a écrit:Tu pourrais nous poster l'url du lien pour effacer un message ?
Pour la modération de sujet, il faudrait que tu verifies que tu as bien un truc dans le genre de :

Code: Tout sélectionner
<input type="hidden" name="t" value="xx" />


Dans le code source de le page ou tu pourrais diviser le sujet.


Si non, je penche pour une souci avec le mod présentation obligatoire, sans le connaître, il modifie du code qui va influencer le tableau d'autorisation $is_auth impliqué dans le if via !$is_auth['auth_mod'].


++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 12:24 pm

L'URL du lien de suppression ? Ca ?

Code: Tout sélectionner
http://www.site.com/forum/posting.php?mode=delete&p=19822&sidxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Pour ce qui est du mod de présentation, je suis justement en train de le charger sur mon forum de test, pour voir. Faut aussi que je consulte les mises à jour, parce qu'à l'origine, c'était un mod en beta-test pas encore validé par l'équipe de phpBB.com...
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Messagede dcz » Ven Fév 02, 2007 1:27 pm

Oui, c'est bien l'url que je voulais voir, et elle est bonne, donc, c'est bien un problème de script.

Ça marchais en 0.21 ?

Parce que la 0.22 ajoute pas mal de check sur les SID, et cela pourrait être un cause possible.

Si non, je pense que tu es sur la bonne voie, faut tester autour de ce mod, surtout s'il est en version bêta ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21378
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Nerva » Ven Fév 02, 2007 4:46 pm

Je ne sais plus du tout à partir de quelle version ça fonctionnait toujours, mais peut-être est-ce depuis l'installation de ce mod ; je vais voir ça, surtout qu'il n'a toujours pas été validé sur phpbb.com, mais nulle trace de ce problème dans les posts le concernant...
Nerva
 
Messages: 21
Inscription: Dim Déc 17, 2006 7:13 pm

Suivante

Retourner vers Le Forum phpBB2

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités