OSDN Git Service

BugTrack/2478 Handle plus(+) char in URL as space for page name
authorumorigu <umorigu@gmail.com>
Tue, 18 Dec 2018 21:13:56 +0000 (06:13 +0900)
committerumorigu <umorigu@gmail.com>
Tue, 18 Dec 2018 21:13:56 +0000 (06:13 +0900)
* page name encode - name:'A B' => url:'A+B'
* page name decode - url:'A+B' => name:'A B'

lib/func.php
lib/init.php

index 68b7cc1..41bcd81 100644 (file)
@@ -462,7 +462,7 @@ function arg_check($str)
 
 function _pagename_urlencode_callback($matches)
 {
-       return rawurlencode($matches[0]);
+       return urlencode($matches[0]);
 }
 
 function pagename_urlencode($page)
index b6d059d..c5ed14e 100644 (file)
@@ -402,7 +402,7 @@ if (! isset($vars['cmd']) && ! isset($vars['plugin'])) {
        $arg = preg_replace("#^([^&]*)&.*$#", "$1", $arg);
        if ($arg == '') $arg = $defaultpage;
        if (strpos($arg, '=') !== false) $arg = $defaultpage; // Found '/?key=value'
-       $arg = rawurldecode($arg);
+       $arg = urldecode($arg);
        $arg = strip_bracket($arg);
        $arg = input_filter($arg);
        $get['page'] = $post['page'] = $vars['page'] = $arg;