Zenc_EmailLogger_Model_Log::addHeader()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 6
rs 9.4285
cc 1
eloc 4
nc 1
nop 2
1
<?php
2
3
/**
4
 * @method Mage_Core_Model_Resource_Design _getResource()
5
 * @method Mage_Core_Model_Resource_Design getResource()
6
 * @method int getEmailId()
7
 * @method Zenc_EmailLogger_Model_Log setEmailId(int $value)
8
 * @method string getFromEmail()
9
 * @method Zenc_EmailLogger_Model_Log setFromEmail(string $value)
10
 * @method string getFromName()
11
 * @method Zenc_EmailLogger_Model_Log setFromName(string $value)
12
 * @method string getToEmail()
13
 * @method Zenc_EmailLogger_Model_Log setToEmail(string $value)
14
 * @method string getToName()
15
 * @method Zenc_EmailLogger_Model_Log setToName(string $value)
16
 * @method string getReplyToEmail()
17
 * @method Zenc_EmailLogger_Model_Log setReplyToEmail(string $value)
18
 * @method string getReplyToName()
19
 * @method Zenc_EmailLogger_Model_Log setReplyToName(string $value)
20
 * @method Zenc_EmailLogger_Model_Log setRecipients(array $value)
21
 * @method string getReturnPath()
22
 * @method Zenc_EmailLogger_Model_Log setReturnPath(string $value)
23
 * @method string getSubject()
24
 * @method Zenc_EmailLogger_Model_Log setSubject(string $value)
25
 * @method string getBodyText()
26
 * @method Zenc_EmailLogger_Model_Log setBodyText(string $value)
27
 * @method string getBodyHtml()
28
 * @method Zenc_EmailLogger_Model_Log setBodyHtml(string $value)
29
 * @method string getRaw()
30
 * @method Zenc_EmailLogger_Model_Log setRaw(string $value)
31
 * @method Zenc_EmailLogger_Model_Log setHeaders(array $value)
32
 * @method int getCustomerId()
33
 * @method Zenc_EmailLogger_Model_Log setCustomerId(int $value)
34
 * @method int getQuoteId()
35
 * @method Zenc_EmailLogger_Model_Log setQuoteId(int $value)
36
 * @method int getOrderId()
37
 * @method Zenc_EmailLogger_Model_Log setOrderId(int $value)
38
 * @method string getCreatedAt()
39
 * @method Zenc_EmailLogger_Model_Log setCreatedAt(string $value)
40
 */
41
class Zenc_EmailLogger_Model_Log extends Mage_Core_Model_Abstract
42
{
43
    protected function _construct()
44
    {
45
        $this->_init('zenc_emaillogger/log');
46
    }
47
48
    public function hasToEmail()
49
    {
50
        $toEmail = $this->getToEmail();
51
        return !empty($toEmail);
52
    }
53
54
    /**
55
     * @return array
56
     */
57
    public function getRecipients()
58
    {
59
        $recipients = $this->getData('recipients');
60
        if (!is_array($recipients)) {
61
            $this->setRecipients(array());
62
            return array();
63
        }
64
65
        return $recipients;
66
    }
67
68
    /**
69
     * @param string $type
70
     * @param string $email
71
     * @param string $name defaults to empty string
72
     *
73
     * @return Zenc_EmailLogger_Model_Log
74
     */
75
    public function addRecipient($type, $email, $name = '')
76
    {
77
        $recipients = $this->getRecipients();
78
        array_push($recipients, array('type' => $type, 'email' => $email, 'name' => $name));
79
        return $this->setRecipients($recipients);
80
    }
81
82
    /**
83
     * @return array
84
     */
85
    public function getHeaders()
86
    {
87
        $headers = $this->getData('headers');
88
        if (!is_array($headers)) {
89
            $this->setHeaders(array());
90
            return array();
91
        }
92
93
        return $headers;
94
    }
95
96
    /**
97
     * @param string $name
98
     * @param string $value
99
     *
100
     * @return Zenc_EmailLogger_Model_Log
101
     */
102
    public function addHeader($name, $value)
103
    {
104
        $headers = $this->getHeaders();
105
        array_push($headers, array('name' => $name, 'value' => $value));
106
        return $this->setHeaders($headers);
107
    }
108
109
    protected function _beforeSave()
110
    {
111
        if ($this->isObjectNew()) {
112
            $this->setData('created_at', date('Y-m-d H:i:s'));
113
        }
114
    }
115
}
116