protected function _prepareQuery(Mzax_Emarketing_Db_Select $query) { $condition = $this->getDataSetDefault('condition', self::DEFAULT_CONDITION); $status = $this->getDataSetDefault('status', self::DEFAULT_STATUS); if (!$query->hasBinding('subscriber_status')) { if ($query->hasBinding('subscriber_id')) { $query->joinTableLeft('subscriber_id', 'newsletter/subscriber', 'subscriber'); } else { if ($query->hasBinding('customer_id')) { $query->joinTableLeft('customer_id', 'newsletter/subscriber', 'subscriber'); } } $query->addBinding('subscriber_status', 'subscriber.subscriber_status'); } $condition = $condition === 'is' ? '=' : '!='; $query->where("{subscriber_status} {$condition} ?", $status); }