Перейти к контенту

Цитата с автором и датой для 2.0.х


Рекомендуемые сообщения

Сделала по аналогии с Цитирование с автором и временем - для 2.0.х (будет ли на других двушках работать - не знаю). Мало ли, кому понадобится. :D Пользователям нравится...

 

В /scripts/quote.js и /scripts/journal.js

найти:

function Insert(text){
	if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

заменить на:

function Insert(text,authorpost,datapost){
	if (text!="") paste("[quote="+authorpost+", "+datapost+"]"+text+"[/quote]\n", 0);
}

 

В comments.php найти:

$post['edit_btn'] = $journal->skin->html['posts']->post_quote();

заменить на:

$post['edit_btn'] = $journal->skin->html['posts']->post_quote($post);

 

В /misc/post_render.php найти:

$row['edit_btn'] = $journal->skin->html['posts']->comment_btn_quote();

заменить на:

$row['edit_btn'] = $journal->skin->html['posts']->comment_btn_quote($row);

 

В /scin_cash/1/scin_posts.php найти:

function comment_btn_quote() {
global $ibforums, $journal;
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection);' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>
EOF;

//--endhtml--//
return $IPBHTML;
}

заменить на:

function comment_btn_quote($row="") {
global $ibforums, $journal;
$data_post="{$row['date']}  {$row['time']}";
$author_post="{$row['author_name']}";
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection, "$author_post", "$data_post");' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>
EOF;

//--endhtml--//
return $IPBHTML;
}

найти далее:

function post_quote() {
global $ibforums, $journal;
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection);' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>  & # 149;   
EOF;

//--endhtml--//
return $IPBHTML;
}

заменить на:

function post_quote($post="") {
global $ibforums, $journal;
$data_post="{$post['date']}  {$post['time']}";
$author_post="{$post['author_name']}";
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection, "$author_post", "$data_post");' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>  & # 149;   
EOF;

//--endhtml--//
return $IPBHTML;
}

& # 149;   - слитно.

Всё.

Ссылка на комментарий
Поделиться на других сайтах

В /scripts/quote.js и /scripts/journal.js

найти:

function Insert(text){
	if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

заменить на:

function Insert(text,authorpost,datapost){
	if (text!="") paste("[quote="+authorpost+", "+datapost+"]"+text+"[/quote]\n", 0);
}

Так мы получим ошибку джаваскрипт со старых ссылок.

Я для совместимости с прошлыми модами делал новой функцией.

 

Раз уж не не добавлена новая функция, для совместимости с прошлыми модами можно расширить джаваскрипт:

 

найти:

function Insert(text){
	if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

заменить на:

function Insert(text,authorpost,datapost){
if (text!=""){
	if(!authorpost||!datapost)paste("[quote]"+text+"[/quote]\n", 0);
	else paste("[quote="+authorpost+", "+datapost+"]"+text+"[/quote]\n", 0);
}
}

Ссылка на комментарий
Поделиться на других сайтах

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

Помнится, для 2.х тоже был такой мод.

Этот мод перестанет работать, если изменить функцию джаваскрипт.

Цитаты приобретут вид:

Текст цитаты
Ссылка на комментарий
Поделиться на других сайтах

Ну... у меня нет такого мода, а функция используется ТОЛЬКО кнопками "Цитата" в дневниках, а там, кроме как сообщения, цитировать нечего - видимо, поэтому и проблемы нет. :D
Ссылка на комментарий
Поделиться на других сайтах

На 2.1 пойдёт? Не пробовали?

 

Спасибо за мод. Очень нужен, но ставить пока боюсь, вдруг на 2.1 не подходит.

Изменено пользователем Lera
Ссылка на комментарий
Поделиться на других сайтах

Lera, думаю, подойдет. :D Посмотри строчки, которые "найти" - совпадают?

 

FatCat, а, если уж совсем заморочиться, то можно расписать и вот так:

ffunction Insert(text,authorpost,datapost)
{
 if( text!="") 
 {
	  if( authorpost!="") 
	  {
		   if( datapost!="") 
				paste("[quote="+authorpost+", "+datapost+"]"+text+"[/quote]\n", 0);
		   else
				paste("[quote="+authorpost+"]"+text+"[/quote]\n", 0);
	  }
	  else if( datapost!="") 
		   paste("[quote="+datapost+"]"+text+"[/quote]\n", 0);
	  else 
		   paste("[quote]"+text+"[/quote]\n", 0);
 }
}

чтобы уж совсем - на все случаи жизни. ;)

Ссылка на комментарий
Поделиться на других сайтах

В /scripts/quote.js У меня вот этого файлика нет.

В папке скриптов только 4 файла jsetup.js jpoll.js journal.js jcustom_skin.js ((( Жаль, цитаты все просят давно. Руками прописывать надоело. А в этих файлах нет нужных строчек, указанных тобой.

 

Кто знает, как для 2.1 сделать?

Изменено пользователем Lera
Ссылка на комментарий
Поделиться на других сайтах

Попробую без того файла. :D

 

Не работает.

 

В последнем изменении у меня выглядит так:

function post_quote() {
global $ibforums, $journal;
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection);' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>  
EOF;

//--endhtml--//
return $IPBHTML;
}

 

Заменяю, чтоб было так, может и не верно.

function post_quote() {
global $ibforums, $journal;
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<a href='java script:Insert(selection);' onmouseover='java script:get_selection();'>{$ibforums->lang['j_quote']}</a>  
EOF;

//--endhtml--//
return $IPBHTML;
}

 

Хотя проверю все файлы так, может получится.

там глотает,  

EOF;

Изменено пользователем Lera
Ссылка на комментарий
Поделиться на других сайтах

function Insert(text){
if (text!="") paste("[quote]"+text+"[/quote]\n", 0);
}

 

Вот так. :D

Ну, собственно, так же она и выглядит. ;) Должно работать. :)
Ссылка на комментарий
Поделиться на других сайтах

Точку пишет))) тут.

 

Сейчас попробую ещё раз, а то ошибку выдаёт, где-то не то что-то. Тут ещё и точку ставит, вместо 149 и так далее. ))

Ссылка на комментарий
Поделиться на других сайтах

Не-а, не так. :D

Ты не добавила в скобки ($post="") вот и не работает.

 

До изменения первая строчка:

function post_quote() {

после:

function post_quote($post="") {

Ссылка на комментарий
Поделиться на других сайтах

Попробовала. У меня именно файл skin_posts.php не хочет работать.

Он открывает новую страницу, которая не найдена.

Хотя сейчас всё старалась правильно ставить, может что-то не подходит?

 

Стёрла, вопрос снят.

 

 

 

ВСЁ! ОГРОМНОЕ СПАСИБО!

Я стала ставить не всё вместе, а только заменять отличающиеся куски, и заработало. Allure спасибо тебе большое.

Изменено пользователем Lera
Ссылка на комментарий
Поделиться на других сайтах

Lera, это я напортачила *пальцемковырятельный смайл*... Надо было отделить "149" пробелом, чтобы не сработало, а я не заметила... Вот заодно и исправила. :D Тебе тоже спасибо, а то так и не заметила бы. ;)
Ссылка на комментарий
Поделиться на других сайтах

  • 3 года спустя...

цитаты все равно принимают вид. Что делать?Пробовал все варианты которые были предложены тут.

цитата

Изменено пользователем Sentis
  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.