Seite 1 von 1

Beiträge/Antworten einem Sammelthread zuweisen

Verfasst: 25.09.2003 06:28
von ZStorm
Hi.

Folgendes Szenario :

User xy erstellt einen Thread z.B. "Wie findet Ihr ..."
Andere Antworten darauf.
Ein weiterer User erstellt auch einen Thread zu genau demselben Thema
welcher Inhaltlich mit dem anderen genau übereinstimmt.
Wie kann man nun diese Beiträge komplett einem Sammelthread zuordnen?

Durch Thema teilen erstellt man ja einen neuen Thread, wobei der erste Beitrag immer stehen bleiben muss.
Nur halt alles in einen Verschieben is nich :-?

Verfasst: 25.09.2003 07:03
von Firestarter
Ich kann dir nur einen Hack anbieten, wodurch die Mods mehrere Themen zu einem Thema zusammenfügen können.

http://www.wolke23.de/cgi-bin/dlgate/dl ... geTopicMod

Verfasst: 25.09.2003 08:04
von ZStorm
Ja, aber da gibt es nur ein kleines Problemchen.
Ich hab mir die Version fürs 2.0.6. runtergeladen, aber die Dateien im templates/subSilver Ordner müssten komplett hochgeladen, also überschrieben werden.
Das kommt nur nicht gut, weil ich natürlich noch ein paar andere Mods installiert habe.
In der install ist komischerweise beschrieben, wie man andere Dateien für den Mod anpasst, aber eben nicht für die im templates/subSilver Ordner
(subSilver.cfg usw), die ja wie gesagt, überschrieben werden würden.
Oder hab ich da was übersehen? Glaub nicht...
Alles raussuchen, was jetzt genau zum Mod gehört, ist für mich zu schwierig.
Gibt es dafür keine install Anleitung?
Aber trotzdem schonmal Danke dafür.


edit :
Uuups, das steht ja doch in der mergemod install, ganz unten.
Aber oben steht, das die Files hochgeladen werden müssen.
Tja, sehr verwirrend.

Auf jeden Fall hab ich den Mod installiert und jetzt läuft das Forum nur noch, wenn ich als Sprache englisch nehme.
Hmm..auf gehts zur fröhlichen Fehlersuche :roll:

Verfasst: 25.09.2003 09:06
von Firestarter

Code: Alles auswählen

