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

[2.1.x]mod_snowfall [Падающий снег]


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

Pimen, это ещё почему ?

 

В контрольной панели пользователя грузится lang_ucp.php и мы его туда толкаем.

 

Я не занимаюсь поддержкой различных версий сторонних разработчиков, модификация была два раза проверена в IPB 2.1.7 от IBR и от IPS.

 

Ни одной из вышеописанных проблем - не возникло. Вывод? - Ставим нормальные дистрибутивы и лечим руки, ни один автор модификаций не станет заботится о том, чтобы мод работал в кривых релизах, IMHO.

 

100% загрузки CPU в Опере.

Бывает :D

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

  • Ответы 73
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

В контрольной панели пользователя грузится lang_ucp.php и мы его туда толкаем.

Я не занимаюсь поддержкой различных версий сторонних разработчиков

Грузится то грузится, да вот нет там текста :D

---------------------------

Я и не прошу тех. поддержки у тебя ;)

Сам поправил и все работает, а эта информация будет полезна многим юзерам

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

То, что там нет текста - является малым радиусом кривизны ваших рук :D

 

Этим буквам НЕ МЕСТО в в lang_global, он грузится на каждой странице - зачем засорять память ?

 

Ваше решение проблемы - не есть гут!

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

  • 1 месяц спустя...
  • 9 месяцев спустя...

Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in z:\home\ds.ru\www\sources\classes\class_session.php on line 557

 

На локалке .... Такая ошибка что делать ?

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

И когда это я успел столько сабжей набить?..

 

Никогда не думал, что я такой флудер..

 

moscowall, вероятно вы плохо отредактировали файл class_session.php. Возьмите файл из бекапа и попробуйте ещё раз.

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

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

Дергается полоса прокрутки справа ...

Дергаются страницы которые полностью помещаются на экран ,

потому как начинает появляться и продать полоса прокрутки

 

 

и нет настроек отключение снега на странице профиля ...

версия форума 2.1.7 установлены мод наград и мод кланов

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

Мод хороший, вот тока у некоторых пользователей машину грузит.

Неправильные браузеры грузят машину некоторых пользователей.

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

Неправильные браузеры грузят машину некоторых пользователей.

Обсчет траектории снежинок требует ресурсов компьютера.

Когда у себя на сайтах я делал снежинки, на 15 снежинках старенький P II 400 тормозил довольно заметно; уменьшил до 6 снежинок, и даже на старичке загрузка процессора не превышала 30%.

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

2FatCat: я на своей старой машине (амд атлон64) проверял в осле, огнелисе, опере. при дефолтном кол-ве звездочек (непомню сколько там в конфиге), осёл вешал проц на 100%, огнелис не больше 30%, опера помоему вообще глючила и показывала крестики not found (но проц кушала примерно как огнелис)... Где-то так.. Пробывал это год назад делать, еще на 2.1.7 версии ипб.

 

Под 2.2.х никто не пробывал изменить мод? :D

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

Имхо он версионнонезависимый, это же внешний js.
Ссылка на комментарий
Поделиться на других сайтах

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

Я переделал немного для версии 2.2.2

Изменений много, но они косметические. Незнаю как лучше: выложить исправления сюда, или отдельным модом с переписаной инструкцией...

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

Я переделал немного для версии 2.2.2

Изменений много, но они косметические. Незнаю как лучше: выложить исправления сюда, или отдельным модом с переписаной инструкцией...

Лучше сюда. Ждемс... :-)

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

Вообщем выложу всё тут. Просто изменение в файлах/шаблонах. Всё остальное делать по старой инструкции:

 

 

/sources/action_public/usercp.php

Найти:

$open_qreply = $this->ipsclass->member['_cache']['qr_open'];

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

 		$snow_on	 = $this->ipsclass->member['mod_snowfall_on'];
		$snow_count	 = $this->ipsclass->member['mod_snowfall_count'];

 

Найти далее:

 

 		$html_qr	= "<select name='OPEN_QR' class='forminput'>";

 

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

 

 		$html_snow	= "<select name='SNOW_ON' class='forminput'>";
		$html_snow_cnt = "<input name='SNOW_COUNT' class='forminput' value='$snow_count'>";

 

Найти далее:

$html_qr   .= $open_qreply == 1		? "<option value='1' selected='selected'>".$this->ipsclass->lang['yes']."</option>\n<option value='0'>".$this->ipsclass->lang['no']."</option>"
											   : "<option value='1'>".$this->ipsclass->lang['yes']."</option>\n<option value='0' selected='selected'>".$this->ipsclass->lang['no']."</option>";

 

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

$html_snow   .= $snow_on == 1		? "<option value='1' selected='selected'>".$this->ipsclass->lang['yes']."</option>\n<option value='0'>".$this->ipsclass->lang['no']."</option>"
											   : "<option value='1'>".$this->ipsclass->lang['yes']."</option>\n<option value='0' selected='selected'>".$this->ipsclass->lang['no']."</option>";

 

Найти далее:

 

'QR'   => $html_qr."</select>",

 

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

 

'SNOW'   => $html_snow."</select>",
																							'SNOW_CNT'   => $html_snow_cnt,

 

 

 

/sources/classes/class_session.php

