К сожалению для написания хака быстрого ответа, у меня времени нету :(
А вот свой хак Quick Quote and Name Beetwen Bold Tags, сейчас переделал и проверил. Всё пашет.
Начнём!
Маленькое напоминание:
Не забудьте сохранить на всякий случай копии неотредактированных файлов, на случай, если вы что-то сделаете неправильно и хак не заработает.
Во-первых обязательно зайдите в Адмицентр:
Forum Control
Manage Forums
В этой секции зайдите в каждый форум по отдельности в меню Settings и включите форму быстрого ответа.
Это поле:
Turn on the Quick Reply Box?
Установите значение Yes
Этим самым мы включаем во всех форумах функцию Быстрого ответа.
Чтобы в дальнейшем, если Вы будете создавать ещё какие-то разделы на своём форуме, не мучаться с этим, проделаем такой шаг:
Откройте файл sources/Admin/ad_forums.php и найдите:
Код
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Turn on the Quick Reply Box?</b>" ,
$SKIN->form_yes_no("quick_reply", 0 )
$SKIN->form_yes_no("quick_reply", 0 )
Замените на:
Код
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Turn on the Quick Reply Box?</b>" ,
$SKIN->form_yes_no("quick_reply", 1 )
$SKIN->form_yes_no("quick_reply", 1 )
Этим самым мы включили по умолчанию значение Yes, которое описано выше.
Идём дальше.
В версии 1.2, есть такая фишка. Форма быстрого ответа, всегда находится в свёрнутом состоянии. Чтобы раскрыть её, пользователям надо нажимать каждый раз на кнопку FAST REPLY. Либо пользователи должны зайти в свой профиль и включить постоянное раскрытие формы быстрого ответа оттуда. А при стирании кукисов (cookies) на компьютере, форма снова устанавливается в свёрнутое состояние. Чтобы не компостировать ни себе, ни пользователям мозги и включить эту фишку постоянно для ВСЕХ пользователей, редактируем файл sources/Usercp.php
Откройте данный файл и найдите:
Код
$open_qreply = 0
Замените на:
Код
$open_qreply = 1
А теперь можно смело приступать к установке нужного нам хака.
Открываем файл souces/Topics.php и находим в нём:
Код
//--------------------------------------------------------------
// Fix up the membername so it links to the members profile
//--------------------------------------------------------------
if ($poster['id'])
{
$poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";
}
// Fix up the membername so it links to the members profile
//--------------------------------------------------------------
if ($poster['id'])
{
$poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";
}
Замените на:
Код
//--------------------------------------------------------------
// Fix up the membername so it links to the members profile
//--------------------------------------------------------------
if ($poster['id'])
{
// $poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";
$poster['name']=str_replace(" ", " ", $poster['name']);
$poster['name']="<a href=java script:ins(\"{$poster['name']}\")>{$poster['name']}</a>";
}
// Fix up the membername so it links to the members profile
//--------------------------------------------------------------
if ($poster['id'])
{
// $poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";
$poster['name']=str_replace(" ", " ", $poster['name']);
$poster['name']="<a href=java script:ins(\"{$poster['name']}\")>{$poster['name']}</a>";
}
Далее найдите:
Код
$member['member_group'] = $ibforums->lang['m_group'].' '.$member['g_title'];
Перед этой строкой добавьте:
Код
$member['profile']="<a href='{$this->base_url}showuser={$member['id']}'>{$ibforums->lang['link_profile']}</a>";
Закройте и сохраните файл Topics.php
Откройте файл Skin/sX/skin_topic.php (если у вас несколько скинов, то проедлайте во всех скинах это редактирование) и найдите:
Код
{$author['member_rank_img']}<br /><br />
Ниже добавьте:
Код
{$author['profile']}<br />
Далее найдите:
Код
<div class='maintitle'><{CAT_IMG}> {$ibforums->lang['qr_title']}</div>
Замените на:
Код
<div class='maintitle'><{CAT_IMG}> {$ibforums->lang['qr_title']}</div><br />
<center>Для вставки цитаты, выделите нужный текст и <a href="java script:Insert(selection)" onMouseDown="get_selection()"><b>нажмите сюда</b></a>
<br /><br />
<center>Для вставки цитаты, выделите нужный текст и <a href="java script:Insert(selection)" onMouseDown="get_selection()"><b>нажмите сюда</b></a>
<br /><br />
Сохраните и закройте Skin/sX/skin_topic.php
Откройте sources/functions.php и найдите:
Код
$extra = "<div align='center' class='copyright'>Registered to: ". $ibforums->vars['ipb_reg_name']."</div>";
}
}
}
}
Ниже добавьте:
Код
$js='<script language="javascript" src="./html/quote.js"></script>';
Найдите далее:
Код
$ibforums->skin['template'] = str_replace( "<% JAVASCRIPT %>" , "" , $ibforums->skin['template']);
Замените на:
Код
$ibforums->skin['template'] = str_replace( "<% JAVASCRIPT %>" , "$js" , $ibforums->skin['template']);
Сохраните и закройте sources/functions.php
Откройте lang/X/lang_topic.php и найдите в самом конце файла:
Код
);
?>
?>
Для файла русского языка, выше добавьте:
Код
'link_profile' => "Профиль",
Для файла английского языка, добавьте:
Код
'link_profile' => "Profile",
Сохраните и закройте lang/X/lang_topic.php
Загрузите все отредактированные файлы по своим местам.
Находящийся в этом архиве файл quote.js, загрузите в папку html вашего форума.