From 5d597de5de0b38ba6d835e9fa4b0c86201c10c12 Mon Sep 17 00:00:00 2001 From: Marc Michalsky forumZFD Date: Tue, 29 Sep 2020 08:52:56 +0200 Subject: [PATCH] use cusom field mapping instead of static custom field array --- api/v3/TwingleSync/models/TwingleProject.php | 23 +++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/api/v3/TwingleSync/models/TwingleProject.php b/api/v3/TwingleSync/models/TwingleProject.php index 3517c83..382bc66 100644 --- a/api/v3/TwingleSync/models/TwingleProject.php +++ b/api/v3/TwingleSync/models/TwingleProject.php @@ -20,13 +20,11 @@ class TwingleProject { private $values; - private $orig_values; - private $timestamp; private $settings; - private static $customFields = []; + private static $customFieldMapping; /** * TwingleProject constructor. @@ -42,23 +40,9 @@ class TwingleProject { // Format data types of the values for import into CiviCRM $this->formatForImport($values); - // Add necessary attributes - $this->values['title'] = $values['name']; - $this->values['campaign_type_id'] = 'twingle_project'; - - // Fetch custom fields once and store them in static attribute + // Fetch custom field mapping once self::init(); - // Copy values - $this->orig_values = $values; - - // Map parameters to custom field names (e.g. "custom_21") - foreach (self::$customFields as $customField) { - if (!empty($values[str_replace('twingle_project_', '', $customField->getName())])) { - $this->values['custom_' . $customField->getId()] = - $values[str_replace('twingle_project_', '', $customField->getName())]; - } - } } /** @@ -72,6 +56,9 @@ class TwingleProject { if (self::$bInitialized) { return; } + self::$customFieldMapping = CustomField::getMapping(); + self::$bInitialized = TRUE; + } $json_file = file_get_contents(E::path() . '/CRM/TwingleCampaign/Upgrader/resources/campaigns.json');