Найти:

	//-----------------------------------------
	// Set a session ID cookie
	//-----------------------------------------

	$this->ipsclass->my_setcookie("session_id", $this->session_id, -1);

 

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

 

	//-----------------------------------------
	// mod_snowfall
	//-----------------------------------------

	if( !$this->member['id'] || $this->member['mgroup'] == $this->ipsclass->vars['guest_group'] ){
		$this->member['mod_snowfall_on'] = $this->ipsclass->vars['mod_snowfall_on'];
		$this->member['mod_snowfall_count'] = $this->ipsclass->vars['mod_snowfall_count'];
	}

 

Найти далее:

				$this->member = $this->ipsclass->DB->fetch_row();

 

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

   	$this->member['mod_snowfall_on'] = $this->ipsclass->my_getcookie( 'snow_on' );
			if( $this->member['mod_snowfall_on'] === FALSE ){
				$this->member['mod_snowfall_on'] = $this->ipsclass->vars['mod_snowfall_on'];
			}
			$this->member['mod_snowfall_count'] = $this->ipsclass->my_getcookie( 'snow_count' );
			if( $this->member['mod_snowfall_count'] == FALSE ){
				$this->member['mod_snowfall_count'] = $this->ipsclass->vars['mod_snowfall_count'];
			}
			$this->member['mod_snowfall_count'] = intval( $this->member['mod_snowfall_count'] );
			if( $this->member['mod_snowfall_count'] == 0 ){
				$this->member['mod_snowfall_on'] = '0';
			}

 

 

/sources/lib/func_usercp.php

Найти:

		$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['set_updated'], "act=UserCP&CODE=04" );

 

Добавить выше:

if( $this->ipsclass->vars['mod_snowfall_on'] == 1 ){
		$snow_on = $this->ipsclass->input['SNOW_ON'];
		if( $snow_on != 0 ){
			$snow_on = 1;
		}
		$snow_count = intval( $this->ipsclass->input['SNOW_COUNT'] );
		if( $snow_count == 0 ){
			$snow_count = $this->ipsclass->vars['mod_snowfall_count'];
		}
		$this->ipsclass->my_setcookie( "snow_on", (string)$snow_on );
		$this->ipsclass->my_setcookie( "snow_count", (string)$snow_count );
	}

#---------------------------------------------#

# РЕДАКТИРОВАНИЕ ШАБЛОНОВ #

#---------------------------------------------#

 

АЦ > ВНЕШНИЙ ВИД > * > skin_global > global_board_header

Найти:

var ipb_var_st			= "{$this->ipsclass->input['st']}";

 

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

var mod_snow_count		= {$this->ipsclass->member['mod_snowfall_count']}

 

Найти далее:

</script>

 

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

<if="$this->ipsclass->vars['mod_snowfall_on']==1 &&$this->ipsclass->member['mod_snowfall_on']==1">
<script type="text/javascript" src='jscripts/ipb_snow.js'></script>
</if>

АЦ > ВНЕШНИЙ ВИД > * skin_ucp > settings_end

Найти:

<tr>
	<td>{$this->ipsclass->lang['pp_number_topics']}</td>
	<td><select name="topicpage">{$data['TPS']}</select></td>
</tr>

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

<if="ipb.vars['mod_snowfall_on']==1">
<tr>
	<td class="formsubtitle" colspan="2">{$this->ipsclass->lang['ucp_op_snowfall_title']}</td>
</tr>
<tr>
	<td>{$this->ipsclass->lang['mod_snowfall_on']}</td>
	<td>{$data['SNOW']}</td>
</tr>
<tr>
	<td>{$this->ipsclass->lang['mod_snowfall_count']}</td>
	<td>{$data['SNOW_CNT']}</td>
</tr>
</if>

#---------------------------------------------#

# РЕДАКТИРОВАНИЕ ЯЗЫКОВ #

#---------------------------------------------#

 

/cache/lang_cache/*/lang_ucp.php

Добавить:

// mod snowfall
'ucp_op_snowfall_title'	=> "Управление падающим снегом",
'mod_snowfall_on'		=> "Включить падающий снег?",
'mod_snowfall_count'	=> "Количество одновременно падающих снежинок:<br /><i>Совет: Не указывайте слишком большое количество - обозреватель может не выдержать.<br />Если такое случилось - удалите Cookie-файлы.</i>",

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

Вообщем выложу всё тут. Просто изменение в файлах/шаблонах. Всё остальное делать по старой инструкции:

Спасибо! Работает.

Но возник вопрос, при попытке войти в личные данные - белый экран. Пролистал ветку, перепроверил usercp.php, все вроде по инструкции, где бы еще покопать??

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

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

Обновил мод..

 

Для обновления: замените файл ipb_snow.js новым файлом, из архива.

 

Так же выполнить вот этот пункт:

#---------------------------------------------#
#		РЕДАКТИРОВАНИЕ CSS				   #
#---------------------------------------------#

АЦ > ВНЕШНИЙ ВИД > * > Изменить CSS-стили (Расширенный режим)
Дописать в конце:
.snow{
position: fixed;
top: 0px;
}
* html .snow{
display: none;
}

 

Должно быть совместимо с тем, что написал pikachu.

 

Все. Из нового:

  • Больше не поддерживается MSIE6.
  • Изменен алгоритм на первый пришедший в голову. Нагрузка уменьшилась в несколько раз!
  • Исправлена проблема с появляющейся лишней прокруткой.

 

PS: Как писалось ранее - подключить JS-файл можно куда душе угодно.

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


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

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

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