public static function getSqlSectionFromFilter($encoder, $db_field_name, $relation, $value) { $value = CartAPI_Helpers::sanitizeSql($value); if ($relation == 'Contains') { return $db_field_name . " LIKE '%" . $value . "%'"; } if ($relation == 'Equal') { return $db_field_name . " = '" . $value . "'"; } if ($relation == 'AboveEqual') { return $db_field_name . " >= " . $value; } if ($relation == 'InGroup') { return $db_field_name . " IN ('" . implode("','", explode(",", $value)) . "')"; } if ($relation == 'InRange') { $parts = explode(",", $value); if (count($parts) != 2) { CartAPI_Helpers::dieOnError($encoder, 'UnsupportedFilter', 'InRange does not have a valid range'); } return "( " . $db_field_name . " >= " . min($parts) . " AND " . $db_field_name . " <= " . max($parts) . " )"; } CartAPI_Helpers::dieOnError($encoder, 'UnsupportedFilter', $relation . ' filter relation is unsupported'); }