| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- <?php
 
- namespace cx_newsletter;
 
- class send_message_activity
 
- extends activity {
 
- public function show_after_button() : string {
 
-         return 'send_via_email';
 
-     }
 
-     public function inside_buttons() : array {
 
-         return [ 'send_via_sms', 'test_via_email', 'test_via_sms' ];
 
-     }
 
-     public function init_inputs() : array {
 
-         return [
 
-             'id' => '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;
 
-     }
 
- }
 
 
  |