#-----[ COPY ]------------------------------------------
#
copy templates/subSilver/*.* to template/subSilver/
copy templates/subSilver/images/*.* to template/subSilver/images/

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!

#
#-----[ BEFORE, ADD ]------------------------------------------
#
// Merge Topic MOD
$lang['Merge'] = 'Merge';
$lang['Topics_Merged'] = 'The selected topics have been merged';
$lang['No_Topics_Merged'] = 'No topics were merged';
$lang['Confirm_merge_topic'] = 'Are you sure you want to merge the selected topic/s?<br><span class=genmed>(Next you will select a target post to merge these into next)</span>';
$lang['Merge_to_forum'] = 'Merge to forum';
$lang['Merge_topic'] = 'Merge this topic';

$lang['Merge_post'] = 'Merge posts in this topic';
$lang['Merge_after'] = 'Merge from selected post';
$lang['Merge_posts'] = 'Merge selected posts';
$lang['Mod_CP_explain'] = 'Using the form below you can perform mass moderation operations on this forum. You can lock, unlock, move, merge or delete any number of topics.';
$lang['Mod_CP_merge_explain'] = 'Select the topic with which the topic/post has to merge';
$lang['Merge_Topic_explain'] = 'Using the form below you can merge posts to a topic, either by selecting the posts individually or by merging at a selected post';
$lang['Merge_post_topic'] = 'Merge posts into a topic';
$lang['Posts_Merged'] = 'The selected posts have been merged';

#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
   $topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=move&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_move'] . '" alt="' . $lang['Move_topic'] . '" title="' . $lang['Move_topic'] . '" border="0" /></a>&nbsp;';

#
#-----[ AFTER, ADD ]------------------------------------------
#
   //   Updated for v 2.04
   $topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=mergepost&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_merge'] . '" alt="' . $lang['Merge_post'] . '" title="' . $lang['Merge_post'] . '" border="0" /></a>&nbsp;';
#
#-----[ OPEN ]------------------------------------------
#
modcp.php

#
#-----[ FIND ]------------------------------------------
#
$unlock = ( isset($HTTP_POST_VARS['unlock']) ) ? TRUE : FALSE;

#
#-----[ AFTER, ADD ]------------------------------------------
#
// Merge topic MOD
$mergetopic = ( isset($HTTP_POST_VARS['mergetopic']) ) ? TRUE : FALSE;
$mergepost = ( isset($HTTP_POST_VARS['mergepost']) ) ? TRUE : FALSE;
// Merge topic MOD

#
#-----[ FIND ]------------------------------------------
#
      $mode = 'move';
   }

#
#-----[ AFTER, ADD ]------------------------------------------
#

   else if ( $mergetopic )
   {
      $mode = 'mergetopic';
   }
   else if ( $mergepost )
   {
      $mode = 'mergepost';
   }

#
#-----[ FIND ]------------------------------------------
#
   case 'lock':

#
#-----[ BEFORE, ADD ]------------------------------------------
#
//
// Merge Topic MOD - Begin
//
   case 'mergetopic':

      $page_title = $lang['Mod_CP'];
      include($phpbb_root_path . 'includes/page_header.'.$phpEx);

      $merge2 = ( isset($HTTP_POST_VARS['merge2']) ) ? TRUE : FALSE;

      // this starts after you selected the forum to which the topic will be moved/merged
       if ( $merge2 ){

      $new_forum_id = $HTTP_POST_VARS['new_forum'];

         if ( isset($HTTP_POST_VARS['topic_id_list']) ) {

            $topics = $HTTP_POST_VARS['topic_id_list'];
            $topic_list = '';

            for($i = 0; $i < count($topics); $i++) {

               $topic_list .= ( ( $topic_list != '' ) ? ', ' : '' ) . $topics[$i];
               $hidden_fields .= '<input type="hidden" name="topic_id_list[]" value="' . intval($topics[$i]) . '" />';
               }
         }
         else {

            $topic_list = $topic_id;
            $hidden_fields .= '<input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" />';
         }

         //  added for fix to use with phpbb v2.04
         $hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
         $hidden_fields .= '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';
         $hidden_fields .= '<input type="hidden" name="mode" value="' . $mode . '" />';
         $hidden_fields .= '<input type="hidden" name="new_forum" value="' . $new_forum_id . '" />';

         $template->assign_vars(array(
            'FORUM_NAME' => $forum_name,
            'L_MOD_CP' => $lang['Mod_CP'],
            'L_MOD_CP_EXPLAIN' => $lang['Mod_CP_merge_explain'],
            'L_SELECT' => $lang['Select'],
            'L_MERGE' => $lang['Merge'],
            'L_TOPICS' => $lang['Topics'],
            'L_REPLIES' => $lang['Replies'],
            'L_LASTPOST' => $lang['Last_Post'],
            'L_SELECT' => $lang['Select'],
            'L_LEAVESHADOW' => $lang['Leave_shadow_topic'],
            'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
            'S_HIDDEN_FIELDS' => $hidden_fields,
            'S_MODCP_ACTION' => append_sid("modcp.$phpEx"))
         );

         $template->set_filenames(array(
            'body' => 'modcp_merge_topicpost.tpl')
         );

         //
         // Define censored word matches
         //
         $orig_word = array();
         $replacement_word = array();
         obtain_word_list($orig_word, $replacement_word);

         $sql = "SELECT t.*, u.username, u.user_id, p.post_time
            FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p
            WHERE t.forum_id = $new_forum_id
               AND t.topic_poster = u.user_id
               AND p.post_id = t.topic_last_post_id
               AND t.topic_moved_id = 0
               AND t.topic_id NOT IN ($topic_list)
            ORDER BY t.topic_type DESC, p.post_time DESC
            LIMIT $start, " . $board_config['topics_per_page'];
         if ( !($result = $db->sql_query($sql)) ) {
            message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
         }

         while ( $row = $db->sql_fetchrow($result) ) {

            $topic_title = '';
            if ( $row['topic_status'] == TOPIC_LOCKED ) {
               $folder_img = $images['folder_locked'];
               $folder_alt = $lang['Topic_locked'];
            }
            else
            {
               if ( $row['topic_type'] == POST_ANNOUNCE )
               {
                  $folder_img = $images['folder_announce'];
                  $folder_alt = $lang['Announcement'];
               }
               else if ( $row['topic_type'] == POST_STICKY )
               {
                  $folder_img = $images['folder_sticky'];
                  $folder_alt = $lang['Sticky'];
               }
               else
               {
                  $folder_img = $images['folder'];
                  $folder_alt = $lang['No_new_posts'];
               }
            }

            $topic_id = $row['topic_id'];
            $topic_type = $row['topic_type'];
            $topic_status = $row['topic_status'];

            if ( $topic_type == POST_ANNOUNCE )
            {
               $topic_type = $lang['Topic_Announcement'] . ' ';
            }
            else if ( $topic_type == POST_STICKY )
            {
               $topic_type = $lang['Topic_Sticky'] . ' ';
            }
            else if ( $topic_status == TOPIC_MOVED )
            {
               $topic_type = $lang['Topic_Moved'] . ' ';
            }
            else
            {
               $topic_type = '';
            }

            if ( $row['topic_vote'] )
            {
               $topic_type .= $lang['Topic_Poll'] . ' ';
            }

            $topic_title = $row['topic_title'];
            if ( count($orig_word) )
            {
               $topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
            }

            $u_view_topic = '';
            $topic_replies = $row['topic_replies'];

            $last_post_time = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);

            $template->assign_block_vars('topicrow', array(
               'U_VIEW_TOPIC' => $u_view_topic,

               'TOPIC_FOLDER_IMG' => $folder_img,
               'TOPIC_TYPE' => $topic_type,
               'TOPIC_TITLE' => $topic_title,
               'REPLIES' => $topic_replies,
               'LAST_POST_TIME' => $last_post_time,
               'TOPIC_ID' => $topic_id,

               'L_TOPIC_FOLDER_ALT' => $folder_alt)
            );
         }

         $template->assign_vars(array(
            'PAGINATION' => generate_pagination("modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id", $forum_topics, $board_config['topics_per_page'], $start),
            'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $forum_topics / $board_config['topics_per_page'] )),
            'L_GOTO_PAGE' => $lang['Goto_page'])
         );

         $template->pparse('body');
           }
           // After you selected the topic to merge with
      else if ( $confirm )
      {
         // $leave_shadow = ( $HTTP_POST_VARS['merge_leave_shadow'] ) ? TRUE : 0;
         if ( empty($HTTP_POST_VARS['topic_id_to']) )
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }

         $topic_id_to = $HTTP_POST_VARS['topic_id_to'];
         $new_forum_id = $HTTP_POST_VARS['new_forum'];
         $old_forum_id = $forum_id;

         if ( $topic_id != $topic_id_to )
         {
            $topics = ( isset($HTTP_POST_VARS['topic_id_list']) ) ?  $HTTP_POST_VARS['topic_id_list'] : array($topic_id);

            $topic_list = '';
            for($i = 0; $i < count($topics); $i++)
            {
               $topic_list .= ( ( $topic_list != '' ) ? ', ' : '' ) . $topics[$i];
            }

            $sql = "SELECT *
               FROM " . TOPICS_TABLE . "
               WHERE topic_id IN ($topic_list)
                  AND topic_status <> " . TOPIC_MOVED;
            if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) )
            {
               message_die(GENERAL_ERROR, 'Could not select from topic table', '', __LINE__, __FILE__, $sql);
            }

            $row = $db->sql_fetchrowset($result);
            $db->sql_freeresult($result);

            for($i = 0; $i < count($row); $i++)
            {
               $topic_id = $row[$i]['topic_id'];

               if ( isset($HTTP_POST_VARS['merge_leave_shadow']) )
               {
                  // Insert topic in the old forum that indicates that the forum has moved.
                  $sql = "INSERT INTO " . TOPICS_TABLE . " (forum_id, topic_title, topic_poster, topic_time, topic_status, topic_type, topic_vote, topic_views, topic_replies, topic_first_post_id, topic_last_post_id, topic_moved_id)
                     VALUES ($old_forum_id, '" . addslashes(str_replace("\'", "''", $row[$i]['topic_title'])) . "', '" . str_replace("\'", "''", $row[$i]['topic_poster']) . "', " . $row[$i]['topic_time'] . ", " . TOPIC_MOVED . ", " . POST_NORMAL . ", " . $row[$i]['topic_vote'] . ", " . $row[$i]['topic_views'] . ", " . $row[$i]['topic_replies'] . ", " . $row[$i]['topic_first_post_id'] . ", " . $row[$i]['topic_last_post_id'] . ", $topic_id_to)";
                  if ( !$db->sql_query($sql) )
                  {
                     message_die(GENERAL_ERROR, 'Could not insert shadow topic', '', __LINE__, __FILE__, $sql);
                  }
               }

               $sql = "DELETE
                  FROM " . TOPICS_TABLE . "
                  WHERE topic_id = $topic_id";
               if ( !$db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, 'Could not delete old topic', '', __LINE__, __FILE__, $sql);
               }

               $sql = "UPDATE " . POSTS_TABLE . "
                  SET forum_id = $new_forum_id, topic_id = $topic_id_to
                  WHERE topic_id = $topic_id";
               if ( !$db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, 'Could not update post topic ids', '', __LINE__, __FILE__, $sql);
               }
            }

            // Sync the forum indexes
            sync('forum', $new_forum_id);
            sync('forum', $old_forum_id);
            sync('topic', $topic_id_to);
            $message = $lang['Topics_Merged'] . '<br /><br />';

         }
         else
         {
            $message = $lang['No_Topics_Merged'] . '<br /><br />';
         }

         if ( !empty($topic_id) )
         {
            $redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id_to");
            $message .= sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
         }
         else
         {
            $redirect_page = append_sid("modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id");
            $message .= sprintf($lang['Click_return_modcp'], '<a href="' . $redirect_page . '">', '</a>');
         }

         $message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$old_forum_id") . '">', '</a>');

         $template->assign_vars(array(
            'META' => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
         );

         message_die(GENERAL_MESSAGE, $message);
      }
      // Here you select the forum is has to merge to
      else
      {
         if ( empty($HTTP_POST_VARS['topic_id_list']) && empty($topic_id) )
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }

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

         //  added for fix to use with phpbb v2.04
         $hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';

         if ( isset($HTTP_POST_VARS['topic_id_list']) )
         {
            $topics = $HTTP_POST_VARS['topic_id_list'];

            for($i = 0; $i < count($topics); $i++)
            {
               $hidden_fields .= '<input type="hidden" name="topic_id_list[]" value="' . intval($topics[$i]) . '" />';
            }
         }
         else
         {
            $hidden_fields .= '<input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" />';
         }

         //
         // Set template files
         //
         $template->set_filenames(array(
            'movetopic' => 'modcp_merge_topic.tpl')
         );

         $template->assign_vars(array(
            'MESSAGE_TITLE' => $lang['Confirm'],
            'MESSAGE_TEXT' => $lang['Confirm_merge_topic'],

            'L_MERGE_TO_FORUM' => $lang['Merge_to_forum'],
            'L_YES' => $lang['Yes'],
            'L_NO' => $lang['No'],

            'S_FORUM_SELECT' => make_forum_select('new_forum'),
            'S_MODCP_ACTION' => append_sid("modcp.$phpEx"),
            'S_HIDDEN_FIELDS' => $hidden_fields)
         );

         $template->pparse('movetopic');

         include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
      }
      break;
   case 'mergepost':

      $page_title = $lang['Mod_CP'];
      include($phpbb_root_path . 'includes/page_header.'.$phpEx);
      if ( $confirm )
      {

         if ( empty($HTTP_POST_VARS['topic_id_to']) )
         {
            message_die(GENERAL_MESSAGE, $lang['None_selected']);
         }

         $topic_id_to = $HTTP_POST_VARS['topic_id_to'];
         $new_forum_id = $HTTP_POST_VARS['new_forum_id'];
         $old_forum_id = $forum_id;

         $posts = $HTTP_POST_VARS['post_id_list'];

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

         $post_rowset = $db->sql_fetchrow($result);
         $post_time = $post_rowset['post_time'];

         if( !empty($HTTP_POST_VARS['merge_type_all']) )
         {
            $post_id_sql = '';
            for($i = 0; $i < count($posts); $i++)
            {
               $post_id_sql .= ( ( $post_id_sql != '' ) ? ', ' : '' ) . $posts[$i];
            }

            $sql = "UPDATE " . POSTS_TABLE . "
               SET topic_id = $topic_id_to, forum_id = $new_forum_id
               WHERE post_id IN ($post_id_sql)";
         }
         else if( !empty($HTTP_POST_VARS['merge_type_beyond']) )
         {
            $sql = "UPDATE " . POSTS_TABLE . "
               SET topic_id = $topic_id_to, forum_id = $new_forum_id
               WHERE post_time >= $post_time
                  AND topic_id = $topic_id";
         }

         if( !$db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, 'Could not update posts table', '', __LINE__, __FILE__, $sql);
         }

         sync('topic', $topic_id_to);
         sync('topic', $topic_id);
         sync('forum', $new_forum_id);
         sync('forum', $old_forum_id);

         $template->assign_vars(array(
            'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">')
         );

         $message = $lang['Posts_Merged'] . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
         message_die(GENERAL_MESSAGE, $message);
      }
      // Step 1 - Pic topic to merge to
      else if ( isset($HTTP_POST_VARS['merge_type_all']) || isset($HTTP_POST_VARS['merge_type_beyond'])   )
          {
         $posts = $HTTP_POST_VARS['post_id_list'];
         $new_forum_id = $HTTP_POST_VARS['new_forum_id'];

         if ( isset($HTTP_POST_VARS['post_id_list']) )
         {
            $posts = $HTTP_POST_VARS['post_id_list'];
            $posts_list = '';

            for($i = 0; $i < count($posts); $i++)
            {
               $posts_list .= ( ( $posts_list != '' ) ? ', ' : '' ) . $posts[$i];
               $hidden_fields .= '<input type="hidden" name="post_id_list[]" value="' . intval($posts[$i]) . '" />';
            }
         }
         else
         {
            //  added to fix sql error
            if ( empty($post_id) )
            {
               message_die(GENERAL_MESSAGE, $lang['None_selected']);
            }

            $posts_list = $post_id;
            $hidden_fields .= '<input type="hidden" name="' . POST_POST_URL . '" value="' . $post_id . '" />';
         }
         //  added for fix to use with phpbb v2.04
         $hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
         $hidden_fields .= '<input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" />';
         $hidden_fields .= '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';
         $hidden_fields .= '<input type="hidden" name="mode" value="' . $mode . '" />';
         $hidden_fields .= '<input type="hidden" name="new_forum_id" value="' . $new_forum_id . '" />';
         $hidden_fields .= '<input type="hidden" name="merge_type_all" value="' . $HTTP_POST_VARS['merge_type_all'] . '" />';
         $hidden_fields .= '<input type="hidden" name="merge_type_beyond" value="' . $HTTP_POST_VARS['merge_type_beyond'] . '" />';
         $template->assign_vars(array(
            'FORUM_NAME' => $forum_name,

            'L_MOD_CP' => $lang['Mod_CP'],
            'L_MOD_CP_EXPLAIN' => $lang['Mod_CP_explain'],
            'L_SELECT' => $lang['Select'],
            'L_MERGE' => $lang['Merge'],
            'L_TOPICS' => $lang['Topics'],
            'L_REPLIES' => $lang['Replies'],
            'L_LASTPOST' => $lang['Last_Post'],
            'L_SELECT' => $lang['Select'],

            'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
            'S_HIDDEN_FIELDS' => $hidden_fields,
            'S_MODCP_ACTION' => append_sid("modcp.$phpEx"))
         );

         $template->set_filenames(array(
            'body' => 'modcp_merge_topicpost.tpl')
         );

         //
         // Define censored word matches
         //
         $orig_word = array();
         $replacement_word = array();
         obtain_word_list($orig_word, $replacement_word);
         //AND t.topic_id NOT IN ($topic_list)
         $sql = "SELECT t.*, u.username, u.user_id, p.post_time
            FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p
            WHERE t.forum_id = $new_forum_id
               AND t.topic_poster = u.user_id
               AND p.post_id = t.topic_last_post_id
               AND t.topic_moved_id = 0
               AND t.topic_id != $topic_id
            ORDER BY t.topic_type DESC, p.post_time DESC
            LIMIT $start, " . $board_config['topics_per_page'];
         if ( !($result = $db->sql_query($sql)) )
         {
               message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
         }

         while ( $row = $db->sql_fetchrow($result) )
         {
            $topic_title = '';

            if ( $row['topic_status'] == TOPIC_LOCKED )
            {
               $folder_img = $images['folder_locked'];
               $folder_alt = $lang['Topic_locked'];
            }
            else
            {
               if ( $row['topic_type'] == POST_ANNOUNCE )
               {
                  $folder_img = $images['folder_announce'];
                  $folder_alt = $lang['Announcement'];
               }
               else if ( $row['topic_type'] == POST_STICKY )
               {
                  $folder_img = $images['folder_sticky'];
                  $folder_alt = $lang['Sticky'];
               }
               else
               {
                  $folder_img = $images['folder'];
                  $folder_alt = $lang['No_new_posts'];
               }
            }

            $topic_id = $row['topic_id'];
            $topic_type = $row['topic_type'];
            $topic_status = $row['topic_status'];

            if ( $topic_type == POST_ANNOUNCE )
            {
               $topic_type = $lang['Topic_Announcement'] . ' ';
            }
            else if ( $topic_type == POST_STICKY )
            {
               $topic_type = $lang['Topic_Sticky'] . ' ';
            }
            else if ( $topic_status == TOPIC_MOVED )
            {
               $topic_type = $lang['Topic_Moved'] . ' ';
            }
            else
            {
               $topic_type = '';
            }

            if ( $row['topic_vote'] )
            {
               $topic_type .= $lang['Topic_Poll'] . ' ';
            }

            $topic_title = $row['topic_title'];
            if ( count($orig_word) )
            {
               $topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
            }

            $u_view_topic = '';
            $topic_replies = $row['topic_replies'];

            $last_post_time = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);

            $template->assign_block_vars('topicrow', array(
               'U_VIEW_TOPIC' => $u_view_topic,

               'TOPIC_FOLDER_IMG' => $folder_img,
               'TOPIC_TYPE' => $topic_type,
               'TOPIC_TITLE' => $topic_title,
               'REPLIES' => $topic_replies,
               'LAST_POST_TIME' => $last_post_time,
               'TOPIC_ID' => $topic_id,

               'L_TOPIC_FOLDER_ALT' => $folder_alt)
            );
         }

         $template->assign_vars(array(
            'PAGINATION' => generate_pagination("modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id", $forum_topics, $board_config['topics_per_page'], $start),
            'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $forum_topics / $board_config['topics_per_page'] )),
            'L_GOTO_PAGE' => $lang['Goto_page'])
         );

         $template->pparse('body');
           }

      else
      {   // Step 0 - select the post you want to merge
         //
         // Set template files
         //
         $template->set_filenames(array(
            'merge_post_body' => 'modcp_merge_post.tpl')
         );

         $sql = "SELECT u.username, p.*, pt.post_text, pt.bbcode_uid, pt.post_subject, p.post_username
            FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
            WHERE p.topic_id = $topic_id
               AND p.poster_id = u.user_id
               AND p.post_id = pt.post_id
            ORDER BY p.post_time ASC";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, 'Could not get topic/post information', '', __LINE__, __FILE__, $sql);
         }

         //  added for fix to use with phpbb v2.04
         $s_hidden_fields .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
         $s_hidden_fields .= '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" /><input type="hidden" name="mode" value="mergepost" />';
         $s_hidden_fields .= '<input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" />';
         if( ( $total_posts = $db->sql_numrows($result) ) > 0 )
         {
            $postrow = $db->sql_fetchrowset($result);

            $template->assign_vars(array(
               'L_MERGE_TOPIC' => $lang['Merge_Topic'],
               'L_MERGE_TOPIC_EXPLAIN' => $lang['Merge_Topic_explain'],
               'L_AUTHOR' => $lang['Author'],
               'L_MESSAGE' => $lang['Message'],
               'L_SELECT' => $lang['Select'],
               'L_MERGE_TO_FORUM' => $lang['Merge_to_forum'],
               'L_MERGE_POST_TOPIC' => $lang['Merge_post_topic'],
               'L_POSTED' => $lang['Posted'],
               'L_MERGE_POSTS' => $lang['Merge_posts'],
               'L_SUBMIT' => $lang['Submit'],
               'L_MERGE_AFTER' => $lang['Merge_after'],
               'L_MARK_ALL' => $lang['Mark_all'],
               'L_UNMARK_ALL' => $lang['Unmark_all'],
               'L_POST' => $lang['Post'],

               'FORUM_NAME' => $forum_name,

               'U_VIEW_FORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),

               'S_MERGE_ACTION' => append_sid("modcp.$phpEx"),
               'S_HIDDEN_FIELDS' => $s_hidden_fields,
               'S_FORUM_SELECT' => make_forum_select("new_forum_id"))
            );

            for($i = 0; $i < $total_posts; $i++)
            {
               $post_id = $postrow[$i]['post_id'];
               $poster_id = $postrow[$i]['user_id'];
               $poster = $postrow[$i]['username'];

               $post_date = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);

               $bbcode_uid = $postrow[$i]['bbcode_uid'];
               $message = $postrow[$i]['post_text'];
               $post_subject = ( $postrow[$i]['post_subject'] != '' ) ? $postrow[$i]['post_subject'] : $topic_title;

               //
               // If the board has HTML off but the post has HTML
               // on then we process it, else leave it alone
               //
               if ( !$board_config['allow_html'] )
               {
                  if ( $postrow[$i]['enable_html'] )
                  {
                     $message = preg_replace('#(<)([\/]?.*?)(>)#is', '&\\2&', $message);
                  }
               }

               if ( $bbcode_uid != '' )
               {
                  $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
               }

               //
               // Define censored word matches
               //
               $orig_word = array();
               $replacement_word = array();
               obtain_word_list($orig_word, $replacement_word);

               if ( count($orig_word) )
               {
                  $post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
                  $message = preg_replace($orig_word, $replacement_word, $message);
               }

               $message = make_clickable($message);

               if ( $board_config['allow_smilies'] && $postrow[$i]['enable_smilies'] )
               {
                  $message = smilies_pass($message);
               }

               $message = str_replace("\n", '<br />', $message);

               $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
               $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

               $checkbox = ( $i > 0 ) ? '<input type="checkbox" name="post_id_list[]" value="' . $post_id . '" />' : '&nbsp;';

               $template->assign_block_vars('postrow', array(
                  'ROW_COLOR' => '#' . $row_color,
                  'ROW_CLASS' => $row_class,
                  'POSTER_NAME' => $poster,
                  'POST_DATE' => $post_date,
                  'POST_SUBJECT' => $post_subject,
                  'MESSAGE' => $message,
                  'POST_ID' => $post_id,

                  'S_MERGE_CHECKBOX' => $checkbox)
               );
            }

            $template->pparse('merge_post_body');
         }
      }
      break;
//
// Merge Topic MOD - End
//
#
#-----[ FIND ]------------------------------------------
#
         'L_REPLIES' => $lang['Replies'],
         'L_LASTPOST' => $lang['Last_Post'],
         'L_SELECT' => $lang['Select'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
   'L_MERGE' => $lang['Merge'],

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/subSilver.cfg

#
#-----[ FIND ]------------------------------------------
#
$images['topic_mod_move'] = "$current_template_images/topic_move.gif";

#
#-----[ AFTER, ADD ]------------------------------------------
#
$images['topic_mod_merge'] = "$current_template_images/topic_merge.gif";

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/modcp_body.tpl

#
#-----[ FIND ]------------------------------------------
#
      <input type="submit" name="move" class="liteoption" value="{L_MOVE}" />
      &nbsp;

#
#-----[ AFTER, ADD ]------------------------------------------
#
      <input type="submit" name="mergetopic" class="liteoption" value="{L_MERGE}" />
      &nbsp;

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Das war die Installanleitung für 2.04. die hat geklappt, teste doch mal ob sie auch unter 2.05. geht?

Verfasst: 25.09.2003 09:31
von ZStorm
Hatte ja oben schon editiert, das es ja doch drin steht.
Verwirrt nur etwas, wenn oben steht, das man den Inhalt kopieren soll, wo eben diese beiden Dateien (subsilver.cfg und modcp_body.tpl) auch mit drin waren.
Hätte vielleicht alles in nen extra Ordner besser reingepasst, ist ja aber auch egal.

So mittlerweile wird das Forum von Deutsch automatisch nach englisch umgestellt, obwohl im Profil immer noch deutsch steht....
hmm..weiter Fehlersuche.
Der Fehler liegt in Zeile 1052 in der lang_main (german)
Jo, das ist genau die Zeile wo der Mod anfängt

Hier der code (ist der deutsche, ist aber egal ob ich die englische oder deutsche nehme, kommt selber Fehler)

Code: Alles auswählen

// Merge Topic MOD
$lang['Merge'] = 'zusammenf&uuml;hren';
$lang['Topics_Merged'] = 'Die ausgew&auml;hlten Beitr&auml;ge wurden zusammengef&uuml;hrt';
$lang['No_Topics_Merged'] = 'Keine Beitr&auml;ge zusammengef&uuml;hrt';
$lang['Confirm_merge_topic'] = $lang['Confirm_merge_topic'] = 'Bist du sicher, dass du die ausgew&auml;hlten Beitr&auml;ge zusammenf&uuml;hren willst?<br><span class=genmed>(als n&auml;chstes kannst du ein Zielthema ausw&auml;hlen, in das die Beitr&auml;ge eingef&uuml;gt werden)</span>';
$lang['Merge_to_forum'] = 'in dieses Forum verschieben';
$lang['Merge_topic'] = 'Dieses Thema mit einem anderen zusammenf&uuml;hren';
$lang['Merge_post'] = 'Beitr&auml;ge in diesem Thema zusammenf&uuml;gen';
$lang['Merge_after'] = 'ab dem ausgew&auml;hlten Beitrag verschieben';
$lang['Merge_posts'] = 'ausgew&auml;hlte Beitr&auml;ge verschieben';
$lang['Mod_CP_explain'] = 'Mit diesem Formular kannst du Massenoperationen in diesem Forum vornehmen. Du kannst beliebig viele Themen sperren, entsperren, verschieben, zusammenf&uuml;gen oder l&ouml;schen.';
$lang['Mod_CP_merge_explain'] = 'Das Thema ausw&auml;hlen, mit dem dieses Theme zusammengef&uuml;hrt werden soll';
$lang['Merge_Topic_explain'] = 'Mit diesem Formular kannst Du Beitr&auml;ge in ein anderes Thema verschieben, indem du sie entweder einzeln markierst, oder ab einem ausgew&auml;hlten Beitrag verschiebst';
$lang['Merge_post_topic'] = 'Beitr&auml;ge in ein anderes Thema einf&uuml;gen';
$lang['Posts_Merged'] = 'Die ausgew&auml;hlten Beitr&auml;ge wurden zusammengef&uuml;hrt';
$lang['Merge'] = 'zusammenf&uuml;hren'; ist Zeile 1052.
Die Fehlermeldung war unespected T_variable in ....lang_german oder so.
Sehe ich grade nicht mehr, weil nachdem ich den Text gelöscht habe, läuft wieder alles.
Naja..Bis auf das im Mod jetzt halt nichts mehr steht, wenn man in ihm Forum anwählt :roll:
Aber ich kann in dem oberen Text keinen Fehler entdecken.
Und auf gehts mit der Suche ...

Verfasst: 25.09.2003 09:51
von ZStorm
Hae??
Habs gerade wieder eingefügt, diesmal aber zufällig unter "Thats all Folks",
und jetzt klappt alles.
Hmm..
Naja, wat solls.
Echt guter Mod, genau den hab ich gesucht.
Und nochmal danke dafür!