Allow hashes in redirects. Also fix bug in page moving.
This commit is contained in:
parent
16076a8d8f
commit
63d0bdd5d6
|
@ -4434,7 +4434,7 @@ register_module([
|
||||||
$pageindex->$new_name->$key = $value;
|
$pageindex->$new_name->$key = $value;
|
||||||
}
|
}
|
||||||
unset($pageindex->$page);
|
unset($pageindex->$page);
|
||||||
$pageindex->$new_name->filename = $new_name;
|
$pageindex->$new_name->filename = "$new_name.md";
|
||||||
|
|
||||||
// If this page has an associated file, then we should move that too
|
// If this page has an associated file, then we should move that too
|
||||||
if(!empty($pageindex->$new_name->uploadedfile))
|
if(!empty($pageindex->$new_name->uploadedfile))
|
||||||
|
@ -4589,7 +4589,7 @@ register_module([
|
||||||
* @apiParam {number} revision The revision number to display.
|
* @apiParam {number} revision The revision number to display.
|
||||||
* @apiParam {string} printable Set to 'yes' to get a printable version of the specified page instead.
|
* @apiParam {string} printable Set to 'yes' to get a printable version of the specified page instead.
|
||||||
*
|
*
|
||||||
* @apiError NonExistentPageError The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit apge instead.
|
* @apiError NonExistentPageError The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit page instead.
|
||||||
* @apiError NonExistentRevisionError The specified revision was not found.
|
* @apiError NonExistentRevisionError The specified revision was not found.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -4635,7 +4635,20 @@ register_module([
|
||||||
{
|
{
|
||||||
// Todo send an explanatory page along with the redirect
|
// Todo send an explanatory page along with the redirect
|
||||||
http_response_code(307);
|
http_response_code(307);
|
||||||
header("location: ?action=$env->action&page=" . $pageindex->$page->redirect_target . "&redirected_from=$env->page");
|
$redirectUrl = "?action=$env->action&redirected_from=$env->page";
|
||||||
|
|
||||||
|
$hashCode = "";
|
||||||
|
$newPage = $pageindex->$page->redirect_target;
|
||||||
|
if(strpos($newPage, "#") !== false)
|
||||||
|
{
|
||||||
|
$hashCode = substr($newPage, strpos($newPage, "#") + 1);
|
||||||
|
$newPage = substr($newPage, 0, strpos($newPage, "#"));
|
||||||
|
}
|
||||||
|
$newPage .= "&page=" . $pageindex->$page->redirect_target;
|
||||||
|
if(strlen($hashCode) > 0)
|
||||||
|
$newPage .= "#$hashCode";
|
||||||
|
|
||||||
|
header("location: $redirectUrl");
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -167,7 +167,7 @@
|
||||||
"author": "Starbeamrainbowlabs",
|
"author": "Starbeamrainbowlabs",
|
||||||
"description": "Adds an action to allow administrators to move pages.",
|
"description": "Adds an action to allow administrators to move pages.",
|
||||||
"id": "page-move",
|
"id": "page-move",
|
||||||
"lastupdate": 1466582736,
|
"lastupdate": 1471631964,
|
||||||
"optional": false
|
"optional": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
"author": "Starbeamrainbowlabs",
|
"author": "Starbeamrainbowlabs",
|
||||||
"description": "Allows you to view pages. You really should include this one.",
|
"description": "Allows you to view pages. You really should include this one.",
|
||||||
"id": "page-view",
|
"id": "page-view",
|
||||||
"lastupdate": 1466969288,
|
"lastupdate": 1471632495,
|
||||||
"optional": false
|
"optional": false
|
||||||
},
|
},
|
||||||
{
|
{
|
|
@ -16,7 +16,7 @@ register_module([
|
||||||
* @apiParam {number} revision The revision number to display.
|
* @apiParam {number} revision The revision number to display.
|
||||||
* @apiParam {string} printable Set to 'yes' to get a printable version of the specified page instead.
|
* @apiParam {string} printable Set to 'yes' to get a printable version of the specified page instead.
|
||||||
*
|
*
|
||||||
* @apiError NonExistentPageError The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit apge instead.
|
* @apiError NonExistentPageError The page doesn't exist and editing is disabled in the wiki's settings. If editing isn't disabled, you will be redirected to the edit page instead.
|
||||||
* @apiError NonExistentRevisionError The specified revision was not found.
|
* @apiError NonExistentRevisionError The specified revision was not found.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -62,7 +62,20 @@ register_module([
|
||||||
{
|
{
|
||||||
// Todo send an explanatory page along with the redirect
|
// Todo send an explanatory page along with the redirect
|
||||||
http_response_code(307);
|
http_response_code(307);
|
||||||
header("location: ?action=$env->action&page=" . $pageindex->$page->redirect_target . "&redirected_from=$env->page");
|
$redirectUrl = "?action=$env->action&redirected_from=$env->page";
|
||||||
|
|
||||||
|
$hashCode = "";
|
||||||
|
$newPage = $pageindex->$page->redirect_target;
|
||||||
|
if(strpos($newPage, "#") !== false)
|
||||||
|
{
|
||||||
|
$hashCode = substr($newPage, strpos($newPage, "#") + 1);
|
||||||
|
$newPage = substr($newPage, 0, strpos($newPage, "#"));
|
||||||
|
}
|
||||||
|
$newPage .= "&page=" . $pageindex->$page->redirect_target;
|
||||||
|
if(strlen($hashCode) > 0)
|
||||||
|
$newPage .= "#$hashCode";
|
||||||
|
|
||||||
|
header("location: $redirectUrl");
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue