コード例 #1
0
ファイル: SharpEntitiesList.php プロジェクト: dvlpp/sharp
 public function createParams()
 {
     $this->params = new SharpEntitiesListParams();
     if ($this->currentSubListId) {
         $this->params->setCurrentSubListId($this->getCurrentSublistId());
     }
     // Manage column sort: first determine which column is sorted
     list($sortCol, $sortDir) = $this->retrieveSorting();
     foreach ($this->entity->list_template->columns as $colKey => $col) {
         if ($col->sortable && (!$sortCol || $colKey == $sortCol)) {
             $this->params->setSortedColumn($colKey);
             $this->params->setSortedDirection($sortDir);
             break;
         }
     }
     // Manage search
     $search = null;
     if ($this->entity->list_template->searchable && $this->request->has("search")) {
         $search = urldecode($this->request->get("search"));
     }
     // Manage advanced search
     if (!$search && $this->entity->advanced_search->data && $this->request->has("adv")) {
         $this->params->setAdvancedSearch(true);
         $search = [];
         foreach ($this->request->all() as $input => $value) {
             if (!starts_with($input, "adv_")) {
                 continue;
             }
             if (is_array($value) && !sizeof($value) || !is_array($value) && !strlen(trim($value))) {
                 continue;
             }
             if (is_array($value)) {
                 foreach ($value as $v) {
                     $search[substr($input, 4)][] = urldecode($v);
                 }
             } else {
                 $search[substr($input, 4)] = urldecode($value);
             }
         }
     }
     $this->params->setSearch($search);
     return $this->params;
 }