import classes

This commit is contained in:
Marc Michalsky forumZFD 2020-10-27 10:39:37 +01:00
parent b331aa88d9
commit 1acbbb7c78
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
3 changed files with 33 additions and 18 deletions

View file

@ -8,10 +8,12 @@ use CRM_TwingleCampaign_ExtensionUtil as E;
use CRM_Utils_Array; use CRM_Utils_Array;
use DateTime; use DateTime;
use CRM\TwingleCampaign\BAO\CustomField as CustomField; use CRM\TwingleCampaign\BAO\CustomField as CustomField;
use CRM\TwingleCampaign\BAO\TwingleProjectOptions as TwingleProjectOptions;
use Exception; use Exception;
use CiviCRM_API3_Exception; use CiviCRM_API3_Exception;
include_once E::path() . '/CRM/TwingleCampaign/BAO/CustomField.php'; include_once E::path() . '/CRM/TwingleCampaign/BAO/CustomField.php';
include_once E::path() . '/CRM/TwingleCampaign/BAO/TwingleProjectOptions.php';
class TwingleProject { class TwingleProject {
@ -56,7 +58,7 @@ class TwingleProject {
* Origin of the arrays. It can be one of two constants: * Origin of the arrays. It can be one of two constants:
* TwingleProject::TWINGLE|CIVICRM * TwingleProject::TWINGLE|CIVICRM
* *
* @throws \Exception * @throws Exception
*/ */
public function __construct(array $project, array $options, string $origin) { public function __construct(array $project, array $options, string $origin) {
@ -99,7 +101,7 @@ class TwingleProject {
* This function will be fully executed only once, when the TwingleProject * This function will be fully executed only once, when the TwingleProject
* class gets instantiated for the first time. * class gets instantiated for the first time.
* *
* @throws \Exception * @throws Exception
*/ */
private static function init() { private static function init() {
@ -152,6 +154,7 @@ class TwingleProject {
* Returns a response array that contains title, id, project_id and status * Returns a response array that contains title, id, project_id and status
* *
* @throws CiviCRM_API3_Exception * @throws CiviCRM_API3_Exception
* @throws Exception
*/ */
public function create(bool $is_test = FALSE) { public function create(bool $is_test = FALSE) {
@ -202,7 +205,7 @@ class TwingleProject {
* Origin of the array. It can be one of two constants: * Origin of the array. It can be one of two constants:
* TwingleProject::TWINGLE|CIVICRM * TwingleProject::TWINGLE|CIVICRM
* *
* @throws \Exception * @throws Exception
*/ */
public function update(array $values, array $options, string $origin = NULL) { public function update(array $values, array $options, string $origin = NULL) {
@ -234,7 +237,7 @@ class TwingleProject {
* @return array * @return array
* Array with all values to send to the Twingle API * Array with all values to send to the Twingle API
* *
* @throws \Exception * @throws Exception
*/ */
public function export() { public function export() {
@ -263,7 +266,7 @@ class TwingleProject {
* @return array * @return array
* Array with all options to send to the Twingle API * Array with all options to send to the Twingle API
* *
* @throws \Exception * @throws Exception
* *
*/ */
public function exportOptions() { public function exportOptions() {
@ -416,7 +419,7 @@ class TwingleProject {
* TwingleProject::OUT -> translate array keys from CiviCRM format into * TwingleProject::OUT -> translate array keys from CiviCRM format into
* Twingle format * Twingle format
* *
* @throws \Exception * @throws Exception
*/ */
private static function translateKeys(array &$values, string $direction) { private static function translateKeys(array &$values, string $direction) {
@ -453,7 +456,7 @@ class TwingleProject {
* TwingleProject::IN -> translate array values from Twingle to CiviCRM <br> * TwingleProject::IN -> translate array values from Twingle to CiviCRM <br>
* TwingleProject::OUT -> translate array values from CiviCRM to Twingle * TwingleProject::OUT -> translate array values from CiviCRM to Twingle
* *
* @throws \Exception * @throws Exception
*/ */
private function formatValues(array &$values, string $direction) { private function formatValues(array &$values, string $direction) {

View file

@ -0,0 +1,9 @@
<?php
namespace CRM\TwingleCampaign\BAO;
class TwingleProjectOptions {
}

View file

@ -2,9 +2,12 @@
namespace CRM\TwingleCampaign\BAO; namespace CRM\TwingleCampaign\BAO;
use API_Exception;
use Civi;
use CRM_Core_BAO_Setting; use CRM_Core_BAO_Setting;
use CRM_TwingleCampaign_ExtensionUtil as E; use CRM_TwingleCampaign_ExtensionUtil as E;
use CRM\TwingleCampaign\BAO\TwingleProject as TwingleProject; use CRM\TwingleCampaign\BAO\TwingleProject as TwingleProject;
use Exception;
include_once E::path() . '/CRM/TwingleCampaign/BAO/TwingleProject.php'; include_once E::path() . '/CRM/TwingleCampaign/BAO/TwingleProject.php';
@ -23,7 +26,7 @@ class TwingleApiCall {
* *
* @param $apiKey * @param $apiKey
* *
* @throws \API_Exception * @throws API_Exception
*/ */
public function __construct($apiKey) { public function __construct($apiKey) {
$this->apiKey = $apiKey; $this->apiKey = $apiKey;
@ -40,7 +43,7 @@ class TwingleApiCall {
curl_close($curl); curl_close($curl);
if (empty($response)) { if (empty($response)) {
throw new \API_Exception( throw new API_Exception(
"Twingle API call failed. Please check your api key."); "Twingle API call failed. Please check your api key.");
} }
@ -141,7 +144,7 @@ class TwingleApiCall {
} catch (\Exception $e) { } catch (\Exception $e) {
// Log Exception // Log Exception
\Civi::log()->error( Civi::log()->error(
"Failed to instantiate TwingleProject: $e->getMessage()" "Failed to instantiate TwingleProject: $e->getMessage()"
); );
@ -169,10 +172,10 @@ class TwingleApiCall {
$project_options, $project_options,
TwingleProject::TWINGLE TwingleProject::TWINGLE
); );
} catch (\Exception $e) { } catch (Exception $e) {
// Log Exception // Log Exception
\Civi::log()->error( Civi::log()->error(
"Failed to instantiate TwingleProject: $e->getMessage()" "Failed to instantiate TwingleProject: $e->getMessage()"
); );
@ -191,10 +194,10 @@ class TwingleApiCall {
// ... if not, create it // ... if not, create it
try { try {
$result = $project->create($is_test); $result = $project->create($is_test);
} catch (\Exception $e) { } catch (Exception $e) {
// Log Exception // Log Exception
\Civi::log()->error( Civi::log()->error(
"Could not create campaign from TwingleProject: $e->getMessage()" "Could not create campaign from TwingleProject: $e->getMessage()"
); );
@ -278,9 +281,9 @@ class TwingleApiCall {
try { try {
$values = $project->export(); $values = $project->export();
} catch (\Exception $e) { } catch (Exception $e) {
// Log Exception // Log Exception
\Civi::log()->error( Civi::log()->error(
"Could not export TwingleProject values: $e->getMessage()" "Could not export TwingleProject values: $e->getMessage()"
); );
// Return result array with error description // Return result array with error description
@ -303,9 +306,9 @@ class TwingleApiCall {
$project->update($result, TwingleProject::TWINGLE); $project->update($result, TwingleProject::TWINGLE);
$project->create(); $project->create();
return $project->getResponse('TwingleProject pushed to Twingle'); return $project->getResponse('TwingleProject pushed to Twingle');
} catch (\Exception $e) { } catch (Exception $e) {
// Log Exception // Log Exception
\Civi::log()->error( Civi::log()->error(
"Could not update TwingleProject campaign: $e->getMessage()" "Could not update TwingleProject campaign: $e->getMessage()"
); );
// Return result array with error description // Return result array with error description