Merge remote-tracking branch 'upstream/4.4' into 4.4-master-2014-02-25-17-38-49
[civicrm-core.git] / api / v3 / Activity.php
index 96b40dd26ad51ec99cd53815defe6d521f708d49..9c2e9ec0824591fab4578950cec9fe20216bb1fb 100644 (file)
@@ -233,6 +233,21 @@ function civicrm_api3_activity_get($params) {
     $activities = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, FALSE);
   }
 
+  $activities = _civicrm_api3_activity_get_formatResult($params, $activities);
+  //legacy custom data get - so previous formatted response is still returned too
+  return civicrm_api3_create_success($activities, $params, 'activity', 'get');
+}
+
+/**
+ * Given a list of activities, append any extra data requested about the activities
+ *
+ * NOTE: Called by civicrm-core and CiviHR
+ *
+ * @param array $params API request parameters
+ * @param array $activities
+ * @return array new activities list
+ */
+function _civicrm_api3_activity_get_formatResult($params, $activities) {
   $returns = CRM_Utils_Array::value('return', $params, array());
   if (!is_array($returns)) {
     $returns = str_replace(' ', '', $returns);
@@ -274,13 +289,12 @@ function civicrm_api3_activity_get($params) {
     foreach ($activities as $activityId => $values) {
       _civicrm_api3_custom_data_get($activities[$activityId], 'Activity', $activityId, NULL, $values['activity_type_id']);
     }
+    return $activities;
   }
-  //legacy custom data get - so previous formatted response is still returned too
-  return civicrm_api3_create_success($activities, $params, 'activity', 'get');
+  return $activities;
 }
 
 
-
 /**
  * Delete a specified Activity.
  *
@@ -369,12 +383,12 @@ SELECT  count(*)
   // this should be handled by wrapper layer & probably the api would already manage it
   //correctly by doing pseudoconstant validation
   // needs testing
-  $activityTypes = CRM_Core_PseudoConstant::activityType(TRUE, TRUE, FALSE, 'name', TRUE);
+  $activityTypes = CRM_Activity_BAO_Activity::buildOptions('activity_type_id', 'validate');
   $activityName  = CRM_Utils_Array::value('activity_name', $params);
   $activityName  = ucfirst($activityName);
   $activityLabel = CRM_Utils_Array::value('activity_label', $params);
   if ($activityLabel) {
-    $activityTypes = CRM_Core_PseudoConstant::activityType(TRUE, TRUE, FALSE, 'label', TRUE);
+    $activityTypes = CRM_Activity_BAO_Activity::buildOptions('activity_type_id', 'create');
   }
 
   $activityTypeId = CRM_Utils_Array::value('activity_type_id', $params);