Merge pull request #5473 from aydun/CRM-16160
[civicrm-core.git] / api / v3 / SavedSearch.php
index 728524e366e083e499321086584ccab06b427f1d..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,7 +101,7 @@ function civicrm_api3_saved_search_get($params) {
  * @param array $result API result to be cleaned up.
  */
 function _civicrm_api3_saved_search_result_cleanup(&$result) {
-  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) {