1<?php 2 3namespace plugin\struct\meta; 4 5/** 6 * Class SearchConfig 7 * 8 * The same as @see Search but can be initialized by a configuration array 9 * 10 * @package plugin\struct\meta 11 */ 12class SearchConfig extends Search { 13 14 /** 15 * SearchConfig constructor. 16 * @param $config 17 */ 18 public function __construct($config) { 19 parent::__construct(); 20 21 foreach($config['schemas'] as $schema) { 22 $this->addSchema($schema[0], $schema[1]); 23 } 24 25 foreach($config['cols'] as $col) { 26 $this->addColumn($col); 27 } 28 29 if ($config['sort'][0] != '') { 30 $this->addSort($config['sort'][0], $config['sort'][1] === 'ASC'); 31 } 32 33 foreach($config['filter'] as $filter) { 34 $this->addFilter($filter[0], $filter[2], $filter[1], $filter[3]); 35 } 36 37 // FIXME add additional stuff 38 39 } 40 41} 42