First implementation of wiki

This commit is contained in:
leosw
2018-10-22 23:09:20 +02:00
parent 6fa2f5d4c9
commit 2ff2d03b9c
7 changed files with 82 additions and 92 deletions

View File

@@ -6,18 +6,22 @@ $head['css'] = "d.index.css;d.wiki.css";
$wikiPage = new Kabano\WikiPage();
// Page doesn't exists
if(isset($controller->splitted_url[1]) && !$wikiPage->checkUrl($controller->splitted_url[1],$user->rankIsHigher('premium')) && $controller->splitted_url[1]!="") {
if(isset($controller->splitted_url[1]) && !$wikiPage->checkPermalink($controller->splitted_url[1],$user->rankIsHigher('premium')) && $controller->splitted_url[1]!="") {
if($user->rankIsHigher('moderator')) {
$wikiPage->permalink = $controller->splitted_url[1];
// Create new page
if(isset($_POST['submit'])) {
$wikiPage->content = $_POST['content'];
$wikiPage->locale = $_POST['locale'];
$wikiPage->title = $_POST['title'];
$wikiPage->name = $_POST['name'];
$wikiPage->insert();
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->url);
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
}
else {
$locales = new Kabano\Locales();
$locales->getAll();
$head['title'] = "Nouvelle page";
include ($config['views_folder']."d.wiki.edit.html");
}
@@ -27,45 +31,40 @@ if(isset($controller->splitted_url[1]) && !$wikiPage->checkUrl($controller->spli
}
}
// Page exists
else if(isset($controller->splitted_url[1]) && $wikiPage->checkUrl($controller->splitted_url[1],$user->rankIsHigher('premium'))) {
if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="edit" && $user->rankIsHigher('administrator')) {
else if(isset($controller->splitted_url[1]) && $wikiPage->checkPermalink($controller->splitted_url[1],$user->rankIsHigher('premium'))) {
$wikiPage->permalink = $controller->splitted_url[1];
if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="edit" && $user->rankIsHigher('moderator')) {
// Edit page
if(isset($_POST['submit'])) {
$wikiPage->content = $_POST['content'];
$wikiPage->locale = $_POST['locale'];
$wikiPage->title = $_POST['title'];
$wikiPage->name = $_POST['name'];
$wikiPage->update();
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->url);
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
}
else {
$wikiPage->populate();
$head['title'] = $wikiPage->title;
$locales = new Kabano\Locales();
$locales->getAll();
$head['title'] = $wikiPage->name;
include ($config['views_folder']."d.wiki.edit.html");
}
} else if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="delete" && $user->rankIsHigher('moderator')) {
// Delete page
$wikiPage->delete();
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->url);
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
} else {
// Display page
if($user->rankIsHigher('premium')) {
$wikiHistory = new Kabano\WikiPages();
$wikiHistory->getHistory($controller->splitted_url[1]);
$i = 0;
foreach ($wikiHistory->ids as $row) {
$wikiHistory_list[$i] = new Kabano\WikiPage();
$wikiHistory_list[$i]->id = $row;
$wikiHistory_list[$i]->populate();
$i++;
}
}
if (isset($controller->splitted_url[2]) && is_numeric($controller->splitted_url[2]))
$wikiPage->checkUrl($controller->splitted_url[1], $user->rankIsHigher('premium'), $controller->splitted_url[2]);
$wikiPage->checkPermalink($controller->splitted_url[1], $user->rankIsHigher('premium'), $controller->splitted_url[2]);
$wikiPage->md2html();
$head['title'] = $wikiPage->title;
$head['title'] = $wikiPage->name;
include ($config['views_folder']."d.wiki.view.html");
}
}