Merge branch '5.51'
[civicrm-core.git] / Civi / API / Kernel.php
index f3cab8ed09c24d352702796fb58575711ba2bcef..96cc6120fc5f025bd31ba85dc70a032e61eff04d 100644 (file)
@@ -86,12 +86,12 @@ class Kernel {
         $this->dispatcher->dispatch('civi.api.exception', new ExceptionEvent($e, NULL, $apiRequest, $this));
       }
 
-      if ($e instanceof \PEAR_Exception) {
-        $err = $this->formatPearException($e, $apiRequest);
-      }
-      elseif ($e instanceof \API_Exception) {
+      if ($e instanceof \API_Exception) {
         $err = $this->formatApiException($e, $apiRequest);
       }
+      elseif ($e instanceof \PEAR_Exception) {
+        $err = $this->formatPearException($e, $apiRequest);
+      }
       else {
         $err = $this->formatException($e, $apiRequest);
       }
@@ -218,7 +218,7 @@ class Kernel {
    */
   public function authorize($apiProvider, $apiRequest) {
     /** @var \Civi\API\Event\AuthorizeEvent $event */
-    $event = $this->dispatcher->dispatch('civi.api.authorize', new AuthorizeEvent($apiProvider, $apiRequest, $this));
+    $event = $this->dispatcher->dispatch('civi.api.authorize', new AuthorizeEvent($apiProvider, $apiRequest, $this, \CRM_Core_Session::getLoggedInContactID() ?: 0));
     if (!$event->isAuthorized()) {
       throw new \Civi\API\Exception\UnauthorizedException("Authorization failed");
     }