WordPress.org

Make WordPress Core

Ticket #1485: user-trail.diff

File user-trail.diff, 10.7 KB (added by MathiasBynens, 13 years ago)
  • wp-includes/template-functions-general.php

     
    301301        if ($arcresults) {
    302302            $afterafter = $after;
    303303            foreach ($arcresults as $arcresult) {
    304                 $url  = get_month_link($arcresult->year,  $arcresult->month);
     304                $url = get_month_link($arcresult->year, $arcresult->month);
    305305                if ($show_post_count) {
    306306                    $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
    307                     $after = ' ('.$arcresult->posts.')' . $afterafter;
     307                    $after = ' (' . $arcresult->posts . ')' . $afterafter;
    308308                } else {
    309                     $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
     309                    $text = sprintf('%s %d', $month[zeroise($arcresult->month, 2)], $arcresult->year);
    310310                }
    311311                echo get_archives_link($url, $text, $format, $before, $after);
    312312            }
  • wp-includes/template-functions-category.php

     
    2121
    2222function get_category_link($category_id) {
    2323        global $wp_rewrite;
    24         $catlink = $wp_rewrite->get_category_permastruct();
     24        $catlink = user_trailing_slash($wp_rewrite->get_category_permastruct());
    2525
    2626        if ( empty($catlink) ) {
    2727                $file = get_settings('home') . '/' . get_settings('blogfilename');
     
    3434                        $category_nicename = get_category_parents($parent, false, '/', true) . $category_nicename . '/';
    3535
    3636                $catlink = str_replace('%category%', $category_nicename, $catlink);
    37                 $catlink = get_settings('home') . trailingslashit($catlink);
     37                $catlink = get_settings('home') . $catlink;
    3838        }
    3939        return apply_filters('category_link', $catlink, $category_id);
    4040}
  • wp-includes/classes.php

     
    813813        }                                       
    814814
    815815        function using_index_permalinks() {
    816     if (empty($this->permalink_structure)) {
     816                if (empty($this->permalink_structure)) {
    817817                        return false;
    818     }
     818        }
    819819
    820820    // If the index is not in the permalink, we're using mod_rewrite.
    821821    if (preg_match('#^/*' . $this->index . '#', $this->permalink_structure)) {
     
    833833        }                                       
    834834
    835835        function preg_index($number) {
    836     $match_prefix = '$';
    837     $match_suffix = '';
     836                $match_prefix = '$';
     837                $match_suffix = '';
    838838   
    839     if (! empty($this->matches)) {
     839                if (! empty($this->matches)) {
    840840                        $match_prefix = '$' . $this->matches . '[';
    841841                        $match_suffix = ']';
    842     }       
     842                }
    843843   
    844     return "$match_prefix$number$match_suffix";       
     844                return "$match_prefix$number$match_suffix";
    845845        }
    846846
    847847        function page_rewrite_rules() {
     
    849849
    850850                $rewrite_rules = array();
    851851                $page_structure = $this->get_page_permastruct();
    852                 if( is_array( $uris ) )
    853                         {
     852                if( is_array( $uris ) ) {
    854853                                foreach ($uris as $uri => $pagename) {
    855854                                        $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename=');
    856855                                        $rewrite_rules += $this->generate_rewrite_rules($page_structure);
     
    910909                        return false;
    911910                }
    912911
    913                 $structure = str_replace('%monthnum%', '', $structure);
    914                 $structure = str_replace('%day%', '', $structure);
     912                $structure = str_replace('/%monthnum%', '', $structure);
     913                $structure = str_replace('/%day%', '', $structure);
    915914
    916915                $structure = preg_replace('#/+#', '/', $structure);
    917916
     
    925924                        return false;
    926925                }
    927926
    928                 $structure = str_replace('%day%', '', $structure);
     927                $structure = str_replace('/%day%', '', $structure);
    929928
    930929                $structure = preg_replace('#/+#', '/', $structure);
    931930
     
    941940                        return $this->category_structure;
    942941                }
    943942
    944     if (empty($this->permalink_structure)) {
     943                if (empty($this->permalink_structure)) {
    945944                        $this->category_structure = '';
    946945                        return false;
    947946                }
  • wp-includes/template-functions-links.php

     
    8989        if ('' != $pagestruct) {
    9090                $link = get_page_uri($id);
    9191                $link = str_replace('%pagename%', $link, $pagestruct);
    92                 $link = get_settings('home') . "/$link/";
     92                $link = user_trailing_slash(get_settings('home') . '/' . $link);
    9393        } else {
    94                 $link = get_settings('home') . "/?page_id=$id";
     94                $link = get_settings('home') . '/?page_id=' . $id;
    9595        }
    9696
    9797        return apply_filters('page_link', $link, $id);
     
    103103                $yearlink = $wp_rewrite->get_year_permastruct();
    104104    if (!empty($yearlink)) {
    105105        $yearlink = str_replace('%year%', $year, $yearlink);
    106         return apply_filters('year_link', get_settings('home') . trailingslashit($yearlink), $year);
     106        return apply_filters('year_link', get_settings('home') . $yearlink, $year);
    107107    } else {
    108108        return apply_filters('year_link', get_settings('home') . '/?m=' . $year, $year);
    109109    }
     
    111111
    112112function get_month_link($year, $month) {
    113113    global $wp_rewrite;
    114     if (!$year) $year = gmdate('Y', time()+(get_settings('gmt_offset') * 3600));
    115     if (!$month) $month = gmdate('m', time()+(get_settings('gmt_offset') * 3600));
     114    if (!$year) $year = gmdate('Y', time() + (get_settings('gmt_offset') * 3600));
     115    if (!$month) $month = gmdate('m', time() + (get_settings('gmt_offset') * 3600));
    116116                $monthlink = $wp_rewrite->get_month_permastruct();
    117117    if (!empty($monthlink)) {
    118118        $monthlink = str_replace('%year%', $year, $monthlink);
    119119        $monthlink = str_replace('%monthnum%', zeroise(intval($month), 2), $monthlink);
    120         return apply_filters('month_link', get_settings('home') . trailingslashit($monthlink), $year, $month);
     120        return apply_filters('month_link', get_settings('home') . $monthlink, $year, $month);
    121121    } else {
    122122        return apply_filters('month_link', get_settings('home') . '/?m=' . $year . zeroise($month, 2), $year, $month);
    123123    }
     
    134134        $daylink = str_replace('%year%', $year, $daylink);
    135135        $daylink = str_replace('%monthnum%', zeroise(intval($month), 2), $daylink);
    136136        $daylink = str_replace('%day%', zeroise(intval($day), 2), $daylink);
    137         return apply_filters('day_link', get_settings('home') . trailingslashit($daylink), $year, $month, $day);
     137        return apply_filters('day_link', get_settings('home') . $daylink, $year, $month, $day);
    138138    } else {
    139139        return apply_filters('day_link', get_settings('home') . '/?m=' . $year . zeroise($month, 2) . zeroise($day, 2), $year, $month, $day);
    140140    }
     
    157157                        $feed = '';
    158158
    159159                $permalink = str_replace('%feed%', $feed, $permalink);
    160                 $permalink = preg_replace('#/+#', '/', "/$permalink/");
     160                $permalink = preg_replace('#/+#', '/', "/$permalink");
    161161                $output =  get_settings('home') . $permalink;
    162162        } else {
    163163                if ( false !== strpos($feed, 'comments_') )
  • wp-includes/template-functions-post.php

     
    289289        }
    290290
    291291        $pages = $wpdb->get_results("SELECT * " .
    292                                                                                                                         "FROM $wpdb->posts " .
    293                                                                                                                         "WHERE post_status = 'static' " .
    294                                                                                                                         "$exclusions " .
    295                                                                                                                         "ORDER BY " . $r['sort_column'] . " " . $r['sort_order']);
     292                                                        "FROM $wpdb->posts " .
     293                                                        "WHERE post_status = 'static' " .
     294                                                        "$exclusions " .
     295                                                        "ORDER BY " . $r['sort_column'] . " " . $r['sort_order']);
    296296
    297297        if ( empty($pages) )
    298298                return array();
     
    373373
    374374        if($depth)
    375375                $indent = str_repeat("\t", $depth);
    376         //$indent = join('', array_fill(0,$depth,"\t"));
     376        //$indent = join('', array_fill(0, $depth, "\t"));
    377377
    378378        foreach($page_tree[$parent]['children'] as $page_id) {
    379379                $cur_page = $page_tree[$page_id];
  • wp-includes/comment-functions.php

     
    307307        $tb_url = get_settings('siteurl') . '/wp-trackback.php?p=' . $id;
    308308
    309309        if ( '' != get_settings('permalink_structure') )
    310                 $tb_url = trailingslashit(get_permalink()) . 'trackback/';
     310                $tb_url = user_trailing_slash(trailingslashit(get_permalink()) . 'trackback');
    311311
    312312        return $tb_url;
    313313}
  • wp-includes/feed-functions.php

     
    8282        global $id;
    8383
    8484        if ('' != get_settings('permalink_structure'))
    85                 $url = trailingslashit( get_permalink() ) . 'feed/';
     85                $url = user_trailing_slash(trailingslashit(get_permalink()) . 'feed');
    8686        else
    8787                $url = get_settings('home') . "/$commentsrssfilename?feed=rss2&p=$id";
    8888
     
    9797                                 $link = get_settings('home') . '?feed=rss2&author=' . $author_id;
    9898       } else {
    9999                                 $link = get_author_link(0, $author_id, $author_nicename);
    100                                  $link = $link . "feed/";
     100                                 $link = user_trailing_slash($link . 'feed');
    101101       }
    102102                         
    103103                         $link = apply_filters('author_feed_link', $link);
     
    113113                                 $link = get_settings('home') . '?feed=rss2&cat=' . $cat_ID;
    114114       } else {
    115115                                 $link = get_category_link($cat_ID);
    116                                  $link = $link . "feed/";
     116                                 $link = user_trailing_slash($link . 'feed');
    117117       }
    118118
    119119                         $link = apply_filters('category_feed_link', $link);
  • wp-includes/functions-formatting.php

     
    515515        return $string;
    516516}
    517517
    518 function trailingslashit($string) {
    519     if ( '/' != substr($string, -1)) {
    520         $string .= '/';
    521     }
    522     return $string;
     518function trailingslashit($iri) {
     519        if ('/' != substr($iri, -1)) {
     520                $iri .= '/';
     521        }
     522        return $iri;
    523523}
    524524
     525function user_trailing_slash($iri) {
     526        if (('/' == substr(get_settings('permalink_structure'), -1)) && ('/' != substr($iri, -1))) {
     527                $iri .= '/';
     528        }
     529        return $iri;
     530}
     531
    525532function addslashes_gpc($gpc) {
    526533        if (!get_magic_quotes_gpc()) {
    527534                $gpc = addslashes($gpc);