Ответов: 72 Просмотров: 46125
 |
Внес правки в код мода. Убрал атавизмы отладки и решил проблему с подсчетом "мертвых душ". Изменения касаются только topic.php. Долго думал как описать и решил выложить в виде нового варианта установки. Замените один вариант кода другим...
Спойлер (Отобразить)topic.php
Ищем строку
CODE:if ($fm->exbb['karma'] === TRUE) { $fm->_LoadModuleLang('karma');}
перед которой вставляем
CODE:// ********* мод сказать "спасибо" *********
$_icon['$thank_i'] = ($fm->exbb['text_menu'] === TRUE) ? $fm->LANG['IconThank'] : '<img src="./templates/'.DEF_SKIN.'/im/'.DEF_LANG.'/thanks.gif" border="0" title="'.$fm->LANG['DescThank'].'" alt="'.$fm->LANG['IconThank'].'">';
if ($fm->input['action'] == 'thanks' && $fm->user['id'] != 0)
{
$key = $fm->input['post'];
$member_id = (isset($threads[$key]['p_id'])) ? $threads[$key]['p_id'] : 0;
if ($fm->user['id'] != $member_id)
{
$threads = $fm->_Read2Write($fp_threads, 'forum'.$forum_id.'/'.$topic_id.'-thd.php');
if (!isset($threads[$key]['thanks'])) {$threads[$key]['thanks'] = $fm->user['id'];}
if (strpos($threads[$key]['thanks'],strval($fm->user['id'])) === false) {$threads[$key]['thanks'] .= ','.$fm->user['id'];}
$fm->_Write($fp_threads, $threads);
}
header ('Location: topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'#'.$key);
}
// *******************************************
затем ниже ищем строку
CODE:$info = $fm->LANG['PostDate'].' <b>'.$postdate.'</b> '.$postIP;
после которой вставляем
CODE:// ********* мод сказать "спасибо" *********
$say_thank_b = ($access === TRUE && $topic['state'] != 'closed' && $fm->user['id'] != 0 && $fm->user['id'] != $member_id)
? '<a href="topic.php?action=thanks&forum='.$forum_id.'&topic='.$topic_id.'&post='.$key.'" title='.$fm->LANG['DescThank'].'>'.$_icon['$thank_i'].'</a>'.$_icon['divider']
: '';
$say_thank_d = '';
if (isset($threads[$key]['thanks']))
{
$th_list = '';
$th_id = explode(",", $threads[$key]['thanks']);
$th_count = 0;
foreach ($th_id as $usid)
{
if ($member=$fm->_Getmember($usid))
{
$th_count++;
if (in_array($usid,$fm->_Moderators)) {$member['status'] = 'mo';}
switch ($member['status'])
{
case 'ad': $class = ' class="admin"'; break;
case 'sm': $class = ' class="supmoder"'; break;
case 'mo': $class = ' class="moder"'; break;
default: $class = '';
}
$th_list .= '<a href="profile.php?action=show&member='.$usid.'"'.$class.'>'.$member['name'].'</a> ';
}
}
if ($th_count > 5)
{
$say_thank_d = '<span><b><i>'.sprintf($fm->LANG['ThankMsg'].$fm->LANG['ThankAddon'],$th_count).'</i></b></span>
<span id="sp_thanks">(<a href="#" onClick="spoiler(\'_thanks\'); return false;">'.$fm->LANG['SpoilerShow'].'</a>)</span>
<div id="spoiler_thanks" style="display: none;">'.$th_list.'</div>' ;
}
else {$say_thank_d = '<span><b><i>'.$fm->LANG['ThankMsg'].': </i></b></span>'.$th_list ;}
}
// ***************************************** |