OSDN Git Service

BugTrack/2525 Support make_link
authorumorigu <umorigu@gmail.com>
Sun, 28 Nov 2021 16:05:04 +0000 (01:05 +0900)
committerumorigu <umorigu@gmail.com>
Sun, 28 Nov 2021 16:05:04 +0000 (01:05 +0900)
lib/func.php
lib/make_link.php

index d41589c..de6df81 100644 (file)
@@ -858,10 +858,7 @@ function get_base_uri($uri_type = PKWK_URI_RELATIVE)
  */
 function get_page_uri($page, $uri_type = PKWK_URI_RELATIVE)
 {
-       global $defaultpage, $pkwk_page_uri_handler;
-       if ($page === $defaultpage) {
-               return get_base_uri($uri_type);
-       }
+       global $pkwk_page_uri_handler;
        return get_base_uri($uri_type) . $pkwk_page_uri_handler->get_page_uri_fragment($page);
 }
 
index ddde67a..b78cb18 100644 (file)
@@ -854,9 +854,6 @@ function make_pagelink($page, $alias = '', $anchor = '', $refer = '', $isautolin
 
        if ($page == '') return '<a href="' . $anchor . '">' . $s_alias . '</a>';
 
-       $r_page  = pagename_urlencode($page);
-       $r_refer = ($refer == '') ? '' : '&amp;refer=' . rawurlencode($refer);
-
        $page_filetime = fast_get_filetime($page);
        $is_page = $page_filetime !== 0;
        if (! isset($related[$page]) && $page !== $vars['page'] && $is_page) {
@@ -877,12 +874,14 @@ function make_pagelink($page, $alias = '', $anchor = '', $refer = '', $isautolin
                if ($s_page !== $s_alias) {
                        $title_attr_html = ' title="' . $s_page . '"';
                }
-               return $al_left . '<a ' . 'href="' . $script . '?' . $r_page . $anchor .
+               return $al_left . '<a ' . 'href="' . get_page_uri($page) . $anchor .
                        '"' . $title_attr_html . ' class="' .
                        $attrs['class'] . '" data-mtime="' . $attrs['data_mtime'] .
                        '">' . $s_alias . '</a>' . $al_right;
        } else {
                // Support Page redirection
+               $r_page  = rawurlencode($page);
+               $r_refer = ($refer == '') ? '' : '&amp;refer=' . rawurlencode($refer);
                $redirect_page = get_pagename_on_redirect($page);
                if ($redirect_page !== false) {
                        return make_pagelink($redirect_page, $s_alias);