04-campaign.php 736 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace cx_newsletter;
  3. class campaign
  4. extends database_item
  5. implements database_item_interface {
  6. public ?message $message = null;
  7. public ?campaign_type $type = null;
  8. public ?bool $test = null;
  9. public ?\datetime $finalized = null;
  10. public ?group $group = null;
  11. public function finalize() : self {
  12. $this->finalized = new \datetime();
  13. return $this;
  14. }
  15. public function is_complete() : bool {
  16. if ($this->message === null) return false;
  17. if ($this->type === null) return false;
  18. if ($this->test === null) return false;
  19. if (!$this->message->is_complete()) return false;
  20. if (!$this->message->has_id()) return false;
  21. return true;
  22. }
  23. }