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

[2.3.x]Вставка имени и быстрая цитата с выделением


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

  • Ответы 220
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Sannis, могу скинуть данные для доступа в личку.

В ПХПМА:

Den& #39;s

без пробела, разумеется.

Про RenderRow не понял к чему, но всё же, там двумя строчками все ограничивается:

{$author['ins_nick']}<br />
			{$author['ins_q']}<br />

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

Мод установил, - отлично работает в ФФ и ИЕ, в Сафари и Гугл Хром - НЕ РАБОТАЕТ кнопка цитаты вообще, в Сафари 4 - вставляется текст цитаты но не обрамляется тегом, а в Сафари 3.1.2 - при нажатии на кнопку цитата (текст выделен) - просто открывается форма быстрого ответа (если она свёрнута)...

 

в Гугл хром цитата не вставляется вообще...

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

знаешь что решает имхо?

"& #39;"

-->

'& #39;'

 

кавычки

Тогда что делаем с Den"s? :D по хорошему там в БД должны и ' и " заменяются, странно что не так.

 

Странно, если у вас в БД уже очищенное имя, Den& #39;s, то не должна появляться кавычка в тексте. Так что пока не проверю -- не поверю ;) Если хотите, пришлите данные для доступа к FTP в ПМ, посмотрю сегодня.

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

нет. ты не понял

все, что в двойных кавычках преобразуется в символы

"& #39;" = '\''

все, что в одинарных - нет

'& #39;' <> '\''

 

также на крайний случай можно

'& amp;#39;'

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

Сами по себе двойные/одинарные кавычки к HTML-сущностям одинаково относятся. или ты что-то другое имел в виду? :D
Ссылка на комментарий
Поделиться на других сайтах

Нда, странная вешь. Это особенность Яваскрипта или PHP, по твоему?

Я просто помню, что год назад ставил этот мод и проблема решалась без этого бубна, строго по инструкции mrMad-Cat'а.

 

Помогло следующее:

		if ( $poster['id'] )
	{
		$poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
		$poster['ins_nick'] = "<a href=\"java script:ins('".str_replace(array(" ", "& #39;"), array("& nbsp;", "\'"), $poster['members_display_name'] )."')\">Вставить ник</a>";
	}
	$qqn = str_replace( array(" ", "& #39;"), array("& nbsp;", "\& #39;"), $poster['members_display_name'] );
	$poster['ins_q'] = "<a onmouseover=\"copyQ('{$qqn}','{$row['q_date']}', '{$row['pid']}');\" href=\"java script:pasteQ();\">Цитата</a>";

 

А для совместимости с модом расширенного ответа ещё изменили так:

$qqn = str_replace( array(" ", "& #39;"), array("& nbsp;", "\& amp;#39;"), $poster['members_display_name'] );

 

Mantius, посомтрите как в остальном, работает ли, если надо подправлю, сейчас уже поздно :D

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

  • 2 месяца спустя...

мод установил,работает...вот только не отображается русский шрифт "Вставить ник" и "Цитата"

какая-то аброкадабра...

форум лицензия 2-3-6

хост работает с кодировкой cp 1251

если написать англ,то отображается англ верно...

все советы в теме не подошли...

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

 

if ( ! defined( 'IN_IPB' ) )
{
print "<h1>оЕЛПТТЕЛФОЩК БДТЕУ</h1>чЩ ОЕ ЙНЕЕФЕ ДПУФХРБ Л ЬФПНХ ЖБКМХ ОБРТСНХА. еУМЙ ЧЩ ОЕДБЧОП ПВОПЧМСМЙ ЖПТХН, ЧЩ ДПМЦОЩ ПВОПЧЙФШ ЧУЕ УППФЧЕФУФЧХАЭЙЕ ЖБКМЩ.";
exit();
}

class topics
{
# Global
var $ipsclass;

 

и тому подобное...

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

  • 1 месяц спустя...
  • 4 недели спустя...
  • 4 месяца спустя...

Спасибо за мод, очень нужный.

 

Но я себе внесла в нем изменения, а именно чтобы обращение вставлялось при клике на ник, и цитата также вставлялась при клике на ник при наличии выделенного текста. А меню пользователя выпадало только через стрелочку.

 

Мой код в topics.php выглядит так:

 

		if ( $poster['id'] )
	{
		$poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
		$qqn = str_replace( array(" ", "'"), array(" ", "\'"), $poster['members_display_name'] );
		$poster['ins_nick'] = "<a onclick=\"ins('".str_replace(array(" ", "'"), array(" ", "'"), $poster['members_display_name'] )."'); return false;\" onmouseover=\"copyQ('{$qqn}','{$row['q_date']}', '{$row['pid']}'); pasteQ();\">{$poster['members_display_name_short']}</a>";
	}

 

Код фрагмента шаблона RenderRow, отвечающий за ник и стрелочку:

