CRM-16523 towards fixing test issues on this
[civicrm-core.git] / api / v3 / SavedSearch.php
index 7307c71d02f54874eb0646ffae5b9bdec08ec118..c502ef9a1ace5b7f6ef56bb97480d82350aa3632 100644 (file)
@@ -49,12 +49,14 @@ function civicrm_api3_saved_search_create($params) {
   // So for the create API, I guess it should work for serialized and
   // unserialized form_values.
 
-  if (is_array($params["form_values"])) {
-    $params["formValues"] = $params["form_values"];
-  }
-  else {
-    // Assume that form_values is serialized.
-    $params["formValues"] = unserialize($params["form_values"]);
+  if (isset($params["form_values"])) {
+    if (is_array($params["form_values"])) {
+      $params["formValues"] = $params["form_values"];
+    }
+    else {
+      // Assume that form_values is serialized.
+      $params["formValues"] = unserialize($params["form_values"]);
+    }
   }
 
   $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
@@ -99,9 +101,9 @@ function civicrm_api3_saved_search_get($params) {
  * @param array $result API result to be cleaned up.
  */
 function _civicrm_api3_saved_search_result_cleanup(&$result) {
-  // Only clean up the values if there are values. (A getCount operation
-  // for example does not return values.)
-  if (isset($result['values'])) {
+  if (isset($result['values']) && is_array($result['values'])) {
+    // Only clean up the values if there are values. (A getCount operation
+    // for example does not return values.)
     foreach ($result['values'] as $key => $value) {
       $result['values'][$key]['form_values'] = unserialize($value['form_values']);
     }