Newscoop\TemplateList\BaseList::convertParameters PHP Метод

convertParameters() защищенный Метод

Convert parameters array to Criteria
protected convertParameters ( integer $firstResult, array $parameters ) : Criteria
$firstResult integer
$parameters array
Результат Newscoop\Criteria
    protected function convertParameters($firstResult, $parameters)
    {
        $this->firstResult = is_numeric($firstResult) ? intval($firstResult) : $this->criteria->firstResult;
        $this->maxResults = isset($parameters['length']) ? intval($parameters['length']) : $this->criteria->maxResults;
        $this->columns = isset($parameters['columns']) ? intval($parameters['columns']) : 0;
        $name = isset($parameters['name']) ? $parameters['name'] : '';
        $this->name = is_string($name) && trim($name) != '' ? $name : $this->defaultName();
        $orderString = isset($parameters['order']) ? str_replace('by', '', $parameters['order']) : '';
        $orderArray = $this->parseConstraintsString($orderString);
        foreach (array_chunk($orderArray, 2, true) as $order) {
            if (count($order) == 2) {
                foreach ($this->criteria as $key => $value) {
                    if ($key == $order[0]) {
                        $this->criteria->orderBy[$order[0]] = $order[1];
                    }
                }
            }
        }
        // Set first and max results values to critera.
        $this->criteria->firstResult = $this->firstResult;
        $this->criteria->maxResults = $this->maxResults;
    }

Usage Example

Пример #1
0
 /**
  * Converts parameters array to Criteria
  * 
  * @param  integer  $firstResult
  * @param  array    $parameters
  * 
  * @return void
  */
 protected function convertParameters($firstResult, $parameters)
 {
     $this->criteria->orderBy = array();
     // run default simple parameters converting
     parent::convertParameters($firstResult, $parameters);
     if (array_key_exists('length', $parameters)) {
         $parameter = (int) $parameters['length'];
         if ($parameter < 0) {
             throw new \Exception("Invalid value of parameter \"length\" in statement list_community_feeds", 1);
         }
         $this->criteria->length = $parameter;
     }
 }
All Usage Examples Of Newscoop\TemplateList\BaseList::convertParameters