if (!AppContext::get_current_user()->check_auth($config_authorizations, EDIT_PAGE)) { AppContext::get_response()->redirect(HOST . DIR . url('/pages/pages.php?error=e_auth', '', '&')); } $encoded_title = Url::encode_rewrite($title); $is_already_page = PersistenceContext::get_querier()->count(PREFIX . "pages", 'WHERE encoded_title=:encoded_title', array('encoded_title' => $encoded_title)); //Si l'article n'existe pas déjà, on enregistre if ($is_already_page == 0) { $result = PersistenceContext::get_querier()->insert(PREFIX . 'pages', array('title' => $title, 'encoded_title' => $encoded_title, 'contents' => pages_parse($contents), 'user_id' => AppContext::get_current_user()->get_id(), 'count_hits' => $count_hits, 'activ_com' => $enable_com, 'timestamp' => time(), 'auth' => $page_auth, 'is_cat' => $is_cat, 'id_cat' => $id_cat, 'display_print_link' => $display_print_link)); //Si c'est une catégorie if ($is_cat > 0) { $last_id_page = $result->get_last_inserted_id(); $result = PersistenceContext::get_querier()->insert(PREFIX . 'pages_cats', array('id_parent' => $id_cat, 'id_page' => $last_id_page)); $last_id_pages_cat = $result->get_last_inserted_id(); PersistenceContext::get_querier()->update(PREFIX . 'pages', array('id_cat' => $last_id_pages_cat), 'WHERE id = :id', array('id' => $last_id_page)); //Régénération du cache PagesCategoriesCache::invalidate(); } //On redirige vers la page mise à jour AppContext::get_response()->redirect('/pages/' . url('pages.php?title=' . $encoded_title, $encoded_title, '&')); } else { $error = 'page_already_exists'; } } } else { $error = 'preview'; } } elseif ($del_article > 0) { //Vérification de la validité du jeton AppContext::get_session()->csrf_get_protect(); try { $page_infos = PersistenceContext::get_querier()->select_single_row(PREFIX . 'pages', array('id', 'title', 'encoded_title', 'contents', 'auth', 'count_hits', 'activ_com', 'id_cat', 'is_cat', 'display_print_link'), 'WHERE id = :id', array('id' => $del_article));