Można to wykonać za pomocą zadań (
Menedżer zadań w ACP).
Nowy plik w
inc/tasks/ -
dvz_set_theme.php:
<?php
function task_dvz_set_theme ($task)
{
global $db, $cache;
$name = 'Default'; // theme name
$force = false; // force theme change on users (true/false)
$query = $db->simple_select('themes', '*', "name='" . $db->escape_string($name) . "'");
$theme = $db->fetch_array($query);
if ($theme['tid'] && $theme['tid'] != 1) {
// set default
$db->update_query('themes', array('def' => 0));
$db->update_query('themes', array('def' => 1), 'tid=' . $theme['tid']);
// update cache
$cache->update('default_theme', $theme);
// force users
if ($force) {
$db->update_query('users', array('style' => $theme['tid']));
}
add_task_log($task, 'Default theme set' . ($force ? ' & forced' : null) . ' to: ' . $db->escape_string($theme['name']));
}
}
$name - nazwa motywu, który ma być ustawiony jako domyślny,
$force - ustawianie go dla wszystkich użytkowników (wartość
true lub
false).
Aby ustawić kilka zadań należy utworzyć kilka takich plików (każdy musi mieć inną nazwę - taką samą jak nazwa funkcji w 3. linijce -
task_dvz_set_theme), ustawić w nich nazwy odpowiednich motywów i dodać zadania w ACP, ustawiając odpowiedni czas wykonania.