implement Hook syncing when Campaign gets created
This commit is contained in:
parent
bf4873496f
commit
36cfdd2a2d
1 changed files with 28 additions and 0 deletions
|
@ -1,7 +1,35 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use CRM_TwingleCampaign_BAO_CampaignType as CampaignType;
|
||||||
|
use CRM_TwingleCampaign_Utils_ExtensionCache as ExtensionCache;
|
||||||
|
|
||||||
require_once 'twinglecampaign.civix.php';
|
require_once 'twinglecampaign.civix.php';
|
||||||
use CRM_TwingleCampaign_ExtensionUtil as E;
|
use CRM_TwingleCampaign_ExtensionUtil as E;
|
||||||
|
//
|
||||||
|
//Civi::dispatcher()->addListener('hook_civicrm_postSave_civicrm_campaign',
|
||||||
|
// "twinglecampaign_postSave_civicrm_campaign", -1000);
|
||||||
|
/**
|
||||||
|
* Implements hook_civicrm_postSave_Campaigns().
|
||||||
|
*
|
||||||
|
* @param $dao
|
||||||
|
*
|
||||||
|
* @throws CiviCRM_API3_Exception
|
||||||
|
*/
|
||||||
|
function twinglecampaign_civicrm_postSave_civicrm_campaign($dao) {
|
||||||
|
$twingle_campaign_types = ExtensionCache::getInstance()->getCampaigns()['campaign_types'];
|
||||||
|
$twingle_campaign_type_ids = [];
|
||||||
|
$hook_campaign_type_id = $dao->campaign_type_id;
|
||||||
|
$hook_campaign_id = $dao->id;
|
||||||
|
foreach ($twingle_campaign_types as $twingle_campaign_type) {
|
||||||
|
$id = civicrm_api3('OptionValue', 'get',
|
||||||
|
['sequential' => 1, 'name' => $twingle_campaign_type['name']]
|
||||||
|
)['values'][0]['value'];
|
||||||
|
array_push($twingle_campaign_type_ids, $id);
|
||||||
|
}
|
||||||
|
if (in_array($hook_campaign_type_id, $twingle_campaign_type_ids)) {
|
||||||
|
civicrm_api3('TwingleSync', 'sync', ['id' => $hook_campaign_id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements hook_civicrm_config().
|
* Implements hook_civicrm_config().
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue