WordPress.org

Make WordPress Core

Changeset 15626


Ignore:
Timestamp:
09/17/10 22:27:22 (7 years ago)
Author:
scribu
Message:

Don't require categoryin, tagin etc. to be arrays necessarily. Fixes #14892

File:
1 edited

Legend:

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

    r15625 r15626  
    12871287                $this->is_category = false; 
    12881288            } else { 
    1289                 if ( strpos($qv['cat'], '-') !== false ) { 
    1290                     $this->is_category = false; 
    1291                 } else { 
    1292                     $this->is_category = true; 
    1293                 } 
    1294             } 
    1295  
    1296             if ( '' != $qv['category_name'] ) { 
     1289                $this->is_category = strpos($qv['cat'], '-') !== false; 
     1290            } 
     1291 
     1292            if ( !empty($qv['category_name']) ) { 
    12971293                $this->is_category = true; 
    12981294            } 
    12991295 
    1300             if ( !is_array($qv['category__in']) || empty($qv['category__in']) ) { 
     1296            if ( empty($qv['category__in']) ) { 
    13011297                $qv['category__in'] = array(); 
    13021298            } else { 
    1303                 $qv['category__in'] = array_map('absint', $qv['category__in']); 
     1299                $qv['category__in'] = array_map('absint', (array) $qv['category__in']); 
    13041300                $this->is_category = true; 
    13051301            } 
    13061302 
    1307             if ( !is_array($qv['category__not_in']) || empty($qv['category__not_in']) ) { 
     1303            if ( empty($qv['category__not_in']) ) { 
    13081304                $qv['category__not_in'] = array(); 
    13091305            } else { 
    1310                 $qv['category__not_in'] = array_map('absint', $qv['category__not_in']); 
    1311             } 
    1312  
    1313             if ( !is_array($qv['category__and']) || empty($qv['category__and']) ) { 
     1306                $qv['category__not_in'] = array_map('absint', (array) $qv['category__not_in']); 
     1307            } 
     1308 
     1309            if ( empty($qv['category__and']) ) { 
    13141310                $qv['category__and'] = array(); 
    13151311            } else { 
    1316                 $qv['category__and'] = array_map('absint', $qv['category__and']); 
     1312                $qv['category__and'] = array_map('absint', (array) $qv['category__and']); 
    13171313                $this->is_category = true; 
    13181314            } 
     
    13221318 
    13231319            $qv['tag_id'] = absint($qv['tag_id']); 
    1324             if (  !empty($qv['tag_id']) ) 
     1320            if ( !empty($qv['tag_id']) ) 
    13251321                $this->is_tag = true; 
    13261322 
    1327             if ( !is_array($qv['tag__in']) || empty($qv['tag__in']) ) { 
     1323            if ( empty($qv['tag__in']) ) { 
    13281324                $qv['tag__in'] = array(); 
    13291325            } else { 
    1330                 $qv['tag__in'] = array_map('absint', $qv['tag__in']); 
     1326                $qv['tag__in'] = array_map('absint', (array) $qv['tag__in']); 
    13311327                $this->is_tag = true; 
    13321328            } 
    13331329 
    1334             if ( !is_array($qv['tag__not_in']) || empty($qv['tag__not_in']) ) { 
     1330            if ( empty($qv['tag__not_in']) ) { 
    13351331                $qv['tag__not_in'] = array(); 
    13361332            } else { 
    1337                 $qv['tag__not_in'] = array_map('absint', $qv['tag__not_in']); 
     1333                $qv['tag__not_in'] = array_map('absint', (array) $qv['tag__not_in']); 
    13381334            } 
    13391335 
     
    13411337                $qv['tag__and'] = array(); 
    13421338            } else { 
    1343                 $qv['tag__and'] = array_map('absint', $qv['tag__and']); 
    1344                 $this->is_category = true; 
    1345             } 
    1346  
    1347             if ( !is_array($qv['tag_slug__in']) || empty($qv['tag_slug__in']) ) { 
     1339                $qv['tag__and'] = array_map('absint', (array) $qv['tag__and']); 
     1340                $this->is_tag = true; 
     1341            } 
     1342 
     1343            if ( empty($qv['tag_slug__in']) ) { 
    13481344                $qv['tag_slug__in'] = array(); 
    13491345            } else { 
    1350                 $qv['tag_slug__in'] = array_map('sanitize_title', $qv['tag_slug__in']); 
     1346                $qv['tag_slug__in'] = array_map('sanitize_title', (array) $qv['tag_slug__in']); 
    13511347                $this->is_tag = true; 
    13521348            } 
    13531349 
    1354             if ( !is_array($qv['tag_slug__and']) || empty($qv['tag_slug__and']) ) { 
     1350            if ( empty($qv['tag_slug__and']) ) { 
    13551351                $qv['tag_slug__and'] = array(); 
    13561352            } else { 
    1357                 $qv['tag_slug__and'] = array_map('sanitize_title', $qv['tag_slug__and']); 
     1353                $qv['tag_slug__and'] = array_map('sanitize_title', (array) $qv['tag_slug__and']); 
    13581354                $this->is_tag = true; 
    13591355            } 
Note: See TracChangeset for help on using the changeset viewer.