AbstractRule.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\Libs\Restrictions\Interfaces;
  3. use function ThurData\Servers\KerioEmail\Core\Helper\di;
  4. use ThurData\Servers\KerioEmail\Core\Lang\Lang;
  5. /**
  6. *
  7. * Created by PhpStorm.
  8. * User: Tomasz Bielecki ( tomasz.bi@thurdata.com )
  9. * Date: 07.11.19
  10. * Time: 10:02
  11. * Class AbstractRule
  12. */
  13. abstract class AbstractRule implements RuleInterface
  14. {
  15. /**
  16. * @var string
  17. */
  18. protected $message = 'somethingWentWrong';
  19. /**
  20. * @var array
  21. */
  22. protected $replacements = [];
  23. /**
  24. * @param $key
  25. * @param $value
  26. * @return $this
  27. */
  28. protected function addReplacement($key, $value)
  29. {
  30. $this->replacements[$key] = $value;
  31. return $this;
  32. }
  33. /**
  34. *
  35. * @return mixed|void
  36. */
  37. public function getMessage()
  38. {
  39. /* @var $lang Lang*/
  40. $lang = di('lang');
  41. foreach($this->replacements as $key => $repl)
  42. {
  43. $lang->addReplacementConstant($key, $repl);
  44. }
  45. return $lang->absoluteT('restrictions', 'error', $this->message);
  46. }
  47. }