diff --git a/CRM/TwingleCampaign/BAO/Campaign.php b/CRM/TwingleCampaign/BAO/Campaign.php index c29d3a0..108154d 100644 --- a/CRM/TwingleCampaign/BAO/Campaign.php +++ b/CRM/TwingleCampaign/BAO/Campaign.php @@ -181,8 +181,10 @@ abstract class CRM_TwingleCampaign_BAO_Campaign { // Translate keys foreach ($field_translations as $origin => $translation) { - $values[$translation] = $values[$origin]; - unset($values[$origin]); + if (isset($values[$origin])) { + $values[$translation] = $values[$origin]; + unset($values[$origin]); + } } } diff --git a/CRM/TwingleCampaign/BAO/TwingleEvent.php b/CRM/TwingleCampaign/BAO/TwingleEvent.php index f95d5b3..e779fac 100644 --- a/CRM/TwingleCampaign/BAO/TwingleEvent.php +++ b/CRM/TwingleCampaign/BAO/TwingleEvent.php @@ -27,11 +27,13 @@ class CRM_TwingleCampaign_BAO_TwingleEvent extends Campaign { $this->id_custom_field = Cache::getInstance() ->getCustomFieldMapping()['twingle_event_id']; - try { - $this->values['parent_id'] = $this->getParentCampaignId(); - } catch (CiviCRM_API3_Exception $e) { - $errorMessage = $e->getMessage(); - throw new Exception("Could not identify parent Campaign: $errorMessage"); + if ($id) { + try { + $this->values['parent_id'] = $this->getParentCampaignId(); + } catch (CiviCRM_API3_Exception $e) { + $errorMessage = $e->getMessage(); + throw new Exception("Could not identify parent Campaign: $errorMessage"); + } } } @@ -152,7 +154,9 @@ class CRM_TwingleCampaign_BAO_TwingleEvent extends Campaign { self::getTimestamp($values['created_at']); // Cast project target to integer - $values['project_target'] = (int) $values['project_target']; + if (isset($values['project_target'])) { + $values['project_target'] = (int) $values['project_target']; + } } else { diff --git a/api/v3/TwingleEvent/Sync.php b/api/v3/TwingleEvent/Sync.php index f9c51ce..1797b4e 100644 --- a/api/v3/TwingleEvent/Sync.php +++ b/api/v3/TwingleEvent/Sync.php @@ -99,7 +99,7 @@ function civicrm_api3_twingle_event_Sync(array $params): array { $twingleApi = Civi::cache()->get('twinglecampaign_twingle_api'); if (NULL === $twingleApi || $params['twingle_api_key'] || $params['limit']) { try { - if ($params['limit']) { + if (isset($params['limit'])) { $twingleApi = new TwingleApiCall($apiKey, $params['limit']); } else { @@ -112,7 +112,7 @@ function civicrm_api3_twingle_event_Sync(array $params): array { } // If an id or a event_id is provided, synchronize only this one campaign - if ($params['id'] || $params['event_id']) { + if (isset($params['id']) || isset($params['event_id'])) { // Get project from db via API $params['sequential'] = 1; diff --git a/api/v3/TwingleProject/Sync.php b/api/v3/TwingleProject/Sync.php index 4c1b38d..039f72a 100644 --- a/api/v3/TwingleProject/Sync.php +++ b/api/v3/TwingleProject/Sync.php @@ -91,7 +91,7 @@ function civicrm_api3_twingle_project_Sync(array $params): array { } // If an id or a project_id is given, synchronize only this one campaign - if ($params['id'] || $params['project_id']) { + if (isset($params['id']) || isset($params['project_id'])) { // Get project from db via API $params['sequential'] = 1;