Dotclear

Changeset 504:218a2726906d


Ignore:
Timestamp:
07/04/11 09:43:43 (14 years ago)
Author:
Dsls <dsls@…>
Branch:
formfilters
Children:
506:f97697c66830, 508:7dbb15fcd538
Message:

Added multiple post status support

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • admin/posts.php

    r460 r504  
    161161          'category',__('Category'), 'cat_id', $categories_combo)) 
    162162     ->addFilter(new comboFilter( 
    163           'post_status',__('Status'), 'post_status', $status_combo,array('singleval' => 1))) 
     163          'post_status',__('Status'), 'post_status', $status_combo)) 
    164164     ->addFilter(new booleanFilter( 
    165165          'post_selected',__('The post :'), 'post_selected', $selected_combo)) 
  • inc/core/class.dc.blog.php

    r439 r504  
    9090     } 
    9191      
     92     /** 
     93     Returns sql statement for a given parameter.  
     94     Computes in() or not_in lists in parameter 
     95 
     96     @param    params    <b>array</b> query parameters 
     97     @param    param_name     <b>array</b> parameter to check 
     98     @param    sql column     <b>array</b> sql column matching parameter name 
     99      
     100     @return   <b>string</b> the generated SQL statement 
     101     */ 
     102     protected function getInParamStr($params, $param_name, $sql_column) { 
     103          $not=''; 
     104          if (isset($params[$param_name.'_not'])) { 
     105               $not = "NOT "; 
     106          } 
     107          return $sql_column.' '.$not.$this->con->in($params[$param_name]).' '; 
     108     } 
     109      
    92110     /// @name Common public methods 
    93111     //@{ 
     
    736754           
    737755          if (!empty($params['user_id'])) { 
    738                if (!empty($params['user_id_not'])) { 
    739                     $not = "NOT "; 
    740                } else { 
    741                     $not = ""; 
    742                } 
    743                $strReq .= "AND U.user_id ".$not.$this->con->in($params['user_id'])." "; 
     756               $strReq .= 'AND '.$this->getInParamStr($params,'user_id','U.user_id'); 
    744757          } 
    745758           
     
    767780          /* Other filters */ 
    768781          if (isset($params['post_status'])) { 
    769                $strReq .= 'AND post_status = '.(integer) $params['post_status'].' '; 
     782               $strReq .= 'AND '.$this->getInParamStr($params,'post_status','post_status'); 
    770783          } 
    771784           
     
    790803           
    791804          if (!empty($params['post_lang'])) { 
    792                $strReq .= "AND P.post_lang = '".$this->con->escape($params['post_lang'])."' "; 
     805               $strReq .= 'AND '.$this->getInParamStr($params,'post_lang','P.post_lang'); 
    793806          } 
    794807           
Note: See TracChangeset for help on using the changeset viewer.

Sites map