Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
Mod des tags?

Poster un nouveau sujet Répondre au sujet

Rechercher dans ce sujet :
Messages
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 12 Aoû 2006 17:52
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
j'ai compris ! merci ! j'essaye de tout comprendre pour me lancer doucement a la réalisation aussi de mes idées ! mais j'ai un gros handicap , je suis ingénieur réseaux et télécom spécialisée en sécu et comme tout les ingé en Réseau le codage est une horreur pour moi ! mdr mdr ! faut dire que les cours de C , ada, assembleur je n'y allais pas ! mdr mdr

merci pour tes lumières !
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 12 Aoû 2006 23:41
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Forcément, ça aide pas :p

Mais bon, PHP c'est pas trop compliqué quand même... Enfin ça vient pas d'un coup c'est sûr :p
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 14 Aoû 2006 12:33
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
hello ,

bon j'ai trouvé une nouvelle erreur :

quant je vais dans l'ACP pour changer mon un statut d'un forum

après avoir validé j'ai cela :

Code :
Couldn't update forum information

DEBUG MODE

SQL Error : 1064 Erreur de syntaxe près de '0, 0, forum_icon = '', forum_sort = '', forum_external = 0, foru' à la ligne 2

UPDATE phpbb_forums SET forum_name = 'Archives 2006', cat_id = 8, attached_forum_id = -1, forum_desc = '', forum_status = 0, 0, 0, forum_icon = '', forum_sort = '', forum_external = 0, forum_redirect_url = '', forum_quick_post = 1, forum_parent_cache = '', prune_enable = 0 WHERE forum_id = 39

Line : 621
File : admin_forums.php


j'ai beau refaire l'installation de ton code ! j'ai toujours le meme message ! si tu as une idée ? ci joint mon admin_forum.php (j'ai pas mis la fin vu que tu limite le nombre de carractère merci)

merci

Code :

