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

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


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
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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

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