2 namespace Utility\Entity;
4 use Doctrine\ORM\Mapping as ORM;
11 * @ORM\HasLifecycleCallbacks
12 * @ORM\Table(name="lib_notification_log")
18 * Can archive records.
22 * Pull Synchronization Strategy for this table.
24 const PULL_SYNCH_STRATEGY = false;
26 * Push Synchronization Strategy for this table.
28 const PUSH_SYNCH_STRATEGY = false;
32 * @ORM\Column(type="integer");
33 * @ORM\GeneratedValue(strategy="AUTO")
38 * @ORM\Column(type="string", nullable=true, length=250, name="email_to")
43 * @ORM\Column(type="string", nullable=true, length=250, name="email_subject")
45 protected $emailSubject;
48 * @ORM\Column(type="text", name="email_body")
53 * @ORM\Column(type="string", nullable=true, length=20, name="sms_to")
58 * @ORM\Column(type="text", name="sms_body")
63 * @ORM\Column(type="string", nullable=true, length=32, name="api_msg_id")
68 * @ORM\Column(type="integer", nullable=true, name="sms_status")
73 * @ORM\ManyToOne(targetEntity="\Company\Entity\Company")
74 * @ORM\JoinColumn(nullable=true, name="from_company_id")
76 protected $fromCompany;
79 * @ORM\ManyToOne(targetEntity="\User\Entity\Profile")
80 * @ORM\JoinColumn(nullable=true, name="from_profile_id")
82 protected $fromProfile;
85 * @ORM\ManyToOne(targetEntity="\Company\Entity\Company")
86 * @ORM\JoinColumn(nullable=true, name="to_company_id")
91 * @ORM\ManyToOne(targetEntity="\User\Entity\Profile")
92 * @ORM\JoinColumn(nullable=true, name="to_profile_id")
97 * @ORM\Column(type="datetime");
102 * @ORM\Column(type="datetime", nullable=true);
107 * @ORM\Column(type="boolean");
109 protected $archived = false;
113 * Magic getter to expose protected properties.
114 * @param string $property
117 public function __get($property)
119 return $this->$property;
123 * Magic setter to save protected properties.
124 * @param string $property
125 * @param mixed $value
127 public function __set($property, $value)
129 $this->$property = $value;
135 public function setCreateTime()
137 $this->created = new \DateTime("now");
143 public function setUpdateTime()
145 $this->updated = new \DateTime("now");
149 * Convert the object to an array.
150 * @param array $expand
151 * @param array $intersect
154 public function toArray(array $expand = array('attachment'), array $intersect = array())
156 $dateTimeFormat = \Utility\Registry::getConfigParam('DateTimeFormat');
157 $includeAll = empty($intersect);
159 ($includeAll || isset($intersect['id']))
160 && $data['id'] = $this->id;
161 ($includeAll || isset($intersect['emailTo']))
162 && $data['emailTo'] = $this->emailTo;
163 ($includeAll || isset($intersect['emailSubject']))
164 && $data['emailSubject'] = $this->emailSubject;
165 ($includeAll || isset($intersect['emailBody']))
166 && $data['emailBody'] = $this->emailBody;
167 ($includeAll || isset($intersect['smsTo']))
168 && $data['smsTo'] = $this->smsTo;
169 ($includeAll || isset($intersect['smsBody']))
170 && $data['smsBody'] = $this->smsBody;
171 ($includeAll || isset($intersect['apiMsgId']))
172 && $data['apiMsgId'] = $this->apiMsgId;
173 ($includeAll || isset($intersect['smsStatus']))
174 && $data['smsStatus'] = $this->smsStatus;
175 ($includeAll || isset($intersect['fromCompany']))
176 && $data['fromCompany'] = in_array('fromCompany', $expand)
177 && !is_null($this->fromCompany)
178 ? $this->fromCompany->toArray($expand, $intersect)
180 ($includeAll || isset($intersect['fromProfile']))
181 && $data['fromProfile'] = in_array('fromProfile', $expand)
182 && !is_null($this->fromProfile)
183 ? $this->fromProfile->toArray($expand, $intersect)
185 ($includeAll || isset($intersect['toCompany']))
186 && $data['toCompany'] = in_array('toCompany', $expand)
187 && !is_null($this->toCompany)
188 ? $this->toCompany->toArray($expand, $intersect)
190 ($includeAll || isset($intersect['toProfile']))
191 && $data['toProfile'] = in_array('toProfile', $expand)
192 && !is_null($this->toProfile)
193 ? $this->toProfile->toArray($expand, $intersect)
195 ($includeAll || isset($intersect['created']))
196 && $data['created'] = !is_null($this->created)
197 ? $this->created->format($dateTimeFormat)
199 ($includeAll || isset($intersect['updated']))
200 && $data['updated'] = !is_null($this->updated)
201 ? $this->updated->format($dateTimeFormat)
207 * Populate from an array.
210 public function fromArray($data = array())
213 && $this->id = $data['id'];
214 isset($data['emailTo'])
215 && $this->emailTo = $data['emailTo'];
216 isset($data['emailSubject'])
217 && $this->emailSubject = $data['emailSubject'];
218 isset($data['emailBody'])
219 && $this->emailBody = $data['emailBody'];
220 isset($data['smsTo'])
221 && $this->smsTo = $data['smsTo'];
222 isset($data['smsBody'])
223 && $this->smsBody = $data['smsBody'];
224 isset($data['apiMsgId'])
225 && $this->apiMsgId = $data['apiMsgId'];
226 isset($data['smsStatus'])
227 && $this->smsStatus = $data['smsStatus'];
228 isset($data['fromCompany'])
229 && $this->fromCompany = $data['fromCompany'];
230 isset($data['fromProfile'])
231 && $this->fromProfile = $data['fromProfile'];
232 isset($data['toCompany'])
233 && $this->toCompany = $data['toCompany'];
234 isset($data['toProfile'])
235 && $this->toProfile = $data['toProfile'];