Check if wiki exists and redirect if it does not
This commit is contained in:
parent
97e6b7c4ba
commit
ca78ebce6d
@ -26,6 +26,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function get() {
|
function get() {
|
||||||
|
require_once('include/wiki.php');
|
||||||
require_once('include/acl_selectors.php');
|
require_once('include/acl_selectors.php');
|
||||||
if(local_channel()) {
|
if(local_channel()) {
|
||||||
$channel = \App::get_channel();
|
$channel = \App::get_channel();
|
||||||
@ -56,6 +57,10 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
} elseif (argc()<4) {
|
} elseif (argc()<4) {
|
||||||
$wikiheader = 'Empty wiki: ' . rawurldecode(argv(2)); // show wiki name
|
$wikiheader = 'Empty wiki: ' . rawurldecode(argv(2)); // show wiki name
|
||||||
$hide_editor = true;
|
$hide_editor = true;
|
||||||
|
// Check if wiki exists andr redirect if it does not
|
||||||
|
if(!wiki_exists_by_name(argv(2))['id']) {
|
||||||
|
goaway('/'.argv(0).'/'.argv(1));
|
||||||
|
}
|
||||||
} elseif (argc()<5) {
|
} elseif (argc()<5) {
|
||||||
$wikiheader = rawurldecode(argv(2)) . ': ' . rawurldecode(argv(3)); // show wiki name and page
|
$wikiheader = rawurldecode(argv(2)) . ': ' . rawurldecode(argv(3)); // show wiki name and page
|
||||||
$hide_editor = false;
|
$hide_editor = false;
|
||||||
@ -112,7 +117,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
|||||||
// then, use webpage permissions
|
// then, use webpage permissions
|
||||||
if (!$perms['write_pages']) {
|
if (!$perms['write_pages']) {
|
||||||
notice(t('Permission denied.') . EOL);
|
notice(t('Permission denied.') . EOL);
|
||||||
goaway(argv(0).'/'.argv(1).'/'.argv(2));
|
goaway('/'.argv(0).'/'.argv(1).'/'.argv(2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$name = escape_tags(urlencode($_POST['wikiName'])); //Get new wiki name
|
$name = escape_tags(urlencode($_POST['wikiName'])); //Get new wiki name
|
||||||
|
@ -124,3 +124,16 @@ function wiki_delete_wiki($resource_id) {
|
|||||||
return array('item' => $item, 'success' => (($drop === 1 && $pathdel) ? true : false));
|
return array('item' => $item, 'success' => (($drop === 1 && $pathdel) ? true : false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function wiki_exists_by_name($name) {
|
||||||
|
$item = q("SELECT id FROM item WHERE resource_type = '%s' AND title = '%s' AND item_deleted = 0 limit 1",
|
||||||
|
dbesc(WIKI_ITEM_RESOURCE_TYPE),
|
||||||
|
dbesc($name)
|
||||||
|
);
|
||||||
|
if (!$item) {
|
||||||
|
return array('id' => null);
|
||||||
|
} else {
|
||||||
|
return array('id' => $item[0]['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user