В. Вариант номер 03 - Салют + Мотня + управление из админки
Мод [BETA] Fireworks [Новогодний салют] + new_year_motnya [Новогодняя Мотня] + включение - отключения обоих прибабах из админки и в личном центре.
Скачать дистрибутив. Из полученной папки все залить в корень форума.
root fireworks [Новогодний салют] + new_year_motnya [Новогодняя мотня] + управление.rar
Сначала займемся созданием модуля управления обеими прибабахами (салютом и мотней)
Не будем заморачивать себе голову созданием новых условий, а воспользуемся условием из плохого мода "гирлянд с разбиванием"
Smashable Christmas Lights version 1.0.0RC2. У кого данный мод стоит - удалить все правки из файла
styles/prosilver/template/overall_header.html и папку
root/lights/*.* и от мода
Smashable Christmas Lights version 1.0.0RC2 останутся рожки, да ножки, но модуль управления от него уже будет. Поэтому первую часть правок делать не надо. У кого этого мода нет - делаем правки и выполняем запуск инсталлятора, чтоб получить модуль управления Салютом и Мотней.
Все необходимые файлы в дистрибутиве выше уже есть. Беспокоиться уже не о чем. Осталось только сделать необходимые правки по инструкции к моду
Smashable Christmas Lights version 1.0.0RC2 и заполучить от него спецусловия для скриптов от Мотни и Салютов.
И так.... поехали...
Открыть:
includes/functions.php
Найти:
Код: Выделить всё
'S_SEARCH_HIDDEN_FIELDS' => build_hidden_fields($s_search_hidden_fields),
Добавить после:
Код: Выделить всё
// Begin Smashable Christmas Lights
'S_SCL_ENABLED' => (!empty($config['scl_enabled'])) ? true : false,
'S_SCL_UCP_ENABLED' => (!empty($user->data['user_scl_enabled'])) ? true : false,
// End Smashable Christmas Lights
Открыть:
includes/ucp/ucp_prefs.php
Найти:
Код: Выделить всё
'style' => request_var('style', (int) $user->data['user_style']),
Добавить после:
Код: Выделить всё
'scl_ucp_enabled' => request_var('scl_ucp_enabled', (bool) $user->data['user_scl_enabled']),
Найти:
Добавить после:
Код: Выделить всё
'user_scl_enabled' => $data['scl_ucp_enabled'],
Найти:
Код: Выделить всё
'S_STYLE_OPTIONS' => ($config['override_user_style']) ? '' : style_select($data['style']),
Добавить после:
Код: Выделить всё
'S_SCL_UCP_ENABLED' => $data['scl_ucp_enabled'],
Открыть:
language/ru/ucp.php
Найти:
Добавить после:
Код: Выделить всё
'SCL_ENABLED' => 'Использование Мотни и Фейерверка',
'SCL_ENABLED_EXPLAIN' => 'Включить или отключить Мотню и Фейерверк',
Открыть:
styles/prosilver/template/ucp_prefs_personal.html
Найти:
Код: Выделить всё
<dl>
<dt><label for="popuppm0">{L_POPUP_ON_PM}:</label></dt>
<dd>
<label for="popuppm1"><input type="radio" name="popuppm" id="popuppm1" value="1"<!-- IF S_POPUP_PM --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="popuppm0"><input type="radio" name="popuppm" id="popuppm0" value="0"<!-- IF not S_POPUP_PM --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
Добавить после:
Код: Выделить всё
<!-- IF S_SCL_ENABLED -->
<dl>
<dt><label for="scl_ucp_enabled0">{L_SCL_ENABLED}:</label><br /><span>{L_SCL_ENABLED_EXPLAIN}</span></dt>
<dd>
<label for="scl_ucp_enabled1"><input type="radio" name="scl_ucp_enabled" id="scl_ucp_enabled1" value="1"<!-- IF S_SCL_UCP_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="scl_ucp_enabled0"><input type="radio" name="scl_ucp_enabled" id="scl_ucp_enabled0" value="0"<!-- IF not S_SCL_UCP_ENABLED --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<!-- ENDIF -->
Затем выполнить запрос в БД запустив файл:
install.php. После выполнения запроса файл удаляем.
Модуль управления и условия от его включения отключения мы получили. Так-же мы получили возможность на индивидуальное отключение Мотни и Салюта у каждого пользователя из его личного центра.
А дальше все правки из ВЫШЕ обрамляем полученным условием.
А именно:
Открыть файл стиля
overall_footer.html
Найти:
Код: Выделить всё
<div>
<a id="bottom" name="bottom" accesskey="z"></a>
<!-- IF not S_IS_BOT -->{RUN_CRON_TASK}<!-- ENDIF -->
</div>
Добавить перед:
Код: Выделить всё
<!-- IF S_SCL_ENABLED and S_SCL_UCP_ENABLED -->
<!-- фейерверк -->
<script>
if (typeof(soundManagerInit)!='undefined') soundManagerInit();
</script>
<!-- ENDIF -->
Открыть файл стиля
overall_header.html
Найти:
Добавить перед:
Код: Выделить всё
<!-- IF S_SCL_ENABLED and S_SCL_UCP_ENABLED -->
<!-- мотня и фейерверк -->
<link href="{ROOT_PATH}style/fireworks.css" rel="stylesheet" type="text/css" />
<script src="{ROOT_PATH}script/soundmanager.js"></script>
<script src="{ROOT_PATH}script/fireworks.js"></script>
<!-- INCLUDE new_year_motnya_script.html -->
<!-- ENDIF -->
Найти:
Код: Выделить всё
<body id="phpbb" class="section-{SCRIPT_NAME} и что-то там еще у кого как...
Добавить после:
Код: Выделить всё
<!-- IF S_SCL_ENABLED and S_SCL_UCP_ENABLED -->
<!-- мотня и фейерверк -->
<div id="sound">
</div>
<div id="fireworks-template">
<div id="fw" class="firework"></div>
<div id="fp" class="fireworkParticle"><img src="image/particles.gif" alt="" /></div>
</div>
<div id="fireContainer"></div>
<!-- INCLUDE new_year_motnya.html -->
<!-- ENDIF -->
Теперь надо определиться как будем запускать фейерверк......
Самый простой вариант - добавить ссылку в РЕДБАР
Найти:
Код: Выделить всё
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
И добавить перед:
Код: Выделить всё
<!-- IF S_SCL_ENABLED and S_SCL_UCP_ENABLED -->
<!-- фейерверк -->
<li class="icon-logout"><a href="#" onclick="
var r=20+parseInt(Math.random()*16);
for(var i=r; i--;){
setTimeout(function(){
var radius = parseInt(Math.random()*45) + 5;
var particles = parseInt(Math.random()*100) + radius;
var circles = parseInt(Math.random()*7) + 1;
var type = parseInt(Math.random()*6) + 1;
createFirework(radius, particles, circles, type, null, null, null, null, Math.random()>0.5, true);},
(i+1)*(1+parseInt(Math.random()*1000))
);
}
return false">Пли!</a></li>
<!-- ENDIF -->
Вместо фразы
Пли! можно создать свою языковую переменную и прописать ее в языковый коммон.
Посмотреть как все это работает
МОЖНО ТУТ НА ТЕСТОВОМ ФОРУМЕ, нажимая на фразу - приветствие для гостей -
Добрый вечер ! Бе-бе-бе-бе-бе. Хочешь салют? Жми. под шапкой форума.
Там еще и мотня стоит... Так что смотрите что и как и почему....
Данный вариант без ограничений по правам.
Если надо закрыть фичу только от ботов - заворачиваем код условием -
Код: Выделить всё
<!-- IF not S_IS_BOT -->
тут какие-то коды
<!-- ENDIF -->
При том, достаточно только правку для РЕДБАРА...
Если надо закрыть от гостей и ботов - заворачиваем код условием -
Код: Выделить всё
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
тут какие-то коды
<!-- ENDIF -->
При том, достаточно только правку для РЕДБАРА...
Чистим в админке кеши стилей и тем... И вуаля.... Запускаем фейерверки и смотрим как работает мотня, тыкая по ней мыхой и слушая перезвоны от шариков...
Если у мотни нет звука от шевеления по шарикам в файле стиля
overall_header.html находим код скрипта квери, типа такого -
Код: Выделить всё
<script src="{T_SUPER_TEMPLATE_PATH}/jquery-тут.есть.цифры.min.js"></script>
И заменяем на
Код: Выделить всё
<script src="{T_SUPER_TEMPLATE_PATH}/jquery-1.7.2.min.js"></script>
Версия квери 1.7.2 - самая лучшая из старых и безглючная... Прописать ее можно только на время работы мотни и салюта, потом можно заменить на свою свежую...
Громкость звука от салютов регулируется в корневом файле
sound-config.xml в строке
<items baseHref="audio/" defaultVol="30">
Скорость вылета и разрывов фейерверков регулируется в файле
script/fireworks.js в строке
Код: Выделить всё
this.intervalRate = 20; // rate (ms) to run animation at, general best default = 20
Чем выше цифра - тем быстрей вылеты пикард и разрывы...
Так выглядит управление из админки
2122.jpg
Так выглядит управление из личного центра
2123.jpg
Добавлено спустя 1 час 29 минут 43 секунды:
Re: [BETA] Fireworks [Новогодний салют] + Мотня + Управление
И еще раз всех -

У вас нет необходимых прав для просмотра вложений в этом сообщении.