[REF] Relocate function from DeprecatedUtils to the class that actually calls it
authoreileen <emcnaughton@wikimedia.org>
Mon, 21 Dec 2020 05:31:22 +0000 (18:31 +1300)
committereileen <emcnaughton@wikimedia.org>
Mon, 21 Dec 2020 05:55:24 +0000 (18:55 +1300)
CRM/Contact/Import/Parser/Contact.php
CRM/Utils/DeprecatedUtils.php

index 6908aadc2fe7e2db78163b324a78ef6e6e1e4ab2..20334b7f92c67d22a60b1a59116d20f1120c98e7 100644 (file)
@@ -1565,7 +1565,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
       if ($error) {
         return $error;
       }
-      _civicrm_api3_deprecated_validate_formatted_contact($formatted);
+      $this->deprecated_validate_formatted_contact($formatted);
     }
     catch (CRM_Core_Exception $e) {
       return ['error_message' => $e->getMessage(), 'is_error' => 1, 'code' => $e->getCode()];
@@ -2070,4 +2070,56 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
     return $this->processMessage($values, $statusFieldName, CRM_Import_Parser::VALID);
   }
 
+  /**
+   * Validate a formatted contact parameter list.
+   *
+   * @param array $params
+   *   Structured parameter list (as in crm_format_params).
+   *
+   * @throw CRM_Core_Error
+   */
+  public function deprecated_validate_formatted_contact(&$params): void {
+    // Look for offending email addresses
+
+    if (array_key_exists('email', $params)) {
+      foreach ($params['email'] as $count => $values) {
+        if (!is_array($values)) {
+          continue;
+        }
+        if ($email = CRM_Utils_Array::value('email', $values)) {
+          // validate each email
+          if (!CRM_Utils_Rule::email($email)) {
+            throw new CRM_Core_Exception('No valid email address');
+          }
+
+          // check for loc type id.
+          if (empty($values['location_type_id'])) {
+            throw new CRM_Core_Exception('Location Type Id missing.');
+          }
+        }
+      }
+    }
+
+    // Validate custom data fields
+    if (array_key_exists('custom', $params) && is_array($params['custom'])) {
+      foreach ($params['custom'] as $key => $custom) {
+        if (is_array($custom)) {
+          foreach ($custom as $fieldId => $value) {
+            $valid = CRM_Core_BAO_CustomValue::typecheck(CRM_Utils_Array::value('type', $value),
+              CRM_Utils_Array::value('value', $value)
+            );
+            if (!$valid && $value['is_required']) {
+              throw new CRM_Core_Exception('Invalid value for custom field \'' .
+                $custom['name'] . '\''
+              );
+            }
+            if (CRM_Utils_Array::value('type', $custom) == 'Date') {
+              $params['custom'][$key][$fieldId]['value'] = str_replace('-', '', $params['custom'][$key][$fieldId]['value']);
+            }
+          }
+        }
+      }
+    }
+  }
+
 }
index c9345e39adae1e7b19fd15eb4862b95d1d620667..8f8b27cf4c5be55f7b0ab73eff3f0271550087ea 100644 (file)
@@ -551,58 +551,6 @@ function _civicrm_api3_deprecated_duplicate_formatted_contact($params) {
   return civicrm_api3_create_success(TRUE);
 }
 
-/**
- * Validate a formatted contact parameter list.
- *
- * @param array $params
- *   Structured parameter list (as in crm_format_params).
- *
- * @throw CRM_Core_Error
- */
-function _civicrm_api3_deprecated_validate_formatted_contact(&$params): void {
-  // Look for offending email addresses
-
-  if (array_key_exists('email', $params)) {
-    foreach ($params['email'] as $count => $values) {
-      if (!is_array($values)) {
-        continue;
-      }
-      if ($email = CRM_Utils_Array::value('email', $values)) {
-        // validate each email
-        if (!CRM_Utils_Rule::email($email)) {
-          throw new CRM_Core_Exception('No valid email address');
-        }
-
-        // check for loc type id.
-        if (empty($values['location_type_id'])) {
-          throw new CRM_Core_Exception('Location Type Id missing.');
-        }
-      }
-    }
-  }
-
-  // Validate custom data fields
-  if (array_key_exists('custom', $params) && is_array($params['custom'])) {
-    foreach ($params['custom'] as $key => $custom) {
-      if (is_array($custom)) {
-        foreach ($custom as $fieldId => $value) {
-          $valid = CRM_Core_BAO_CustomValue::typecheck(CRM_Utils_Array::value('type', $value),
-            CRM_Utils_Array::value('value', $value)
-          );
-          if (!$valid && $value['is_required']) {
-            throw new CRM_Core_Exception('Invalid value for custom field \'' .
-              $custom['name'] . '\''
-            );
-          }
-          if (CRM_Utils_Array::value('type', $custom) == 'Date') {
-            $params['custom'][$key][$fieldId]['value'] = str_replace('-', '', $params['custom'][$key][$fieldId]['value']);
-          }
-        }
-      }
-    }
-  }
-}
-
 /**
  * @deprecated - this is part of the import parser not the API & needs to be moved on out
  *