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

Ночь на форуме


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

Есть: один скин, одна папка с картинками

 

Делаем:

 

1. Картинки из первой папки в черно-бело-серые тона и делаем другую папку, куда их отправляем.

 

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

 

Первое делает:

 

	 $this->ipsclass->DB->simple_construct( array (
			  'update' => 'ibf_skin_sets',
			  'set'	=> "set_image_dir='названиевторой' ",
			  'where'  => 'set_skin_set_id=3' //предположим
	   )	   );

 $this->ipsclass->DB->simple_exec();

 

Второе:

 

	 $this->ipsclass->DB->simple_construct( array (
			  'update' => 'ibf_skin_sets',
			  'set'	=> "set_image_dir='названиепервой' ",
			  'where'  => 'set_skin_set_id=3' //предположим
	   )	   );

 $this->ipsclass->DB->simple_exec();

 

вот такая идея)

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

файл day.php

<?php
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
class task_item
{
var $class	 = "";
var $root_path = "";
var $task	  = "";

/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/

function run_task()
{
	//-----------------------------------------
	//Day
	//-----------------------------------------
	$dayfolder = "'НАЗВАНИЕ'";

	$this->ipsclass->DB->simple_update('skin_sets',
									   "set_image_dir=".$dayfolder,
									   'set_skin_set_id=НОМЕР'
									  );
	$this->ipsclass->DB->simple_exec();
	//-----------------------------------------
	// Log to log table - modify but dont delete
	//-----------------------------------------

	$this->class->append_task_log( $this->task, "Day at forum" );

	//-----------------------------------------
	// Unlock Task: DO NOT MODIFY!
	//-----------------------------------------

	$this->class->unlock_task( $this->task );
}

/*-------------------------------------------------------------------------*/
// register_class
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function register_class(&$class)
{
	$this->class	 = $class;
	$this->ipsclass  =& $class->ipsclass;
	$this->root_path = $this->class->root_path;
}

/*-------------------------------------------------------------------------*/
// pass_task
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function pass_task( $this_task )
{
	$this->task = $this_task;
}


}
?>

выполнять в

0 минут

7 часов

каждый день

каждый день

лог - да

включить - да

 

файл night.php

<?php
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
class task_item
{
var $class	 = "";
var $root_path = "";
var $task	  = "";

/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/

function run_task()
{
	//-----------------------------------------
	// Delete old subscriptions
	//-----------------------------------------
	$nightfolder= "'НАЗВАНИЕ'";

	$this->ipsclass->DB->simple_update('skin_sets',
									   "set_image_dir=".$nightfolder,
									   'set_skin_set_id=НОМЕР'
									  );
	$this->ipsclass->DB->simple_exec();

	//-----------------------------------------
	// Log to log table - modify but dont delete
	//-----------------------------------------

	$this->class->append_task_log( $this->task, "Night at forum" );

	//-----------------------------------------
	// Unlock Task: DO NOT MODIFY!
	//-----------------------------------------

	$this->class->unlock_task( $this->task );
}

/*-------------------------------------------------------------------------*/
// register_class
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function register_class(&$class)
{
	$this->class	 = $class;
	$this->ipsclass  =& $class->ipsclass;
	$this->root_path = $this->class->root_path;
}

/*-------------------------------------------------------------------------*/
// pass_task
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function pass_task( $this_task )
{
	$this->task = $this_task;
}


}
?>

запускать в

0 минут

21 часов

каждый день

каждый день

лог - да

включить - да

 

В ОБОИХ файлах заменить только слово НАЗВАНИЕ И НОМЕР на название папки с картинками и номер скина соответственно

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

Интересно получается... Ночь ото дня отличается только цветом кнопок?

ИМХО, лучше сделать 2 скина и в зависимости от времени суток менять таском дефолтный скин. Ну а лучше не таском, а завести в настройках доп. поле с 2-мя значениями - дневной скин и ночной и при выдаче страницы считать дефолтным тот, который соответствует времени (кстати неплохо бы время брать с учетом часового пояса пользователя).

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

