
технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

|
Совместимость - ExBB FM 1.0 Final, ExBB FM 1.0 RC1.01
Цель изменений - дать возможность пользователям поблагодарить автора интересного поста просто нажав кнопку "Спасибо".
Установка (Показать)
post.php
Ищем строкуPHP:$pinmsg = $edit = $del = $reply = $report = $info = $topic_data = '';
которую заменяем строкойPHP:$pinmsg = $edit = $del = $reply = $report = $info = $topic_data = $say_thank_b = $say_thank_d = '';
topic_data.tpl
Ищем строкуPHP:<div>{$fm->LANG['PostDate']} {$postdate}</div> {$pinmsg} {$reply} {$quote} {$report} {$addpun} {$edit} {$del} {$postId}[/code]
[center]которую [color=red][b]заменяем строкой[/b][/color][/center][code]<div>{$fm->LANG['PostDate']} {$postdate}</div> {$pinmsg} {$reply} {$quote} {$report} {$addpun} {$edit} {$del} {$say_thank_b} {$postId}
затем ниже ищем строкуPHP:<td class="postcolor" id="post{$key}">{$post}</td>
которую заменяем строкойPHP:<td class="postcolor" id="post{$key}">{$post}{$say_thank_d}</td>
topic.php
Ищем строкуPHP:if ($fm->exbb['karma'] === TRUE) { $fm->_LoadModuleLang('karma');}
перед которой вставляемPHP:// ********* мод сказать "спасибо" *********
$_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);
}
// *******************************************
затем ниже ищем строкуPHP:$info = $fm->LANG['PostDate'].' <b>'.$postdate.'</b> '.$postIP;
после которой вставляемPHP:// ********* мод сказать "спасибо" *********
$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 = '<br /><br /><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 = '<br /><br /><span><b><i>'.$fm->LANG['ThankMsg'].': </i></b></span>'.$th_list ;}
}
// *****************************************
lang_front_forums.php
Ищем строкуPHP:$this->LANG['LastMsg'] = 'Последнее сообщение...';
после которой вставляемPHP:$this->LANG['IconThank'] = 'спасибо';
$this->LANG['DescThank'] = 'Поблагодарить автора за это сообщение';
$this->LANG['ThankMsg'] = 'За этот пост сказали спасибо';
$this->LANG['ThankAddon'] = ' %d пользователей.';
В папку templates/ваш шаблон/im/russian нужно добавить картинку кнопки thanks.gif взяв любую из предложенных на выбор, или создать свою.
На этом установка завершена!
Внешний вид (Показать)
Видео, поясняющее момент появление спойлера...
|