예제 #1
0
 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;
     }
 }
예제 #2
0
 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);
 }
예제 #3
0
 * 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;
}
예제 #4
0
 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);
 }