22namespace Craft \Plugins \Postmaster \Services ;
33
44use Craft \Postmaster_TransportModel ;
5+ use Craft \Postmaster_TransportResponseModel ;
56use Craft \Postmaster_MailchimpCampaignModel ;
67use Craft \Postmaster_MailchimpSubscriberModel ;
78use Craft \Plugins \Postmaster \Components \BaseService ;
8- use Craft \Plugins \Postmaster \Responses \TransportResponse ;
99use Guzzle \Http \Client ;
1010
1111class MailchimpService extends BaseService {
@@ -95,7 +95,9 @@ public function createAndSendCampaign(Array $data = array())
9595
9696 public function send (Postmaster_TransportModel $ model )
9797 {
98- $ response = new TransportResponse ($ model , true );
98+ $ response = new Postmaster_TransportResponseModel (array (
99+ 'model ' => $ model
100+ ));
99101
100102 foreach ($ this ->settings ->listIds as $ listId )
101103 {
@@ -108,7 +110,7 @@ public function send(Postmaster_TransportModel $model)
108110 $ this ->createAndSendCampaign (array (
109111 'apiKey ' => $ this ->settings ->apiKey ,
110112 'type ' => $ this ->settings ->campaignType ,
111- 'listId ' => $ listId ,
113+ 'listId ' => $ this -> settings -> listIds ,
112114 'subject ' => $ model ->settings ->subject ,
113115 'fromEmail ' => $ model ->settings ->fromEmail ,
114116 'fromName ' => $ model ->settings ->fromName ,
@@ -124,11 +126,19 @@ public function send(Postmaster_TransportModel $model)
124126 }
125127 catch (\Exception $ e )
126128 {
127- $ errorResponse = json_decode ($ e ->getResponse ()->getBody ());
128-
129129 $ response ->setSuccess (false );
130- $ response ->setCode ($ errorResponse ->code );
131- $ response ->addError ($ errorResponse ->error );
130+
131+ try
132+ {
133+ $ errorResponse = json_decode ($ e ->getResponse ()->getBody ());
134+
135+ $ response ->setCode ($ errorResponse ->code );
136+ $ response ->addError ($ errorResponse ->error );
137+ }
138+ catch (\Exception $ e )
139+ {
140+ $ response ->addError ($ e ->getMessage ());
141+ }
132142 }
133143 }
134144 else if ($ this ->settings ->action == 'subscribe ' )
@@ -151,10 +161,19 @@ public function send(Postmaster_TransportModel $model)
151161 }
152162 catch (\Exception $ e )
153163 {
154- $ errorResponse = json_decode ( $ e -> getResponse ()-> getBody () );
164+ $ response -> setSuccess ( false );
155165
156- $ response ->setCode ($ errorResponse ->code );
157- $ response ->addError ($ errorResponse ->error );
166+ try
167+ {
168+ $ errorResponse = json_decode ($ e ->getResponse ()->getBody ());
169+
170+ $ response ->setCode ($ errorResponse ->code );
171+ $ response ->addError ($ errorResponse ->error );
172+ }
173+ catch (\Exception $ e )
174+ {
175+ $ response ->addError ($ e ->getMessage ());
176+ }
158177 }
159178 }
160179 }
0 commit comments