1
0

BxAntispamConfig.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 Antispam Antispam
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. class BxAntispamConfig extends BxDolModuleConfig
  12. {
  13. /**
  14. * map system options to the local options names
  15. */
  16. protected $_aOptionsMap = array (
  17. 'antispam_block' => 'bx_antispam_block',
  18. 'antispam_report' => 'bx_antispam_report',
  19. 'dnsbl_enable' => 'bx_antispam_dnsbl_enable',
  20. 'uridnsbl_enable' => 'bx_antispam_uridnsbl_enable',
  21. 'dnsbl_behaviour_login' => 'bx_antispam_dnsbl_behaviour_login',
  22. 'dnsbl_behaviour_join' => 'bx_antispam_dnsbl_behaviour_join',
  23. 'akismet_enable' => 'bx_antispam_akismet_enable',
  24. 'disposable_email_domains_mode' => 'bx_antispam_disposable_email_domains_mode',
  25. 'disposable_email_domains_behaviour_join' => 'bx_antispam_disposable_email_domains_behaviour_join',
  26. );
  27. /**
  28. * default local options, it is filled in with real system options in class contructor, @see restoreAntispamOptions
  29. */
  30. protected $_aOptions = array (
  31. 'antispam_block' => '',
  32. 'antispam_report' => '',
  33. 'dnsbl_enable' => '',
  34. 'uridnsbl_enable' => '',
  35. 'dnsbl_behaviour_login' => 'block',
  36. 'dnsbl_behaviour_join' => 'approval',
  37. 'akismet_enable' => '',
  38. );
  39. public function __construct($aModule)
  40. {
  41. parent::__construct($aModule);
  42. $this->restoreAntispamOptions ();
  43. }
  44. /**
  45. * Set local option value, system value stays intact, useful for testing and debugging
  46. */
  47. public function setAntispamOption ($sOption, $mixedVal)
  48. {
  49. $this->_aOptions[$sOption] = $mixedVal;
  50. }
  51. /**
  52. * Get an option, local value
  53. */
  54. public function getAntispamOption ($sOption)
  55. {
  56. return $this->_aOptions[$sOption];
  57. }
  58. /**
  59. * set local options values from system options
  60. */
  61. public function restoreAntispamOptions ()
  62. {
  63. foreach ($this->_aOptionsMap as $sNameLocal => $sNameParam)
  64. $this->setAntispamOption($sNameLocal, getParam($sNameParam));
  65. }
  66. }
  67. /** @} */