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

[1.x.x]Быстрая цитата


2man

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

Мне интересно, как это сделанно именно на forum.vingrad.ru

Там даже иконка возвращения к процитированному посту есть

Посмотри на mega-forum.net.ru. Там иконка появилась еще раньше, чем на Винграде :D

PALADIN+, я не понял, почему не работает))

В инструкции написано, что для кнопки {P_QUOTE} надо вставить яваскрипт:

 

<a onmouseover="CopyQuote();" href='java script:PasteQuote('{$post['name']}', '{$post['post_date']}', '{$post['pid']}');' title='{ipb.lang['tt_reply_to_post']}'><{P_QUOTE}></a>

 

 

далее в файле quote.js убирай все содержимое и вставляешь этот код:

 

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


function paste(text, o){
if (document.REPLIER) {
if ((document.selection)&&(o)) {
	document.REPLIER.Post.focus();
	document.REPLIER.document.selection.createRange().text = text;
} else document.REPLIER.Post.value += text;
}
}
// Quick quote by 2man
function CopyQuote()
{
	window.txt='';
	if (document.getSelection)
	{
			window.txt=document.getSelection()
	}
	else if (document.selection)
	{
			window.txt=document.selection.createRange().text;
	}
}
function PasteQuote(name,datetime,postid)
{
if(document.REPLIER.Post)
if (window.txt.replace(" ","") != "")
	{
		   document.REPLIER.Post.value +='[quote='+name+', '+datetime+']\n'+window.txt+'\n[/quote]\n'
	}
}  
// Quick quote by 2man
Вот и все ))

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

  • 1 месяц спустя...
Почему то у меня нет файла /html/quote.js Как быть?

Для тех у кого нет quote.js, а есть ibfcode.js.

Другими словами для версии с копирайтом типа:

Powered by Invision Power Board(U) v1.3.1 Final © 2003 IPS, Inc.

 

Делаем так:

Быстрая цитата:

1) в файле skin_topic.php находим:

<a href='{$ibforums->base_url}act=Post&CODE=06&f={$ibforums->input[f]}&t={$ibforums->input[t]}&p={$post['pid']}'><{P_QUOTE}></a>

и заменяем на:

<a onmouseover="get_selection();" href="java script:Insert();"><{P_QUOTE}></a>

2) в файле html/ibfcode.js дописываем в конце:

function get_selection() {
txt=''
if (document.getSelection) {txt=document.getSelection()
		if (!Opera7){
			selection = selection.replace(/\r\n\r\n/gi, "_doublecaret_");
			selection = selection.replace(/\r\n/gi, " ");
 			  while (selection.indexOf("  ") !=-1) selection = selection.replace(/  /gi, "");
			selection = selection.replace(/_doublecaret_/gi, "\r\n\r\n");
		}
	 }
else if (document.selection) {txt=document.selection.createRange().text;}
txt=txt}


function Insert(){
var input=document.REPLIER.Post;
input.value=input.value+'[QUOTE]'+txt+'[/QUOTE]';
}

 

Для вставки имени:

1) в файле Topics.php

находим:

$poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";

заменяем на:

				$poster['name'] = "<a href=\"java script:ins('".str_replace( array(" ", "'"),
																				array(" ", "'"),
																				$poster['name'] )."')\">{$poster['name']}</a>";

2) в файле ibfcode.js дописываем в конце:

function ins(name)
{
if (document.REPLIER.Post)
{
var input=document.REPLIER.Post;
input.value=input.value+"[B]"+name+"[/B]"+","+" \n";
}
}

Говорим спасибо

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

Для тех у кого нет quote.js, а есть ibfcode.js.

Для тех указанные изменения надо делать в ibfcode.js ;)

Otujk, ты хоть сам понимаешь, что ты сейчас запостил и сколько ошибок ты сделал? :D

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

  • 2 недели спустя...
  • 1 месяц спустя...
  • 2 месяца спустя...
В FF не работает, не вариант, который в архиве, не тот, который предложил Mega-Forum, и не то, как я пытался его переделать =) Может кто-то решил эту проблему?
Ссылка на комментарий
Поделиться на других сайтах

Простите конечноже...

Понимаю замучали уже вопросами...

Не как не могу найти ipb_topic.js ...

Пожалуйста укажите полный путь, в каких папках он лежит...

Ну если не сложно то и skin_topic...

Огромное спасибо...

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

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

Привет всем!

зашел к вам с тем же вопросом, обыскав весь рунет и этот форум, где наиболее подходящее решение вижу в Быстрая цитата, т.к. копирайты моей версии Powered by Invision Power Board(U) v1.31 Final © 2003 IPS, Inc. и, по-видимому, вся ява сидит в ibfcode.js

но, к сожалению, оно не функционально...

 

 

Начиная со вставки ника в форму быстрого ответа.

Исходный код Topics.php

//--------------------------------------------------------------
// Fix up the membername so it links to the members profile
//--------------------------------------------------------------

if ($poster['uid'])
{
$poster['name'] = "<a href='{$this->base_url}showuser={$poster['uid']}'>{$poster['uname']}</a>";
}

 

следуя вышепредложенному способу, заменяю на

if ($poster['uid'])
{
$poster['name'] = "<a href=\"java script:ins('".str_replace( array(" ", "'"),
				array(" ", "'"),
				$poster['uname'] )."')\">{$poster['uname']}</a>";
}

 

 

в файле ibfcode.js дописываю в конце:

function ins(name)
{
if (document.REPLIER.Post)
{
var input=document.REPLIER.Post;
input.value=input.value+"[B]"+uname+"[/B]"+","+" \n";
}
}

 

Результат: ссылка над ником выглядит как java script:ins(''), нажатие которой завершается ошибкой "предполагается наличие объекта (строка 1, символ 1, код 0)" :D

 

Очень надеюсь на помощь в коррекции!

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

Что за uname и uid?? Должно быть так:

if ($poster['id'])
{
$poster['name'] = "<a href=\"java script:ins('".str_replace( array(" ", "'"),
																				array(" ", "'"),
																				$poster['name'] )."')\">{$poster['name']}</a>";
}

И в js функции не должно быть никакого uname, что за бред? :D

function ins(name)
{
if (document.REPLIER.Post)
{
var input=document.REPLIER.Post;
input.value=input.value+"[B]"+name+"[/B]"+","+" \n";
}
}

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

Я не знаю, откуда у вас там UID взялся :D могут посоветовать просто заменить ваш код, на тот, который приведет несколькими постами выше.
Ссылка на комментарий
Поделиться на других сайтах

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

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

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