Blame view

src/lib/MyMailer/Delivery.php 2.55 KB
ef60cd4d   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  <?php
  namespace MyMailer;
  
  class Delivery extends Mailer{
  
      public  function  getCampaignAggregateStats( $campaign_id)
      {
          $result = $this->mailer->getCampaignAggregateStats($campaign_id);
          $model = array();
          $model['total']           = $result->result->total;
          $model['ok_unsubscribed'] = isset($result->result->data->ok_unsubscribed) ? $result->result->data->ok_unsubscribed : null;
          $model['ok_delivered']    = isset($result->result->data->ok_delivered) ? $result->result->data->ok_delivered : null;
          $model['ok_read']         = isset($result->result->data->ok_read) ? $result->result->data->ok_read : null;
          $model['ok_fbl']          = isset($result->result->data->ok_fbl) ? $result->result->data->ok_fbl : null;
          $model['ok_link_visited'] = isset($result->result->data->ok_link_visited) ? $result->result->data->ok_link_visited : null;
  
          $model['delivered']       = $model['ok_delivered']+$model['ok_read']+$model['ok_unsubscribed']+$model['ok_fbl']+$model['ok_link_visited'];
          return $model;
  
      }
  
      //Send for all users in list
      public function SendDeliveryForAll($model, $template, $data){
          p();
          $this->setMailMessage($template['text']);
          $this->setTitle($template['title']);
          $campaign_id = $this->mailer->createCampaignDelivery(null, $this->from_email, $this->from_name, $this->title, $this->mailMessage);
          $save = array(
              'campaign_id' => $campaign_id,
              'status'      => '0',
              'name'        => $data['name'],
              'campaign'    => $data['utm_campaign'],
              'event_id'    => $data['id'],
              'project_id'  => $data['project_id']
  
          );
          $model->save($save);
      }
  
      //send for selected users from list
      public function SendDelivery($model,$template, $data, $users =array() )
      {
          if(!$users) {
              $users = $this->getUsers($data['users_id']);
          }
  
  
          $this->setToMail($users, true);
          $this->setMailMessage($template['text']);
          $this->setTitle($template['title']);
          $campaign_id = $this->mailer->createCampaignDelivery($this->to_email,  $this->from_email, $this->from_name, $this->title, $this->mailMessage);
  
  
          $delivery = array(
              'campaign_id' => $campaign_id,
              'campaign'    => $data['utm_campaign'],
              'name'        => $data['name'],
              'event_id'    => $data['id'],
              'status'      => '0',
              'project_id'  => $data['project_id']
          );
          $model->save($delivery);
      }
  
  }