installer.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 Timeline Timeline
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. bx_import('BxBaseModNotificationsInstaller');
  12. class BxTimelineInstaller extends BxBaseModNotificationsInstaller
  13. {
  14. function __construct($aConfig)
  15. {
  16. parent::__construct($aConfig);
  17. }
  18. public function enable($aParams)
  19. {
  20. $aResult = parent::enable($aParams);
  21. if($aResult['result']) {
  22. $this->updateParamAET(true);
  23. $this->updateFeedsMenu();
  24. }
  25. return $aResult;
  26. }
  27. public function disable($aParams)
  28. {
  29. $aResult = parent::disable($aParams);
  30. if($aResult['result'])
  31. $this->updateParamAET(false);
  32. return $aResult;
  33. }
  34. protected function updateParamAET($bAdd)
  35. {
  36. $sAetDivider = ',';
  37. $sAetName = 'bx_timeline_send';
  38. $sAetParam = 'sys_email_attachable_email_templates';
  39. $sAetParamValue = getParam($sAetParam);
  40. if($bAdd)
  41. $sAetParamValue = trim($sAetParamValue . $sAetDivider . $sAetName, $sAetDivider);
  42. else {
  43. $aAet = explode($sAetDivider, $sAetParamValue);
  44. $mixedKey = array_search($sAetName, $aAet);
  45. if($mixedKey !== false) {
  46. unset($aAet[$mixedKey]);
  47. $sAetParamValue = implode($sAetDivider, $aAet);
  48. }
  49. }
  50. return setParam($sAetParam, $sAetParamValue);
  51. }
  52. protected function updateFeedsMenu()
  53. {
  54. return bx_srv_ii($this->_aConfig['name'], 'feeds_menu_add');
  55. }
  56. }
  57. /** @} */