Changes in [509:dbad98223895:508:7dbb15fcd538]
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/comments.php
r506 r178 17 17 # Creating filter combo boxes 18 18 # Filter form we'll put in html_block 19 $status_combo = array(); 19 $status_combo = array( 20 '-' => '' 21 ); 20 22 foreach ($core->blog->getAllCommentStatus() as $k => $v) { 21 23 $status_combo[$v] = (string) $k; … … 23 25 24 26 $type_combo = array( 25 __('comment') => '0', 26 __('trackback') => '1' 27 '-' => '', 28 __('comment') => 'co', 29 __('trackback') => 'tb' 27 30 ); 28 31 … … 40 43 41 44 45 /* Get comments 46 -------------------------------------------------------- */ 47 $author = isset($_GET['author']) ? $_GET['author'] : ''; 48 $status = isset($_GET['status']) ? $_GET['status'] : ''; 49 $type = !empty($_GET['type']) ? $_GET['type'] : ''; 50 $sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'comment_dt'; 51 $order = !empty($_GET['order']) ? $_GET['order'] : 'desc'; 52 $ip = !empty($_GET['ip']) ? $_GET['ip'] : ''; 53 54 $with_spam = $author || $status || $type || $sortby != 'comment_dt' || $order != 'desc' || $ip; 55 56 $show_filters = false; 42 57 43 58 $page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1; … … 50 65 $nb_per_page = (integer) $_GET['nb']; 51 66 } 52 $params = new ArrayObject(); 67 53 68 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 54 69 $params['no_content'] = true; 70 71 # Author filter 72 if ($author !== '') { 73 $params['q_author'] = $author; 74 $show_filters = true; 75 } 76 77 # - Type filter 78 if ($type == 'tb' || $type == 'co') { 79 $params['comment_trackback'] = ($type == 'tb'); 80 $show_filters = true; 81 } 82 83 # - Status filter 84 if ($status !== '' && in_array($status,$status_combo)) { 85 $params['comment_status'] = $status; 86 $show_filters = true; 87 } elseif (!$with_spam) { 88 $params['comment_status_not'] = -2; 89 } 90 91 # - IP filter 92 if ($ip) { 93 $params['comment_ip'] = $ip; 94 $show_filters = true; 95 } 96 97 # Sortby and order filter 98 if ($sortby !== '' && in_array($sortby,$sortby_combo)) { 99 if ($order !== '' && in_array($order,$order_combo)) { 100 $params['order'] = $sortby.' '.$order; 101 } 102 103 if ($sortby != 'comment_dt' || $order != 'desc') { 104 $show_filters = true; 105 } 106 } 55 107 56 108 # Actions combo box … … 71 123 $core->callBehavior('adminCommentsActionsCombo',array(&$combo_action)); 72 124 73 $filterSet = new dcFilterSet('comments','comments.php');74 75 $authorFilter = new textFilter(76 'author',__('Author'),'q_author',20,255);77 $filterSet78 ->addFilter(new comboFilter(79 'status',__('Status'), 'comment_status', $status_combo))80 ->addFilter(new booleanFilter(81 'type',__('Type'), 'comment_trackback', $type_combo))82 ->addFilter($authorFilter)83 ->addFilter(new textFilter(84 'ip',__('IP address'),'comment_ip',20,39));85 86 $core->callBehavior('adminCommentsFilters',$filterSet);87 88 $filterSet->setFormValues($_GET);89 if (isset($_GET['author'])) {90 $authorFilter->add();91 $authorFilter->setValue($_GET['author']);92 }93 125 /* Get comments 94 126 -------------------------------------------------------- */ 95 127 try { 96 $nfparams = $params->getArrayCopy();97 $filtered = $filterSet->applyFilters($params);98 $core->callBehavior('adminCommentsParams',$params);99 128 $comments = $core->blog->getComments($params); 100 129 $counter = $core->blog->getComments($params,true); 101 if ($filtered) {102 $totalcounter = $core->blog->getComments($nfparams,true);103 $page_title = sprintf(__('Comments and Trackacks / %s filtered out of %s'),$counter->f(0),$totalcounter->f(0));104 } else {105 $page_title = __('Comments and Trackacks');106 }107 108 130 $comment_list = new adminCommentList($core,$comments,$counter->f(0)); 109 131 } catch (Exception $e) { 110 132 $core->error->add($e->getMessage()); 111 133 } 112 $filterSet->setColumnsForm($comment_list->getColumnsForm());113 134 114 135 /* DISPLAY 115 136 -------------------------------------------------------- */ 116 $starting_script = dcPage::jsLoad('js/_comments.js').$filterSet->header();; 117 137 $starting_script = dcPage::jsLoad('js/_comments.js'); 138 if (!$show_filters) { 139 $starting_script .= dcPage::jsLoad('js/filter-controls.js'); 140 } 118 141 # --BEHAVIOR-- adminCommentsHeaders 119 142 $starting_script .= $core->callBehavior('adminCommentsHeaders'); … … 121 144 dcPage::open(__('Comments and trackbacks'),$starting_script); 122 145 123 echo '<h2>'.html::escapeHTML($core->blog->name).' › '. $page_title.'</h2>';146 echo '<h2>'.html::escapeHTML($core->blog->name).' › '.__('Comments and trackbacks').'</h2>'; 124 147 125 148 if (!$core->error->flag()) … … 130 153 __('Filters').'</a></p>'; 131 154 } 132 $filterSet->display(); 155 156 echo 157 '<form action="comments.php" method="get" id="filters-form">'. 158 '<fieldset><legend>'.__('Filters').'</legend>'. 159 '<div class="three-cols">'. 160 '<div class="col">'. 161 '<label for="type">'.__('Type:').' '. 162 form::combo('type',$type_combo,$type). 163 '</label> '. 164 '<label for="status">'.__('Status:').' '. 165 form::combo('status',$status_combo,$status). 166 '</label>'. 167 '</div>'. 168 169 '<div class="col">'. 170 '<p><label for="sortby">'.__('Order by:').' '. 171 form::combo('sortby',$sortby_combo,$sortby). 172 '</label> '. 173 '<label for="order">'.__('Sort:').' '. 174 form::combo('order',$order_combo,$order). 175 '</label></p>'. 176 '<p><label for="nb" class="classic">'. form::field('nb',3,3,$nb_per_page).' '. 177 __('Comments per page').'</label></p>'. 178 '</div>'. 179 180 '<div class="col">'. 181 '<p><label for="author">'.__('Comment author:').' '. 182 form::field('author',20,255,html::escapeHTML($author)). 183 '</label>'. 184 '<label for="ip">'.__('IP address:').' '. 185 form::field('ip',20,39,html::escapeHTML($ip)). 186 '</label></p>'. 187 '<p><input type="submit" value="'.__('Apply filters').'" /></p>'. 188 '</div>'. 189 190 '</div>'. 191 '<br class="clear" />'. //Opera sucks 192 '</fieldset>'. 193 '</form>'; 133 194 134 195 if (!$with_spam) { -
admin/posts.php
r509 r508 166 166 $core->callBehavior('adminPostsFilters',$filterSet); 167 167 168 $filterSet->set FormValues($_GET);168 $filterSet->setValues($_GET); 169 169 170 170 # Get posts -
inc/admin/class.dc.filter.php
r506 r453 91 91 @param form_data <b>array</b> form values (usually $_GET or $_POST) 92 92 */ 93 public function set FormValues ($form_data) {93 public function setValues ($form_data) { 94 94 $this->hideform = true; 95 95 if (isset($form_data['clear_filters'])) { … … 101 101 } 102 102 foreach ($this->filters as $filter) { 103 $filter->set FormValues ($form_data);103 $filter->setValues ($form_data); 104 104 if ($filter->isEnabled()) { 105 105 $this->hideform=false; … … 337 337 @param $form_data <b>array</b> form data 338 338 */ 339 public function set FormValues($form_data) {339 public function setValues($form_data) { 340 340 $count=0; 341 341 while (isset($form_data[$this->getFieldId($count)])) { … … 389 389 } 390 390 391 public function setValues($value) {392 $this->values = $value;393 }394 395 public function getValue() {396 return $this->values;397 }398 399 391 } 400 392 … … 444 436 } 445 437 446 public function set FormValues($form_data) {447 parent::set FormValues($form_data);438 public function setValues($form_data) { 439 parent::setValues($form_data); 448 440 if (isset($form_data[$this->field_id."_v"])) { 449 441 $this->verb = ($form_data[$this->field_id."_v"] == 'is') ? 'is' : 'isnot'; … … 522 514 } 523 515 524 525 class textFilter extends Filter {526 protected $size;527 protected $max;528 529 public function __construct($id,$desc,$request_param,$size,$max) {530 parent::__construct($id,$desc,$request_param);531 $this->options = $options;532 $this->values=array();533 $this->size = $size;534 $this->max = $max;535 }536 537 538 public function getType() {539 return "text";540 }541 public function add() {542 parent::add();543 $this->values[]='';544 }545 546 public function getFormFields($pos=0) {547 return '<span class="'.$labelclass.'">'.$this->desc.'</span>'.548 form::field($this->getFieldId($pos),$this->size,$this->max,html::escapeHTML($this->values[0]));549 }550 551 public function applyFilter($params) {552 $params[$this->request_param]=$this->values[0];553 }554 555 public function setValues($value) {556 parent::setValues(array($value));557 }558 559 public function getValue() {560 $v = parent::getValue();561 return $v[0];562 }563 564 }565 516 ?> -
inc/core/class.dc.blog.php
r506 r504 1812 1812 1813 1813 if (isset($params['comment_status'])) { 1814 $strReq .= 'AND '.$this->getInParamStr($params,'comment_status','comment_status'); 1815 } 1816 elseif (!empty($params['comment_status_not'])) // older method, deprecated 1814 $strReq .= 'AND comment_status = '.(integer) $params['comment_status'].' '; 1815 } 1816 1817 if (!empty($params['comment_status_not'])) 1817 1818 { 1818 1819 $strReq .= 'AND comment_status <> '.(integer) $params['comment_status_not'].' ';
Note: See TracChangeset
for help on using the changeset viewer.