PMA\libraries\controllers\table\TableSearchController::_generateWhereClause PHP Метод

_generateWhereClause() приватный Метод

Generates the where clause for the SQL search query to be executed
private _generateWhereClause ( ) : string
Результат string the generated where clause
    private function _generateWhereClause()
    {
        if (isset($_POST['customWhereClause']) && trim($_POST['customWhereClause']) != '') {
            return ' WHERE ' . $_POST['customWhereClause'];
        }
        // If there are no search criteria set or no unary criteria operators,
        // return
        if (!isset($_POST['criteriaValues']) && !isset($_POST['criteriaColumnOperators']) && !isset($_POST['geom_func'])) {
            return '';
        }
        // else continue to form the where clause from column criteria values
        $fullWhereClause = array();
        foreach ($_POST['criteriaColumnOperators'] as $column_index => $operator) {
            $unaryFlag = $GLOBALS['PMA_Types']->isUnaryOperator($operator);
            $tmp_geom_func = isset($_POST['geom_func'][$column_index]) ? $_POST['geom_func'][$column_index] : null;
            $whereClause = $this->_getWhereClause($_POST['criteriaValues'][$column_index], $_POST['criteriaColumnNames'][$column_index], $_POST['criteriaColumnTypes'][$column_index], $operator, $unaryFlag, $tmp_geom_func);
            if ($whereClause) {
                $fullWhereClause[] = $whereClause;
            }
        }
        // end foreach
        if (!empty($fullWhereClause)) {
            return ' WHERE ' . implode(' AND ', $fullWhereClause);
        }
        return '';
    }