Ссылка на цитируемый постинг в Быстрой цитате

В данном подфоруме будут располагаться темы с анонсами интересных модификаций, а так же будут рассматриваться проверенные временем дополнения для phpBB3.

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Правила форума
----
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Установил себе мод BB Quote Back Link. Молодец, скажете вы, что установил - возьми конфетку. Ну, героических усилий это потребовало немного (всего одну строчку поменять), но выяснилось, что он работает только в "родной" форумской кнопке "Цитата" (той самой, которую Серёга убрал с этого форума), а в быстрой цитате (кнопке "Цитировать выделенное") - фига с маслом... Короче, исправил положение. Для этого потребовалось изменить ещё один файл - на этот раз styles/<ваш стиль>/template/editor.js:

Найти строку

Код: Выделить всё

			insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
и заменить её на следующую (только поменяйте урлу форума на вашу!):

Код: Выделить всё

			insert_text('[quote="[url=http://forum.north-ameri.ca/viewtopic.php?p=' + post_id + '#p' + post_id + ']' + username + '[/url]"]' + theSelection + '[/quote]');
Правда, я сделал так, что ссылкой является ник, а не время цитируемого постинга (как в BB Quote Back Link), которое я вообще не захотел вставлять (оно только замусоривает цитату не неся полезной нагрузки). Выглядит так.

############################################################################################

Кстати, в форумской кнопке "Цитата" я сделал так-же (т.е. без времени). Если хотите, поделюсь опытом. Для этого в файле posting.php (в корневой директории форума) нужно заменить строку

Код: Выделить всё

		$message_parser->message = '[quote="' . $post_data['quote_username'] . '"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";
не на ту, что предлагает мод BB Quote Back Link, а на следующую (то-же самое, но без вставки времени):

Код: Выделить всё

		$message_parser->message = '[quote="[url=' . append_sid(generate_board_url() . "/viewtopic.$phpEx", "p=$post_id#p$post_id") . ']' . $post_data['quote_username'] . '[/url]"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";
#1
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Lorem Ipsum »

Пыталась несколько раз устанавливать этот мод, именно быстрая цитата не цеплялась. Ещё раз что ли попробовать?... Только мне именно дата была интересна.

Сообщение добавлено... спустя 44 секунды:
Ааа, там проблемы могут быть с транслитом. Ыыыыы....
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#2
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Сидели бы дома (вместо того, чтобы шататься по дальним зарубежьям) - и проблем с транслитом бы не было...
#3
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Lorem Ipsum »

И не говорите :-0=)
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#4
Аватара пользователя
Олег В
Активно общаюсь
Активно общаюсь
Сообщения: 340
Стаж: 11 лет
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Олег В »

ursego, Изминения для быстрой цитаты не работают :uch_tiv:
#5
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Оба кэша - форумский и браузерский (Ctrl+F5) - очищены?
#6
Аватара пользователя
Олег В
Активно общаюсь
Активно общаюсь
Сообщения: 340
Стаж: 11 лет
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Олег В »

ursego писал(а):Оба кэша - форумский и браузерский (Ctrl+F5) - очищены?
Да Михаил. и там и там почистил. Правки для обычной цитаты заработали сразу, без каких либо чисток. А вот с БЦ ничего не помогло. :-(--
УРЛУ заменил на свою.

Код: Выделить всё

     insert_text('[quote="[url=http://localhost/forum/viewtopic.php?p=' + post_id + '#p' + post_id + ']' + username + '[/url]"]' + theSelection + '[/quote]');
#7
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Олег В писал(а):УРЛУ заменил на свою.
Урлу не вижу, вижу localhost.
#8
Аватара пользователя
Олег В
Активно общаюсь
Активно общаюсь
Сообщения: 340
Стаж: 11 лет
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Олег В »

ursego, Думаете в этом причина? На реальном попробовать? Но ведь правка обычной ЦИТАТЫ работает на локалке и в созданом сообщении с цитатой вбивается адрес localhost/forum/ и .т.д
Последний раз редактировалось Олег В 31 дек 2013, 11:24, всего редактировалось 1 раз.
#9
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Я всё делаю на реальном, главное - делать бэкап каждого изменяемого файла (чтоб чуть что - возвернуть взад). Если не заработает - придётся ждать когда Серёга вернётся с подводной лодки. :-0=)
#10
Аватара пользователя
Vl@d1m1r
Активно общаюсь
Активно общаюсь
Сообщения: 333
Стаж: 10 лет 6 месяцев
Откуда: Туркменистан
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Vl@d1m1r »

