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

Показ выбранного скина в зависимости от времени суток


nafigator

Вопрос

Есть у меня классный чёрный скин - как бы показывать его по-умолчанию в определённый промежуток времени?

 

Есть идеи в простой реализации?

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

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

  • 0

У меня есть немного более сложная идея:

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

И еще в зависимости от времени года.

Про зависимость от погоды и говорить не буду....эх мечты....мечты:D.

 

Или это всетаки возможно?

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

  • 0

Скрипт нужно заливать в ./sources/tasks/

Образец:

//-----------------------------------------
// THIS TASKS OPERATIONS:
// Setting skin by default
//+----------------------------------------

if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Некорректный адрес</h1>Вы не имеете доступа к этому файлу напрямую. Если вы недавно обновляли форум, вы должны обновить все соответствующие файлы.";
exit();
}

class task_item
{
var $class	 = "";
var $root_path = "";
var $task	  = "";

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

function run_task()
{
	//-----------------------------------------
	// Enabled?
	//-----------------------------------------

	if ( ! $this->ipsclass->vars['update_skin'] )
	{

	//-----------------------------------------
	// Set as default
	//-----------------------------------------

	$this->ipsclass->DB->do_update( 'skin_sets', array( 'set_default' => 0 ), "" );
	$this->ipsclass->DB->do_update( 'skin_sets', array( 'set_default' => 1, 'set_hidden' => 0 ), "set_skin_set_id = 12" );

	//-----------------------------------------
	// Rebuild caches and relationships?
	//-----------------------------------------

	$this->ipsclass->cache_func->_rebuild_all_caches( array (12) );

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

	$this->class->append_task_log( $this->task, 'Скин по-умолчанию установлен успешно' );
	}

	//-----------------------------------------
	// 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;
}


}

 

id устанавливаемого скина ставится здесь:

1.

$this->ipsclass->DB->do_update( 'skin_sets', array( 'set_default' => 1, 'set_hidden' => 0 ), "set_skin_set_id = 12" );

2.

$this->ipsclass->cache_func->_rebuild_all_caches( array (12) );

 

 

 

Затем в админке нужно зайти в "Настройки" -> "Менеджер задач" -> "Добавить новую задачу" и сделать примерно так, как указано на скриншоте.

 

На каждую смену скина нужно забить по задаче - по-другому пока сделать не удалось.

Будьте внимательней - время задаётся в GMT. Московское время - это GMT плюс 3 часа.

 

Работает? :D

post-1409-1133257828_thumb.jpg

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

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

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

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

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

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

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

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

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

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

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

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