예제 #1
0
파일: theme.php 프로젝트: jewelhuq/okatea
/* Initialisations
------------------------------------------------------------*/
# Inclusion du prepend
require_once __DIR__ . '/../../../oktInc/prepend.php';
# Locales
l10n::set(OKT_INSTAL_DIR . '/inc/locales/' . $_SESSION['okt_install_language'] . '/install');
l10n::set(OKT_LOCALES_PATH . '/' . $_SESSION['okt_install_language'] . '/admin.themes');
# Themes object
$oThemes = new oktThemes($okt, OKT_THEMES_PATH);
# Liste des thèmes présents
$aInstalledThemes = $oThemes->getThemesAdminList();
# Liste des dépôts de thèmes
$aThemesRepositories = array();
if ($okt->config->themes_repositories_enabled) {
    $aRepositories = $okt->config->themes_repositories;
    $aThemesRepositories = $oThemes->getRepositoriesInfos($aRepositories);
}
# Tri par ordre alphabétique des listes de thème
uasort($aInstalledThemes, array('oktThemes', 'sortThemesList'));
foreach ($aThemesRepositories as $repo_name => $themes) {
    uasort($aThemesRepositories[$repo_name], array('oktThemes', 'sortThemesList'));
}
$p_theme = !empty($_REQUEST['p_theme']) && isset($aInstalledThemes[$_REQUEST['p_theme']]) ? $_REQUEST['p_theme'] : 'okatea';
/* Traitements
------------------------------------------------------------*/
# formulaire envoyé, on enregistre et on passent à l'étape suivante
if (!empty($_POST['sended']) && !empty($_POST['p_theme']) && isset($aInstalledThemes[$_POST['p_theme']])) {
    try {
        $okt->config->write(array('theme' => $_POST['p_theme']));
        $_SESSION['okt_install_theme'] = $_POST['p_theme'];
        http::redirect('index.php?step=' . $stepper->getNextStep());