1
0

BxMailchimpAlerts.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup Mailchimp Mailchimp integration module
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxMailchimpAlerts extends BxDolAlertsResponse
  12. {
  13. protected $_oModule;
  14. function __construct()
  15. {
  16. parent::__construct();
  17. $this->_oModule = BxDolModule::getInstance('bx_mailchimp');
  18. }
  19. public function response($o)
  20. {
  21. if ('system' == $o->sUnit && 'save_setting' == $o->sAction && 'bx_mailchimp_option_list_id' == $o->aExtras['option']) {
  22. $this->_oModule->serviceUpdateMergeFields();
  23. }
  24. if ('account' == $o->sUnit && 'delete' == $o->sAction) {
  25. $this->_oModule->serviceRemoveAccount($o->iObject);
  26. }
  27. if ('account' == $o->sUnit && ('edited' == $o->sAction || 'switch_context' == $o->sAction || 'confirm' == $o->sAction || 'unconfirm' == $o->sAction)) {
  28. $this->_oModule->serviceUpdateAccount($o->iObject);
  29. }
  30. if ('profile' == $o->sUnit && ('delete' == $o->sAction || 'edit' == $o->sAction || 'add' == $o->sAction)) {
  31. $oProfile = BxDolProfile::getInstance($o->iObject);
  32. $oAccount = $oProfile ? $oProfile->getAccountObject() : null;
  33. if ($oAccount) {
  34. if ('delete' == $o->sAction && isset($o->aExtras['type']) && 'system' == $o->aExtras['type'])
  35. $this->_oModule->serviceRemoveAccount($oAccount->id());
  36. else
  37. $this->_oModule->serviceUpdateAccount($oAccount->id());
  38. }
  39. }
  40. }
  41. }
  42. /** @} */