public function add($order_id, $upsell_id, $answer, $step) { // make sure we have a proper answer if (!in_array($answer, self::$_answer)) { return false; } $this->orderUpsells[] = new OrderUpsell(); $i = count($this->orderUpsells) - 1; $this->orderUpsells[$i]->allFields = true; $this->orderUpsells[$i]->upsell_id = $upsell_id; $this->orderUpsells[$i]->step = $step; $this->orderUpsells[$i]->answer = $answer; $this->orderUpsells[$i]->order_id = $order_id; // populate upsell info $upsell = new Upsell(); $upsell->fillFromDbPk($upsell_id); $this->orderUpsells[$i]->yes_upsell_id = $upsell->yes_upsell_id; $this->orderUpsells[$i]->no_upsell_id = $upsell->no_upsell_id; $this->orderUpsells[$i]->product_id = $upsell->product_id; $this->orderUpsells[$i]->shipping_id = $upsell->shipping_id; unset($upsell); // set step if ((int) $step > (int) $this->currentStep) { $this->currentStep = (int) $step; } }
private static function upsellDigger($uid) { $arr = array(); $u = new Upsell(); if (!$u->fillFromDbPk($uid)) { return $arr; } $arr[] = $uid; if ($u->yes_upsell_id && $u->no_upsell_id) { $arr = array_merge($arr, self::upsellDigger($u->yes_upsell_id), self::upsellDigger($u->no_upsell_id)); } else { if ($u->yes_upsell_id) { $arr = array_merge($arr, self::upsellDigger($u->yes_upsell_id)); } else { if ($u->no_upsell_id) { $arr = array_merge($arr, self::upsellDigger($u->no_upsell_id)); } } } // this sort is not working. why? //sort($arr); return array_unique($arr); }
* Time: 1:18 PM */ include_once '../settings/autoload.php'; $msql = SafeMySQL::getInstance(); $answerVars = array('yes', 'no'); $upsellID = isset($_GET['upsell_id']) ? (int) $_GET['upsell_id'] : false; $orderID = isset($_GET['order_id']) ? $_GET['order_id'] : false; $answer = isset($_GET['answer']) ? $_GET['answer'] : false; if (!in_array($answer, $answerVars)) { $answer = 'no'; } if (!$upsellID) { die; } $upsellModel = new Upsell(); $upsellModel->fillFromDbPk($upsellID); $nextUpsellIDField = $answer . '_upsell_id'; $nextUpsellID = $upsellModel->{$nextUpsellIDField}; if (!$nextUpsellID) { //redirect on the "thank you page" // нужен orderID //Create empty order $order = new Order(); $order->orderLang = new Lang(); echo 1; die; } $productID = $upsellModel->product_id; if (!$productID) { die; }
private function upsellDirect($step = 1) { // pull upsell details $upsell = new Upsell(); $upsell->fillFromDbPk($this->upsell_id); // grab afid info from click to be used for pixels, etc if (!isset($this->click)) { $this->click = new Click(); $this->click->fillFromDbPk($this->order->click_id); } $clickUrlParams = $this->click->getUrlParams(); $url = $upsell->url . '?tempOrderId=' . $this->order->order_id . '&step=' . $step . '&uid=' . $this->upsell_id . '&product_id=' . $upsell->product_id . $clickUrlParams; // are these addl params needed? pixel on the upsell page? $this->apiSuccess($url); }