Scalr\Model\Entity\CloudCredentials::getSettingCriteria PHP Method

getSettingCriteria() public method

Gets filter criteria by the setting
public getSettingCriteria ( string $name, string $value = null, array $criteria = null ) : array
$name string Setting name
$value string optional Setting value
$criteria array optional Criteria, if already exists
return array Returns extended criteria
    public function getSettingCriteria($name, $value = null, array $criteria = null)
    {
        $cloudCredentialsProperty = new CloudCredentialsProperty();
        $alias = "ccp_" . trim($this->db()->qstr($name), "'");
        $join = "\n            JOIN {$cloudCredentialsProperty->table($alias)} ON {$this->columnId()} = {$cloudCredentialsProperty->columnCloudCredentialsId($alias)}\n                AND {$cloudCredentialsProperty->columnName($alias)} = {$cloudCredentialsProperty->qstr('name', $name)}";
        if (isset($criteria[AbstractEntity::STMT_FROM])) {
            $criteria[AbstractEntity::STMT_FROM] .= " {$join}";
        } else {
            $criteria[AbstractEntity::STMT_FROM] = " {$join}";
        }
        if (isset($value)) {
            $where = "{$cloudCredentialsProperty->columnValue($alias)} = {$cloudCredentialsProperty->qstr('value', $value)}";
            if (isset($criteria[AbstractEntity::STMT_WHERE])) {
                $criteria[AbstractEntity::STMT_WHERE] .= " AND ({$where})";
            } else {
                $criteria[AbstractEntity::STMT_WHERE] = $where;
            }
        }
        return $criteria;
    }