get('id')); if (!empty($_GET['preview'])) { $rendu = new Journal_Rendu($journal, true); $preview = substr($_GET['preview'], 5); try { switch ($preview) { case 'accueil.html': $rendu->renderHome(); break; case 'liste_ecrits.html': $rendu->renderArchive(Ecrit::getLastMonth($journal->get('id'))); break; case 'ecrit.html': $rendu->renderEcrit(Ecrit::getLastURI($journal->get('id'))); break; case 'forum.html': $rendu->renderForumList(); break; case 'forum_message.html': $rendu->renderForumThread(Forum::getLastURI($journal->get('id'))); break; default: $rendu->renderOther(substr($preview, 0, -5)); break; } } catch (miniSkelMarkupException $e) { echo '

Erreur dans le squelette

'; echo '

'.htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8').'

'; } exit; } $msg = !empty($_GET['msg']) ? $_GET['msg'] : ''; $tpl->assign_by_ref('msg', $msg); if (!empty($_GET['edit'])) { $file = $_GET['edit']; $csrf_key = 'edit_'.md5($file); if (!$files->fileExists($file) || !$files->getSkinFileName($file)) { utils::pageNotFound(); } if (!empty($_POST['save']) || !empty($_POST['saveAndReturn'])) { if (!trim($_POST['content'])) { $msg = 'EMPTY_FILE'; } elseif (!utils::CSRF_check($csrf_key)) { $msg = 'OTHER'; } else { $files->saveFileContent($file, $_POST['content']); $uri = '/ecrire/visuel-perso.php?msg=SAVED'; if (!empty($_POST['saveAndReturn'])) { utils::redirect($uri); } else { utils::redirect($uri.'&edit='.rawurlencode($file).(isset($_GET['fullscreen']) ? '#fullscreen' : '')); } } } $tpl->assign('edit', $file); $tpl->assign('name', $files->getSkinFileName($file)); $tpl->assign('content', $files->getFileContent($file)); $tpl->assign('files_json', json_encode($files->listSkinFiles())); $tpl->assign('csrf_name', utils::CSRF_field_name($csrf_key)); $tpl->assign('csrf_value', utils::CSRF_create($csrf_key)); } elseif (!empty($_GET['reset'])) { $file = $_GET['reset']; $csrf_key = 'reset_'.md5($file); if (!$files->fileExists($file) || !$files->getSkinFileName($file)) { utils::pageNotFound(); } if (!empty($_POST['reset'])) { if (!utils::CSRF_check($csrf_key)) { $msg = 'OTHER'; } else { $files->resetSkinFile($file); utils::redirect('/ecrire/visuel-perso.php?msg=RESET'); } } $tpl->assign('reset', $_GET['reset']); $tpl->assign('name', $files->getSkinFileName($file)); $tpl->assign('csrf_name', utils::CSRF_field_name($csrf_key)); $tpl->assign('csrf_value', utils::CSRF_create($csrf_key)); } else { $skin_files = $files->listSkinFiles(); if (empty($skin_files)) { $files->copySkinFiles(); $skin_files = $files->listSkinFiles(); $msg = 'SETUP'; } $tpl->assign('current_skin', $journal->get('visuel')); $tpl->assign('files', $skin_files); } $tpl->display('ecrire/visuel-perso.tpl'); ?>