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

антиСклейка сообщений для модераторов и администратора


GiV

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

По заказу theIggs =]

 

Изменяемые файлы:

~ ./sources/classes/post/class_post.php

~ ./sources/classes/post/class_post_reply.php

~ ./sources/action_public/topics.php

 

Изменяемые шаблоны:

~ skin_post -> postbox_wrap

~ skin_topic -> quick_reply_box_open

 

Новые шаблоны:

~ skin_post -> get_box_disablemerge

 

Инструкции:

 

В файле ./sources/classes/post/class_post.php ищем

 		}
		else if ( $type != 'edit' )

 

добавляем перед

			if ( $this->ipsclass->member['g_is_supmod'] == 1 or $this->ipsclass->member['is_mod'] == 1 )
		{
			$this->output = str_replace( '<!--IBF.MERGE-->', $this->ipsclass->compiled_templates['skin_post']->get_box_disablemerge(), $this->output );
		}

 

В файле ./sources/classes/post/class_post_reply.php ищем

 		if ( $this->ipsclass->member['id'] AND $this->ipsclass->vars['post_merge_conc'] )

 

заменяем на

		$need_to_merge_posts = false;

		if ( $this->ipsclass->member['id'] AND $this->ipsclass->vars['post_merge_conc'] )
	{
		$need_to_merge_posts = true;

		if ( $this->ipsclass->member['g_is_supmod'] == 1 or $this->ipsclass->member['is_mod'] == 1 )
		{
			if ( $this->ipsclass->input['post_merge_off'] )
			{
				$need_to_merge_posts = false;
			}
		}
	}

	if ( $need_to_merge_posts )

 

Открываем файл ./sources/action_public/topics.php ищем

 			$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_closed(), $this->output );
		$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->"  , $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check), $this->output );

 

Меняем на

			
		if ( $this->ipsclass->member['g_is_supmod'] == 1 or $this->ipsclass->member['is_mod'] == 1 )
		{
			$this->ipsclass->load_template('skin_post');
			$merge = $this->ipsclass->compiled_templates['skin_post']->get_box_disablemerge();
		}

			$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_closed(), $this->output );
		$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->"  , $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check, $merge), $this->output );
		}

 

Изменения в шаблонах

1. В skin_post добавить шаблон get_box_disablemerge, содержимое шаблона:

<br />
<input type="checkbox" name="post_merge_off" class="checkbox" value="yes" /> Отключить склейку сообщений

2. Изменить шаблон postbox_wrap добавив <!--IBF.MERGE--> в нужном месте

 

3. В skin_topic изменить шаблон quick_reply_box_open

Добавить в "Входящие переменные"

,$merge=""

В теле шаблона вставить в нужном месте

{$merge}

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

  • 1 месяц спустя...
Открываем файл ./sources/action_public/topics.php ищем

 			$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_closed(), $this->output );
		$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->"  , $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check), $this->output );

 

Меняем на

if ( $this->ipsclass->member['g_is_supmod'] == 1 or $this->ipsclass->member['is_mod'] == 1 )

{

$this->ipsclass->load_template('skin_post');

$merge = $this->ipsclass->compiled_templates['skin_post']->get_box_disablemerge();

}

 

$this->output = str_replace( "<!--IBF.QUICK_REPLY_CLOSED-->", $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_closed(), $this->output );

$this->output = str_replace( "<!--IBF.QUICK_REPLY_OPEN-->" , $this->ipsclass->compiled_templates['skin_topic']->quick_reply_box_open($this->topic['forum_id'], $this->topic['tid'], $show, $this->md5_check, $merge), $this->output );

}

Спасибо. Только тут ошибочка не большая

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

  • 1 год спустя...
Спасибо. Только тут ошибочка не большая

что за ошибка?

Лишняя скобка в конце, выделена красным :D

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

Что-то с аякс быстрым ответом на 2.36 не работает( все равно склеивает.

Потому как нужно будет проделать аналогичное xmlout.php, что-то мне подсказывает :D

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

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

Спасибо! Давно искал подобное.

 

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

 

Или если в условиях написать так:

 

if ($this->ipsclass->member['g_is_supmod'] == 1 or $this->ipsclass->member['is_mod'] == 1 or $this->ipsclass->member['mgroup'] == 6 or $this->ipsclass->member['mgroup'] == 7)

будет это работать???

Я дуб в php...

 

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

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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