Перейти к контенту

Фильтр авторов при просмотре топика


Рекомендуемые сообщения

Добавляется возможность просмотреть все сообщения одного автора в топике или исключить из просматриваемого топика все сообщения этого автора.

 

skin_topic.php

Найти

<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align='left' width="20%" nowrap="nowrap"><!--IBF.TOPIC_OPTIONS_CLOSED-->{$data[TOPIC][SHOW_PAGES]}</td>
<td align='right' width="80%">{$data[TOPIC][REPLY_BUTTON]}<!--IBF.QUICK_REPLY_CLOSED--><a href='{$ibforums->base_url}act=Post&CODE=00&f={$data[FORUM]['id']}' title='{$ibforums->lang['start_new_topic']}'><{A_POST}></a>{$data[TOPIC][POLL_BUTTON]}</td>
</tr>
</table>

и заменить на

<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align='left' width='20%' nowrap="nowrap"><!--IBF.TOPIC_OPTIONS_CLOSED-->{$data[TOPIC][SHOW_PAGES]}</td>
<td width='2%'> </td>
<td align='center' width='36%' nowrap="nowrap">
<form action="">
<input type="hidden" name="showtopic" value="{$ibforums->input[t]}">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
 <td rowspan="2">Фильтр авторов: </td>
 <td rowspan="2"><input type="text" name="loadfilter" size="10" maxlength="64"></td>
 <td> <input type="radio" name="showorhide" value="show" style="width:10px;height:10px"> показать</td>
  <td rowspan="2"><input type="submit" value=">>>"></td>
</tr>
<tr>
	<td> <input type="radio" name="showorhide" value="hide" checked=checked style="width:10px;height:10px"> скрыть</td>
</tr>
</table>
</form>
</td>
<td width='2%'> </td>
<td align='right' width='60%'>{$data[TOPIC][REPLY_BUTTON]}<!--IBF.QUICK_REPLY_CLOSED--><a href='{$ibforums->base_url}act=Post&CODE=00&f={$data[FORUM]['id']}' title='{$ibforums->lang['start_new_topic']}'><{A_POST}></a>{$data[TOPIC][POLL_BUTTON]}</td>
</tr>
</table>

 

 

lang_error.php

После

missing_files					=>	"Некоторые требуемые файлы отсутствуют. Если Вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова.",

добавить

missinf_filter					=>	"Такого автора не существует или он не писал в этой теме.",

 

 

Topics.php

Перед

		$this->topic['SHOW_PAGES']
		= $std->build_pagelinks( array( 'TOTAL_POSS'  => ($this->topic['posts']+1),
										'PER_PAGE'	=> $ibforums->vars['display_max_posts'],
										'CUR_ST_VAL'  => $ibforums->input['st'],
										'L_SINGLE'	=> "",
										'BASE_URL'	=> $this->base_url."showtopic=".$this->topic['tid'].$loadfilter.$hl,
									  )
							   );

добавить

		$loadfilter = "";
	if($ibforums->input['loadfilter'] != "")
	{
		if($ibforums->input['showorhide'] == "show")$autorfilter = " AND author_name = '".$ibforums->input['loadfilter']."'";
		if($ibforums->input['showorhide'] == "hide")$autorfilter = " AND author_name != '".$ibforums->input['loadfilter']."'";
		$DB->query("SELECT COUNT(pid) as pcount FROM ibf_posts WHERE topic_id = '".$ibforums->input['t']."'".$autorfilter);
		$pcount = $DB->fetch_row();
		$this->topic['posts'] = $pcount['pcount'];
		$loadfilter = "&loadfilter=".$ibforums->input['loadfilter']."&showorhide=".$ibforums->input['showorhide'];
	}

 

 

Найти

		$DB->query( "SELECT p.*,
				m.id,m.name,m.mgroup,m.email,m.joined,m.avatar,m.avatar_size,m.posts,m.aim_
name,m.icq_number,
				m.signature, m.website,m.yahoo,m.integ_msg,m.title,m.hide_email,m.msnname, m.warn_level, m.warn_lastwarn,m.dices,m.darlingm,p.darlingp,
				g.g_id, g.g_title, g.g_icon, g.g_dohtml, m.files, m.downloads $join_get_fields
				FROM ibf_posts p
				  LEFT JOIN ibf_members m ON (p.author_id=m.id)
				  LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
				  $join_profile_query
				WHERE p.topic_id=".$this->topic['tid']." and p.queued != 1
				ORDER BY p.{$ibforums->vars['post_order_column']} {$ibforums->vars['post_order_sort']} LIMIT $first, ".$ibforums->vars['display_max_posts']);

и заменить на

		$autorfilter = "";
	if($ibforums->input['loadfilter'] != "")
	{
		if($ibforums->input['showorhide'] == "show")$autorfilter = " AND author_name = '".$ibforums->input['loadfilter']."'";
		if($ibforums->input['showorhide'] == "hide")$autorfilter = " AND author_name != '".$ibforums->input['loadfilter']."'";
		$DB->query("SELECT COUNT(pid) as pcount FROM ibf_posts WHERE topic_id = '".$ibforums->input['t']."'".$autorfilter);
		$pcount = $DB->fetch_row();
		$this->topic['posts'] = $pcount['pcount'];
		if(intval($pcount['pcount'])==0)$std->Error( array( LEVEL => 1, MSG => 'missinf_filter') );
	}
	$DB->query( "SELECT p.*,
				m.id,m.name,m.mgroup,m.email,m.joined,m.avatar,m.avatar_size,m.posts,m.aim_
name,m.icq_number,
				m.signature, m.website,m.yahoo,m.integ_msg,m.title,m.hide_email,m.msnname, m.warn_level, m.warn_lastwarn,m.dices,m.darlingm,p.darlingp,
				g.g_id, g.g_title, g.g_icon, g.g_dohtml, m.files, m.downloads $join_get_fields
				FROM ibf_posts p
				  LEFT JOIN ibf_members m ON (p.author_id=m.id)
				  LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)
				  $join_profile_query
				WHERE p.topic_id=".$this->topic['tid']." and p.queued != 1".$autorfilter."
				ORDER BY p.{$ibforums->vars['post_order_column']} {$ibforums->vars['post_order_sort']} LIMIT $first, ".$ibforums->vars['display_max_posts']);

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.