Make WordPress Core


Ignore:
Timestamp:
12/18/2004 12:28:24 AM (22 years ago)
Author:
rboren
Message:

Rework query precedence for bug 541. Add is_trackback().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/classes.php

    r1959 r1972  
    2424        var $is_search = false;
    2525        var $is_feed = false;
     26        var $is_trackback = false;
    2627        var $is_home = false;
    2728        var $is_404 = false;
    … …  
    4041                $this->is_search = false;
    4142                $this->is_feed = false;
     43                $this->is_trackback = false;
    4244                $this->is_home = false;
    4345                $this->is_404 = false;
    … …  
    6264                if ('' != $qv['name']) {
    6365                        $this->is_single = true;
    64                 }
    65 
    66                 if (($qv['p'] != '') && ($qv['p'] != 'all')) {
     66                } else  if (($qv['p'] != '') && ($qv['p'] != 'all')) {
    6767                        $this->is_single = true;           
    68                 }
    69 
    70                 if ('' != $qv['static'] || '' != $qv['pagename'] || '' != $qv['page_id']) {
     68                }       else if (('' != $qv['hour']) && ('' != $qv['minute']) &&('' != $qv['second']) && ('' != $qv['year']) && ('' != $qv['monthnum']) && ('' != $qv['day'])) {
     69                        // If year, month, day, hour, minute, and second are set, a single
     70                  // post is being queried.       
     71                        $this->is_single = true;
     72                } else if ('' != $qv['static'] || '' != $qv['pagename'] || '' != $qv['page_id']) {
    7173                        $this->is_page = true;
    7274                        $this->is_single = false;
    73                 }
    74 
    75                 if ( (int) $qv['second']) {
    76                         $this->is_time = true;
    77                         $this->is_date = true;
    78                 }
    79 
    80                 if ( (int) $qv['minute']) {
    81                         $this->is_time = true;
    82                         $this->is_date = true;
    83                 }
    84 
    85                 if ( (int) $qv['hour']) {
    86                         $this->is_time = true;
    87                         $this->is_date = true;
    88                 }
    89 
    90                 if ( (int) $qv['day']) {
    91                         if (! $this->is_date) {
    92                                 $this->is_day = true;
     75                } else if (!empty($qv['s'])) {
     76                        $this->is_search = true;
     77                } else {
     78                        // Look for archive queries.  Dates, categories, authors.
     79
     80                        if ( (int) $qv['second']) {
     81                                $this->is_time = true;
    9382                                $this->is_date = true;
    9483                        }
    95                 }
    96 
    97                 if ( (int)  $qv['monthnum']) {
    98                         if (! $this->is_date) {
    99                                 $this->is_month = true;
     84
     85                        if ( (int) $qv['minute']) {
     86                                $this->is_time = true;
    10087                                $this->is_date = true;
    10188                        }
    102                 }
    103 
    104                 if ( (int)  $qv['year']) {
    105                         if (! $this->is_date) {
    106                                 $this->is_year = true;
     89
     90                        if ( (int) $qv['hour']) {
     91                                $this->is_time = true;
    10792                                $this->is_date = true;
    10893                        }
    109                 }
    110 
    111                 if ( (int)  $qv['m']) {
    112                         $this->is_date = true;
    113                         if (strlen($qv['m']) > 9) {
    114                                 $this->is_time = true;
    115                         } else if (strlen($qv['m']) > 7) {
    116                                 $this->is_day = true;
    117                         } else if (strlen($qv['m']) > 5) {
    118                                 $this->is_month = true;
    119                         } else {
    120                                 $this->is_year = true;
    121                         }
    122                 }
    123 
    124                 if ('' != $qv['w']) {
    125                         $this->is_date = true;
    126                 }
    127 
    128                 // If year, month, day, hour, minute, and second are set, a single
    129                 // post is being queried.       
    130                 if (('' != $qv['hour']) && ('' != $qv['minute']) &&('' != $qv['second']) && ('' != $qv['year']) && ('' != $qv['monthnum']) && ('' != $qv['day'])) {
    131                         $this->is_single = true;
    132                 }
    133 
    134                 if (!empty($qv['s'])) {
    135                         $this->is_search = true;
    136                 }
    137 
    138                 if (empty($qv['cat']) || ($qv['cat'] == 'all') || ($qv['cat'] == '0')) {
    139                         $this->is_category = false;
    140                 } else {
    141                         if (stristr($qv['cat'],'-')) {
     94
     95                        if ( (int) $qv['day']) {
     96                                if (! $this->is_date) {
     97                                        $this->is_day = true;
     98                                        $this->is_date = true;
     99                                }
     100                        }
     101
     102                        if ( (int)  $qv['monthnum']) {
     103                                if (! $this->is_date) {
     104                                        $this->is_month = true;
     105                                        $this->is_date = true;
     106                                }
     107                        }
     108
     109                        if ( (int)  $qv['year']) {
     110                                if (! $this->is_date) {
     111                                        $this->is_year = true;
     112                                        $this->is_date = true;
     113                                }
     114                        }
     115
     116                        if ( (int)  $qv['m']) {
     117                                $this->is_date = true;
     118                                if (strlen($qv['m']) > 9) {
     119                                        $this->is_time = true;
     120                                } else if (strlen($qv['m']) > 7) {
     121                                        $this->is_day = true;
     122                                } else if (strlen($qv['m']) > 5) {
     123                                        $this->is_month = true;
     124                                } else {
     125                                        $this->is_year = true;
     126                                }
     127                        }
     128
     129                        if ('' != $qv['w']) {
     130                                $this->is_date = true;
     131                        }
     132
     133                        if (empty($qv['cat']) || ($qv['cat'] == 'all') || ($qv['cat'] == '0')) {
    142134                                $this->is_category = false;
    143135                        } else {
     136                                if (stristr($qv['cat'],'-')) {
     137                                        $this->is_category = false;
     138                                } else {
     139                                        $this->is_category = true;
     140                                }
     141                        }
     142
     143                        if ('' != $qv['category_name']) {
    144144                                $this->is_category = true;
    145145                        }
    146                 }
    147 
    148                 if ('' != $qv['category_name']) {
    149                         $this->is_category = true;
    150                 }
    151146           
    152                 // single, page, date, and search override category.
    153                 if ($this->is_single || $this->is_page || $this->is_date || $this->is_search) {
    154                         $this->is_category = false;               
    155                 }
    156 
    157                 if ((empty($qv['author'])) || ($qv['author'] == 'all') || ($qv['author'] == '0')) {
    158                         $this->is_author = false;
    159                 } else {
    160                         $this->is_author = true;
    161                 }
    162 
    163                 if ('' != $qv['author_name']) {
    164                         $this->is_author = true;
     147                        if ((empty($qv['author'])) || ($qv['author'] == 'all') || ($qv['author'] == '0')) {
     148                                $this->is_author = false;
     149                        } else {
     150                                $this->is_author = true;
     151                        }
     152
     153                        if ('' != $qv['author_name']) {
     154                                $this->is_author = true;
     155                        }
     156
     157                        if ( ($this->is_date || $this->is_author || $this->is_category)) {
     158                                $this->is_archive = true;
     159                        }
    165160                }
    166161
    … …  
    169164                }
    170165
     166                if ('' != $qv['tb']) {
     167                        $this->is_trackback = true;
     168                }
     169
    171170                if ('404' == $qv['error']) {
    172171                        $this->is_404 = true;
    … …  
    177176                }
    178177
    179                 if ( ($this->is_date || $this->is_author || $this->is_category)
    180                                  && (! ($this->is_single || $this->is_page)) ) {
    181                         $this->is_archive = true;
    182                 }
    183 
    184                 if ( ! ($this->is_archive || $this->is_single || $this->is_page || $this->is_search || $this->is_feed || $this->is_404)) {
     178                if ( ! ($this->is_archive || $this->is_single || $this->is_page || $this->is_search || $this->is_feed || $this->is_trackback || $this->is_404)) {
    185179                        $this->is_home = true;
    186180                }
    … …  
    900894        }
    901895
    902         function generate_rewrite_rules($permalink_structure = '', $page = true, $feed = true, $forcomments = false) {
     896        function generate_rewrite_rules($permalink_structure, $page = true, $feed = true, $forcomments = false, $walk_dirs = true) {
    903897                $feedregex2 = '(feed|rdf|rss|rss2|atom)/?$';
    904898                $feedregex = 'feed/' . $feedregex2;
Note: See TracChangeset for help on using the changeset viewer.