				<div style='float:left'>
				<span class="{$post['name_css']}">{$author['_pp_online_image']}{$author['ins_nick']}</span>
			</div>
<div style='float:right' id="post-member-{$post['pid']}" class='popmenubutton-new-out'><img src='style_images/<#IMG_DIR#>/info.png'></div>

 

Но у меня в процессе возникла одна проблема (т.к. я плохо ориентируюсь в js), я не могу сделать так, чтобы цитата вставлялась без обращения. То есть при клике на ник вставляется обращение, а при выделении текста и клике вставляется цитата + опять обращение. Поэтому я пока оставила у себя, чтобы цитата вставлялась при выделении и onmouseover на нике. Если кто-то знает, как сделать цитирование на onclick без повторной вставки обращения, буду благодарна. Пыталась вставлять return false, но не добилась нужного результата.

 

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

 

поставил, так как по инструкции написано на локалке и после установки несмог войти в тему пишет ошибку:

 

Parse error: parse error, unexpected T_VARIABLE, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in x:\home\localhost\www\forum\sources\action_public\topics.php on line 998

 

 

у меня тоже вот такая проблема.

Parse error: parse error, unexpected T_VARIABLE, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/www/............/........./forum/sources/action_public/topics.php on line 1041

я 3 раза сделал одно и тоже. . не получилось.

спасибо за внимание.

 

Просто в куске кода для вставки в topics.php в архиве автора есть лишняя скобка. Я не знаю, почему у кого-то все встает ровно, но там действительно лишняя закрывающаяся скобка.

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

Поставил все работает.

Но почему то при вставке цитаты вставляется только выделенный текст без

[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']\n'+txt+'\n[/quote]

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

  • 1 месяц спустя...
Как разместить вставку цитаты вместо +Цитата внизу сообщения? (скрин внизу) Наверняка кто-нибудь интересовался таким вопросом и ответ наверное имеется. Сама по себе функция +Цитата никому из пользователей форума не нравится и никто не будет по ней скучать.

post-80835-1271864658_thumb.jpg

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

  • 1 месяц спустя...
Может кто поможет с решением: Как присвоить Цитата Вставить ник свои изображения-кнопки? Кароче графические кнопки а не текстовые, как в моде по умолчанию :) Изменено пользователем Freestyler(c)
  • Лайк 1
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Как сделать, что бы при цитировании выделенного цитировались так же и смайлики? У меня стоит этот мод и смайлики не цитируются (IPB 2.3.6)
Ссылка на комментарий
Поделиться на других сайтах

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

А вот и фикс для Хрома:

 

Заменить код в ./jscripts/ipb_topic.js на следующий:

function ins(name)
{
   my_show_div(my_getbyid('qr_open'));
   if (document.REPLIER.Post)
   {
       var input=document.REPLIER.Post;
       input.value=input.value+"[b]"+name+"[/b]"+" \n"
   }
}

function copyQ(qinf,date,pid) {
   var quoteArea = document.getElementById("fast-reply_textarea");
   var quoteSelected;

   if(document.getSelection) {
       quoteSelected = document.getSelection().toString();
   } else if(document.selection && document.selection.createRange) {
       quoteSelected = document.selection.createRange().text;
   } else {
       quoteSelected = window.getSelection().toString();
   }

   quoteArea.value += '[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']' + quoteSelected + '[/quote]\r\n';
}

function pasteQ()
{
   my_show_div(my_getbyid('qr_open'));
   if (document.REPLIER.Post) 
       document.REPLIER.Post.value += txt;
}

 

Заменить код в ./sources/action_public/topics.php на следующий (фактически onmouseover меняется на onClick):

 

if ( $poster['id'] )
               {
                       $poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
                       $poster['ins_nick'] = "<a href=\"javascript:ins('".str_replace(array(" ", "'"), array(" ", "\'"), $poster['members_display_name'] )."')\">Вставить ник</a>";
               }
               $qqn = str_replace( array(" ", "& #39;"), array(" ", "\'"), $poster['members_display_name'] );
               $poster['ins_q'] = "<a onClick=\"copyQ('{$qqn}','{$row['q_date']}', '{$row['pid']}');\" href=\"javascript:pasteQ();\">Цитата</a>";

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

  • 3 недели спустя...
Все работает. Спасибо! Установил. Теперь осталось только с Хромом разобраться Изменено пользователем slaru
Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

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

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