'int' ]; } public function inside_inputs() : array { return $this->init_inputs(); } public function get_site_template_name() : string { return 'send_message'; } public function process() : self { if (!$this->is_validated('id')) { $this->error_toast('Message ID is not valid.'); } try { $mapper = new messages_mapper( $this->get_database(), $this->get_tables() ); $message = new message($this->get_validated('id')); $message = $mapper->complete($message); $builder = new campaign_builder(); $builder->set_test(); if ($this->is_received('send_via_sms')) { $builder->set_test(false); } if ($this->is_received('send_via_email')) { $builder->set_test(false); } $builder->set_type(campaign_type::email); if ($this->is_received('send_via_sms')) { $builder->set_type(campaign_type::sms); } if ($this->is_received('test_via_sms')) { $builder->set_type(campaign_type::sms); } $builder->set_message($message); if ($this->get_received('group') !== 'NULL') { $group = new group(intval($this->get_received('group'))); $builder->set_group($group); } if (!$builder->is_complete()) { throw new \exception('Builder is yet not complete.'); } $campaign = $builder->get(); $repository = new campaigns_repository( $this->get_database(), $this->get_tables() ); $repository->create($campaign); $this->success_toast('Start sending it...'); } catch (\exception $exception) { $this->error_toast($exception->getMessage()); } return $this; } }