dfprocesslevelemailsender.class.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. dol_include_once('/documentfollower/class/documentfollowerprocess.class.php');
  3. dol_include_once('/documentfollower/class/dfprocessuserhandler.class.php');
  4. dol_include_once('/documentfollower/class/wizard/wizardemailsender.class.php');
  5. class DfProcessLevelEmailSender
  6. {
  7. public $process;
  8. public $level;
  9. public $db;
  10. /**
  11. *
  12. */
  13. public function __construct(DocumentFollowerProcess $process, int $level)
  14. {
  15. global $db;
  16. $this->db = $db;
  17. $this->process = $process;
  18. $this->level = $level;
  19. }
  20. /**
  21. *
  22. */
  23. public function sendEmailToLevelMembers(): bool
  24. {
  25. $sent = false;
  26. $members = (new DfProcessUserHandler($this->process->id))->getLevelMembers($this->process->id, $this->level);
  27. if (!empty($members)) {
  28. $emailSender = new WizardEmailSender($this->process);
  29. foreach ($members as $member) {
  30. $user = new User($this->db);
  31. if ($user->fetch($member) > 0) {
  32. $emailSender->send($user);
  33. }
  34. }
  35. $sent = true;
  36. }
  37. return $sent;
  38. }
  39. }