Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 185
0.00% covered (danger)
0.00%
0 / 51
CRAP
0.00% covered (danger)
0.00%
0 / 1
LoyaltyOutgoing
0.00% covered (danger)
0.00%
0 / 185
0.00% covered (danger)
0.00%
0 / 51
4970
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
20
 findByMessageID
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
6
 checkDoNotTextList
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
12
 create
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
30
 read
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
20
 assignFromDatabaseRow
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
6
 update
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
20
 updateDelivered
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
12
 logVariables
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 1
2
 getTriggerID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTriggerID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDateAdded
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDateAdded
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDateSent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDateSent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCouponID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCouponID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCouponUUID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCouponUUID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getViewed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setViewed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCouponUsed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCouponUsed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getStoreFrom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setStoreFrom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getStoreGroupFrom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setStoreGroupFrom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMessage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMessage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getLoyaltyCustomerID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setLoyaltyCustomerID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMessageType
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMessageType
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCustPhone
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCustPhone
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCustEmail
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCustEmail
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTimeFrame
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTimeFrame
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTimeRandom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setTimeRandom
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSendError
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSendError
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMessagesSent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMessagesSent
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMessageID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMessageID
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDelivered
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDelivered
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSendErrorMessage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setSendErrorMessage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace BuyerKiosk\Core\Loyalty;
4
5class LoyaltyOutgoing {
6
7    public $id;
8    public $db;
9    public $triggerID;
10    public $massSMSID;
11    public $dateAdded;
12    public $dateSent;
13    public $couponID;
14    public $couponUUID;
15    public $viewed;
16    public $couponUsed;
17    public $storeFrom;
18    public $storeGroupFrom;
19    public $message;
20    public $loyaltyCustomerID;
21    public $messageType;
22    public $custPhone;
23    public $custEmail;
24    public $timeFrame;
25    public $timeRandom;
26    public $sendError;
27    public $sendErrorMessage;
28    public $messagesSent;
29    public $messageID;
30    public $delivered;
31    private $log;
32
33    public function __construct(\PDO $db = null, $id = null, \KLogger $log = null) {
34        if($log == null) {
35            $this->log = new \KLogger($_ENV['LOG_DIR']."massSMSRobot.log", \KLogger::DEBUG);
36        } else {
37            $this->log = $log;
38        }
39        if($db == null) {
40            global $db_name;
41            //error_log("DB: ".$db_name);
42            $db = dbConnectByName($db_name);
43            $this->db = $db;
44        } else {
45            $this->db = $db;
46        }
47        if($id !== null) {
48            return $this->read($id);
49        }
50        return true;
51    }
52    public function findByMessageID($messageID) {
53        $stmt = $this->db->prepare("SELECT * FROM loyaltyOutgoing WHERE messageID = :messageID LIMIT 1");
54        $stmt->bindValue(":messageID", $messageID);
55        $stmt->execute();
56        $row = $stmt->fetch(\PDO::FETCH_ASSOC);
57        if($this->assignFromDatabaseRow($row)) {
58            return true;
59        }
60        return false;
61    }
62    public function checkDoNotTextList() {
63        $stmt = $this->db->prepare("SELECT * FROM loyaltyDoNotTextList WHERE phone = :phone");
64        $stmt->bindValue(":phone", $this->custPhone);
65        if($stmt->execute()) {
66            $row = $stmt->fetch(\PDO::FETCH_ASSOC);
67            if($row) {
68                return true;
69            } else {
70                return false;
71            }
72        }
73        //If we errored out for some reason lets assume on the safe side that this number is on the do not text list.
74        return true;
75    }
76    public function create() {
77        //Just a quick test to make sure at least one of our ID fields are not NULL
78        if(isset($this->triggerID) || isset($this->massSMSID)) {
79            try {
80                $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
81                $stmt = $this->db->prepare("INSERT INTO loyaltyOutgoing (triggerID, massSMSID, dateAdded, dateSent, couponID, couponUUID, viewed, couponUsed, storeFrom, storeGroupFrom, message, loyaltyCustomerID, messageType, custPhone, custEmail, timeFrame, timeRandom, sendError, messagesSent, messageID, delivered)
82VALUES (:triggerID, :massSMSID, CURRENT_TIMESTAMP, NULL, :couponID, :couponUUID, 0, 0, :storeFrom, :storeGroupFrom, :message,
83                    :loyaltyCustomerID, :messageType, :custPhone, :custEmail, :timeFrame,:timeRandom, 0, 0, NULL, 0)");
84                $stmt->bindValue(":triggerID",$this->triggerID);
85                $stmt->bindValue(":massSMSID",$this->massSMSID);
86                $stmt->bindValue(":couponID",$this->couponID);
87                $stmt->bindValue(":couponUUID",$this->couponUUID);
88                $stmt->bindValue(":storeFrom",$this->storeFrom);
89                $stmt->bindValue(":storeGroupFrom",$this->storeGroupFrom);
90                $stmt->bindValue(":message",$this->message);
91                $stmt->bindValue(":loyaltyCustomerID",$this->loyaltyCustomerID);
92                $stmt->bindValue(":messageType",$this->messageType);
93                $stmt->bindValue(":custPhone",$this->custPhone);
94                $stmt->bindValue(":custEmail",$this->custEmail);
95                $stmt->bindValue(":timeFrame",$this->timeFrame);
96                $stmt->bindValue(":timeRandom",$this->timeRandom);
97                if($stmt->execute()) {
98                    //$this->log->LogError(print_r($this->db->errorInfo()));
99                    $this->id = $this->db->lastInsertId();
100                    $this->read($this->id);
101                    return true;
102                } else {
103                    $this->log->LogDebug("Did not Insert");
104                }
105            } catch (\PDOException $e) {
106                $this->log->LogError("Failed PDOException");
107                $this->log->LogDebug($e->getMessage());
108            }
109        }
110        return false;
111    }
112    public function read($id) {
113        if(isset($id)) {
114            if($stmt = $this->db->query("SELECT * FROM loyaltyOutgoing WHERE id = ".$id)) {
115                $row = $stmt->fetch(\PDO::FETCH_ASSOC);
116                if($this->assignFromDatabaseRow($row)) {
117                    return true;
118                }
119            } else {
120                error_log(print_r($this->db->errorInfo()));
121            }
122        } else {
123            error_log("FAIULKasdfsdfsafsdfADGFM");
124        }
125        return false;
126    }
127    public function assignFromDatabaseRow($row) {
128        if(isset($row['id'])) {
129            $this->id = $row['id'];
130            $this->triggerID = $row['triggerID'];
131            $this->massSMSID= $row['massSMSID'];
132            $this->dateAdded = $row['dateAdded'];
133            $this->dateSent = $row['dateSent'];
134            $this->couponID = $row['couponID'];
135            $this->couponUUID = $row['couponUUID'];
136            $this->viewed = $row['viewed'];
137            $this->couponUsed = $row['couponUsed'];
138            $this->storeFrom = $row['storeFrom'];
139            $this->storeGroupFrom = $row['storeGroupFrom'];
140            $this->message = $row['message'];
141            $this->loyaltyCustomerID = $row['loyaltyCustomerID'];
142            $this->messageType = $row['messageType'];
143            $this->custPhone = $row['custPhone'];
144            $this->custEmail = $row['custEmail'];
145            $this->timeFrame = $row['timeFrame'];
146            $this->timeRandom = $row['timeRandom'];
147            $this->sendError = $row['sendError'];
148            $this->sendErrorMessage = $row['sendErrorMessage'];
149            $this->messagesSent = $row['messagesSent'];
150            $this->messageID = $row['messageID'];
151            $this->delivered = $row['delivered'];
152            return true;
153        } else {
154            //error_log("FAIULKADGFM");
155        }
156        return false;
157    }
158
159    public function update() {
160        if(isset($this->id)) {
161            try {
162                $stmt = $this->db->prepare("UPDATE loyaltyOutgoing
163SET triggerID       = :triggerID, massSMSID = :massSMSID, dateSent = :dateSent, couponID = :couponID, couponUUID = :couponUUID,
164  viewed            = :viewed, couponUsed = :couponUsed, storeFrom = :storeFrom, storeGroupFrom = :storeGroupFrom,
165  message           = :message, loyaltyCustomerID = :loyaltyCustomerID, messageType = :messageType, custPhone = :custPhone, custEmail = :custEmail, timeFrame = :timeFrame, timeRandom = :timeRandom, sendError = :sendError, sendErrorMessage = :sendErrorMessage, messagesSent = :messagesSent, messageID = :messageID, delivered = :delivered
166WHERE id = :id");
167                $stmt->bindValue(":id", $this->id);
168                $stmt->bindValue(":triggerID", $this->triggerID);
169                $stmt->bindValue(":massSMSID", $this->massSMSID);
170                $stmt->bindValue(":dateSent", $this->dateSent);
171                $stmt->bindValue(":couponID", $this->couponID);
172                $stmt->bindValue(":couponUUID", $this->couponUUID);
173                $stmt->bindValue(":viewed", $this->viewed);
174                $stmt->bindValue(":couponUsed", $this->couponUsed);
175                $stmt->bindValue(":storeFrom", $this->storeFrom);
176                $stmt->bindValue(":storeGroupFrom", $this->storeGroupFrom);
177                $stmt->bindValue(":message", $this->message);
178                $stmt->bindValue(":loyaltyCustomerID", $this->loyaltyCustomerID);
179                $stmt->bindValue(":messageType", $this->messageType);
180                $stmt->bindValue(":custPhone",$this->custPhone);
181                $stmt->bindValue(":custEmail",$this->custEmail);
182                $stmt->bindValue(":timeFrame",$this->timeFrame);
183                $stmt->bindValue(":timeRandom",$this->timeRandom);
184                $stmt->bindValue(":sendError", $this->sendError);
185                $stmt->bindValue(":sendErrorMessage", $this->sendErrorMessage);
186                $stmt->bindValue(":messagesSent", $this->messagesSent);
187                $stmt->bindValue(":messageID", $this->messageID);
188                $stmt->bindValue(":delivered", $this->delivered);
189                if($stmt->execute()) {
190                    return true;
191                }
192            } catch (\PDOException $e) {
193
194            }
195        }
196        return false;
197    }
198
199    public function updateDelivered($messageID) {
200        try{
201            $stmt = $this->db->prepare("UPDATE loyaltyOutgoing SET delivered = 1, sendError = 0 WHERE messageID = :messageID");
202            $stmt->bindValue(":messageID", $messageID);
203            $stmt->execute();
204            if($stmt->rowCount() > 0) {
205                return true;
206            }
207        } catch(\PDOException $e) {
208
209        }
210        return false;
211    }
212    public function logVariables() {
213        $this->log->LogDebug("triggerID: ". $this->triggerID);
214        $this->log->LogDebug("massSMSID: ". $this->massSMSID);
215        $this->log->LogDebug("dateSent: ". $this->dateSent);
216        $this->log->LogDebug("couponID: ". $this->couponID);
217        $this->log->LogDebug("couponUUID: ". $this->couponUUID);
218        $this->log->LogDebug("viewed: ". $this->viewed);
219        $this->log->LogDebug("couponUsed: ". $this->couponUsed);
220        $this->log->LogDebug("storeFrom: ". $this->storeFrom);
221        $this->log->LogDebug("storeGroupFrom: ". $this->storeGroupFrom);
222        $this->log->LogDebug("message: ". $this->message);
223        $this->log->LogDebug("loyaltyCustomerID: ". $this->loyaltyCustomerID);
224        $this->log->LogDebug("messageType: ". $this->messageType);
225        $this->log->LogDebug("custPhone: ". $this->custPhone);
226        $this->log->LogDebug("custEmail: ". $this->custEmail);
227        $this->log->LogDebug("timeFrame: ". $this->timeFrame);
228        $this->log->LogDebug("timeRandom: ". $this->timeRandom);
229        $this->log->LogDebug("sendError: ". $this->sendError);
230        $this->log->LogDebug("sendErrorMessage: ". $this->sendErrorMessage);
231        $this->log->LogDebug("messagesSent: ". $this->messagesSent);
232        $this->log->LogDebug("messageID: ". $this->messageID);
233        $this->log->LogDebug("delivered: ". $this->delivered);
234    }
235    public function getTriggerID()
236    {
237        return $this->triggerID;
238    }
239
240    public function setTriggerID($triggerID)
241    {
242        $this->triggerID = $triggerID;
243    }
244
245    public function getDateAdded()
246    {
247        return $this->dateAdded;
248    }
249
250    public function setDateAdded($dateAdded)
251    {
252        $this->dateAdded = $dateAdded;
253    }
254
255    public function getDateSent()
256    {
257        return $this->dateSent;
258    }
259
260    public function setDateSent($dateSent)
261    {
262        $this->dateSent = $dateSent;
263    }
264
265    public function getCouponID()
266    {
267        return $this->couponID;
268    }
269
270    public function setCouponID($couponID)
271    {
272        $this->couponID = $couponID;
273    }
274
275    public function getCouponUUID()
276    {
277        return $this->couponUUID;
278    }
279
280    public function setCouponUUID($couponUUID)
281    {
282        $this->couponUUID = $couponUUID;
283    }
284
285    public function getViewed()
286    {
287        return $this->viewed;
288    }
289
290    public function setViewed($viewed)
291    {
292        $this->viewed = $viewed;
293    }
294
295    public function getCouponUsed()
296    {
297        return $this->couponUsed;
298    }
299
300    public function setCouponUsed($couponUsed)
301    {
302        $this->couponUsed = $couponUsed;
303    }
304
305    public function getStoreFrom()
306    {
307        return $this->storeFrom;
308    }
309
310    public function setStoreFrom($storeFrom)
311    {
312        $this->storeFrom = $storeFrom;
313    }
314
315    public function getStoreGroupFrom()
316    {
317        return $this->storeGroupFrom;
318    }
319
320    public function setStoreGroupFrom($storeGroupFrom)
321    {
322        $this->storeGroupFrom = $storeGroupFrom;
323    }
324
325    public function getMessage()
326    {
327        return $this->message;
328    }
329
330    public function setMessage($message)
331    {
332        $this->message = $message;
333    }
334
335    public function getLoyaltyCustomerID()
336    {
337        return $this->loyaltyCustomerID;
338    }
339
340    public function setLoyaltyCustomerID($loyaltyCustomerID)
341    {
342        $this->loyaltyCustomerID = $loyaltyCustomerID;
343    }
344
345    public function getMessageType()
346    {
347        return $this->messageType;
348    }
349
350    public function setMessageType($messageType)
351    {
352        $this->messageType = $messageType;
353    }
354
355    /**
356     * @return mixed
357     */
358    public function getCustPhone()
359    {
360        return $this->custPhone;
361    }
362
363    /**
364     * @param mixed $custPhone
365     */
366    public function setCustPhone($custPhone)
367    {
368        $this->custPhone = $custPhone;
369    }
370
371    /**
372     * @return mixed
373     */
374    public function getCustEmail()
375    {
376        return $this->custEmail;
377    }
378
379    /**
380     * @param mixed $custEmail
381     */
382    public function setCustEmail($custEmail)
383    {
384        $this->custEmail = $custEmail;
385    }
386
387    /**
388     * @return mixed
389     */
390    public function getTimeFrame()
391    {
392        return $this->timeFrame;
393    }
394
395    /**
396     * @param mixed $timeFrame
397     */
398    public function setTimeFrame($timeFrame)
399    {
400        $this->timeFrame = $timeFrame;
401    }
402
403    /**
404     * @return mixed
405     */
406    public function getTimeRandom()
407    {
408        return $this->timeRandom;
409    }
410
411    /**
412     * @param mixed $timeRandom
413     */
414    public function setTimeRandom($timeRandom)
415    {
416        $this->timeRandom = $timeRandom;
417    }
418
419    /**
420     * @return mixed
421     */
422    public function getSendError()
423    {
424        return $this->sendError;
425    }
426
427    /**
428     * @param mixed $sendError
429     */
430    public function setSendError($sendError)
431    {
432        $this->sendError = $sendError;
433    }
434
435    /**
436     * @return mixed
437     */
438    public function getMessagesSent()
439    {
440        return $this->messagesSent;
441    }
442
443    /**
444     * @param mixed $messagesSent
445     */
446    public function setMessagesSent($messagesSent)
447    {
448        $this->messagesSent = $messagesSent;
449    }
450
451    /**
452     * @return mixed
453     */
454    public function getMessageID()
455    {
456        return $this->messageID;
457    }
458
459    /**
460     * @param mixed $messageID
461     */
462    public function setMessageID($messageID)
463    {
464        $this->messageID = $messageID;
465    }
466
467    /**
468     * @return mixed
469     */
470    public function getDelivered()
471    {
472        return $this->delivered;
473    }
474
475    /**
476     * @param mixed $delivered
477     */
478    public function setDelivered($delivered)
479    {
480        $this->delivered = $delivered;
481    }
482
483    /**
484     * @return mixed
485     */
486    public function getSendErrorMessage()
487    {
488        return $this->sendErrorMessage;
489    }
490
491    /**
492     * @param mixed $sendErrorMessage
493     */
494    public function setSendErrorMessage($sendErrorMessage)
495    {
496        $this->sendErrorMessage = $sendErrorMessage;
497    }
498
499
500
501
502}