コード例 #1
0
ファイル: Wiki.php プロジェクト: kd2org/garradin
 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;
 }
コード例 #2
0
ファイル: index.php プロジェクト: kd2org/garradin
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');
コード例 #3
0
ファイル: _fichiers.php プロジェクト: kd2org/garradin
                $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');