+ //$this->selectAdd($d->_query['data_select']); -- this will cause the same dataIndex...
+ $this->_join .= "
+ LEFT JOIN {$d->tableName()} ON {$this->tableName()}.onid = {$d->tableName()}.id
+ {$d->_join}
+ ";
+ $this->selectAs($d, 'core_notify_%s');
+ }
+ if (!empty($q['query']['person_id_name']) ) {
+ $this->whereAdd( "join_person_id_id.name LIKE '{$this->escape($q['query']['person_id_name'])}%'");
+
+ }
+ 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']}'
+ ");