示例#1
0
 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');
 }