xref: /plugin/struct/meta/SearchConfig.php (revision 17560ecbb3470cf2f90ee861205d92f6adf36b5b)
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