diff --git a/CRM/TwingleCampaign/BAO/TwingleCampaign.php b/CRM/TwingleCampaign/BAO/TwingleCampaign.php index ca9af4f..1c035b9 100644 --- a/CRM/TwingleCampaign/BAO/TwingleCampaign.php +++ b/CRM/TwingleCampaign/BAO/TwingleCampaign.php @@ -17,32 +17,31 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { private $values; - /** * ## TwingleCampaign constructor * - * @param array|null $values - * @param int|null $id + * @param array $values * * @throws \CiviCRM_API3_Exception */ - public function __construct(array $values = [], int $id = NULL) { + public function __construct(array $values = []) { $this->prefix = 'twingle_campaign_'; - $this->id = $id ?? NULL; + $this->id = $values['id'] ?? NULL; $this->values['campaign_type_id'] = 'twingle_campaign'; + if ($this->id != NULL) { + $this->fetch($this->id); + } $this->update($values); + $this->getParentProject(); if (!isset($this->values['cid'])) { $this->createCid(); } $this->createUrl(); - - } - /** * ## Create TwingleCampaign * Create this TwingleCampaign as a campaign in CiviCRM @@ -69,19 +68,17 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { } } - /** * ## Fetch TwingleCampaign * Populate this instance with values from an existing TwingleCampaign. * * @throws CiviCRM_API3_Exception */ - public function fetch() { + public function fetch(int $id) { $this->values = civicrm_api3('TwingleCampaign', 'getsingle', - ['id' => $this->id]); + ['id' => $id]); } - /** * ## Get Parent Project * Determines the id of the parent TwingleProject. If there is no parent @@ -128,7 +125,6 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { } } - // Set parent_project_id and retrieve parent_project_url if ($parent_campaign_type_id == $twingle_project_campaign_type_id) { $this->values['parent_project_id'] = $parent_id; @@ -205,7 +201,6 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { $this->values['parent_project_url'] . '?tw_cid=' . $this->values['cid']; } - /** * */ @@ -214,7 +209,6 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { $this->values['cid'] = uniqid(); } - /** * ## Translate field names and custom field names * @@ -283,7 +277,6 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { } } - /** * ## Delete TwingleCampaign * Deletes this TwingleCampaign from CiviCRM @@ -303,7 +296,6 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { } } - /** * ## Get a response * Get a response that describes the status of this TwingleCampaign instance. @@ -380,5 +372,4 @@ class CRM_TwingleCampaign_BAO_TwingleCampaign { return (int) $this->id; } - } \ No newline at end of file diff --git a/twinglecampaign.civix.php b/twinglecampaign.civix.php index 7d7e079..575f31e 100644 --- a/twinglecampaign.civix.php +++ b/twinglecampaign.civix.php @@ -7,9 +7,9 @@ * extension. */ class CRM_TwingleCampaign_ExtensionUtil { - const SHORT_NAME = "twinglecampaign"; - const LONG_NAME = "de.forumzfd.twinglecampaign"; - const CLASS_PREFIX = "CRM_TwingleCampaign"; + const SHORT_NAME = 'twinglecampaign'; + const LONG_NAME = 'de.forumzfd.twinglecampaign'; + const CLASS_PREFIX = 'CRM_TwingleCampaign'; /** * Translate a string using the extension's domain. @@ -193,8 +193,9 @@ function _twinglecampaign_civix_civicrm_disable() { * @param $op string, the type of operation being performed; 'check' or 'enqueue' * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks * - * @return mixed based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending) - * for 'enqueue', returns void + * @return mixed + * based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending) + * for 'enqueue', returns void * * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_upgrade */ @@ -220,41 +221,18 @@ function _twinglecampaign_civix_upgrader() { * Search directory tree for files which match a glob pattern. * * Note: Dot-directories (like "..", ".git", or ".svn") will be ignored. - * Note: In Civi 4.3+, delegate to CRM_Utils_File::findFiles() + * Note: Delegate to CRM_Utils_File::findFiles(), this function kept only + * for backward compatibility of extension code that uses it. * * @param string $dir base dir * @param string $pattern , glob pattern, eg "*.txt" * - * @return array(string) + * @return array */ function _twinglecampaign_civix_find_files($dir, $pattern) { - if (is_callable(['CRM_Utils_File', 'findFiles'])) { - return CRM_Utils_File::findFiles($dir, $pattern); - } - - $todos = [$dir]; - $result = []; - while (!empty($todos)) { - $subdir = array_shift($todos); - foreach (_twinglecampaign_civix_glob("$subdir/$pattern") as $match) { - if (!is_dir($match)) { - $result[] = $match; - } - } - if ($dh = opendir($subdir)) { - while (FALSE !== ($entry = readdir($dh))) { - $path = $subdir . DIRECTORY_SEPARATOR . $entry; - if ($entry{0} == '.') { - } - elseif (is_dir($path)) { - $todos[] = $path; - } - } - closedir($dh); - } - } - return $result; + return CRM_Utils_File::findFiles($dir, $pattern); } + /** * (Delegated) Implements hook_civicrm_managed(). * @@ -362,7 +340,7 @@ function _twinglecampaign_civix_civicrm_themes(&$themes) { * @link http://php.net/glob * @param string $pattern * - * @return array, possibly empty + * @return array */ function _twinglecampaign_civix_glob($pattern) { $result = glob($pattern); @@ -470,8 +448,6 @@ function _twinglecampaign_civix_civicrm_alterSettingsFolders(&$metaDataFolders = * * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes */ - function _twinglecampaign_civix_civicrm_entityTypes(&$entityTypes) { - $entityTypes = array_merge($entityTypes, array ( - )); + $entityTypes = array_merge($entityTypes, []); }