BxAntispamConfig.php 2.0 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 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. );
  25. /**
  26. * default local options, it is filled in with real system options in class contructor, @see restoreAntispamOptions
  27. */
  28. protected $_aOptions = array (
  29. 'antispam_block' => '',
  30. 'antispam_report' => '',
  31. 'dnsbl_enable' => '',
  32. 'uridnsbl_enable' => '',
  33. 'dnsbl_behaviour_login' => 'block',
  34. 'dnsbl_behaviour_join' => 'approval',
  35. 'akismet_enable' => '',
  36. );
  37. public function __construct($aModule)
  38. {
  39. parent::__construct($aModule);
  40. $this->restoreAntispamOptions ();
  41. }
  42. /**
  43. * Set local option value, system value stays intact, useful for testing and debugging
  44. */
  45. public function setAntispamOption ($sOption, $mixedVal)
  46. {
  47. $this->_aOptions[$sOption] = $mixedVal;
  48. }
  49. /**
  50. * Get an option, local value
  51. */
  52. public function getAntispamOption ($sOption)
  53. {
  54. return $this->_aOptions[$sOption];
  55. }
  56. /**
  57. * set local options values from system options
  58. */
  59. public function restoreAntispamOptions ()
  60. {
  61. foreach ($this->_aOptionsMap as $sNameLocal => $sNameParam)
  62. $this->setAntispamOption($sNameLocal, getParam($sNameParam));
  63. }
  64. }
  65. /** @} */