BitTorrent Трекер RusTrek.ru
http://5.45.70.241/

Вывод последних тем
http://5.45.70.241/viewtopic.php?f=817&t=8411
Страница 1 из 1

Автор:  oartemka178 [ 2011-01-08 04:27 ]
Заголовок сообщения:  Вывод последних тем

Выводим последние темы на главную с автоматической прокруткой

Скорость прокрутки, высоту блока, количество выводимых тем - настраиваем сами там все просто!



установка

открыть index.php

найти

[hide]
Код:
// Allow cron
if (IS_ADMIN || IS_MOD)
[/hide]

выше добавить

[hide]
Код:
   // Number of Recent Topics (not Forum ID)
$CFG['number_recent_topics'] = '10';

// Excluding forums for Recent Topics, eg. '2,4,10' (note: my Recent Topics script has its own permission checking, so you can leave this variable blank)
$CFG['exceptional_forums'] = '';

//
// Recent Topics
//
$sql = "SELECT * FROM ". FORUMS_TABLE . " ORDER BY forum_id";
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
}
$forum_data = array();
while( $row = $db->sql_fetchrow($result) )
{
   $forum_data[] = $row;
}

$is_auth_ary = array();
$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $forum_data);

if( $CFG['exceptional_forums'] == '' )
{
   $except_forum_id = '\'start\'';
}
else
{
   $except_forum_id = $CFG['exceptional_forums'];
}

for ($i = 0; $i < count($forum_data); $i++)
{
   if ((!@$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view']))
   {
      if ($except_forum_id == '\'start\'')
      {
         $except_forum_id = $forum_data[$i]['forum_id'];
      }
      else
      {
         $except_forum_id .= ',' . $forum_data[$i]['forum_id'];
      }
   }
}
$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
      FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u
      WHERE t.forum_id NOT IN (" . $except_forum_id . ")
         AND t.topic_status <> 2
         AND p.post_id = t.topic_last_post_id
         AND p.poster_id = u.user_id
      ORDER BY p.post_id DESC
      LIMIT " . $CFG['number_recent_topics'];
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);
}
$number_recent_topics = $db->sql_numrows($result);
$recent_topic_row = array();
while ($row = $db->sql_fetchrow($result))
{
   $recent_topic_row[] = $row;
}
for ($i = 0; $i < $number_recent_topics; $i++)
{
   $template->assign_block_vars('recent_topic_row', array(
      'U_TITLE' => append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $recent_topic_row[$i]['post_id']) . '#' .$recent_topic_row[$i]['post_id'],
      'L_TITLE' => $recent_topic_row[$i]['topic_title'],
      'U_POSTER' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $recent_topic_row[$i]['user_id']),
      'S_POSTER' => $recent_topic_row[$i]['username'],
      'S_POSTTIME' => create_date($board_config['default_dateformat'], $recent_topic_row[$i]['post_time'], $board_config['board_timezone'])
      )
   );
}
//
// END - Recent Topics
//
[/hide]

найти

Код:
'U_SEARCH_UNANSWERED'   => "search.$phpEx?search_id=unanswered",


после добавить

[hide]
Код:
      // Recent Topics
   'L_RECENT_TOPICS' => $lang['Recent_topics'],
[/hide]

открыть lang_main.php

в самый низ добавить

Код:
$lang['Recent_topics'] = 'Последние темы';


открыть page_header.tpl

найти

Код:
<?php if (!empty($bb_cfg['sidebar1_static_content_path'])) include($bb_cfg['sidebar1_static_content_path']); ?>


выше добавить

[hide]
Код:
     <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
      <tr>
      <td class="catHead" height="25"><span><b>{L_RECENT_TOPICS}</b></span></td>
      </tr>
      <tr>
      <td class="row1" align="left"><span class="gensmall">
      <marquee id="recent_topics" behavior="scroll" direction="up" height="200" scrolldelay="200" scrollamount="2">
      <!-- BEGIN recent_topic_row -->
      &raquo; <a href="{recent_topic_row.U_TITLE}" onMouseOver="document.all.recent_topics.stop()" onMouseOut="document.all.recent_topics.start()">{recent_topic_row.L_TITLE}</a><br />
      by <a href="{recent_topic_row.U_POSTER}" onMouseOver="document.all.recent_topics.stop()" onMouseOut="document.all.recent_topics.start()">{recent_topic_row.S_POSTER}</a> on {recent_topic_row.S_POSTTIME}<br /><br />
      <!-- END recent_topic_row -->
      </marquee>
      </span></td>
      </tr>
     </table>
    
     <br />
