Microweber\Providers\Modules::get PHP Method

get() public method

public get ( $params = false )
    public function get($params = false)
    {
        $table = $this->tables['modules'];
        if (is_string($params)) {
            $params = parse_str($params, $params2);
            $params = $options = $params2;
        }
        $params['table'] = $table;
        $params['group_by'] = 'module';
        $params['order_by'] = 'position asc';
        $params['cache_group'] = 'modules/global';
        if (isset($params['id'])) {
            $params['limit'] = 1;
        } else {
            $params['limit'] = 1000;
        }
        if (isset($params['module'])) {
            $params['module'] = str_replace('/admin', '', $params['module']);
        }
        if (isset($params['keyword'])) {
            $params['search_in_fields'] = array('name', 'module', 'description', 'author', 'website', 'version', 'help');
        }
        if (!isset($params['ui'])) {
            //  $params['ui'] = 1;
            //
        }
        if (isset($params['ui']) and $params['ui'] == 'any') {
            unset($params['ui']);
        }
        $data = $this->app->database_manager->get($params);
        if (is_array($data) and !empty($data)) {
            if (isset($data['settings']) and !is_array($data['settings'])) {
                $data['settings'] = json_decode($data['settings']);
            } else {
                foreach ($data as $k => $v) {
                    if (isset($v['settings']) and !is_array($v['settings'])) {
                        $v['settings'] = json_decode($v['settings']);
                        $data[$k] = $v;
                    }
                }
            }
        }
        return $data;
    }