@@ 370-386 (lines=17) @@ | ||
367 | } |
|
368 | if ($field instanceof EE_Model_Field_Base) { |
|
369 | if (! $writing && is_array($query_param_value)) { |
|
370 | if (! \EEH_Array::is_array_numerically_and_sequentially_indexed($query_param_value)) { |
|
371 | if (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE) { |
|
372 | throw new RestException( |
|
373 | 'numerically_indexed_array_of_values_only', |
|
374 | sprintf( |
|
375 | esc_html__( |
|
376 | 'The array provided for the parameter "%1$s" should be numerically indexed.', |
|
377 | 'event_espresso' |
|
378 | ), |
|
379 | $query_param_key |
|
380 | ), |
|
381 | array( |
|
382 | 'status' => 400, |
|
383 | ) |
|
384 | ); |
|
385 | } |
|
386 | } |
|
387 | //did they specify an operator? |
|
388 | if (isset($query_param_value[0]) |
|
389 | && isset($valid_operators[$query_param_value[0]]) |
|
@@ 450-468 (lines=19) @@ | ||
447 | $requested_version, |
|
448 | $timezone |
|
449 | ); |
|
450 | } else { |
|
451 | //so they provided a valid operator, but wrong number of arguments |
|
452 | if (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE) { |
|
453 | throw new RestException( |
|
454 | 'wrong_number_of_arguments', |
|
455 | sprintf( |
|
456 | esc_html__( |
|
457 | 'The operator you provided, "%1$s" had the wrong number of arguments', |
|
458 | 'event_espresso' |
|
459 | ), |
|
460 | $op |
|
461 | ), |
|
462 | array( |
|
463 | 'status' => 400, |
|
464 | ) |
|
465 | ); |
|
466 | } |
|
467 | $translated_value = null; |
|
468 | } |
|
469 | } else { |
|
470 | //so they didn't provide a valid operator |
|
471 | if (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE) { |
|
@@ 469-489 (lines=21) @@ | ||
466 | } |
|
467 | $translated_value = null; |
|
468 | } |
|
469 | } else { |
|
470 | //so they didn't provide a valid operator |
|
471 | if (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE) { |
|
472 | throw new RestException( |
|
473 | 'invalid_operator', |
|
474 | sprintf( |
|
475 | esc_html__( |
|
476 | 'You provided an invalid parameter, with key "%1$s" and value "%2$s"', |
|
477 | 'event_espresso' |
|
478 | ), |
|
479 | $query_param_key, |
|
480 | $query_param_value |
|
481 | ), |
|
482 | array( |
|
483 | 'status' => 400, |
|
484 | ) |
|
485 | ); |
|
486 | } |
|
487 | //if we aren't in debug mode, then just try our best to fulfill the user's request |
|
488 | $translated_value = null; |
|
489 | } |
|
490 | } else { |
|
491 | $translated_value = ModelDataTranslator::prepareFieldValueFromJson( |
|
492 | $field, |
|
@@ 532-548 (lines=17) @@ | ||
529 | $model, |
|
530 | $requested_version |
|
531 | ); |
|
532 | } elseif (defined('EE_REST_API_DEBUG_MODE') && EE_REST_API_DEBUG_MODE) { |
|
533 | //only tell API clients they got it wrong if we're in debug mode |
|
534 | //otherwise try our best ot fulfill their request by ignoring this invalid data |
|
535 | throw new RestException( |
|
536 | 'invalid_parameter', |
|
537 | sprintf( |
|
538 | esc_html__( |
|
539 | 'You provided an invalid parameter, with key "%1$s"', |
|
540 | 'event_espresso' |
|
541 | ), |
|
542 | $query_param_sans_stars |
|
543 | ), |
|
544 | array( |
|
545 | 'status' => 400, |
|
546 | ) |
|
547 | ); |
|
548 | } |
|
549 | } |
|
550 | } |
|
551 | } |