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

Ошибка при цитировании


dimitry

Вопрос

IPB 1.3

Именно при ответе с цитированием (после нажима на кнопку цитата) на любое сообщение и установленным режимом Разрешить загрузку файлов (неважно какого размера) над логотипом IPB в самом верху страницы появляется ошибочка PHP Warning: Missing argument 2 for upload_field() in z:\home\...\www\forums\Skin\s1\skin_post.php on line 421 Причем, что интересно, это скрипт и до возникновения этой ошибки не изменялся.

Вот отрывок с того места

function Upload_field($data, $exts) {
global $ibforums;
return <<<EOF
 <tr>
<td colspan="2" class='pformstrip'>{$ibforums->lang['upload_title']}</td>
 </tr>
 <tr>
<td class='pformleft'>{$ibforums->lang['upload_text']} $data</td>
<td class='pformright'><input class='textinput' type='file' size='30' name='FILE_UPLOAD' /><br>{$ibforums->lang['exts_allowed']}: {$exts}</td>
 </tr>

EOF;
}


function errors($data) {
global $ibforums;
return <<<EOF
<div class="tableborder">
 <div class="pformstrip">{$ibforums->lang['errors_found']}</div> - [color=#FF0000]вот именно здесь 421 строка с багом[/color]
 <div class="tablepad"><span class='postcolor'>$data</span></div>
</div>
<br />
EOF;
}

Причем файлы в аттач закачиваются и скачиваются из него нормально.

 

И еще один вопрос по поводу skin_topic

Где (в каком скрипте) нужно заменить, чтобы при просмотре темы там, где есть цитата и идет обозначение

QUOTE (... @ 5.10.2006 - 21:55)

Чтобы вместо слова QUOTE отображалось слово Цитата

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

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

  • 0
Где (в каком скрипте) нужно заменить, чтобы при просмотре темы там, где есть цитата и идет обозначение

post_parser.php

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

  • 0
Не все значения передаются, какой-то параметр теряется..
Ссылка на комментарий
Поделиться на других сайтах

  • 0
это я немного оффтоплю, но imho, ответ с цитирование ересь. Надо юзать быстрое цитирование.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Где (в каком скрипте) нужно заменить, чтобы при просмотре темы там, где есть цитата и идет обозначение

post_parser.php

Что-то менял я там

$this->quote_open++;

	if ($date == "")
	{
		$html = $this->wrap_style( array( 'STYLE' => 'Цитата', 'EXTRA' => "($name)" ) );
	}
	else
	{
		$html = $this->wrap_style( array( 'STYLE' => 'Цитата', 'EXTRA' => "($name @ $date)" ) );
	}

	$extra = "-".$name.'+'.$date;

	return "<!--QuoteBegin".$extra."-->{$html['START']}<!--QuoteEBegin-->";

Все равно пишет QUOTE.Может что-то в БД занесено?

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

  • 0

На самом деле, нужно ставить мод именно вот этот http://www.ibresource.ru/db/157 - в нем присутствует что-то такое, что активизирует наконец-таки кнопку-макрос T_QREPLY <img src='style_images/<#IMG_DIR#>/t_qr.gif..., т.к. если использовать другой мод под названием "Форма быстрого ответа" - эта кнопка не появляется!.

Далее - удалось мне влепить функцию вставки цитаты выделенного, т.к. на 1.3 Final эта функция выделения и вставки цитаты - вообще ни черта не работала.: выделяешь текст, кликаешь "нажмите сюда" - и никакой реакции вообще.

Потому что там была по-моему ошибка.

Нужно после установки мода Расширенная форма быстрого ответа в функции function quick_reply_box_open($fid="",$tid="",$show="hide", $key="") { (и только в ней!) найти следующее место:

 

<!-- TITLE DIV -->
<div class="tableborder">
<div class='maintitle'> {$ibforums->lang['qr_title']}</div>
<table cellpadding="0" cellspacing="0" width="100%">
<!--IBF.NAME_FIELD-->
<tr>
  <td class='pformstrip' colspan="2">{$ibforums->lang['ib_code_buttons']}</td>
</tr>
<tr>
  <td class='pformleft'>
   <input type='radio' class='radiobutton' name='bbmode' value='ezmode' onclick='setmode(this.value)' /> <b>{$ibforums->lang['bbcode_guided']}</b><br />
   <input type='radio' class='radiobutton' name='bbmode' value='normal' onclick='setmode(this.value)' checked="checked" /> <b>{$ibforums->lang['bbcode_normal']}</b>
   <script type='text/javascript' src='html/ibfcode.js'></script>
  </td>
  <td class='pformright'>
   <input type='button' accesskey='b' value=' B '	   onclick='simpletag("B")' class='codebuttons' name='B' style="font-weight:bold" onmouseover="hstat('bold')" />
   <input type='button' accesskey='i' value=' I '	   onclick='simpletag("I")' class='codebuttons' name='I' style="font-style:italic" onmouseover="hstat('italic')" />

А конкретнее:

 

 <input type='radio' class='radiobutton' name='bbmode' value='ezmode' onclick='setmode(this.value)' /> <b>{$ibforums->lang['bbcode_guided']}</b><br />
   <input type='radio' class='radiobutton' name='bbmode' value='normal' onclick='setmode(this.value)' checked="checked" /> <b>{$ibforums->lang['bbcode_normal']}</b>

И заменить это хозяйство на следующее:

 <input type='radio' class='radiobutton' name='bbmode' value='ezmode' onclick='setmode(this.value)' /> <b>{$ibforums->lang['bbcode_guided']}</b><br />
   <input type='radio' class='radiobutton' name='bbmode' value='normal' onclick='setmode(this.value)' checked="checked" /> <b>{$ibforums->lang['bbcode_normal']}</b><br />
<a href="java script:Insert(selection);" onmouseover="get_selection();" class='postdetails'><b>Цитировать выделенное</b></a>

Обратите внимание - именно onmouseover а не onMouseDown - и только после этого наконец-таки в окошке быстрого ответа появилась у меня цитата с выделенного.

 

А теперь вопрос к IPB-представителям:

 

В данном случае вставляется цитата без имени и даты.По ходу дела необходимо изменить параметры в ява-скрипте qoute.js

 

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

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

function paste(text, flag){ 
if (document.REPLIER) {
if ((document.selection)&&(flag)) {
document.REPLIER.Post.focus();
document.REPLIER.document.selection.createRange().text = text;
} else document.REPLIER.Post.value += text;
}
}

function get_selection() {
  if (document.getSelection){
selection = document.getSelection();
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
  selection = document.selection.createRange().text;
}

 

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

 

Функция копирования/вставки с цитаты в моде Вставки ника и даты в скрипте quote.js выглядит так:

 

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

 

Чтобы можно было вставлять множество цитат тем же макаром (с выделением текста) и при полном ответе, то нужно аналогично в скрипте skin_post.php нужно в функции function postbox_buttons($data) { заменить

<input type='radio' class='radiobutton' name='bbmode' value='ezmode' onclick='setmode(this.value)' /> <b>{$ibforums->lang['bbcode_guided']}</b><br />
   <input type='radio' class='radiobutton' name='bbmode' value='normal' onclick='setmode(this.value)' checked="checked" /> <b>{$ibforums->lang['bbcode_normal']}</b>

На:

<input type='radio' class='radiobutton' name='bbmode' value='ezmode' onclick='setmode(this.value)' /> <b>{$ibforums->lang['bbcode_guided']}</b><br />
   <input type='radio' class='radiobutton' name='bbmode' value='normal' onclick='setmode(this.value)' checked="checked" /> <b>{$ibforums->lang['bbcode_normal']}</b><br />
<a href="java script:Insert(selection);" onmouseover="get_selection();" class='postdetails'><b>Цитировать выделенное</b></a>

Т.о. можно внизу выделять текст - и вставлять.Правда не получится вставить, если цитируемое выделение находится на предыдущих страницах.

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

  • 0
dimitry, одна тема один вопрос!
Ссылка на комментарий
Поделиться на других сайтах

  • 0
IPB 1.3

И еще один вопрос по поводу skin_topic

Где (в каком скрипте) нужно заменить, чтобы при просмотре темы там, где есть цитата и идет обозначение

QUOTE (... @ 5.10.2006 - 21:55)

Чтобы вместо слова QUOTE отображалось слово Цитата

Где (в каком скрипте) нужно заменить, чтобы при просмотре темы там, где есть цитата и идет обозначение

post_parser.php

Это неправильный ответ!

Правильный ответ - lang/2/mod_bbcode_lang.php

$lang['k_html'] = "l";
$lang['bb_quote_title'] = "Цитата";
$lang['bb_code_title'] = "CODE";

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

  • 0
Это неправильный ответ!Правильный ответ - lang/2/mod_bbcode_lang.php

Это смотря в какой версии.

 

 

Я вот открываю 1.3.1 post_parser.php

и вижу:

		$possible_use = array( 'CODE'  => array( 'CODE',  'Код' ),
						   'QUOTE' => array( 'QUOTE', 'Цитата'  ),
						   'SPOILER' => array( 'SPOILER', 'Скрытый текст'  ),
						   'SQL'   => array( 'CODE' , 'SQL'),
						   'HTML'  => array( 'CODE' , 'HTML'),
						   'PHP'   => array( 'CODE' , 'PHP')
						 );

никакими лангами здесь и не пахнет.

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

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

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

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

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

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

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

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

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

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

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

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