PMA\libraries\SavedSearches::setCriterias PHP Method

setCriterias() public method

Setter for criterias
public setCriterias ( array | string $criterias, boolean $json = false ) : static
$criterias array | string Criterias of saved searches
$json boolean Criterias are in JSON format
return static
    public function setCriterias($criterias, $json = false)
    {
        if (true === $json && is_string($criterias)) {
            $this->_criterias = json_decode($criterias, true);
            return $this;
        }
        $aListFieldsToGet = array('criteriaColumn', 'criteriaSort', 'criteriaShow', 'criteria', 'criteriaAndOrRow', 'criteriaAndOrColumn', 'rows', 'TableList');
        $data = array();
        $data['criteriaColumnCount'] = count($criterias['criteriaColumn']);
        foreach ($aListFieldsToGet as $field) {
            if (isset($criterias[$field])) {
                $data[$field] = $criterias[$field];
            }
        }
        /* Limit amount of rows */
        if (!isset($data['rows'])) {
            $data['rows'] = 0;
        } else {
            $data['rows'] = min(max(0, intval($data['rows'])), 100);
        }
        for ($i = 0; $i <= $data['rows']; $i++) {
            $data['Or' . $i] = $criterias['Or' . $i];
        }
        $this->_criterias = $data;
        return $this;
    }

Usage Example

Ejemplo n.º 1
0
 $header = $response->getHeader();
 $scripts = $header->getScripts();
 $scripts->addFile('db_qbe.js');
 //Get saved search list.
 $savedSearch = new SavedSearches($GLOBALS);
 $savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])->setDbname($_REQUEST['db']);
 if (!empty($_REQUEST['searchId'])) {
     $savedSearch->setId($_REQUEST['searchId']);
 }
 //Action field is sent.
 if (isset($_REQUEST['action'])) {
     $savedSearch->setSearchName($_REQUEST['searchName']);
     if ('create' === $_REQUEST['action']) {
         $saveResult = $savedSearch->setId(null)->setCriterias($_REQUEST)->save();
     } elseif ('update' === $_REQUEST['action']) {
         $saveResult = $savedSearch->setCriterias($_REQUEST)->save();
     } elseif ('delete' === $_REQUEST['action']) {
         $deleteResult = $savedSearch->delete();
         //After deletion, reset search.
         $savedSearch = new SavedSearches($GLOBALS);
         $savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])->setDbname($_REQUEST['db']);
         $_REQUEST = array();
     } elseif ('load' === $_REQUEST['action']) {
         if (empty($_REQUEST['searchId'])) {
             //when not loading a search, reset the object.
             $savedSearch = new SavedSearches($GLOBALS);
             $savedSearch->setUsername($GLOBALS['cfg']['Server']['user'])->setDbname($_REQUEST['db']);
             $_REQUEST = array();
         } else {
             $loadResult = $savedSearch->load();
         }