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

[2.1.x]Причина редактирования сообщения


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

Название: Причина редактирования сообщения

Добавил: Arhar

Добавлен: 05 Май 2007

Обновлен: 05 Май 2007

Категория: IP.Board 2.1.x

 

В полное, а также быстрое редактирование сообщения добавляется графа "причина редактирования", которая отображается при редактировании после даты редактирования мелким шрифтом.

Возможно использование ббкодов в этом поле.

Инструкция сложная.

 

Нажмите здесь, чтобы скачать файл

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

>Инструкция сложная.

А чего там сложного? :D

 

Я вот подумываю, может и для 1.3 сделать причину редактирования поста… Только там нет «быстрого редактирования» :) но хоть в обычном сделаем ;) Только в линейке 1.х все намного сложнее :)

 

Arhar, респект за мод.

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

Инструкция на самом деле не сложная, это верно.

Я с ней управился очень быстро.

Мод работает замечательно.

 

Молодец, Архар!

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

а эту причину нужно будет вводить всем? в т.ч. и админам? или админ может редактировать и никак это будет не видно, включаю причину? Что будет если пользователь, который редактирует свое сообщение не введет причину, он сможет в таком случае отредактировать свое сообщение? Или он сможет изменить свое сообщение не вписав причину?
Ссылка на комментарий
Поделиться на других сайтах

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

Поставил мод "Причина редактирования сообщения" так когда делаешь быстрое редактирование сообщения, там спрашивают причину редактирования, пишешь туда что нибудь а оно тебе потом код длинный очень даёт типа 34TKLH34OIHT3U34H092 и тд вместо твоей вписанной причины (http://www.ibresource.ru/forums/index.php?s=&showtopic=46312&view=findpost&p=274937)

 

форум в подписи... быстрая цитата происходит при помощи аякса

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

Та же фигня...

 

Причем исключительно в быстром ответе...

 

простое слово из 3-х букв вот в такое превращается:

/u044B/u0432/u044B (поставил слэши вместо процентов)

 

Причем это только с русскими буквами...

 

P.S. Да, вот еще что: проблема появилась после того, как прикрутил мод с модераторскими тегами

Логично предположить, что дело в нем, но... Изменения друг друга не затрагивают и я что-то не могу выяснить, в чем трабл (((

 

Подскажите, плиз, нето неудобно как-то...

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

В файл ./sources/action_public/xmlout.php при установке добавляется код

		$this->ipsclass->input['ReasonForEdit'] = $this->convert_unicode( $this->ipsclass->input['ReasonForEdit'] );

	if( strtolower($this->ipsclass->vars['gb_char_set']) != 'iso-8859-1' &&
		strtolower($this->ipsclass->vars['gb_char_set']) != 'utf-8' )
  		{
   		if ( array_key_exists( strtolower($this->ipsclass->vars['gb_char_set']), $this->decode_charsets ) )
   		{
	   		$this->ipsclass->vars['gb_char_set'] = $this->decode_charsets[strtolower($this->ipsclass->vars['gb_char_set'])];
	   		$this->ipsclass->input['ReasonForEdit'] = html_entity_decode( $this->ipsclass->input['ReasonForEdit'], ENT_NOQUOTES, $this->ipsclass->vars['gb_char_set'] );
   		}
  		}	

	$this->ipsclass->input['ReasonForEdit'] = $this->ipsclass->parse_clean_value( $this->ipsclass->input['ReasonForEdit'] );

замените его на

$_POST['ReasonForEdit'] = $this->convert_unicode( $_POST['ReasonForEdit'] );

	if( strtolower($this->ipsclass->vars['gb_char_set']) != 'iso-8859-1' &&
		strtolower($this->ipsclass->vars['gb_char_set']) != 'utf-8' )
  		{
   		$_POST['ReasonForEdit'] = html_entity_decode( $_POST['ReasonForEdit'], ENT_NOQUOTES, $this->ipsclass->vars['gb_char_set'] );
  		}

  		$this->ipsclass->input['ReasonForEdit'] = $this->ipsclass->parse_clean_value( $_POST['ReasonForEdit'] );

 

Это помогает :D

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

В файл ./sources/action_public/xmlout.php при установке добавляется код

Помогло?

Причина: %u043F%u0440%u043E%u0432%u0435%u0440%u043A%u0430 (слово: Проверка)

тоже самое, вернул изначально как было....

И не лень эту причину вводить? :D

оно полезно и интересно ;)

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

Пардон, строчку забыл, попробуйте ещё раз.
Ссылка на комментарий
Поделиться на других сайтах

Помогло?

 

В целом - да, но в "абракадабру" всё ещё превращается сама строчка "причина" - при быстром редактировании:

 

Причина: %u0442%u0435%u0441%u0442

 

Пардон, строчку забыл, попробуйте ещё раз.

Упс, не обновил страничку. :D Да, всё работает просто прекрасно. :) Респект! ;)

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

2 Sannis:

 

Знаете, не помогло (

Понял что изменено и зачем, но почему-то не помогло (

Обновлял и все такое прочее...

 

 

 

Вот засада. В чем еще может быть дело ?

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

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

Исправил ошибку в сообщении http://www.ibresource.ru/forums/index.php?...st&p=275547, теперь проблема с юникодом решена.

 

:D

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

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

Поставил модификацию.

Но почему-то не показывается текст "причина редактирования" при редактировании сообщения , равно как и причина в самом сообщении (просто написано "отредактировал админ и время". Пи этом сама причина запоминается и отображается при повторном "редактировании" сообщения в форме ввода причины редактирования.

Ошибок не заметил, но смутило, что при редактировании файлов в инструкции было указано для topics.php

найти
$row['post'] .= "<br /><br /><span class='edit'>".sprintf($this->ipsclass->lang['edited_by'], $row['edit_name'], $e_time)."</span>";

а в самом коде написано

			$row['post'] .= "<br /><br /><span class='edit'>".sprintf($ibforums->lang['edited_by'], $row['edit_name'], $e_time)."</span>";

.

Но все равно заменил на

			$row['post'] .= "<br /><br /><span class='edit'>";
		$row['post'] .= sprintf($this->ipsclass->lang['edited_by'], $row['edit_name'], $e_time);
		if($row['edit_reason']!='')
		{
			$row['post'] .= sprintf($this->ipsclass->lang['edit_reason'], $this->parser->pre_display_parse($row['edit_reason']));
		}
		$row['post'] .= "</span>";

В остальном все сделал согласно инструкции и проверил.

 

Буду признателен, если кто-то подскажет, в чем причина :D

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

olegyarp,

Причина редактирования сообщения, 2.1.x

А у вас какая версия?

 

Так что как минимум меняем обратно $this->ipsclass->lang на $ibforums->lang, а дальше уже по обстоятельствам смотреть надо :D

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

Поменял на

						$row['post'] .= "<br /><br /><span class='edit'>";
		$row['post'] .= sprintf($ibforums->lang->lang['edited_by'], $row['edit_name'], $e_time);
		if($row['edit_reason']!='')
		{
			$row['post'] .= sprintf($ibforums->lang->lang['edit_reason'], $this->parser->pre_display_parse($row['edit_reason']));
		}
		$row['post'] .= "</span>";

К сожалению, результата не последовало. Версия 2.1.7

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

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

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

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