| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace cx_newsletter;
- class campaigns_converter
- extends database_converter
- implements database_converter_interface {
- public function load_array(array $target) : self {
- $this->check_all_exists($target, ['message', 'type', 'finalized']);
-
- $type_converter = new campaign_type_converter();
- $type = (
- $type_converter
- ->load_string($target['type'])
- ->get_enum()
- );
- $id = intval($target['message']);
- $message = new message($id);
- $finalized = $this->date_or_null($target['finalized']);
- $this->target = new campaign($this->id_or_null($target));
- $this->target->type = $type;
- $this->target->message = $message;
- $this->target->finalized = $finalized;
- $this->target->test = $target['test'];
- if ($target['grouped'] !== null) {
- $this->target->group = new group(intval($target['grouped']));
- }
- return $this;
- }
- public function get_array() : array {
- $this->check_target();
- $type_converter = new campaign_type_converter();
-
- $type = (
- $type_converter
- ->load_enum($this->target->type)
- ->get_string()
- );
- $finalized = $this->string_from_date($this->target->finalized);
- $target = [];
- $target['message'] = $this->target->message->get_id();
- $target['type'] = $type;
- $target['finalized'] = $finalized;
- $target['test'] = $this->target->test;
- $target['grouped'] = null;
- if ($this->target->group !== null and $this->target->group->has_id()) {
- $target['grouped'] = $this->target->group->get_id();
- }
- return $target;
- }
- }
|