<?php
/***************************************************************************
 *                             admin_forums.php
 *                            -------------------
 *   begin                : Thursday, Jul 12, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: admin_forums.php,v 1.40.2.11 2004/03/25 15:57:19 acydburn Exp $
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', 1);

if( !empty($setmodules) )
{
   $file = basename(__FILE__);
   $module['03 - Forums']['Gestion des Forums'] = $file;
   return;
}

//
// Load default header
//
$phpbb_root_path = "./../";
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

$forum_auth_ary = array(
   "auth_view" => AUTH_ALL,
   "auth_read" => AUTH_ALL,
   "auth_post" => AUTH_REG,
   "auth_reply" => AUTH_REG,
   "auth_edit" => AUTH_REG,
   "auth_delete" => AUTH_REG,
   "auth_sticky" => AUTH_MOD,
   "auth_announce" => AUTH_MOD,
   "auth_vote" => AUTH_REG,
   "auth_pollcreate" => AUTH_REG
);

//
// Mode setting
//
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
   $mode = htmlspecialchars($mode);
}
else
{
   $mode = "";
}

// ------------------
// Begin function block
//
function get_info($mode, $id)
{
   global $db;

   switch($mode)
   {
      case 'category':
         $table = CATEGORIES_TABLE;
         $idfield = 'cat_id';
         $namefield = 'cat_title';
         break;

      case 'forum':
         $table = FORUMS_TABLE;
         $idfield = 'forum_id';
         $namefield = 'forum_name';
         break;

      default:
         message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
         break;
   }
   $sql = "SELECT count(*) as total
      FROM $table";
   if( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, "Couldn't get Forum/Category information", "", __LINE__, __FILE__, $sql);
   }
   $count = $db->sql_fetchrow($result);
   $count = $count['total'];

   $sql = "SELECT *
      FROM $table
      WHERE $idfield = $id";

   if( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, "Couldn't get Forum/Category information", "", __LINE__, __FILE__, $sql);
   }

   if( $db->sql_numrows($result) != 1 )
   {
      message_die(GENERAL_ERROR, "Forum/Category doesn't exist or multiple forums/categories with ID $id", "", __LINE__, __FILE__);
   }

   $return = $db->sql_fetchrow($result);
   $return['number'] = $count;
   return $return;
}

function get_list($mode, $id, $select)
{
   global $db;

   switch($mode)
   {
      case 'category':
         $table = CATEGORIES_TABLE;
         $idfield = 'cat_id';
         $namefield = 'cat_title';
         break;

      case 'forum':
         $table = FORUMS_TABLE;
         $idfield = 'forum_id';
         $namefield = 'forum_name';
         break;

      default:
         message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
         break;
   }

   $sql = "SELECT *
      FROM $table";
   if( $select == 0 )
   {
      $sql .= " WHERE $idfield <> $id";
   }

   if( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql);
   }

   $cat_list = "";

   while( $row = $db->sql_fetchrow($result) )
   {
      $s = "";
      if ($row[$idfield] == $id)
      {
         $s = " selected=\"selected\"";
      }
      $catlist .= "<option value=\"$row[$idfield]\"$s>" . $row[$namefield] . "</option>\n";
   }

   return($catlist);
}

function renumber_order($mode, $cat = 0)
{
   global $db;

   switch($mode)
   {
      case 'category':
         $table = CATEGORIES_TABLE;
         $idfield = 'cat_id';
         $orderfield = 'cat_order';
         $cat = 0;
         break;

      case 'forum':
         $table = FORUMS_TABLE;
         $idfield = 'forum_id';
         $orderfield = 'forum_order';
         $catfield = 'cat_id';
         break;

      default:
         message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
         break;
   }

   $sql = "SELECT * FROM $table";
   if( $cat != 0)
   {
      $sql .= " WHERE $catfield = $cat";
   }
   $sql .= " ORDER BY $orderfield ASC";


   if( !$result = $db->sql_query($sql) )
   {
      message_die(GENERAL_ERROR, "Couldn't get list of Categories", "", __LINE__, __FILE__, $sql);
   }

   $i = 10;
   $inc = 10;

   while( $row = $db->sql_fetchrow($result) )
   {
      $sql = "UPDATE $table
         SET $orderfield = $i
         WHERE $idfield = " . $row[$idfield];
      if( !$db->sql_query($sql) )
      {
         message_die(GENERAL_ERROR, "Couldn't update order fields", "", __LINE__, __FILE__, $sql);
      }
      $i += 10;
   }

}
//
// End function block
// ------------------

//
// Begin program proper
//
if( isset($HTTP_POST_VARS['addforum']) || isset($HTTP_POST_VARS['addcategory']) )
{
   $mode = ( isset($HTTP_POST_VARS['addforum']) ) ? "addforum" : "addcat";

   if( $mode == "addforum" )
   {
      list($cat_id) = each($HTTP_POST_VARS['addforum']);
      $cat_id = intval($cat_id);
      //
      // stripslashes needs to be run on this because slashes are added when the forum name is posted
      //
      $forumname = stripslashes($HTTP_POST_VARS['forumname'][$cat_id]);
   }
}

if( !empty($mode) )
{
   switch($mode)
   {
      case 'addforum':
      case 'editforum':
         //
         // Show form to create/modify a forum
         //
         if ($mode == 'editforum')
         {
            // $newmode determines if we are going to INSERT or UPDATE after posting?

            $l_title = $lang['Edit_forum'];
            $newmode = 'modforum';
            $buttonvalue = $lang['Update'];

            $forum_id = intval($HTTP_GET_VARS[POST_FORUM_URL]);

            $row = get_info('forum', $forum_id);

            $cat_id = $row['cat_id'];
            $forumname = $row['forum_name'];
            $forumdesc = $row['forum_desc'];
            $forumstatus = $row['forum_status'];
            $forumicon = $row['forum_icon']; // Forum Icon MOD
            $forum_external = $row['forum_external'];
            $forum_redirect_url = $row['forum_redirect_url'];
            //$forum_icon = $row['forum_icon'];
            $forumquickpost = $row['forum_quick_post'];
            $forum_parent_cache = $row['forum_parent_cache'];

            $forum_attached_id = $row['attached_forum_id'];
            $sql = "SELECT * from ". FORUMS_TABLE. " WHERE attached_forum_id = $forum_id";
            if( !$r = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't get list of children Forums", "", __LINE__, __FILE__, $sql);
            }

            if( $db->sql_numrows($r) > 0 )
            {

               $not_attachable=1;
               $has_subforums=1;
               $template->assign_block_vars('switch_attached_no', array());
               if (intval($HTTP_POST_VARS['detach_enabled'])) $detach_enabled = "checked=\"checked\"";

            }
            else
            {

               // this forum is not a parent of any other forum
               $sql = "SELECT * FROM ". FORUMS_TABLE. " WHERE attached_forum_id=-1 and cat_id= $cat_id and forum_id<>$forum_id ORDER BY forum_order";

               if( !$result1 = $db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, "Couldn't get list of attachable Forums", "", __LINE__, __FILE__, $sql);
               }
               if( $db->sql_numrows($result1) > 0 )
               {
                  $attachable_forums = '<option value = "-1"'.($forum_attached_id==-1?' selected':'').'> Choisissez votre forum de rattachement </a>';
                  while( $row1 = $db->sql_fetchrow($result1) )
                  {
                     $s='';
                     if ($forum_attached_id == $row1['forum_id'])
                     {
                        $s = " selected=\"selected\"";
                     }
                     $attachable_forums .= '<option value="'.$row1[forum_id].$s.'">' . $row1[forum_name] . '</option>\n';
                  }
               }
               else
               {
                  $no_attachable_forums=1;
               }

            }

            //
            // start forum prune stuff.
            //
            if( $row['prune_enable'] )
            {
               $prune_enabled = "checked=\"checked\"";
               $sql = "SELECT *
                        FROM " . PRUNE_TABLE . "
                        WHERE forum_id = $forum_id";
               if(!$pr_result = $db->sql_query($sql))
               {
                   message_die(GENERAL_ERROR, "Auto-Prune: Couldn't read auto_prune table.", __LINE__, __FILE__);
                 }

               $pr_row = $db->sql_fetchrow($pr_result);
            }
            else
            {
               $prune_enabled = '';
            }
         }
         else
         {
            $l_title = $lang['Create_forum'];
            $newmode = 'createforum';
            $buttonvalue = $lang['Create_forum'];

            $forumdesc = '';
            $forumstatus = FORUM_UNLOCKED;
            $forumicon = ''; // Forum Icon MOD
            $forumquickpost = '1';
            $forum_id = '';
            $prune_enabled = '';
            $forum_external = '0';
            $forum_redirect_url = '';
            //$forum_icon = '';
            $forum_parent_cache = '1';


               $sql = "SELECT * FROM ". FORUMS_TABLE. " WHERE attached_forum_id=-1 and cat_id= $cat_id ORDER BY forum_order";

               if( !$result1 = $db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql);
               }
            if( $db->sql_numrows($result1) > 0 )
            {
               $attachable_forums = '<option value = "-1"'.(($forum_attached_id==-1 || !$forum_attached_id)?' selected':'').'> Aucun sous-forums attachés </a>';
               while( $row1 = $db->sql_fetchrow($result1) )
               {

                  if ($forum_attached_id == $row1['forum_id'])
                  {
                     $s = " selected=\"selected\"";
                  }
                  $attachable_forums .= '<option value="'.$row1[forum_id].$s.'">' . $row1[forum_name] . '</option>\n';
               }


            }
            else
            {
               $no_attachable_forums=1;
            }
         }

         $forum_attached_id = $attachable_forums;

         $catlist = get_list('category', $cat_id, TRUE);
         
      
         $forumstatus == ( FORUM_LOCKED ) ? $forumlocked = "selected=\"selected\"" : $forumunlocked = "selected=\"selected\"";
         
         // These two options ($lang['Status_unlocked'] and $lang['Status_locked']) seem to be missing from
         // the language files.
         $lang['Status_unlocked'] = isset($lang['Status_unlocked']) ? $lang['Status_unlocked'] : 'Unlocked';
         $lang['Status_locked'] = isset($lang['Status_locked']) ? $lang['Status_locked'] : 'Locked';
         
         $statuslist = "<option value=\"" . FORUM_UNLOCKED . "\" $forumunlocked>" . $lang['Status_unlocked'] . "</option>\n";
         $statuslist .= "<option value=\"" . FORUM_LOCKED . "\" $forumlocked>" . $lang['Status_locked'] . "</option>\n";

         $template->set_filenames(array(
            "body" => "admin/forum_edit_body.tpl")
         );

         $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode .'" /><input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';


         if ($not_attachable or $no_attachable_forums)
         {
            if ($has_subforums)
            {
               $lang['Attached_Description'] = $lang['Has_attachments'].'<br>'. $lang['Attached_Description'];
               $s_hidden_fields .='<input type="hidden" name="has_subforums" value="1" />';
            }
            if ($no_attachable_forums) $lang['Attached_Description'] = $lang['No_attach_forums'].'<br>'. $lang['Attached_Description'];
            $s_hidden_fields .='<input type="hidden" name="attached_forum_id" value="-1" />';
         }
         else
         {
            $template->assign_block_vars('switch_attached_yes', array());
         }
            $s_hidden_fields .='<input type="hidden" name="old_cat_id" value="'.$cat_id.'" />';

         $template->assign_vars(array(
            'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
            'S_HIDDEN_FIELDS' => $s_hidden_fields,
            'S_SUBMIT_VALUE' => $buttonvalue,
            'S_CAT_LIST' => $catlist,
            'S_STATUS_LIST' => $statuslist,
            'S_PRUNE_ENABLED' => $prune_enabled,
            'L_YES' => $lang['Yes'],
            'L_NO' => $lang['No'],
            'L_QP_TITLE' => $lang['qp_quick_post'],
            'L_FORUM_PARENT_CACHE' => $lang['forum_parent_cache'],
            'FORUM_PARENT_CACHE_YES' => $forum_parent_cache ? 'checked="checked"' : '',
            'FORUM_PARENT_CACHE_NO' => !$forum_parent_cache ? 'checked="checked"' : '',
            'FORUM_QP_YES' => $forumquickpost ? 'checked="checked"' : '',
            'FORUM_QP_NO' => !$forumquickpost ? 'checked="checked"' : '',
            'S_ATTACHED_FORUM_ID' => $forum_attached_id,
            'S_DETACH_ENABLED'=> $detach_enabled,

            'L_FORUM_TITLE' => $l_title,
            'L_FORUM_EXPLAIN' => $lang['Forum_edit_delete_explain'],
            'L_FORUM_SETTINGS' => $lang['Forum_settings'],
            'L_FORUM_NAME' => $lang['Forum_name'],
            'L_CATEGORY' => $lang['Category'],
               'L_ATTACHED_FORUM' => $lang['Attached_Field_Title'] ,
               'L_ATTACHED_DESC' => $lang['Attached_Description'],
               'L_DETACH_DESC'   => $lang['Detach_Description'],
            'L_FORUM_DESCRIPTION' => $lang['Forum_desc'],
            'L_FORUM_STATUS' => $lang['Forum_status'],
            'L_FORUM_ICON' => $lang['Forum_icon'], // Forum Icon MOD
            'L_AUTO_PRUNE' => $lang['Forum_pruning'],
            'L_ENABLED' => $lang['Enabled'],
            'L_PRUNE_DAYS' => $lang['prune_days'],
            'L_PRUNE_FREQ' => $lang['prune_freq'],
            'L_DAYS' => $lang['Days'],
            'FORUM_EXTERNAL_YES' => ($forum_external) ? 'checked="checked"' : '',
            'FORUM_EXTERNAL_NO' => (!$forum_external) ? 'checked="checked"' : '',
            'FORUM_REDIRECT_URL' => $forum_redirect_url,
            'L_FORUM_EXTERNAL' => $lang['Forum_external'],
            //'FORUM_ICON' => $forum_icon,
            //'L_FORUM_ICON' => $lang['forum_icon'],
            'L_FORUM_ICON_EXPLAIN' => $lang['forum_icon_explain'],

            // DEBUT MOD Tags in topic-titles
            'L_MUST_SELECT_CATEGORY_TAG' => $lang['TiTT_must_select_category_tag'],
            'L_MUST_SELECT_CATEGORY_TAG_EXPLAIN' => $lang['TiTT_must_select_category_tag_explain'],
            'L_MUST_SELECT_STATE_TAG' => $lang['TiTT_must_select_state_tag'],
            'L_MUST_SELECT_STATE_TAG_EXPLAIN' => $lang['TiTT_must_select_state_tag_explain'],
            'MUST_SELECT_CATEGORY_TAG_YES' => ($row['must_select_category_tag']) ? 'checked="checked"' : '',
            'MUST_SELECT_CATEGORY_TAG_NO' => (!$row['must_select_category_tag']) ? 'checked="checked"' : '',
            'MUST_SELECT_STATE_TAG_YES' => ($row['must_select_state_tag']) ? 'checked="checked"' : '',
            'MUST_SELECT_STATE_TAG_NO' => (!$row['must_select_state_tag']) ? 'checked="checked"' : '',
            'L_YES' => $lang['Yes'],
            'L_NO' => $lang['No'],
            // FIN MOD Tags in topic-titles
            'PRUNE_DAYS' => ( isset($pr_row['prune_days']) ) ? $pr_row['prune_days'] : 7,
            'PRUNE_FREQ' => ( isset($pr_row['prune_freq']) ) ? $pr_row['prune_freq'] : 1,
            'FORUM_NAME' => $forumname,
            'DESCRIPTION' => $forumdesc,
            'ICON' => ( $forumicon ) ? $forumicon : '', // Forum Icon MOD
            'ICON_DISPLAY' => ( $forumicon ) ? '<img src="' . $phpbb_root_path . $forumicon . '" />' : '' // Forum Icon MOD
            )
         );
         $template->pparse("body");
         break;

      case 'createforum':
         //
         // Create a forum in the DB
         //
         if( trim($HTTP_POST_VARS['forumname']) == "" )
         {
            message_die(GENERAL_ERROR, "Can't create a forum without a name");
         }

         $sql = "SELECT MAX(forum_order) AS max_order
            FROM " . FORUMS_TABLE . "
            WHERE cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]);
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't get order number from forums table", "", __LINE__, __FILE__, $sql);
         }
         $row = $db->sql_fetchrow($result);

         $max_order = $row['max_order'];
         $next_order = $max_order + 10;
         
         $sql = "SELECT MAX(forum_id) AS max_id
            FROM " . FORUMS_TABLE;
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't get order number from forums table", "", __LINE__, __FILE__, $sql);
         }
         $row = $db->sql_fetchrow($result);

         $max_id = $row['max_id'];
         $next_id = $max_id + 1;

         //
         // Default permissions of public ::
         //
         $field_sql = "";
         $value_sql = "";
         while( list($field, $value) = each($forum_auth_ary) )
         {
            $field_sql .= ", $field";
            $value_sql .= ", $value";

         }

         // There is no problem having duplicate forum names so we won't check for it.
         if (intval($HTTP_POST_VARS['old_cat_id']) != intval($HTTP_POST_VARS[POST_CAT_URL]))
         {
               $HTTP_POST_VARS['attached_forum_id']=-1;
            }
         // COMMENTAIRE MOD Tags in topic-titles : La ligne qui suit a été modifiée.
         // -- DEBUT Ajouté
         // , must_select_category_tag, must_select_state_tag
         // -- Et
         // , " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", " . intval($HTTP_POST_VARS['must_select_state_tag']) . "
         // -- FIN Ajouté

         $sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, attached_forum_id, forum_desc, forum_order, forum_status, must_select_category_tag, must_select_state_tag, forum_icon, forum_sort, forum_external, forum_redirect_url, forum_quick_post, forum_parent_cache, prune_enable" . $field_sql . ")
            VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) .  ", " . intval($HTTP_POST_VARS['attached_forum_id']) . ", '" . str_replace("\'", "''", bbencode_first_pass($HTTP_POST_VARS['forumdesc'], $uid)) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumicon']) . "',  '" . str_replace("\'", "''", $HTTP_POST_VARS['forumsort']) . "', " . intval($HTTP_POST_VARS['forum_external']) . ", '" . $HTTP_POST_VARS['forum_redirect_url'] . "', " . intval($HTTP_POST_VARS['forumquickpost']) . ", '" . $HTTP_POST_VARS['forum_parent_cache'] . "', " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
         }

         if( $HTTP_POST_VARS['prune_enable'] )
         {

            if( $HTTP_POST_VARS['prune_days'] == "" || $HTTP_POST_VARS['prune_freq'] == "")
            {
               message_die(GENERAL_MESSAGE, $lang['Set_prune_data']);
            }

            $sql = "INSERT INTO " . PRUNE_TABLE . " (forum_id, prune_days, prune_freq)
               VALUES('" . $next_id . "', " . intval($HTTP_POST_VARS['prune_days']) . ", " . intval($HTTP_POST_VARS['prune_freq']) . ")";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't insert row in prune table", "", __LINE__, __FILE__, $sql);
            }
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;

      case 'modforum':
         // Modify a forum in the DB
         if( isset($HTTP_POST_VARS['prune_enable']))
         {
            if( $HTTP_POST_VARS['prune_enable'] != 1 )
            {
               $HTTP_POST_VARS['prune_enable'] = 0;
            }
         }

         if (isset($HTTP_POST_VARS['detach_enabled']) && isset($HTTP_POST_VARS['has_subforums']))
         {
            $sql = "UPDATE ". FORUMS_TABLE. " SET attached_forum_id=-1 WHERE attached_forum_id=" . intval($HTTP_POST_VARS[POST_FORUM_URL]);
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't detach subforums", "", __LINE__, __FILE__, $sql);
            }

         }

          if (intval($HTTP_POST_VARS['old_cat_id']) != intval($HTTP_POST_VARS[POST_CAT_URL]))
            {
            $HTTP_POST_VARS['attached_forum_id']=-1;
            if (isset($HTTP_POST_VARS['has_subforums']) && !isset($HTTP_POST_VARS['detach_enabled']))
            {
               $sql = "UPDATE ". FORUMS_TABLE ." SET cat_id=". intval($HTTP_POST_VARS[POST_CAT_URL]) ." WHERE attached_forum_id=" . intval($HTTP_POST_VARS[POST_FORUM_URL]);
               if( !$result = $db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, "Couldn't update subforums to new category", "", __LINE__, __FILE__, $sql);
               }

            }
         }
                // COMMENTAIRE MOD Tags in topic-titles : La ligne qui suit a été modifiée.
         // -- DEBUT Ajouté
         // , must_select_category_tag = " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", must_select_state_tag = " . intval($HTTP_POST_VARS['must_select_state_tag']) . "
         // -- FIN Ajouté

         $sql = "UPDATE " . FORUMS_TABLE . "
            SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) .", attached_forum_id = " . intval($HTTP_POST_VARS['attached_forum_id']) . ", forum_desc = '" . str_replace("\'", "''", bbencode_first_pass($HTTP_POST_VARS['forumdesc'], $uid)) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", " . intval($HTTP_POST_VARS['must_select_state_tag']) . ", forum_icon = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumicon']) . "', forum_sort = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumsort']) . "', forum_external = " . intval($HTTP_POST_VARS['forum_external']) . ", forum_redirect_url = '" . str_replace("\'", "''", $HTTP_POST_VARS['forum_redirect_url']) . "', forum_quick_post = " . intval($HTTP_POST_VARS['forumquickpost']) . ", forum_parent_cache = '" . str_replace("\'", "''", $HTTP_POST_VARS['forum_parent_cache']) . "', prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
            WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);

         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
         }

         if( $HTTP_POST_VARS['prune_enable'] == 1 )
         {
            if( $HTTP_POST_VARS['prune_days'] == "" || $HTTP_POST_VARS['prune_freq'] == "" )
            {
               message_die(GENERAL_MESSAGE, $lang['Set_prune_data']);
            }

            $sql = "SELECT *
               FROM " . PRUNE_TABLE . "
               WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't get forum Prune Information","",__LINE__, __FILE__, $sql);
            }

            if( $db->sql_numrows($result) > 0 )
            {
               $sql = "UPDATE " . PRUNE_TABLE . "
                  SET   prune_days = " . intval($HTTP_POST_VARS['prune_days']) . ",   prune_freq = " . intval($HTTP_POST_VARS['prune_freq']) . "
                   WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
            }
            else
            {
               $sql = "INSERT INTO " . PRUNE_TABLE . " (forum_id, prune_days, prune_freq)
                  VALUES(" . intval($HTTP_POST_VARS[POST_FORUM_URL]) . ", " . intval($HTTP_POST_VARS['prune_days']) . ", " . intval($HTTP_POST_VARS['prune_freq']) . ")";
            }

            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't Update Forum Prune Information","",__LINE__, __FILE__, $sql);
            }
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;
         
      case 'addcat':
         // Create a category in the DB
         if( trim($HTTP_POST_VARS['categoryname']) == '')
         {
            message_die(GENERAL_ERROR, "Can't create a category without a name");
         }

         $sql = "SELECT MAX(cat_order) AS max_order
            FROM " . CATEGORIES_TABLE;
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't get order number from categories table", "", __LINE__, __FILE__, $sql);
         }
         $row = $db->sql_fetchrow($result);

         $max_order = $row['max_order'];
         $next_order = $max_order + 10;

         //
         // There is no problem having duplicate forum names so we won't check for it.
         //
         $sql = "INSERT INTO " . CATEGORIES_TABLE . " (cat_title, cat_order)
            VALUES ('" . str_replace("\'", "''", $HTTP_POST_VARS['categoryname']) . "', $next_order)";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't insert row in categories table", "", __LINE__, __FILE__, $sql);
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;
         
      case 'editcat':
         //
         // Show form to edit a category
         //
         $newmode = 'modcat';
         $buttonvalue = $lang['Update'];

         $cat_id = intval($HTTP_GET_VARS[POST_CAT_URL]);

         $row = get_info('category', $cat_id);
         $cat_title = $row['cat_title'];

         $template->set_filenames(array(
            "body" => "admin/category_edit_body.tpl")
         );

         $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode . '" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $cat_id . '" />';

         $template->assign_vars(array(
            'CAT_TITLE' => $cat_title,

            'L_EDIT_CATEGORY' => $lang['Edit_Category'],
            'L_EDIT_CATEGORY_EXPLAIN' => $lang['Edit_Category_explain'],
            'L_CATEGORY' => $lang['Category'],

            'S_HIDDEN_FIELDS' => $s_hidden_fields,
            'S_SUBMIT_VALUE' => $buttonvalue,
            'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"))
         );

         $template->pparse("body");
         break;

      case 'modcat':
         // Modify a category in the DB
         $sql = "UPDATE " . CATEGORIES_TABLE . "
            SET cat_title = '" . str_replace("\'", "''", $HTTP_POST_VARS['cat_title']) . "'
            WHERE cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]);
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't update forum information", "", __LINE__, __FILE__, $sql);
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;
         
      case 'deleteforum':
         // Show form to delete a forum
         $forum_id = intval($HTTP_GET_VARS[POST_FORUM_URL]);

         $select_to = '<select name="to_id">';
         $select_to .= "<option value=\"-1\"$s>" . $lang['Delete_all_posts'] . "</option>\n";
         $select_to .= get_list('forum', $forum_id, 0);
         $select_to .= '</select>';

         $buttonvalue = $lang['Move_and_Delete'];

         $newmode = 'movedelforum';

         $foruminfo = get_info('forum', $forum_id);
         $name = $foruminfo['forum_name'];

         $template->set_filenames(array(
            "body" => "admin/forum_delete_body.tpl")
         );

         $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode . '" /><input type="hidden" name="from_id" value="' . $forum_id . '" />';

         $template->assign_vars(array(
            'NAME' => $name,

            'L_FORUM_DELETE' => $lang['Forum_delete'],
            'L_FORUM_DELETE_EXPLAIN' => $lang['Forum_delete_explain'],
            'L_MOVE_CONTENTS' => $lang['Move_contents'],
            'L_FORUM_NAME' => $lang['Forum_name'],

            "S_HIDDEN_FIELDS" => $s_hidden_fields,
            'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
            'S_SELECT_TO' => $select_to,
            'S_SUBMIT_VALUE' => $buttonvalue)
         );

         $template->pparse("body");
         break;

      case 'movedelforum':
         //
         // Move or delete a forum in the DB
         //
         $from_id = intval($HTTP_POST_VARS['from_id']);
         $to_id = intval($HTTP_POST_VARS['to_id']);
         $delete_old = intval($HTTP_POST_VARS['delete_old']);

         // Either delete or move all posts in a forum
         if($to_id == -1)
         {
            // Delete polls in this forum
            $sql = "SELECT v.vote_id
               FROM " . VOTE_DESC_TABLE . " v, " . TOPICS_TABLE . " t
               WHERE t.forum_id = $from_id
                  AND v.topic_id = t.topic_id";
            if (!($result = $db->sql_query($sql)))
            {
               message_die(GENERAL_ERROR, "Couldn't obtain list of vote ids", "", __LINE__, __FILE__, $sql);
            }

            if ($row = $db->sql_fetchrow($result))
            {
               $vote_ids = '';
               do
               {
                  $vote_ids = (($vote_ids != '') ? ', ' : '') . $row['vote_id'];
               }
               while ($row = $db->sql_fetchrow($result));

               $sql = "DELETE FROM " . VOTE_DESC_TABLE . "
                  WHERE vote_id IN ($vote_ids)";
               $db->sql_query($sql);

               $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . "
                  WHERE vote_id IN ($vote_ids)";
               $db->sql_query($sql);

               $sql = "DELETE FROM " . VOTE_USERS_TABLE . "
                  WHERE vote_id IN ($vote_ids)";
               $db->sql_query($sql);
            }
            $db->sql_freeresult($result);
            
            include($phpbb_root_path . "includes/prune.$phpEx");
            prune($from_id, 0, true); // Delete everything from forum
         }
         else
         {
            $sql = "SELECT *
               FROM " . FORUMS_TABLE . "
               WHERE forum_id IN ($from_id, $to_id)";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't verify existence of forums", "", __LINE__, __FILE__, $sql);
            }

            if($db->sql_numrows($result) != 2)
            {
               message_die(GENERAL_ERROR, "Ambiguous forum ID's", "", __LINE__, __FILE__);
            }
            $sql = "UPDATE " . TOPICS_TABLE . "
               SET forum_id = $to_id
               WHERE forum_id = $from_id";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't move topics to other forum", "", __LINE__, __FILE__, $sql);
            }
            $sql = "UPDATE " . POSTS_TABLE . "
               SET   forum_id = $to_id
               WHERE forum_id = $from_id";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't move posts to other forum", "", __LINE__, __FILE__, $sql);
            }
            sync('forum', $to_id);
         }

         // Alter Mod level if appropriate - 2.0.4
         $sql = "SELECT ug.user_id
            FROM " . AUTH_ACCESS_TABLE . " a, " . USER_GROUP_TABLE . " ug
            WHERE a.forum_id <> $from_id
               AND a.auth_mod = 1
               AND ug.group_id = a.group_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't obtain moderator list", "", __LINE__, __FILE__, $sql);
         }

         if ($row = $db->sql_fetchrow($result))
         {
            $user_ids = '';
            do
            {
               $user_ids .= (($user_ids != '') ? ', ' : '' ) . $row['user_id'];
            }
            while ($row = $db->sql_fetchrow($result));

            $sql = "SELECT ug.user_id
               FROM " . AUTH_ACCESS_TABLE . " a, " . USER_GROUP_TABLE . " ug
               WHERE a.forum_id = $from_id
                  AND a.auth_mod = 1
                  AND ug.group_id = a.group_id
                  AND ug.user_id NOT IN ($user_ids)";
            if( !$result2 = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't obtain moderator list", "", __LINE__, __FILE__, $sql);
            }
               
            if ($row = $db->sql_fetchrow($result2))
            {
               $user_ids = '';
               do
               {
                  $user_ids .= (($user_ids != '') ? ', ' : '' ) . $row['user_id'];
               }
               while ($row = $db->sql_fetchrow($result2));

               $sql = "UPDATE " . USERS_TABLE . "
                  SET user_level = " . USER . "
                  WHERE user_id IN ($user_ids)
                     AND user_level <> " . ADMIN;
               $db->sql_query($sql);
            }
            $db->sql_freeresult($result);

         }
         $db->sql_freeresult($result2);

         $sql = "DELETE FROM " . FORUMS_TABLE . "
            WHERE forum_id = $from_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't delete forum", "", __LINE__, __FILE__, $sql);
         }
         
         $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
            WHERE forum_id = $from_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't delete forum", "", __LINE__, __FILE__, $sql);
         }
         
         $sql = "DELETE FROM " . PRUNE_TABLE . "
            WHERE forum_id = $from_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't delete forum prune information!", "", __LINE__, __FILE__, $sql);
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;
         
      case 'deletecat':
         //
         // Show form to delete a category
         //
         $cat_id = intval($HTTP_GET_VARS[POST_CAT_URL]);

         $buttonvalue = $lang['Move_and_Delete'];
         $newmode = 'movedelcat';
         $catinfo = get_info('category', $cat_id);
         $name = $catinfo['cat_title'];

         if ($catinfo['number'] == 1)
         {
            $sql = "SELECT count(*) as total
               FROM ". FORUMS_TABLE;
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't get Forum count", "", __LINE__, __FILE__, $sql);
            }
            $count = $db->sql_fetchrow($result);
            $count = $count['total'];

            if ($count > 0)
            {
               message_die(GENERAL_ERROR, $lang['Must_delete_forums']);
            }
            else
            {
               $select_to = $lang['Nowhere_to_move'];
            }
         }
         else
         {
            $select_to = '<select name="to_id">';
            $select_to .= get_list('category', $cat_id, 0);
            $select_to .= '</select>';
         }

         $template->set_filenames(array(
            "body" => "admin/forum_delete_body.tpl")
         );

         $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode . '" /><input type="hidden" name="from_id" value="' . $cat_id . '" />';

         $template->assign_vars(array(
            'NAME' => $name,

            'L_FORUM_DELETE' => $lang['Forum_delete'],
            'L_FORUM_DELETE_EXPLAIN' => $lang['Forum_delete_explain'],
            'L_MOVE_CONTENTS' => $lang['Move_contents'],
            'L_FORUM_NAME' => $lang['Forum_name'],
            
            'S_HIDDEN_FIELDS' => $s_hidden_fields,
            'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
            'S_SELECT_TO' => $select_to,
            'S_SUBMIT_VALUE' => $buttonvalue)
         );

         $template->pparse("body");
         break;

      case 'movedelcat':
         //
         // Move or delete a category in the DB
         //
         $from_id = intval($HTTP_POST_VARS['from_id']);
         $to_id = intval($HTTP_POST_VARS['to_id']);

         if (!empty($to_id))
         {
            $sql = "SELECT *
               FROM " . CATEGORIES_TABLE . "
               WHERE cat_id IN ($from_id, $to_id)";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't verify existence of categories", "", __LINE__, __FILE__, $sql);
            }
            if($db->sql_numrows($result) != 2)
            {
               message_die(GENERAL_ERROR, "Ambiguous category ID's", "", __LINE__, __FILE__);
            }
             // COMMENTAIRE MOD Tags in topic-titles : La ligne qui suit a été modifiée.
         // -- DEBUT Ajouté
         // , must_select_category_tag = " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", must_select_state_tag = " . intval($HTTP_POST_VARS['must_select_state_tag']) . "
         // -- FIN Ajouté

            $sql = "UPDATE " . FORUMS_TABLE . "
               SET cat_id = $to_id
               WHERE cat_id = $from_id";
            if( !$result = $db->sql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Couldn't move forums to other category", "", __LINE__, __FILE__, $sql);
            }
         }

         $sql = "DELETE FROM " . CATEGORIES_TABLE ."
            WHERE cat_id = $from_id";
            
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't delete category", "", __LINE__, __FILE__, $sql);
         }

         $message = $lang['Forums_updated'] . "<br /><br />" . sprintf($lang['Click_return_forumadmin'], "<a href=\"" . append_sid("admin_forums.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

         message_die(GENERAL_MESSAGE, $message);

         break;

      case 'forum_order':
         //
         // Change order of forums in the DB
         //
         $move = intval($HTTP_GET_VARS['move']);
         $forum_id = intval($HTTP_GET_VARS[POST_FORUM_URL]);

         $forum_info = get_info('forum', $forum_id);

         $cat_id = $forum_info['cat_id'];

         $sql = "UPDATE " . FORUMS_TABLE . "
            SET forum_order = forum_order + $move
            WHERE forum_id = $forum_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't change category order", "", __LINE__, __FILE__, $sql);
         }

         renumber_order('forum', $forum_info['cat_id']);
         $show_index = TRUE;

         break;
         
      case 'cat_order':
         //
         // Change order of categories in the DB
         //
         $move = intval($HTTP_GET_VARS['move']);
         $cat_id = intval($HTTP_GET_VARS[POST_CAT_URL]);

         $sql = "UPDATE " . CATEGORIES_TABLE . "
            SET cat_order = cat_order + $move
            WHERE cat_id = $cat_id";
         if( !$result = $db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, "Couldn't change category order", "", __LINE__, __FILE__, $sql);
         }

         renumber_order('category');
         $show_index = TRUE;

         break;

      case 'forum_sync':
         sync('forum', intval($HTTP_GET_VARS[POST_FORUM_URL]));
         $show_index = TRUE;

         break;

      default:
         message_die(GENERAL_MESSAGE, $lang['No_mode']);
         break;
   }

   if ($show_index != TRUE)
   {
      include('./page_footer_admin.'.$phpEx);
      exit;
   }
}

//
// Start page proper
//
$template->set_filenames(array(
   "body" => "admin/forum_admin_body.tpl")
);

$template->assign_vars(array(
   'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
   'L_FORUM_TITLE' => $lang['Forum_admin'],
   'L_FORUM_EXPLAIN' => $lang['Forum_admin_explain'],
   'L_CREATE_FORUM' => $lang['Create_forum'],
   'L_CREATE_CATEGORY' => $lang['Create_category'],
   'L_EDIT' => $lang['Edit'],
   'L_DELETE' => $lang['Delete'],
   'L_MOVE_UP' => $lang['Move_up'],
   'L_MOVE_DOWN' => $lang['Move_down'],
   'L_RESYNC' => $lang['Resync'])
);

$sql = "SELECT cat_id, cat_title, cat_order
   FROM " . CATEGORIES_TABLE . "
   ORDER BY cat_order";
if( !$q_categories = $db->sql_query($sql) )
{
   message_die(GENERAL_ERROR, "Could not query categories list", "", __LINE__, __FILE__, $sql);
}

if( $total_categories = $db->sql_numrows($q_categories) )
{
   $category_rows = $db->sql_fetchrowset($q_categories);

   $sql = "SELECT *
      FROM " . FORUMS_TABLE . "
      ORDER BY cat_id, forum_order";
   if(!$q_forums = $db->sql_query($sql))
   {
      message_die(GENERAL_ERROR, "Could not query forums information", "", __LINE__, __FILE__, $sql);
   }

   if( $total_forums = $db->sql_numrows($q_forums) )
   {
      $forum_rows = $db->sql_fetchrowset($q_forums);
   }

   $subforum_rows=$forum_rows;

   //
   // Okay, let's build the index
   //
   $gen_cat = array();

   for($i = 0; $i < $total_categories; $i++)
   {
      $cat_id = $category_rows[$i]['cat_id'];

      $template->assign_block_vars("catrow", array(
         'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]",
         'S_ADD_FORUM_NAME' => "forumname[$cat_id]",

         'CAT_ID' => $cat_id,
         'CAT_DESC' => $category_rows[$i]['cat_title'],

         'U_CAT_EDIT' => append_sid("admin_forums.$phpEx?mode=editcat&amp;" . POST_CAT_URL . "=$cat_id"),
         'U_CAT_DELETE' => append_sid("admin_forums.$phpEx?mode=deletecat&amp;" . POST_CAT_URL . "=$cat_id"),
         'U_CAT_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=cat_order&amp;move=-15&amp;" . POST_CAT_URL . "=$cat_id"),
         'U_CAT_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=cat_order&amp;move=15&amp;" . POST_CAT_URL . "=$cat_id"),
         'U_VIEWCAT' => append_sid($phpbb_root_path."index.$phpEx?" . POST_CAT_URL . "=$cat_id"))
      );

      for($j = 0; $j < $total_forums; $j++)
      {
         $forum_id = $forum_rows[$j]['forum_id'];
         
         if ($forum_rows[$j]['cat_id'] == $cat_id)
         {

            $sub_error=false;
            $do_template=false;
            if ($forum_rows[$j]['attached_forum_id'] !=-1)
            {
            $ok='';
               for($k = 0; $k < $total_forums; $k++)
               {
                  $subforum_id = $subforum_rows[$k]['forum_id'];

                  if ($subforum_id == $forum_rows[$j]['attached_forum_id'] && $forum_rows[$k]['attached_forum_id']==-1)
                  {
                     $ok=TRUE;//normal parent found
                  }
               }
               if ($forum_rows[$j]['attached_forum_id']==$forum_id) $ok=FALSE; //attached to itself
               if ($forum_rows[$j]['attached_forum_id']==0) $ok=FALSE; //invalid parent
               if (!$ok)
               {
                  $do_template=TRUE;
                  $sub_error=true;
               }
            }
            else
            {
               $do_template=true;
            }//attached_forum_id'] ==-1


Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Dernière édition par guignol le 14 Aoû 2006 12:33; édité 1 fois
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 14 Aoû 2006 13:09
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Tu as fait une petite erreur de recopiage ;)

Code :
#
# Chercher
#
         // COMMENTAIRE MOD Tags in topic-titles : La ligne qui suit a été modifiée.
         // -- DEBUT Ajouté
         // , must_select_category_tag = " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", must_select_state_tag = " . intval($HTTP_POST_VARS['must_select_state_tag']) . "
         // -- FIN Ajouté

#
# Dans une des lignes qui suivent, chercher
#
, " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", " . intval($HTTP_POST_VARS['must_select_state_tag']) . "

#
# Remplacer
#
, must_select_category_tag = " . intval($HTTP_POST_VARS['must_select_category_tag']) . ", must_select_state_tag = " . intval($HTTP_POST_VARS['must_select_state_tag']) . "

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 16 Aoû 2006 12:30
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
merci bien !
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 16 Aoû 2006 13:32
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Re coucou ,

j'ai une autre question ?

comment on modifie ou détruit un tag ??? je vois pas cette possibilitée ?

et aussi a priori cela ne fonctionne pas sur les sous forum ! oups oups

merci bien
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Dernière édition par guignol le 16 Aoû 2006 13:43; édité 1 fois
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 16 Aoû 2006 14:52
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Dans le panneau d'admin, au même endroit que tu les crée, tu peux les modifer / supprimer.

Sinon, pour les sous-forum, c'est quoi qui fonctionne pas ? (tu utilises quel MOD de sous-forum ?)
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 16 Aoû 2006 20:58
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
hello ,

et bien non ! moi je ne peux pas ni les editer , ni les supprimers ! j'ai bien cru comprendre que normalement après la création on peut les editer voir détruire ! mais je n'es pas la liste !

pour les sous forums j'utilise ce qu'il y a dans la prémod shadow , je peux rechercher plus si tu veux pour savoir ce que c exactement ?

merci
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 16 Aoû 2006 21:42
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Me semble que la shadow a pseudo subforum (c'est à dire le même que celui que j'utilise ici) donc ça devrait marcher en théorie :?

Sinon, pour les éditions/suppressions, je crois que j'ai oublié un sous-MOD dans la liste des prérequis : ~lien~
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 17 Aoû 2006 09:52
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
hello ,

oui c bien subforum , mais cela ne fonctionne pas ???? aurais oublier quelques choses

et par contre j'avais bien installé le sous mod image car je m'en sert sur autre mod à toi (faut savoir que sur mon forum j'ai pratiquement tout tes modes mdr mdr)

en fait j'ai bien les images mais je n'es pas la liste des tag : ci joint une copie tu remarquera qu'il n'y a aucun tag mais si j'ouvr ela fenetre pour la conversion des tags j'ai bien ma liste



merci
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Selene Bathory Sexe : Féminin
Membre

Inscrit le : 17 Aoû 2006
Messages : 15
MessagePosté le : 17 Aoû 2006 16:48
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Salut à tous !

J'ai une petite question, stupide peut-être mais est ce que ce mod modifie, enfin permet de modifier, les “tags” post-it, annonce et annonce globale ?
Est qu'avec le mod annonce globale ça bug pas ?
Parceque j'avais essayer un mod de ce genre (mais une vieille version que j'avais trouvé sur phpbbhacks) et ça m'a posé pas mal de problème avec le mod annonce globale.

C'est un mod qui m'interresse beaucoup en tout cas et je vais m'empresser de le tester ! ;)
_________________
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 17 Aoû 2006 19:12
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Tiens, salut toi :p

Pour le global annonce, aucune idée, ne l'ayant jamais testé ;)

Concernant les post-it et annonces, ça ne le gère pas pour l'instant mais c'est carrément pas con du tout ! Je vais essayer de me pencher sur la question ce week end :
- pouvoir changer ce qui est ecrit sur les tags annonce, post-it, sondage et déplacé (et donc changer leur couleur ou affecter une image par exemple).
- pouvoir changer en post-it ou annonce depuis le panneau de modération, comme pour les autres tags ^^


@guignol : ta capture est bizarre :aw: T'as combien de tags définis normalement ? Sinon, je vois pas trop ce qui peut manquer... Ce MOD-ci, tu as bien la dernière version ?

Concernant les sous-forums, ça devrait donc bien être le même que moi ici, donc a priori c'est bien compatible... Mais c'est quoi exactement qui ne fonctionne pas avec les sous-forums ? Parce qu'a priori, ça ne concerne que les topics ces tags, donc je vois pas trop :?
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
Selene Bathory Sexe : Féminin
Membre

Inscrit le : 17 Aoû 2006
Messages : 15
MessagePosté le : 18 Aoû 2006 07:45
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Coucou !

Oui en effet ça pourrait être sympa de pouvoir changer annonce et post-it pour mettre des couleurs qui attireront plus l'attention.
Pour annonce globale je l'utilise donc je testerai pour voir comme ça passe mais si on pouvais aussi changer le style de la balise annonce globale ça pourrait être sympa. Mais je sais plus comment fonctionne ce mod, je crois que c'est légèrement différent de la simple annonce. Bref on verra bien si ça passe.
_________________
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 18 Aoû 2006 09:51
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
@guignol : ta capture est bizarre T'as combien de tags définis normalement ? Sinon, je vois pas trop ce qui peut manquer... Ce MOD-ci, tu as bien la dernière version ?


dernière version de quoi ? du mod tag ou de l'autre mode que je dois pasavoir ! je vais vérifier !

add on : dans le mode supplémentaire CSS , je n'ai pas cette ligne nul part :

.helpline { background-color: {T_TR_COLOR2}; border-style: none; }

vu que je suis sur des templades extreme style ! donc ce n'est pas installé

et pour te répondre sur le nombre de tag que j'ai fait : 15


merci
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Dernière édition par guignol le 18 Aoû 2006 09:55; édité 1 fois
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 18 Aoû 2006 19:18
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Wow avec 15 tags c'est carrément pas normal :aw: Là tout de suite, je vois pas trop ce qui peut être en cause :-/

@Nep (oué les habitudes sur les pseudos ont la vie dure :p) : pour l'annonce globale, au pire elle doit être dans un fichier de langue, donc tu peux toujours le modifier en dur dedans (là où c'est moins pratique c'est si tu utilises le même script pour plusieurs fourums différents avec des couleurs diférentes...).
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 19 Aoû 2006 09:42
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Darathor a écrit :
Wow avec 15 tags c'est carrément pas normal :aw: Là tout de suite, je vois pas trop ce qui peut être en cause :-/

@Nep (oué les habitudes sur les pseudos ont la vie dure :p) : pour l'annonce globale, au pire elle doit être dans un fichier de langue, donc tu peux toujours le modifier en dur dedans (là où c'est moins pratique c'est si tu utilises le même script pour plusieurs fourums différents avec des couleurs diférentes...).


ce mod est indispensable pour que cela fonctionne ?
sinon revoir mon installation ??? surtout ou ca ? merci
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 19 Aoû 2006 21:01
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Ben il est important pour l'affichage de certaines choses mais si c'était à cause de ça, tu aurais quand même 15 lignes ou alors aucune... Alors que là t'as une ligne mal affichée et c'est tout...

Je dirais de ré-uploader les fichiers des répertoire admin (tpl compris).

Si c'est pas ça, je vois pas trop, à moins que j'aie fait une connerie dans les fonctions à ajouter...
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
guignol Sexe : Masculin
Membre

Inscrit le : 16 Oct 2005
Messages : 132
Localisation : Bordeaux
MessagePosté le : 21 Aoû 2006 08:30
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
hello ,

après upload tjrs idem ?

quelqu'un d'autre l'aurais installé ?
merci
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Selene Bathory Sexe : Féminin
Membre

Inscrit le : 17 Aoû 2006
Messages : 15
MessagePosté le : 24 Sep 2006 14:16
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Quand j'édite ou poste un texte pour y appliquer un tag, j'ai le message de confirmation comme quoi il a bien été édité et après j'ai ce message :
Citation :
Could not obtain post/user information.

DEBUG MODE

SQL Error : 1064 Erreur de syntaxe près de '-20, 20' à la ligne 7

SELECT u.username, u.user_absence, u.user_absence_mode, u.user_id, u.user_posts, u.user_custom_title, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_skype, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_avatar_width, u.user_avatar_height, u.user_warnings, u.user_level, u.user_birthday, u.user_next_birthday_greeting, u.user_allow_viewonline, u.user_session_time, u.user_gender, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 1 AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time ASC LIMIT -20, 20

Line : 428
File : viewtopic.php

Alors que quand je passe par l'index etc pour lire le post, tout fonctionne.

Je ne sais même pas où je dois chercher l'erreur.
Help :aieu:
_________________
Revenir en haut Aller en bas
Hors ligne | Profil | MP | Site web
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 24 Sep 2006 16:13
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Hum, à première vue, je dirais que ça n'a pas l'air directement lié aux tags ça.

C'est au niveau de la clause LIMIT que ça semble merdouiller. En effet, il me semble bien que la première valeur est le numéro d'ordre du premier élément à retourner et la 2e valeur le nombre d'éléments à retourner. Donc un numéro d'ordre de -20, c'est logique qu'il aime pas (ça doit commencer à 0 ou 1 normalement)...

Maintenant il faut voir où est appelée cette requête SQL pour voir ce qui a pu générer ce "-20". C'est probablement une variable qui prend une valeur qu'elle ne devrait pas (par exemple elle peut avoir été modifiée par un MOD utilisant une variable du même nom...).

Donc faut voir vers la ligne 428 du viewtopic.php ce qu'il en est ;)
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
Poster un nouveau sujet Répondre au sujet
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum