Delivery.php 2.55 KB
<?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);
    }

}