getById(utils::get('id')); $error = false; if (!$page) { throw new UserException('Page introuvable.'); } if (!empty($page['contenu'])) { $page['chiffrement'] = $page['contenu']['chiffrement']; $page['contenu'] = $page['contenu']['contenu']; } if (utils::post('date')) { $date = strtotime(utils::post('date') . ' ' . utils::post('date_h') . ':' . utils::post('date_min')); } else { $date = false; } if (!empty($_POST['save'])) { if (!utils::CSRF_check('wiki_edit_'.$page['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } elseif ($page['date_modification'] > (int) utils::post('debut_edition')) { $error = 'La page a été modifiée par quelqu\'un d\'autre depuis que vous avez commencé l\'édition.'; } else { try { $wiki->edit($page['id'], [ 'titre' => utils::post('titre'), 'uri' => utils::post('uri'), 'parent' => utils::post('parent'), 'droit_lecture' => utils::post('droit_lecture'), 'droit_ecriture'=> utils::post('droit_ecriture'), 'date_creation' => $date, ]); $wiki->editRevision($page['id'], (int) utils::post('revision_edition'), [ 'contenu' => utils::post('contenu'), 'modification' => utils::post('modification'), 'id_auteur' => $user['id'], 'chiffrement' => utils::post('chiffrement'), ]); $page = $wiki->getById($page['id']); utils::redirect('/admin/wiki/?'.$page['uri']); } catch (UserException $e) { $error = $e->getMessage(); } } } $parent = (int) utils::post('parent') ?: (int) $page['parent']; $tpl->assign('parent', $parent ? $wiki->getTitle($parent) : 0); $tpl->assign('error', $error); $tpl->assign('page', $page); $tpl->assign('time', time()); $tpl->assign('date', $date ? $date : $page['date_creation']); $tpl->assign('custom_js', ['wikitoolbar.js', 'wiki-encryption.js']); $tpl->display('admin/wiki/editer.tpl'); ?>