Помогите пожалуйста! - перестал работать мод

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
Club-16
phpBB 1.4.0
Сообщения: 33
Стаж: 18 лет 4 месяца
Откуда: Киев

Помогите пожалуйста! - перестал работать мод

Сообщение Club-16 »

Доброе время суток!
На днях пользователи форума заметили, что пропал пропала модификация last_forum_topic_on_index (модификация которая показывает последние темы в каждом разделе форума). После прошарки файлов заметил, что он пропал после установки Easy Sub Forums (мод подфорумов.
И так вся проблема заключается в файле index.php
Для установки last_forum_topic_on_index делал по инструкции:

Код: Выделить всё

#
#-----[ FIND ]-----------------------------------------
#

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
         FROM (( " . FORUMS_TABLE . " f
         LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
         LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
         ORDER BY f.cat_id, f.forum_order";
      break;

#
#-----[ REPLACE WITH ]----------------------------------------
#
    $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
         FROM ((( " . FORUMS_TABLE . " f
         LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
         LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
         LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
         ORDER BY f.cat_id, f.forum_order";
      break;

#
#-----[ FIND ]-----------------------------------------
#
   if ( $forum_data[$j]['forum_last_post_id'] )
   {
      $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
      
      $last_post = $last_post_time . '<br />';

      $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
                        
      $last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
   }

#
#-----[ REPLACE WITH ]---------------------------------
#
   $max_topic_length = 30;

   if ( $forum_data[$j]['forum_last_post_id'] )
   {
      $forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '&hellip;' : $forum_data[$j]['topic_title'];   

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

      $last_post = $last_post_time . ' ';

      $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username'];
      
      $last_post .= '<br /><a href="' . append_sid("viewtopic.$phpEx?"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';

      $last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
   }
Через время установил подфорумы и заменил все как написано тут:

Код: Выделить всё

#
#-----[ OPEN ]------------------------------------------------
#
   index.php


#
#-----[ FIND ]------------------------------------------------
#
         $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
            FROM (( " . FORUMS_TABLE . " f
            LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
            LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
            ORDER BY f.cat_id, f.forum_order";
#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD

         $sql = "SELECT f.*, p.post_time, p.post_username,  u.username, u.user_id, t.topic_id, t.topic_title
            FROM ((( " . FORUMS_TABLE . " f
            LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
            LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
            LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
            GROUP BY f.forum_id ORDER BY f.cat_id, f.forum_order";
   // END Modified by Easy Sub-Forums MOD



#
#-----[ FIND ]------------------------------------------------
#
   {
      $forum_data[] = $row;
   }
#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD
   
   $attach=$forum_data;
   // END Added by Easy Sub-Forums MOD
   
#
#-----[ FIND ]------------------------------------------------
#
   $forum_id = $forum_data[$j]['forum_id'];

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

   // Added by Easy Sub-Forums MOD

   $attached_id = $forum_data[$j]['attached_forum_id'];
                  if ( $is_auth_ary[$forum_id]['auth_view'] && $attached_id == -1 )
                  {
                     $attached_forums = array();
                     foreach ($attach as $key => $value)
                     {
                        $sub_forum_id = $value['forum_id'];
                        if ($value['attached_forum_id']==$forum_id && $is_auth_ary[$sub_forum_id]['auth_view'])
                        {
                           //combining topic and post count for forum and subforums
                           $forum_data[$j]['forum_posts']=$forum_data[$j]['forum_posts']+$value['forum_posts'];
                           $forum_data[$j]['forum_topics']=$forum_data[$j]['forum_topics']+$value['forum_topics'];
                           //END combining topic and post count

                           //Last post link - check if any of subforums have newest posts and link to them instead
                           if ($value['post_time']>$forum_data[$j]['post_time'])
                           {
                              $forum_data[$j]['user_id'] = $value['user_id'];
                              $forum_data[$j]['post_username'] = $value['post_username'];
                              $forum_data[$j]['forum_last_post_id'] = $value['forum_last_post_id'];
                              $forum_data[$j]['post_time'] = $value['post_time'];
                              $forum_data[$j]['username'] = $value['username'];
                              $forum_data[$j]['topic_title'] = $value['topic_title'];
                           }
                           // END last post check

                           $unread_topics = false;
                           if ( $userdata['session_logged_in'] )
                           {
                              if (check_unread($value['forum_id']))
                              {
                                 $attach_img = $images['icon_minipost_new'];
                                 $l_attach_img = $lang['New_posts'];
                              }
                              else
                              {
                                 $attach_img = $images['icon_minipost'];
                                 $l_attach_img = $lang['No_new_posts'];
                              }
                           }
                           else
                           {
                              $attach_img = $images['icon_minipost'];
                              $l_attach_img = $lang['No_new_posts'];
                           }

                           $attached_forums[] = array(
                              'sub_img'=>$attach_img,
                              'sub_alt'=>$l_attach_img,
                              'sub_name'=>$value['forum_name'],
                              'sub_url'=>append_sid ('viewforum.php?f=' . $value['forum_id'] )
                              );
                        }
                     }
                     
// END Added by Easy Sub-Forums MOD
Напишите пожалуйста как прописать правильно, что бы работало 2 мода???

Добавлено спустя 1 минуту 28 секунд:

Решение проблемы кроется где-то рядом:

У меня было до установки мода подфорумов:

Код: Выделить всё

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
ORDER BY f.cat_id, f.forum_order";
break;
Стало:

Код: Выделить всё

$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
GROUP BY f.forum_id ORDER BY f.cat_id, f.forum_order";

Как правильно подкорректировать второе?
Аватара пользователя
Club-16
phpBB 1.4.0
Сообщения: 33
Стаж: 18 лет 4 месяца
Откуда: Киев

Сообщение Club-16 »

:(
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 19 лет 1 месяц

Сообщение m157y »

2 Club-16
судя по запросу, название топика из бд извлекается.. так что смотрите где переменные не объявляются..
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..

Вернуться в «Поддержка phpBB 2.0.x»