BxMassMailerConfig.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 MassMailer Mass Mailer
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxMassMailerConfig extends BxBaseModTextConfig
  12. {
  13. function __construct($aModule)
  14. {
  15. parent::__construct($aModule);
  16. $this->CNF = array (
  17. // module icon
  18. 'ICON' => 'far envelope col-red2',
  19. // database tables
  20. 'TABLE_CAMPAIGNS' => $aModule['db_prefix'] . 'campaigns',
  21. 'TABLE_SEGMENTS' => $aModule['db_prefix'] . 'segments',
  22. 'TABLE_LETTERS' => $aModule['db_prefix'] . 'letters',
  23. 'TABLE_LINKS' => $aModule['db_prefix'] . 'links',
  24. 'TABLE_UNSUBSCRIBE' => $aModule['db_prefix'] . 'unsubscribe',
  25. // database fields
  26. 'FIELD_ID' => 'id',
  27. 'FIELD_AUTHOR' => 'author',
  28. 'FIELD_TITLE' => 'title',
  29. 'FIELD_SUBJECT' => 'subject',
  30. 'FIELD_FROM_NAME' => 'from_name',
  31. 'FIELD_REPLY_TO' => 'reply_to',
  32. 'FIELD_BODY' => 'body',
  33. 'FIELD_BODY_INFO' => 'body_info',
  34. 'FIELD_EMAIL_LIST' => 'email_list',
  35. 'FIELD_SEGMENTS' => 'segments',
  36. 'FIELD_ADDED' => 'added',
  37. 'FIELD_CHANGED' => 'changed',
  38. 'FIELD_DATE_SENT' => 'date_sent',
  39. 'FIELD_CAMPAIGN_ID' => 'campaign_id',
  40. 'FIELD_EMAIL' => 'email',
  41. 'FIELD_HASH' => 'hash',
  42. 'FIELD_DATE_SEEN' => 'date_seen',
  43. 'FIELD_DATE_CLICK' => 'date_click',
  44. 'FIELD_LETTER_HASH' => 'letter_hash',
  45. 'FIELD_LINK' => 'link',
  46. 'FIELD_DATE_UNSUBSCRIBED' => 'unsubscribed',
  47. 'FIELD_ACCOUNT_ID' => 'account_id',
  48. 'FIELD_PER_ACCOUNT' => 'is_one_per_account',
  49. // page URIs
  50. 'URI_MANAGE_COMMON' => 'massmailer-campaigns',
  51. 'URI_MANAGE_CAMPAIGNS' => 'massmailer-campaigns',
  52. 'URI_ADD_CAMPAIGN' => 'create-campaign',
  53. 'URI_EDIT_CAMPAIGN' => 'edit-campaign',
  54. 'URI_VIEW_CAMPAIGN' => 'view-campaign',
  55. 'URL_MANAGE_CAMPAIGNS' => 'page.php?i=massmailer-campaigns',
  56. // some params
  57. 'PARAM_USE_CREATIVE' => true,
  58. // objects
  59. 'OBJECT_FORM_ENTRY' => 'bx_massmailer',
  60. 'OBJECT_FORM_ENTRY_DISPLAY_EDIT' => 'bx_massmailer_campaign_edit',
  61. 'OBJECT_FORM_ENTRY_DISPLAY_VIEW' => 'bx_massmailer_campaign_view',
  62. 'OBJECT_FORM_ENTRY_DISPLAY_ADD' => 'bx_massmailer_campaign_add',
  63. 'OBJECT_MENU_SUBMENU' => 'bx_massmailer_submenu',
  64. 'OBJECT_GRID_CAMPAIGNS' => 'bx_massmailer_campaigns',
  65. 'OBJECT_GRID_LETTERS' => 'bx_massmailer_letters',
  66. );
  67. $this->_aJsClasses = array(
  68. 'manage_tools' => 'BxMassMailerManageTools',
  69. 'chart' => 'BxMassMailerChart'
  70. );
  71. $this->_aJsObjects = array(
  72. 'manage_tools' => 'oBxMassMailerManageTools',
  73. 'chart' => 'oBxMassMailerChart',
  74. );
  75. $this->_aGridObjects = array(
  76. 'campaigns' => $this->CNF['OBJECT_GRID_CAMPAIGNS'],
  77. 'letters' => $this->CNF['OBJECT_GRID_LETTERS'],
  78. );
  79. $sPrefix = str_replace('_', '-', $this->_sName);
  80. $this->_aHtmlIds = array_merge($this->_aHtmlIds, [
  81. 'campaign_body' => $sPrefix . '-campaign-body',
  82. ]);
  83. }
  84. }
  85. /** @} */