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

Вставка ника + цитата в форме быстрого ответа


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

Не пойму по чему но у меня не работает мод, пробовал и включать и выключать ничего ен просиходит.

пробовал на Опере 10 и на ИЕ 7. обновлял и ничего не происходило. ставил оба мода из первого поста. http://www.delicaclub.ru/forum/index.php

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

Не знаю насколько корректно или нет, но по клику в форму быстрого ответа попадает значение поля "name" из таблицы ibf_members.

У многих форумы старые с кучей старых пользователей, не знаю в какой версии это появилось, но в 3-ке точно есть возможность изменять отображаемое имя на форуме.

У меня по дефолту при достижении 500 постов пользователь может сменить ник.

Так вот когда кликаю на кнопку "Ник в форму быстрого ответа" туда как я писал попадает значение из name, т.е. первый ник который был при регистрации.

У себя я пока вручную в файле fastReplyNickQuote_лалала.php в 20-ой строке сделал так:

$nick = addslashes($author["members_display_name"]);

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

Так вот когда кликаю на кнопку "Ник в форму быстрого ответа" туда как я писал попадает значение из name, т.е. первый ник который был при регистрации.

У себя я пока вручную в файле fastReplyNickQuote_лалала.php в 20-ой строке сделал так:

$nick = addslashes($author["members_display_name"]);

 

И что - у вас получилось ?

У меня так не выходит, о чем я писал выше здесь

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

  • 2 недели спустя...
Ritsuka, может пока, если особо не затруднит, добавите возможность выбора, что вставлять - отображаемый ник или логин?

 

http://ritsuka.ru/post/253106849

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

Обновил оппост и вынес ссылку на актуальную версию.

 

Исправлена проблема с раскрашенными никами. Исправлена проблема с разными ником и отображаемым именем.

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

В новой версии:

post-75890-1259956507_thumb.jpg

 

Чтобы получить новую версию на тестирование, свяжитесь лично.

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

Ritsuka, что-то у меня какая то проблема.

 

Форум на локалке. Был переведён с IPB 2.3.6 > 3.0.4

 

Кодировка БД: UTF-8

Сравнение: utf8_unicode_ci

 

Работает ВСЁ, кроме вставки выделенного фрагмента сообщения в быстрый ответ. Выдаёт такие две ошибки:

 

Ошибка: pmInfo is null

Источник: http://cyber-systems2.org/public/min/index...e/1/ipb.lang.js

Строка: 512

 

Ошибка: prm_2 is not defined

Источник: http://cyber-systems2.org/index.php?/topic...amp;#entry96121

Строка: 461

 

Не знаешь в чём может быть проблема?

 

Я уже всю голову изломал себе. :D

 

Причём на чисто поставленном форуме всё работает. На обновлённом - нефига.

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

idTails, это потому, что я пытаюсь выбирать к цитате посредством JavaScript дополнительные данные - автор поста, дата-поста, номер сообщения... Посмотри внимательно на функцию:

 

function _get_quote_text_from_pid (id) {

post = document.getElementById("post_id_"+id);

rows = post.getElementsByTagName('a');
for( var i = 0, row; row = rows[i]; i++ )
	if (row.className == 'url fn')
		prm_0 = row.innerHTML.replace(/<\/?[^>]+(>|$)/g, "");

rows = post.getElementsByTagName('abbr');
for( var i = 0, row; row = rows[i]; i++ )
	if (row.className == 'published')
		prm_1 = row.innerHTML;

rows = post.getElementsByTagName('div');
for( var i = 0, row; row = rows[i]; i++ )
	if (row.className == 'post entry-content')
		prm_2 = row;

if(!prm_0 || !prm_1 || !prm_2)
{
	alert("Error: non-standart skin used! Can't find post data.");
	return;
}

var txt = '';

if (window.getSelection)
{
	//Safari
	txt = window.getSelection();
}
else if (document.getSelection)
{
	//Firefox
	txt = document.getSelection();
}
else if (document.selection)
{
	txt = document.selection.createRange().text;
	document.selection.clear();
}

if(txt == ''){
	if (document.selection) {
		var range = document.body.createTextRange();
		range.moveToElementText(prm_2);
		range.select();
		txt = document.getSelection();
	} else if (window.getSelection) {
		var range = document.createRange();
		range.selectNode(prm_2);
		window.getSelection().addRange(range);
		txt = window.getSelection();
	}			
}

if(USE_RTE)
	quote_text = document.getElementById("tmpl_quote_rte").value;
else
	quote_text = document.getElementById("tmpl_quote_nor").value;

quote_text = quote_text.replace(/{name}/, prm_0);
quote_text = quote_text.replace(/{date}/, prm_1);
quote_text = quote_text.replace(/{post}/, id);
quote_text = quote_text.replace(/{quote}/, txt);

var sel;
if (document.selection && document.selection.empty) 
  document.selection.empty();
else if(window.getSelection) 
{
  sel=window.getSelection();
  if(sel && sel.removeAllRanges)
	   sel.removeAllRanges();
}

return quote_text;
}

 

