public function parse_filter($filter = array(), &$join = '', &$join_select = '') { $where_filter = parent::parse_filter($filter, $join, $join_select); if (isset($filter['find_decline_prices'])) { $join_select = ", g2p.price "; $join = " LEFT JOIN {$this->_gifts2partners} AS g2p ON {$this->table}.gift_id = g2p.gift_id "; // Раз мы теперь храним цену при подписке, почему мы ее не используем? - опять недодумал вроде мелочь, а важную. $where_filter .= " AND g2p.status = '1' AND g2p.available = '1' AND {$this->table}.old_price > g2p.price"; } return $where_filter; }
public function subscribeAction() { if (isset($_POST['gift_id']) && isset($_POST['email'])) { $_POST['gift_id'] = (int) $_POST['gift_id']; $_POST['email'] = Zend_registry::get('target')->db->escape($_POST['email']); $_POST['user_name'] = !empty($_POST['user_name']) ? Zend_registry::get('target')->db->escape($_POST['user_name']) : ''; $gift = new gift($_POST['gift_id']); if ($gift->get('id') && !empty($_POST["email"])) { $waiting_gifts = new p_waiting_gifts(); //Отправляем письмо юзеру $et = new email_template('subscribe_user'); $et->assign('USER_NAME', !empty($_POST["user_name"]) ? ", {$_POST["user_name"]}" : '')->assign('GIFT_NAME', $gift->get('display_name'))->assign('URL_GIFT', "http://{$_SERVER['SERVER_NAME']}/" . $gift->get('local_url') . '/?utm_source=email&utm_medium=user&utm_campaign=subscribe_user')->send($_POST["email"], $_POST["user_name"])->send('*****@*****.**'); $waiting_gifts->subscribe($gift->get('id'), $_POST['email'], $_POST['user_name']); } } die; }