コード例 #1
0
 private function compute_sorting_rule()
 {
     if (isset($this->parameters['sort']) && is_string($this->parameters['sort'])) {
         $regex = '`(' . HTMLTableSortingRule::ASC . '|' . HTMLTableSortingRule::DESC . ')(\\w+)`';
         $param = array();
         if (preg_match($regex, $this->parameters['sort'], $param)) {
             $order_way = $param[1];
             if ($order_way != HTMLTableSortingRule::ASC) {
                 $order_way = HTMLTableSortingRule::DESC;
             }
             $sort_parameter = $param[2];
             if ($this->model->is_sort_parameter_allowed($sort_parameter)) {
                 $this->sorting_rule = new HTMLTableSortingRule($sort_parameter, $order_way);
                 return;
             }
         }
     }
     $this->sorting_rule = $this->model->default_sort_rule();
 }