Она достаточно громоздкая и неаккуратная и выбирает данные для вставки путем прохода по дереву элементов на странице.

 

Ошибка: prm_2 is not defined

Значит, не может найти div с классом "post entry-content". В стандартной теме он есть, в вашей новой его, по видимому, нет... Собственно, отсюда два пути решения - либо внести в тему, либо подправить эту функцию.

 

Для первых версий хука после установки функция лежит в /hooks/fastReplyNickQuoteScript_*.php, для последних - отдельным файлом в /public/js/ritsu.nice_userinfo.js.

 

В данный момент в очередной раз переписываю модуль:

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

- немного исправляю довольно неуклюжую реализацию мультиаватаров (много ненужных запросов к БД).

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

Нет. Я читал самую первую тему по твоему моду, где ты говорил, что нужен стандартный стиль. У меня стандартный стиль, и див этот там имеется:

<div class="post entry-content " id="">
					<!--cached-Thu, 10 Dec 2009 04:17:05 +0000-->Уважаемые пользователи.<br/>
<br/>
Наш портал работает в тестовом режиме. Тестируются функции и идёт переход на новую версию движка.<br/>
<br/>
Время от времени, портал будет становится недоступным, потому что идёт постепенное обновление Базы Данных.<br/>
<br/>
Просим отнестись с пониманием. Приносим извинения за временные неудобства.

					<br/>

				</div>

 

Не работает как данная версия, так и более новая с мультиаватарами.

Я и сам не могу понять, почему такое происхдит.

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

Ritsuka, я нашёл ошибку!

 

Я не знаю как у других работает, но у меня в шаблоне вот такая конструкция:

<div class='post entry-content <if test="$post['post']['_repignored'] == 1">imgsize_ignore</if>'>

 

Вот! Когда условие НЕ выполняется, то за место него ставится пробел. А у тебя вот такой код:

if (row.className == 'post entry-content')

 

То есть, после entry-content никакого пробела нет!

 

Вот в чём была ошибка! Я не знаю как в русской версии, но на последней английской 3.0.5 такая конструкция присутствует. Да и на 3.0.4 скорее всего тоже была, потому как у меня там тоже не работало.

 

Но первая ошибка яваскрипта имеет место быть:

Ошибка: pmInfo is null

Источник: http://cyber-systems.org/public/js/ips.quickpm.js

Строка: 33

 

		if( !pmInfo[2] ){ Debug.error('Could not find member ID in string ' + target.id); }

И у пользователя вдруг пропали все кнопки. Даже стандартный повышения/понижения репы.

 

Ри, обрати внимание на эту странность. Оо

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

Подскажите, а как её установить то?

При попытке установить - становятся большие буквы и какая-то ошибка вылазит...!

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

Ну, раз "какая-то" ошибка вылазит, значить нужно "что-то" проверить и поправить :D

 

Кстати, а вы распаковываете архив перез заливкой? ;)

 

Перезалил архив, там была слишком хитрая архивация, из-за чего могли быть проблемы у Windows-пользователей :)

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

Распаковал, достал xml

При его попытке поставить:

XML файл не загружен. Пожалуйста, попробуйте снова.

 

ДОБАВЛЕНО!

Торможу, всё норм встало!

СПАСИБО ЗА ХУК!

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

У меня вроде все работает. но почему то цитата сообщения где присутствует цитата другого сообщения, получается вот так:

 

post-75813-1261337896_thumb.png

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

Новая версия под 3.0.5 в шапке. Изменение в шаблонах форума делает старую версию хука нерабочей.

 

Evrika, это всего лишь быстрая цитата, мы цититруем лишь текст сообщения, а не его исходные коды.

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

Только хотел постонать что нет версии для 3.0.5! Спасибо Ritsuka

 

update: не работает :D и после установки пишет что версия 2.0.2 ;)

 

Функция скрытия полей работает. Кнопки "Быстрая цитата" не появляется :)

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

Настройки проверьте - включена ли она? :D

 

И перекачайте на всякий случай архив - может у вас закешировалась старая версия... Вот еще ссылка, которая лишена проблемы с кешем.

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

Ну так допполя то пропадают :D и появляются...

 

Новая ссылка не рабочая, а я еще качал и с блога тоже...

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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