Vbulletin: как сделать "обратиться по нику"?

vandamme
На сайте с 30.11.2008
Offline
675
1270

Ребят, знатоки vbulletin, подскажите как сделать ссылочки

-Обратиться по нику

-Цитата выделенного

как тут на форуме SE

заранее премного благодарен.

---------- Добавлено 11.09.2014 в 18:41 ----------

а то как тут пока не разобрался /ru/forum/371113

---------- Добавлено 11.09.2014 в 19:04 ----------

все таки уже разобрался

Вставка ника в форму быстрого ответа и цитирование выделенного текста для vBulletin 3.6.x (работает с визуальным редактором ответа WYSIWYG)

1). В самый конец файла clientscript\vbulletin_quick_reply.js добавить следующий код:
===================================================
// Цитата выделенного текста и ник в ответ - Начало
function Insert(nickname, text, postnb)
{
if (text != "")
paste("
+ nickname + :
" + text + "
\n", 0);
vB_Editor[QR_EditorID].wysiwyg_mode ? '' : document.vbform.message.focus();
}
function paste(text)
{
vB_Editor[QR_EditorID].check_focus();
var ot = vB_Editor[QR_EditorID].get_editor_contents();
if(ot == '<br />' || ot == '<br>' || ot == '<BR>' || ot == '<P>&nbsp;</P>' || ot == '&nbsp;' || ot == '<BR />' || ot == '<br>' || ot == '<b></b>' || ot == '<b></b><br>' || ot == '<P></P>')
{
ot = '';
}
if(ot != '')
{
ot += (vB_Editor[QR_EditorID].wysiwyg_mode?'<br>':'\n');
}
vB_Editor[QR_EditorID].write_editor_contents(ot + text, false);
}
function get_selection()
{
if (document.getSelection)
{
selection = document.getSelection();
selection = selection.replace(/\r\n\r\n/gi, "_doublecaret_");
selection = selection.replace(/\r\n/gi, " ");
while (selection.indexOf(" ") != -1) selection = selection.replace(/ /gi, "");
selection = selection.replace(/_doublecaret_/gi, "\r\n\r\n");
}
else
selection = document.selection.createRange().text;
}
function catchSelection()
{
if (window.getSelection)
{
selection = window.getSelection().toString();
}
else if (document.getSelection)
{
selection = document.getSelection();
}
else if (document.selection)
{
selection = document.selection.createRange().text;
}
}
function insertnick(nickname)
{
var ot = vB_Editor[QR_EditorID].get_editor_contents();
if(ot == '<br />' || ot == '<br>' || ot == '<BR>' || ot == '<P>&nbsp;</P>' || ot == '&nbsp;' || ot == '<BR />' || ot == '<br>' || ot == '<b></b>' || ot == '<b></b><br>' || ot == '<P></P>')
{
ot = '';
}
if(ot != '')
{
ot += (vB_Editor[QR_EditorID].wysiwyg_mode?'<br>':'\n');
}
ot += vB_Editor[QR_EditorID].wysiwyg_mode?'<b>' + nickname + '</b>, ':'' + nickname + ', ';
vB_Editor[QR_EditorID].check_focus();
vB_Editor[QR_EditorID].write_editor_contents(ot, false);
}
// Цитата выделенного текста и ник в ответ - Конец
===================================================
Сохранить файл.




2). Редактирование шаблона 'postbit_legacy':




НАЙТИ:
===================================================
<div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div>
</div>
===================================================

НИЖЕ ДОБАВИТЬ:
===================================================
<if condition="$show['quickreply']">
<a href="javascript:Insert('$post[username]', selection, '$post[postid]')" onMouseOver="catchSelection()" title="Выделить текст и кликнуть здесь" class="smallfont"><b>Цитата выделенного</b></a>
</if>
<if condition="$show['quickreply']">
<a class="bigusername" href="javascript:insertnick('$post[username]');" title="Ник в ответ"><b>Обратиться по нику</b></a>
</if>
===================================================
stryker
На сайте с 12.03.2006
Offline
814
#1

vandamme, что-то я воткнул то, что вы в цитате разместили... - не сработало.

Кто может подсказать рабочий вариант для версии 3.8.8?

► Лучший хостинг для сайтов ( https://vk.cc/a9FN77 )
vandamme
На сайте с 30.11.2008
Offline
675
#2

я так сделал все работает

вообще вот полный хак http://www.writeurl.com/text/3tpmb1ua6mxilkp2bxqr/pr69n0muioe2bp48pz0u

а то я урезал и сделал как тут на серче

stryker
На сайте с 12.03.2006
Offline
814
#3

vandamme, спасибо))

Правда "Обратиться по нику" не появилось, но при нажатии на ник - он в быстрый ответ добавляется. К этому надо привыкнуть))

vandamme
На сайте с 30.11.2008
Offline
675
#4

stryker, вот почему я и перенес в отдельную ссылочку "Обратиться по нику"

в любом удобном вам месте прописываете

<if condition="$show['quickreply']">
<a class="bigusername" href="javascript:insertnick('$post[username]');" title="Ник в ответ"><b>Обратиться по нику</b></a>
</if>

это и есть моя дописка в коде первопоста.

stryker
На сайте с 12.03.2006
Offline
814
#5
vandamme:
class="bigusername"

Только в мое случае это лишнее))) он получается очень биг))

Спасибо, теперь все ок)

vandamme
На сайте с 30.11.2008
Offline
675
#6

да-да, это уже редактируете как хотите

vandamme
На сайте с 30.11.2008
Offline
675
#7

ребят, никто не знает как настроить модуль Display Unread Posts and Reputation Comments как тут на форуме?

а то кликаю по 158 новых сообщений читаю какую нибудь тему, становится 153 новых сообщений, через день если зайти, все равно висит эти 153, хотя может я их и не хотел читать, они волокутся за мной))

или может оно так и настроено, просто тут каждый день тысячи коментов штампуют и я иногда нажимаю "все прочитано"?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий