FatCat Опубликовано 9 Мая 2009 Жалоба Поделиться Опубликовано 9 Мая 2009 Добавляется возможность просмотреть все сообщения одного автора в топике или исключить из просматриваемого топика все сообщения этого автора. 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']); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.