1. defenderyk - 23 Сентября, 2008 - 20:21:54 - перейти к сообщению
Смена дизайна по времени суток. Как это можно реализовать?
2. yura3d - 24 Сентября, 2008 - 08:24:59 - перейти к сообщению
defenderyk пишет:
Смена дизайна по времени суток. Как это можно реализовать?
Постараюсь описать общую схему реализации подобной возможности
Открываем файл include/fm.class.php, находим строки:
CODE:
if ($this->user['id'] != 0) {
$this->user['unread'] = $this->CheckUnread();
$this->user['unread'] = $this->CheckUnread();
И прямо под ними вставляем:
CODE:
$skins = array(
1200, 1500, "BestSkin",
1500, 1800, "InvisionExBB",
1800, 2100, "Test"
);
$skintime = date("Hi", $this->_Nowtime);
if ($skins)
foreach (range(0, count($skins) / 3 - 1) as $i) {
$i *= 3;
if (($skintime < $skins[$i]) || ($skintime >= $skins[$i + 1])) continue;
$this->user['skin'] = $skins[$i + 2];
break;
}
1200, 1500, "BestSkin",
1500, 1800, "InvisionExBB",
1800, 2100, "Test"
);
$skintime = date("Hi", $this->_Nowtime);
if ($skins)
foreach (range(0, count($skins) / 3 - 1) as $i) {
$i *= 3;
if (($skintime < $skins[$i]) || ($skintime >= $skins[$i + 1])) continue;
$this->user['skin'] = $skins[$i + 2];
break;
}
График следования скинов хранится в массиве $skins. Количество элементов в этом массиве должно быть всегда кратно 3 либо равно 0 (в этом случае переключение скинов в зависимости от времени отключается). Формат записи скинов в массив графика следования такой: a1, a2, a3, b1, b2, b3. Здесь элементы с индексом 1 - время начала показа скинов a и b, с индексом 2 - время окончания показа скинов a и b, с индексом 3 - собственно названия скинов (по названию папок скинов в директории templates).
Один важный момент - время начала и окончания показа скинов записывается в часах и минутах безо всяких разделетелей между ними. Т.е. например 15:24 следует записывать как 1524, 16:00 как 1600 и т. д.
3. defenderyk - 24 Сентября, 2008 - 18:18:35 - перейти к сообщению
странно, но не работает.
4. yura3d - 25 Сентября, 2008 - 09:05:48 - перейти к сообщению
defenderyk пишет:
странно, но не работает.
Выложи своё расписание скинов, будем разбираться. Вчера проверял этот мод, всё вроде бы работало без проблем, может быть что-то упустил, т.к. не было возможности всё досконально проверить