public function delete($id) { $db = DB::getInstance(); if ($db->simpleQuerySingle('SELECT COUNT(*) FROM wiki_pages WHERE parent = ?;', false, (int) $id)) { return false; } // Suppression des fichiers liés $files = Fichiers::listLinkedFiles(Fichiers::LIEN_WIKI, $id, null); foreach ($files as $file) { $file = new Fichiers($file['id'], $file); $file->remove(); } $db->simpleExec('DELETE FROM wiki_revisions WHERE id_page = ?;', (int) $id); //$db->simpleExec('DELETE FROM wiki_suivi WHERE id_page = ?;', (int)$id); FIXME $db->simpleExec('DELETE FROM wiki_recherche WHERE id = ?;', (int) $id); $db->simpleExec('DELETE FROM wiki_pages WHERE id = ?;', (int) $id); return true; }
} // Vérification des hash avant upload if ($hash_check = Utils::post('uploadHelper_hashCheck')) { echo json_encode(Fichiers::checkHashList($hash_check)); exit; } if (Utils::post('delete')) { if (!Utils::CSRF_check('wiki_files_' . $page['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $fichier = new Fichiers(Utils::post('delete')); if (!$fichier->checkAccess($user)) { throw new UserException('Vous n\'avez pas accès à ce fichier.'); } $fichier->remove(); Utils::redirect('/admin/wiki/_fichiers.php?page=' . $page['id']); } catch (UserException $e) { $error = $e->getMessage(); } } } if (Utils::post('upload') || isset($_POST['uploadHelper_status'])) { if (!Utils::CSRF_check('wiki_files_' . $page['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } elseif (Utils::post('uploadHelper_status') > 0) { $error = 'Un seul fichier peut être envoyé en même temps.'; } elseif (!empty($_POST['fichier']) || isset($_FILES['fichier'])) { try { if (isset($_POST['uploadHelper_status']) && !empty($_POST['fichier'])) { $fichier = Fichiers::uploadExistingHash(Utils::post('fichier'), Utils::post('uploadHelper_fileHash'));