Merge pull request #24169 from demeritcowboy/web-scale
[civicrm-core.git] / api / Exception.php
index b32a20a3e1c57c253425315128facda0a6404117..78498fb90170f7a51f9e2c2ba3ab33fcdd5ce355 100644 (file)
@@ -8,134 +8,7 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 
-/**
- * This api exception returns more information than the default one. The aim
- * it let the api consumer know better what is exactly the error without
- * having to parse the error message.
- *
- * If you consume an api that doesn't return an error_code or the extra data
- * you need, consider improving the api and contribute.
- */
-class API_Exception extends Exception {
-  const UNAUTHORIZED = 'unauthorized';
-  const NOT_IMPLEMENTED = 'not-found';
-
-  private $extraParams = [];
-
-  /**
-   * Class constructor.
-   *
-   * @param string $message
-   *   The human friendly error message.
-   * @param mixed $error_code
-   *   A computer friendly error code. By convention, no space (but underscore
-   *   allowed) (ex: mandatory_missing, duplicate, invalid_format).
-   * @param array $extraParams
-   *   Extra params to return. eg an extra array of ids. It is not mandatory,
-   *   but can help the computer using the api. Keep in mind the api consumer
-   *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param Exception|NULL $previous
-   *   A previous exception which caused this new exception.
-   */
-  public function __construct($message, $error_code = 0, $extraParams = [], Exception $previous = NULL) {
-    // Using int for error code "old way") ?
-    if (is_numeric($error_code)) {
-      $code = $error_code;
-    }
-    else {
-      $code = 0;
-    }
-    parent::__construct(ts($message), $code, $previous);
-    $this->extraParams = $extraParams + ['error_code' => $error_code];
-  }
-
-  /**
-   * Custom string representation of object.
-   *
-   * @return string
-   */
-  public function __toString() {
-    return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
-  }
-
-  /**
-   * Get extra parameters.
-   *
-   * @return array
-   */
-  public function getExtraParams() {
-    return $this->extraParams;
-  }
-
-  /**
-   * Get error codes.
-   *
-   * @return array
-   */
-  public function getErrorCodes() {
-    return [
-      2000 => '$params was not an array',
-      2001 => 'Invalid Value for Date field',
-      2100 => 'String value is longer than permitted length',
-      self::UNAUTHORIZED => 'Unauthorized',
-      self::NOT_IMPLEMENTED => 'Entity or method is not implemented',
-    ];
-  }
-
-}
-
-/**
- * This api exception returns more information than the default one. We are using it rather than
- * API_Exception from the api wrapper as the namespace is more generic
- */
-class CiviCRM_API3_Exception extends Exception {
-  private $extraParams = [];
-
-  /**
-   * Class constructor.
-   *
-   * @param string $message
-   *   The human friendly error message.
-   * @param mixed $error_code
-   *   A computer friendly error code. By convention, no space (but underscore
-   *   allowed) (ex: mandatory_missing, duplicate, invalid_format).
-   * @param array $extraParams
-   *   Extra params to return. eg an extra array of ids. It is not mandatory,
-   *   but can help the computer using the api. Keep in mind the api consumer
-   *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param Exception|NULL $previous
-   *   A previous exception which caused this new exception.
-   */
-  public function __construct($message, $error_code = 0, $extraParams = [], Exception $previous = NULL) {
-    parent::__construct(ts($message));
-    $this->extraParams = $extraParams + ['error_code' => $error_code];
-  }
-
-  /**
-   * Custom string representation of object.
-   *
-   * @return string
-   */
-  public function __toString() {
-    return __CLASS__ . ": [{$this->extraParams['error_code']}: {$this->message}\n";
-  }
-
-  /**
-   * Get error code.
-   *
-   * @return mixed
-   */
-  public function getErrorCode() {
-    return $this->extraParams['error_code'];
-  }
-
-  /**
-   * Get extra parameters.
-   *
-   * @return array
-   */
-  public function getExtraParams() {
-    return $this->extraParams;
-  }
+// These two classes were basically equivalent
 
-}
+class_alias('CRM_Core_Exception', 'API_Exception');
+class_alias('CRM_Core_Exception', 'CiviCRM_API3_Exception');