Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

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

Аватар пользователя

Установил себе мод
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку
. Молодец, скажете вы, что установил - возьми конфетку. Ну, героических усилий это потребовало немного (всего одну строчку поменять), но выяснилось, что он работает только в "родной" форумской кнопке "Цитата" (той самой, которую Серёга убрал с этого форума), а в быстрой цитате (кнопке "Цитировать выделенное") - фига с маслом... Короче, исправил положение. Для этого потребовалось изменить ещё один файл - на этот раз 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=&quot;' . $post_data['quote_username'] . '&quot;]' . censor_text(trim($message_parser->message)) . "[/quote]\n";
 

не на ту, что предлагает мод BB Quote Back Link, а на следующую (то-же самое, но без вставки времени):

      $message_parser->message = '[quote=&quot;[url=' . append_sid(generate_board_url() . "/viewtopic.$phpEx", "p=$post_id#p$post_id") . ']' . $post_data['quote_username'] . '[/url]&quot;]' . censor_text(trim($message_parser->message)) . "[/quote]\n";
 



Теги темы
пхпбб,ссылка,быстрая,цитата,Quote Back Link,выделенное
          Вернуться наверх  
 

#2 

Аватар пользователя

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

Сообщение добавлено... спустя 44 секунды:
Ааа, там проблемы могут быть с транслитом. Ыыыыы....


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 

#3 

Аватар пользователя

Сидели бы дома (вместо того, чтобы шататься по дальним зарубежьям) - и проблем с транслитом бы не было...


          Вернуться наверх  
 

#4 

Аватар пользователя

И не говорите :-0=)


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 

#5 

Аватар пользователя

ursego, Изминения для быстрой цитаты не работают :uch_tiv:


          Вернуться наверх  
 

#6 

Аватар пользователя

Оба кэша - форумский и браузерский (Ctrl+F5) - очищены?


          Вернуться наверх  
 

#7 

Аватар пользователя

ursego писал(а):

Оба кэша - форумский и браузерский (Ctrl+F5) - очищены?

Да Михаил. и там и там почистил. Правки для обычной цитаты заработали сразу, без каких либо чисток. А вот с БЦ ничего не помогло. :-(--
УРЛУ заменил на свою.
     insert_text('[quote="[url=http://localhost/forum/viewtopic.php?p=' + post_id + '#p' + post_id + ']' + username + '[/url]"]' + theSelection + '[/quote]');
 


          Вернуться наверх  
 

#8 

Аватар пользователя

Олег В писал(а):

УРЛУ заменил на свою.
Урлу не вижу, вижу localhost.


          Вернуться наверх  
 

#9 

Аватар пользователя

ursego, Думаете в этом причина? На реальном попробовать? Но ведь правка обычной ЦИТАТЫ работает на локалке и в созданом сообщении с цитатой вбивается адрес localhost/forum/ и .т.д



Информация о редактировании
Последний раз редактировалось Олег В 31 дек 2013, 11:24, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

Я всё делаю на реальном, главное - делать бэкап каждого изменяемого файла (чтоб чуть что - возвернуть взад). Если не заработает - придётся ждать когда Серёга вернётся с подводной лодки. :-0=)


          Вернуться наверх  
 


Аватар пользователя

ursego, при нажатии по Быстрая цитата работает, а при нажатии Цитата выделенного в быстрый ответ через всплывашку. нет. Попробую после НГ сам посмотреть, если что отпишусь, Благодарю!


          Вернуться наверх  
 


Аватар пользователя

Честно говоря, не понял о какой всплывашке речь ("Быстрая цитата" - это и есть "Цитата выделенного в быстрый ответ"). Нажимаешь кнопку цитаты выделенного, и оное (выделенное) тихо копируется в форуму быстрого ответа. При этом вроде ничего не всплывает [s](кроме подводной лодки с Серёгой)[/s].


          Вернуться наверх  
 


Аватар пользователя

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]","[/code]"," :)"," :)"," :)","[img]","[/img]","[url]","[/url]","[url=","[Youtube]","[/Youtube]","[size=","[/size]"
,"[Center]","[/Center]"
,"[Hide]","[/Hide]"
,"[Img_X]","[/Img_X]"
,"[Img_left]","[/Img_left]"
,"[Line]","[/Line]"
,"[Offtop]","[/Offtop]"
,"[Spoiler=","[/Spoiler]"
,"[Strike]","[/Strike]"
,"[flash=","[/flash]"
,"[quote]","[/quote]"
);

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

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[i]+'/g');
      buf = buf.replace(regexp, cyrcap[i]);
   }

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

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

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

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

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

   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;
}
 



Информация о редактировании
Последний раз редактировалось ursego 03 янв 2014, 18:48, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

ursego, хах, меня посещали мысли о такой доработке, спасибо, перенесем темку куда надо))


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

ursego писал(а):

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

А если не лезть в скрипт и сделать замену в автоцензоре?

Проблему со смайликами я решила ещё в самом начале, сделала их всех цифрами.


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 


Аватар пользователя

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

Коды смайликов в виде цифр - мудрое решение. Увы, я не подумал об этом в начале - пришлось добавить существующие коды в массивы исключений в джаваскрипте (но новые смайлики добавляю только с кириллическим кодом).


          Вернуться наверх  
 


Аватар пользователя

ursego писал(а):

а автоцензор работает без отдыха день и ночь - при каждом просмотре любой темы, от первого сообщения до последнего

Думаете, это даёт большую нагрузку? А как это можно проверить?


_________________
Подпись:
Я уже прошел тот период когда можно было забывать про очистку кеша ©salexcorp
          Вернуться наверх  
 


Аватар пользователя

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


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P