Code Duplication    Length = 4-17 lines in 4 locations

services/NorthWind/NorthWindDSExpressionProvider.php 1 location

@@ 330-346 (lines=17) @@
327
          // to achieve TRIM functionality.
328
          return "RTRIM(LTRIM($params[0]))";
329
            break;
330
        case ODataConstants::STRFUN_SUBSTRING:
331
          if (count($params) == 3) {
332
            // 3 Param version of OData substring
333
              return "SUBSTRING($params[0], $params[1] + 1, $params[2])";
334
          } else {
335
            // 2 Params version of OData substring
336
            // We don't have the same function for SQL Server, we have only:
337
            //
338
            // SUBSTRING ( value_expression , start_expression , length_expression )
339
            // http://msdn.microsoft.com/en-us/library/ms187748.aspx
340
            //
341
            // If the sum of start_expression and length_expression is greater than the number of characters 
342
            // in value_expression, the whole value expression beginning at start_expression is returned
343
            // In OData substring function the index start from 0, in SQL Server its from 1
344
            return "SUBSTRING($params[0], $params[1] + 1, LEN($params[0]))";        	    
345
          }
346
            break;
347
        case ODataConstants::STRFUN_SUBSTRINGOF:
348
          return "(CHARINDEX($params[0], $params[1]) != 0)";
349
            break;

services/WordPress/WordPressDSExpressionProvider.php 1 location

@@ 271-275 (lines=5) @@
268
        case ODataConstants::STRFUN_TRIM:
269
          return "TRIM($params[0])";
270
            break;
271
        case ODataConstants::STRFUN_SUBSTRING:
272
            return count($params) == 3 ?
273
                "SUBSTRING($params[0], $params[1] + 1, $params[2])" :
274
                "SUBSTRING($params[0], $params[1] + 1)";
275
            break;
276
        case ODataConstants::STRFUN_SUBSTRINGOF:
277
            return "(LOCATE($params[0], $params[1]) > 0)";
278
            break;

src/POData/Providers/Expression/MySQLExpressionProvider.php 1 location

@@ 267-270 (lines=4) @@
264
	        case ODataConstants::STRFUN_TRIM:
265
	            return "TRIM($params[0])";
266
267
	        case ODataConstants::STRFUN_SUBSTRING:
268
	            return count($params) == 3 ?
269
	                "SUBSTRING($params[0], $params[1] + 1, $params[2])" :
270
	                "SUBSTRING($params[0], $params[1] + 1)";
271
272
	        case ODataConstants::STRFUN_SUBSTRINGOF:
273
	            return "(LOCATE($params[0], $params[1]) > 0)";

src/POData/Providers/Expression/PHPExpressionProvider.php 1 location

@@ 274-277 (lines=4) @@
271
	        case ODataConstants::STRFUN_TRIM:
272
	            return "trim($params[0])";
273
274
	        case ODataConstants::STRFUN_SUBSTRING:
275
	            return count($params) == 3 ?
276
	                "substr($params[0], $params[1], $params[2])" :
277
	                "substr($params[0], $params[1])";
278
279
	        case ODataConstants::STRFUN_SUBSTRINGOF:
280
	            return "(strpos($params[1], $params[0]) !== false)";