CRM-10360 - REST API will now bootstrap when call submitted with entity/action params.
authorColby Warkentin <colby.warkentin@p2c.com>
Tue, 23 Apr 2013 22:23:49 +0000 (15:23 -0700)
committerColby Warkentin <colby.warkentin@p2c.com>
Tue, 23 Apr 2013 22:23:49 +0000 (15:23 -0700)
----------------------------------------
* CRM-10360: Hook doesn't run with v3 API extern REST interface
  http://issues.civicrm.org/jira/browse/CRM-10360

CRM/Utils/REST.php

index f31f4bb9b1334951df8ccc688905d3e2433927ef..27e21f06f8fdece8fc297a7ee5386dc398630216 100644 (file)
@@ -644,6 +644,18 @@ class CRM_Utils_REST {
     $q = CRM_Utils_array::value('q', $_REQUEST);
     $args = explode('/', $q);
 
+    // If no 'q' parameter is provided, try to populate args
+    // with entity and action (API v3)
+    if ( empty($args) || $args[0] == '' ) {
+        $entity = CRM_Utils_array::value( 'entity', $_REQUEST );
+        $action = CRM_Utils_array::value( 'action', $_REQUEST );
+        if (($entity !== null) && ($action !== null)) {
+            $args[0] = 'civicrm';
+            $args[1] = $entity;
+            $args[2] = $action;
+        }
+    }
+
     // If the function isn't in the civicrm namespace or request
     // is for login or ping
     if (empty($args) || $args[0] != 'civicrm' ||