2017-12-20 21:49:11 +01:00
|
|
|
<?
|
|
|
|
|
|
|
|
require_once($config['models_folder']."d.wiki.php");
|
|
|
|
|
|
|
|
$head['css'] = "d.index.css;d.wiki.css";
|
|
|
|
|
2018-10-22 20:03:03 +02:00
|
|
|
$wikiPage = new Kabano\WikiPage();
|
2017-12-20 21:49:11 +01:00
|
|
|
// Page doesn't exists
|
2018-10-22 23:09:20 +02:00
|
|
|
if(isset($controller->splitted_url[1]) && !$wikiPage->checkPermalink($controller->splitted_url[1],$user->rankIsHigher('premium')) && $controller->splitted_url[1]!="") {
|
2018-10-18 20:33:15 +02:00
|
|
|
if($user->rankIsHigher('moderator')) {
|
2018-10-22 23:09:20 +02:00
|
|
|
$wikiPage->permalink = $controller->splitted_url[1];
|
2017-12-20 21:49:11 +01:00
|
|
|
// Create new page
|
|
|
|
if(isset($_POST['submit'])) {
|
|
|
|
$wikiPage->content = $_POST['content'];
|
|
|
|
$wikiPage->locale = $_POST['locale'];
|
2018-10-22 23:09:20 +02:00
|
|
|
$wikiPage->name = $_POST['name'];
|
2017-12-20 21:49:11 +01:00
|
|
|
$wikiPage->insert();
|
|
|
|
|
2018-10-22 23:09:20 +02:00
|
|
|
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
|
2017-12-20 21:49:11 +01:00
|
|
|
}
|
|
|
|
else {
|
2018-10-22 23:09:20 +02:00
|
|
|
$locales = new Kabano\Locales();
|
|
|
|
$locales->getAll();
|
|
|
|
|
2017-12-20 21:49:11 +01:00
|
|
|
$head['title'] = "Nouvelle page";
|
|
|
|
include ($config['views_folder']."d.wiki.edit.html");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$notfound = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Page exists
|
2018-10-22 23:09:20 +02:00
|
|
|
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')) {
|
2017-12-20 21:49:11 +01:00
|
|
|
// Edit page
|
|
|
|
if(isset($_POST['submit'])) {
|
|
|
|
$wikiPage->content = $_POST['content'];
|
|
|
|
$wikiPage->locale = $_POST['locale'];
|
2018-10-22 23:09:20 +02:00
|
|
|
$wikiPage->name = $_POST['name'];
|
2017-12-20 21:49:11 +01:00
|
|
|
$wikiPage->update();
|
|
|
|
|
2018-10-22 23:09:20 +02:00
|
|
|
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
|
2017-12-20 21:49:11 +01:00
|
|
|
}
|
|
|
|
else {
|
2018-10-22 23:09:20 +02:00
|
|
|
$locales = new Kabano\Locales();
|
|
|
|
$locales->getAll();
|
|
|
|
|
|
|
|
$head['title'] = $wikiPage->name;
|
2017-12-20 21:49:11 +01:00
|
|
|
include ($config['views_folder']."d.wiki.edit.html");
|
|
|
|
}
|
2018-10-18 20:33:15 +02:00
|
|
|
} else if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="delete" && $user->rankIsHigher('moderator')) {
|
2017-12-20 21:49:11 +01:00
|
|
|
// Delete page
|
|
|
|
$wikiPage->delete();
|
2018-10-22 23:09:20 +02:00
|
|
|
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
|
2018-10-30 21:29:46 +01:00
|
|
|
} else if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="restore" && $user->rankIsHigher('moderator')) {
|
|
|
|
// Restore page
|
|
|
|
$wikiPage->restore();
|
|
|
|
header('Location: '.$config['rel_root_folder']."wiki/".$wikiPage->permalink);
|
2017-12-20 21:49:11 +01:00
|
|
|
} else {
|
|
|
|
// Display page
|
2018-10-18 20:33:15 +02:00
|
|
|
if($user->rankIsHigher('premium')) {
|
2018-10-22 20:03:03 +02:00
|
|
|
$wikiHistory = new Kabano\WikiPages();
|
2017-12-20 21:49:11 +01:00
|
|
|
$wikiHistory->getHistory($controller->splitted_url[1]);
|
|
|
|
}
|
|
|
|
if (isset($controller->splitted_url[2]) && is_numeric($controller->splitted_url[2]))
|
2018-10-22 23:09:20 +02:00
|
|
|
$wikiPage->checkPermalink($controller->splitted_url[1], $user->rankIsHigher('premium'), $controller->splitted_url[2]);
|
2017-12-20 21:49:11 +01:00
|
|
|
|
|
|
|
$wikiPage->md2html();
|
2018-10-22 23:09:20 +02:00
|
|
|
$head['title'] = $wikiPage->name;
|
2017-12-20 21:49:11 +01:00
|
|
|
include ($config['views_folder']."d.wiki.view.html");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$notfound = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|