ursego, при нажатии по Быстрая цитата работает, а при нажатии Цитата выделенного в быстрый ответ через всплывашку. нет. Попробую после НГ сам посмотреть, если что отпишусь, Благодарю!
#11
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Честно говоря, не понял о какой всплывашке речь ("Быстрая цитата" - это и есть "Цитата выделенного в быстрый ответ"). Нажимаешь кнопку цитаты выделенного, и оное (выделенное) тихо копируется в форуму быстрого ответа. При этом вроде ничего не всплывает
(кроме подводной лодки с Серёгой)
.
#12
Аватара пользователя
Vl@d1m1r
Активно общаюсь
Активно общаюсь
Сообщения: 333
Стаж: 10 лет 6 месяцев
Откуда: Туркменистан
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Vl@d1m1r »

ursego, делал Отсюда.
#13
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Наверно, то другой мод. У меня - то-же, что и на Хелло Витебске: выделил мышкой, кликнул на кнопку - и выделенное скопировано в форму быстрого ответа. Честно говоря, не знаю что и где при этом могло бы всплывать.
#14
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Lorem Ipsum писал(а):Ааа, там проблемы могут быть с транслитом. Ыыыыы....
Форумчане так достали меня этим факинг "хттп://форум.нортх-амери.ца/виещтопиц.пхп" в цитатах, что решил проблему изменив styles/<название стиля>/template/translit.js, а именно добавив кое-что в массивы слов, которые игнорируются кнопкой Транслит. Я свой translit.js изрядно перелопатил и не помню как эти массивы назывались оригинально - сейчас они называются stIgnoreWordsCyr и stIgnoreWordsLat (по-моему, я их переименовал) и используются для кодов смайликов (мой translit.js полностью скопирован в конец этого постинга, можете глянуть если интересно).

ДОБАВЛЕНО ПОЗЖЕ: вместо метода, описанного здесь, можно использовать автоцензор (как сказано дальше) - это легче, чем ковырять джаваскрипт.

Короче, в stIgnoreWordsCyr я добавил следующие 5 строчек:

Код: Выделить всё

,"хттп"
,"форум.нортх-амери.ца"
,"виещтопиц.пхп"
,"п="
,"ъп"
Ну, а в stIgnoreWordsLat - соответственно, эти:

Код: Выделить всё

,"http"
,"forum.north-ameri.ca"
,"viewtopic.php"
,"p="
,"#p"
Урлу пришлось разбить на фрагменты т.к. джаваскрипт отказался работать со слэшами и знаком вопроса. Не забудьте заменить адрес форума на свой!
А вот и обещанный translit.js - можете скопировать к себе (только замените коды смайликов и custom бибикодов на свои!):

Код: Выделить всё

// Translit by art.kazun |www.kazun.eu| aka filmtablette 04.05.2011
// based on Андрей Мазлин's Translit Function
// Changed by Michael Zuskin (zuskin.com): use rules of translit.ru; ignore custom bbcodes and smileys; ignore link to quoted posting in quotes.
// If you use this file then change bbcodes, smileys and forum's URL to yours!

var lat = new Array("rajon","majonez","jork","jog","yog"
,"je","jo","aju","oju","oje","oja","oj","yj","ya","ja","ju","ja","juju","aja","y","zh","j","shch","shh","ch","sh","a","b","v","w","g","d","e","z","i","k","l","m","n","o","p","r","s","t","u","f","x","c","'e","'","#","j","h","jaj"
);

var cyr = new Array("район","майонез","йорк","йог","йог"
,"э","ё","aю","ою","ое","оя","ой","ый","я","я","ю","я","юю","ая","ы","ж","й","щ","щ","ч","ш","а","б","в","щ","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ц","э","ь","ъ","й","х","яй"
);

var latcap = new Array("Rajon","Majonez","Jork","Jog","Yog"
,"Yo","Jo","Ey","Je","Ay","Oy","Oj","Uy","Uj","Ya","YA","Ja","JA","Ju","JU","Yu","YU","Y","Zh","ZH","J","Sch","SCH","Ch","CH","Sh","SH","Tz","A","B","V","W","G","D","E","Z","I","K","L","M","N","O","P","R","S","T","U","F","X","C","EA","J","H","JAJ","''","##"
);

var cyrcap = new Array("Район","Майонез","Йорк","Йог","Йог"
,"Ё","Ё","Ей","Э","Ай","Ой","Ой","Уй","Уй","Я","Я","Я","Я","Ю","Ю","Ю","Ю","Ы","Ж","Ж","Й","Щ","Щ","Ч","Ч","Ш","Ш","Ц","А","Б","В","Щ","Г","Д","Е","З","И","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Э","Й","Х","ЯЙ","Ь","Ъ"
);