[/hide]

для тех кто хотел бы без авто прокрутки



в page_header.tpl находим

Код:
<?php if (!empty($bb_cfg['sidebar1_static_content_path'])) include($bb_cfg['sidebar1_static_content_path']); ?>


выше добавить

[hide]
Код:
     <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
      <tr>
      <td class="catHead" height="25"><span><b>{L_RECENT_TOPICS}</b></span></td>
      </tr>
      <tr>
      <td class="row1" align="left"><span class="gensmall">
      <!-- BEGIN recent_topic_row -->
      &raquo; <a href="{recent_topic_row.U_TITLE}">{recent_topic_row.L_TITLE}</a><br />
      by <a href="{recent_topic_row.U_POSTER}">{recent_topic_row.S_POSTER}</a> on {recent_topic_row.S_POSTTIME}<br /><br />
      <!-- END recent_topic_row -->
      </span></td>
      </tr>
     </table>
    
     <br />
[/hide]

Все сохранить. Готово

Автор:  300849 [ 2011-01-08 15:13 ]
Заголовок сообщения: 

У меня в index.php нет
Код:
// Allow cron
if (IS_ADMIN || IS_MOD)
:ak:

Автор:  oartemka178 [ 2011-01-08 15:31 ]
Заголовок сообщения: 

300849

закинь перед этим

Код:
// Display page
define('SHOW_ONLINE', $show_online_users);

//up_down total

Автор:  300849 [ 2011-01-08 15:51 ]
Заголовок сообщения: 

Спс ! Но как скрыть темы с скрытых разделав?

Автор:  300849 [ 2011-01-09 01:45 ]
Заголовок сообщения: 

300849 писал(а):
Спс ! Но как скрыть темы с скрытых разделав?

Автор:  oartemka178 [ 2011-01-09 13:30 ]
Заголовок сообщения: 

300849

Что бы запретить выводить определенные форумы надо ввести сюда форумы через запятую

Код:
// Excluding forums for Recent Topics, eg. '2,4,10' (note: my Recent Topics script has its own permission checking, so you can leave this variable blank)
$CFG['exceptional_forums'] = '';


Пример

Код:
// Excluding forums for Recent Topics, eg. '2,4,10' (note: my Recent Topics script has its own permission checking, so you can leave this variable blank)
$CFG['exceptional_forums'] = '483,452';

Автор:  300849 [ 2011-01-09 14:37 ]
Заголовок сообщения: 

admin
а какой файл ?

Автор:  oartemka178 [ 2011-01-09 14:42 ]
Заголовок сообщения: 

300849

Ты на установочный код вообще не смотрел?
В индекс.пхп в первом посте написана установка там есть этот код, туда и надо дописать ид форумов

Автор:  300849 [ 2011-01-09 14:45 ]
Заголовок сообщения: 

спс

Автор:  300849 [ 2011-01-09 15:46 ]
Заголовок сообщения: 

ЗЫ бывают вот такие глюки :

Автор:  oartemka178 [ 2011-01-09 15:48 ]
Заголовок сообщения: 

Ну это только тогда пока грузится страница

Автор:  300849 [ 2011-01-10 00:40 ]
Заголовок сообщения: 

Но онже выводит последние сообщение ! А можно чтоб только выводили тему (Появлялась чтоб только один раз при написании темы ?) ?

Автор:  екун [ 2011-01-11 02:05 ]
Заголовок сообщения: 

а как сделать чтобы выводились только раздачи? :ab:

Автор:  krumax [ 2011-01-11 03:04 ]
Заголовок сообщения: 

admin
Спасибо! Прикрутил к своему, правда
пришлось немного повозиться, чтобы засунуть туда, куда надо,
зато теперь красота. :ay:

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/