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; }
if (!empty($_SERVER['QUERY_STRING'])) { $page_uri = Wiki::transformTitleToURI(rawurldecode($_SERVER['QUERY_STRING'])); $page = $wiki->getByURI($page_uri); } else { $page = $wiki->getByURI($config->get('accueil_wiki')); $page_uri = ''; } if (!$page) { $tpl->assign('uri', $page_uri); $tpl->assign('can_edit', $wiki->canWritePage(Wiki::ECRITURE_NORMAL)); $tpl->assign('can_read', true); } else { $tpl->assign('can_read', $wiki->canReadPage($page['droit_lecture'])); $tpl->assign('can_edit', $wiki->canWritePage($page['droit_ecriture'])); $tpl->assign('children', $wiki->getList($page['uri'] == $config->get('accueil_wiki') ? 0 : $page['id'], true)); $tpl->assign('breadcrumbs', $wiki->listBackBreadCrumbs($page['id'])); $tpl->assign('auteur', $membres->getNom($page['contenu']['id_auteur'])); $images = Fichiers::listLinkedFiles(Fichiers::LIEN_WIKI, $page['id'], true); if ($images && !$page['contenu']['chiffrement']) { $images = Fichiers::filterFilesUsedInText($images, $page['contenu']['contenu']); } $fichiers = Fichiers::listLinkedFiles(Fichiers::LIEN_WIKI, $page['id'], false); if ($fichiers && !$page['contenu']['chiffrement']) { $fichiers = Fichiers::filterFilesUsedInText($fichiers, $page['contenu']['contenu']); } $tpl->assign('images', $images); $tpl->assign('fichiers', $fichiers); } $tpl->assign('page', $page); $tpl->assign('custom_js', ['wiki_gallery.js']); $tpl->display('admin/wiki/page.tpl');
$fichier = Fichiers::upload($_FILES['fichier']); } // Lier le fichier à la page wiki $fichier->linkTo(Fichiers::LIEN_WIKI, $page['id']); $uri = '/admin/wiki/_fichiers.php?page=' . $page['id'] . '&sent'; if (isset($_POST['uploadHelper_status'])) { echo json_encode(['redirect' => WWW_URL . $uri, 'callback' => 'insertHelper', 'file' => ['image' => (int) $fichier->image, 'id' => (int) $fichier->id, 'nom' => $fichier->nom, 'thumb' => $fichier->image ? $fichier->getURL(200) : false]]); exit; } Utils::redirect($uri); } catch (UserException $e) { $error = $e->getMessage(); } } else { $error = 'Aucun fichier envoyé.'; } if (isset($_POST['uploadHelper_status'])) { echo json_encode(['error' => $error]); exit; } } $tpl->assign('fichiers', Fichiers::listLinkedFiles(Fichiers::LIEN_WIKI, $page['id'], false)); $tpl->assign('images', Fichiers::listLinkedFiles(Fichiers::LIEN_WIKI, $page['id'], true)); $tpl->assign('max_size', Utils::getMaxUploadSize()); $tpl->assign('error', $error); $tpl->assign('page', $page); $tpl->assign('sent', isset($_GET['sent']) ? true : false); $tpl->assign('custom_js', ['upload_helper.min.js', 'wiki_fichiers.js']); $tpl->assign('csrf_field_name', Utils::CSRF_field_name('wiki_files_' . $page['id'])); $tpl->assign('csrf_value', Utils::CSRF_create('wiki_files_' . $page['id'])); $tpl->display('admin/wiki/_fichiers.tpl');