defenderyk пишет:Смена дизайна по времени суток. Как это можно реализовать?
Постараюсь описать общую схему реализации подобной возможности
Открываем файл include/fm.class.php, находим строки:
CODE:if ($this->user['id'] != 0) {
$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;
}
График следования скинов хранится в массиве $skins. Количество элементов в этом массиве должно быть всегда кратно 3 либо равно 0 (в этом случае переключение скинов в зависимости от времени отключается). Формат записи скинов в массив графика следования такой: a1, a2, a3, b1, b2, b3. Здесь элементы с индексом 1 - время начала показа скинов a и b, с индексом 2 - время окончания показа скинов a и b, с индексом 3 - собственно названия скинов (по названию папок скинов в директории templates).
Один важный момент - время начала и окончания показа скинов записывается в часах и минутах безо всяких разделетелей между ними. Т.е. например 15:24 следует записывать как 1524, 16:00 как 1600 и т. д. |