var stBBCodeCyr = new Array(/\[qуоте\=/g,/\[\/qуоте\]/g,/\[б\]/g,/\[\/б\]/g,/\[и\]/g,/\[\/и\]/g,/\[у\]/g,/\[\/у\]/g,/\[цоде\]/g,/\[\/цоде\]/g,/\)\)\)/g,/\)\)/g,/:D\)/g,/\[имг\]/g,/\[\/имг\]/g,/\[урл\]/g,/\[\/урл\]/g,/\[урл\=/g,/\[Ёутубе\]/g,/\[\/Ёутубе\]/g,/\[сизе\=/g,/\[\/сизе\]/g
,/\[Центер\]/g,/\[\/Центер\]/g
,/\[Хиде\]/g,/\[\/Хиде\]/g
,/\[Имг_Х\]/g,/\[\/Имг_Х\]/g
,/\[Имг_лефт\]/g,/\[\/Имг_лефт\]/g
,/\[Лине\]/g,/\[\/Лине\]/g
,/\[Оффтоп\]/g,/\[\/Оффтоп\]/g
,/\[Споилер\=/g,/\[\/Споилер\]/g
,/\[Стрике\]/g,/\[\/Стрике\]/g
,/\[флаш\=/g,/\[\/флаш\]/g
,/\[qуоте\]/g,/\[\/qуоте\]/g
);

var stBBCodeLat = new Array("[quote=","[/quote]","[b]","[/b]","[i]","[/i]","[u]","[/u]","[code]","
"," :)"," :)"," :)","[img]","[/img]","","","[url=","[Youtube]","[/Youtube]","[size=","[/size]"
,"
","
"
,"[Hide]","[/Hide]"
,"[Img_X]","[/Img_X]"
,"[Img_left]","[/Img_left]"
,"[Line]","[/Line]"
,"[Offtop]","[/Offtop]"
,"[Spoiler=","[/Spoiler]"
,"[Strike]","[/Strike]"
,"[flash=","[/flash]"
,"
","
"
);

// Слова, которые кнопка "Транслит" не должна переводить:

var stIgnoreWordsCyr = new Array
(":мргреен:" /* first smiley */
,":_лол1_:"
,":_лол_плакат_:"
,":_плус_оне_:"
,":_кот_отлично_:"
,":_тхумбсуп_"
,":_аплодисменты_:"
,":_щощ_:"
,":_гоод_пост_:"
,":_тханкспин_:"
,":_драсте_:"
,":_реверенце_:"
,":_спасибо_:"
,":ролл:"
,":_ыес_:"
,":_респецт_:"
,":_пожатие_рук_:"
,":_беер_:"
,":_флощерс_:"
,":_шуффле_:"
,":_цонфузе_:"
,":_воздушный_поцелуй_:"
,":_лове_:"
,":оопс:"
,"_:пионер:_"
,":_получай_:"
,":_данце_:"
,":_цонсоле_:"
,":_подмигивание1_:"
,":_язык_:"
,":_супер_:"
,":_всадник_:"
,":_знаика_:"
,":_не_понял_:"
,":_чешет_репу_:"
,":_пожимание_плечами_:"
,":_охмы_:"
,":_вот_черт_:"
,":_ыикес_:"
,":_сад_:"
,":_цры_:"
,":_но_:"
,":_мад_:"
,":_нононо_:"
,":_обморок_:"
,":_не_хулиган_:"
,":_оффтопиц_:"
,":_сорры_:" /* last smiley */
,"хттп"
,"форум.нортх-амери.ца"
,"виещтопиц.пхп"
,"п="
,"ъп"
);

var stIgnoreWordsLat = new Array
(":mrgreen:" /* first smiley */
,":_lol1_:"
,":_lol_plakat_:"
,":_plus_one_:"
,":_kot_otlichno_:"
,":_thumbsup_"
,":_aplodismenty_:"
,":_wow_:"
,":_good_post_:"
,":_thankspin_:"
,":_draste_:"
,":_reverence_:"
,":_spasibo_:"
,":roll:"
,":_yes_:"
,":_respect_:"
,":_pozhatie_ruk_:"
,":_beer_:"
,":_flowers_:"
,":_shuffle_:"
,":_confuze_:"
,":_vozdushnyj_poceluj_:"
,":_love_:"
,":oops:"
,"_:pioner:_"
,":_poluchaj_:"
,":_dance_:"
,":_console_:"
,":_podmigivanie1_:"
,":_jazyk_:"
,":_super_:"
,":_vsadnik_:"
,":_znaika_:"
,":_ne_ponyal_:"
,":_cheshet_repu_:"
,":_pozhimanie_plechami_:"
,":_ohmy_:"
,":_vot_chert_:"
,":_yikes_:"
,":_sad_:"
,":_cry_:"
,":_no_:"
,":_mad_:"
,":_nonono_:"
,":_obmorok_:"
,":_ne_huligan_:"
,":_offtopic_:"
,":_sorry_:" /* last smiley */
,"http"
,"forum.north-ameri.ca"
,"viewtopic.php"
,"p="
,"#p"
);

//корректировка цвета
var stColor = new Array(/\[цолор\=ъ/g,/\[\/цолор\]/g,/БФ/g,/ФФ/g);
var stReplace = new Array("[color=#", "[/color]", "BF","FF");

//корректировка неправильныx переводов
var stCorrectionWrong = new Array();
var stCorrectionRight = new Array();

function translit(formname, textname)
{
var buf = new String;
var selection = false;
var txtarea = document.forms[formname].elements[textname];
var regexp;
var i;

if (document.selection)
{
selection = document.selection.createRange().text;
}

if (selection)
{
buf = selection;
}
else
{
buf = txtarea.value;
}

for (i = 0; i < latcap.length; i++)
{
eval('regexp = /'+latcap+'/g');
buf = buf.replace(regexp, cyrcap);
}

for (i = 0; i < lat.length; i++)
{
eval('regexp = /'+lat+'/g');
buf = buf.replace(regexp, cyr);
}

for (i = 0; i < stBBCodeCyr.length; i++)
{
buf = buf.replace(stBBCodeCyr, stBBCodeLat);
}

for (i = 0; i < stIgnoreWordsCyr.length; i++)

{
eval('regexp = /'+stIgnoreWordsCyr+'/g');
buf = buf.replace(regexp, stIgnoreWordsLat);
}

for (i = 0; i < stColor.length; i++)
{
buf = buf.replace(stColor, stReplace);
}

for (i = 0; i < stCorrectionWrong.length; i++)
{
eval('regexp = /'+stCorrectionWrong[i]+'/g');
buf = buf.replace(regexp, stCorrectionRight[i]);
}

if (selection)
{
eval('regexp = /'+selection+'/');
txtarea.value = txtarea.value.replace(regexp, buf);
}
else
{
txtarea.value = buf;
}

selection = '';

txtarea.focus();

return;
}[/code]
Последний раз редактировалось ursego 03 янв 2014, 18:48, всего редактировалось 1 раз.
#15
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение DeaDRoMeO »

ursego, хах, меня посещали мысли о такой доработке, спасибо, перенесем темку куда надо))
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#16
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Lorem Ipsum »

ursego писал(а):Короче, в stIgnoreWordsCyr я добавил следующие 5 строчек:
А если не лезть в скрипт и сделать замену в автоцензоре?

Проблему со смайликами я решила ещё в самом начале, сделала их всех цифрами.
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#17
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Можно и в автоцензоре, только есть оно "но": джаваскрипт транслита работает редко (у большинства людей на компе есть русский язык и, соответственно, кнопка Транслит нажимается раз в сто лет), а автоцензор работает без отдыха день и ночь - при каждом просмотре любой темы, от первого сообщения до последнего. А у меня автоцензор и так перегружен никами самых активных форумчан (чтоб не коверкались в цитатах).

Коды смайликов в виде цифр - мудрое решение. Увы, я не подумал об этом в начале - пришлось добавить существующие коды в массивы исключений в джаваскрипте (но новые смайлики добавляю только с кириллическим кодом).
#18
Аватара пользователя
Lorem Ipsum
Прописался тут надолго
Прописался тут надолго
Сообщения: 1974
Стаж: 11 лет 7 месяцев
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение Lorem Ipsum »

ursego писал(а):а автоцензор работает без отдыха день и ночь - при каждом просмотре любой темы, от первого сообщения до последнего
Думаете, это даёт большую нагрузку? А как это можно проверить?
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
#19
Аватара пользователя
ursego
Свой на все 100
Свой на все 100
Сообщения: 478
Стаж: 11 лет 2 месяца
Откуда: Днепропетровск
Контактная информация:

Ссылка на цитируемый постинг в Быстрой цитате

Сообщение ursego »

Пожалуй, это я фигню сморозил - автоцензор ведь и так бежит (если не отключен), так ещё 4 слова - биг диль! Короче, попробуйте в автоцензоре и доложите о результатах.
#20
Ответить