+ if (!empty($q['query']['status'])) {
+ switch ($q['query']['status']) {
+
+ case 'SUCCESS';
+ $this->whereAdd("msgid != ''");
+ break;
+ case 'FAILED';
+
+ $this->whereAdd("msgid = '' AND event_id > 0 AND act_when < NOW()");
+
+ break;
+ case 'PENDING';
+ $this->whereAdd('event_id = 0 OR (event_id > 0 AND act_when > NOW() )');
+ $this->whereAdd("sent < '2000-01-01'");
+ break;
+
+ case 'OPENED';
+ $this->whereAdd('is_open > 0');
+ break;
+
+ case 'ALL':
+ default:
+ break;
+ }
+ }
+
+ if(!empty($q['_evtype_align'])){
+ $this->selectAdd("
+ (SELECT
+ display_name
+ FROM
+ core_enum
+ WHERE
+ etype = 'Core.NotifyType'
+ AND
+ name = core_notify.evtype
+ AND
+ active = 1
+ ) AS evtype_align
+ ");
+ }
+
+ if(!empty($q['from'])){
+ $this->whereAdd("
+ act_when >= '{$q['from']}'
+ ");
+ }
+
+ if(!empty($q['to'])){
+ $this->whereAdd("
+ act_when <= '{$q['to']}'
+ ");
+ }