можно и два скина, тогда всего лишь запретить пользователям выбирать скины и менять запросом скин по умолчанию с 1 на 0 для одного, а с 0 на 1 для другого в то же время суток

 

и потом, не только цветам кнопок, но и заполняющих картинок (tile_cat и т.д.)

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

давайте вариант чтоб для всех меняла... а не так что со штатов будут сидеть на ночном скине днём и наоборот. =) Изменено пользователем freeman85
Ссылка на комментарий
Поделиться на других сайтах

тоесть рабочий вариант?

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

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

  • 6 месяцев спустя...
а как сделать 2 php файлика в задачах и прописать время выполнения их в задачах ночь и день, первый будет выбирать изначальный дневной стиль, а второй ночной стиль - каждая задача по своему, кто подскажет как так сделать? :D
Ссылка на комментарий
Поделиться на других сайтах

что то у меня папка с картинками меняется а изменения в шаблонах и CCS не изменяется, тоесть наверное не выполняется это:

 

'set_skin_set_id=НОМЕР'

 

начальный ИД в 2.1.Х это 2 вроде как, вписываю, и ещё 11, смотрю по cashe/skin_cashe/номера скинов как и папки, пишу вот так:

 

'set_skin_set_id=2'

 

что то не работает, только вот как сказал папка с картинками меняется, может что пропустил но я только 2 строчки редактирую это:

 

$dayfolder = "'2'";

'set_skin_set_id=2'

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

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

Кто поможет разобраться в скрипте:

Меняет шапку форума по времени суток

<script LANGUAGE="JavaScript">
function process(){}
today = new Date()
if(today.getMinutes() < 10) {
pad = "0"}
else
pad = "";
if((today.getHours() <= 6) && (today.getHours() >= 12))
{ document.write("<td valign='bottom' align='left' style='padding-left: 50px;' height='250'><a href='index.php' title='Утро'><img src='картинка' border='0' height='152' width='700'></a></td>")}
if((today.getHours() >= 12) && (today.getHours() <= 18))
{ document.write("<td valign='bottom' align='left' style='padding-left: 50px;' height='250'><a href='index.php' title='День'><img src='картинка' border='0' height='152' width='700'></a></td>")}
if((today.getHours() >= 18) && (today.getHours() <= 23))
{ document.write("<td valign='bottom' align='left' style='padding-left: 50px;' height='250'><a href='index.php' title='Вечер'><img src='картинка' border='0' height='152' width='700'></a></td>")}
if((today.getHours() >= 23) && (today.getHours() <= 6))
{ document.write("<td valign='bottom' align='left' style='padding-left: 50px;' height='250'><a href='index.php' title='Ночь'><img src='картинка' border='0' height='152' width='700'></a></td>")}

// end hiding contents -->
</SCRIPT>

 

Картинка день и вечер отображается,а вот ночь и утро нет.Почему?

Может кто поможет разобраться и найдёт ошибки

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

  • 4 месяца спустя...
а можно как-то сделать что бы у меня логотип только менялся на утро, день, вечер и ночь? если да, то подскажите как плз, а то не очень понял как вствить этот мод... (версия 2,1,7)
Ссылка на комментарий
Поделиться на других сайтах

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

Вот сделал 2 скина - дневной и ночной. Меняю соответственно в таблице ibf_skin_sets значения set_default для ночного и дневного скина. В таблице значения меняются, даже если зайти во вкладку Админцентр > Список стилей, то там правильно поменялся скин по умолчанию. Но вот форум как был, так и остался с прежним скином.

 

Пробовал ещё обновить кэш

$this->ipsclass->update_forum_cache(), но не помогает.

 

Может кто-нить знает, что ещё нужно обновить, чтобы скин сменился?

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

Нужно обновлять кеш skin_id_cache имхо ещё, но проверять лень.

 

И это подействует только на тех пользователей, которые используют стиль по умолчанию. Иначе нужно менять в members используемый скин.

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

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

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

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

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

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

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

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

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

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

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

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