Ejemplo n.º 1
0
 private function processWholeCartAsOneTransaction() {
     $this->debug("Whole cart as one transaction...");
     $saleTracker = new Pap_Tracking_ActionTracker();
     $sale = $saleTracker->createSale();
     $sale->setOrderId($this->getOrderID()."_".$this->getData1());
     $sale->setTotalCost($this->getTotalCost());
     $sale->setProductId($this->getProductID());
     $sale->setAffiliateID($this->getAffiliateID());
     $cookie = $this->parseCookie(stripslashes($this->getCookie()));
     $this->setVisitorAndAccount($saleTracker, $this->getAffiliateID(), $this->getCampaignID(), $cookie);
     $this->registerAllSales($saleTracker);
 }
Ejemplo n.º 2
0
    private function processWholeCartAsOneTransaction() {
        $this->debug('PremiumWebCart - Process whole cart as one transaction');

        $order = $this->xml->order[0];
        $product = $order->products[0]->product[0];

        $saleTracker = new Pap_Tracking_ActionTracker();
        $sale = $saleTracker->createSale();

        $totalCost = 0;
        $productId = '';
        foreach ($order->products[0] as $item) {
            $totalCost += $item->totalprice;
            $productId .= (string)$item->name . ', ';
        }
        $sale->setOrderId((string)$order->orderuniqueid);
        $sale->setTotalCost($totalCost);
        $sale->setProductId(substr($productId, 0, -2));
        $this->registerAllSales($saleTracker);
    }
Ejemplo n.º 3
0
    private function prepareSeparateCartItems(Pap_Tracking_ActionTracker $saleTracker) {
        $request = $this->getRequestObject();
        $numItems = $request->getPostParam('num_cart_items');

        for ($i=1; $i<=$numItems; $i++) {
            $sale = $saleTracker->createSale();
            $sale->setTotalCost($this->adjustTotalCost($request->getPostParam('mc_gross_'.$i), $request, $i));
            $sale->setOrderID($this->getOrderID());
            $sale->setProductID($request->getPostParam('item_number'.$i));
            $sale->setData1($this->getData1());
            $sale->setData2($this->getData2());
            $sale->setData3($this->getData3());
            $sale->setData4($this->getData4());
            $sale->setData5($this->getData5());
            $sale->setCoupon($this->getCouponCode());
            $sale->setCurrency($this->getCurrency());
            $sale->setChannelId($this->getChannelId());
            if ($this->getStatus()!='') {
                $sale->setStatus($this->getStatus());
            }
            if($this->getAffiliateID() != '' && $this->getCampaignID() != '') {
                $sale->setAffiliateID($this->getAffiliateID());
                $sale->setCampaignID($this->getCampaignID());
            }

            $this->setVisitorAndAccount($saleTracker, $this->getAffiliateID(), $this->getCampaignID(), $this->getCookie());
        }
    }
Ejemplo n.º 4
0
    private function prepareSeparateCartItems(Pap_Tracking_ActionTracker $saleTracker) {
        $this->debug('Per item registration started...');
        $request = $this->getRequestObject();
        $Items = explode("|",$this->doubleColonProducts);

        for ($i=0; $i<count($Items)-1; $i++) {
            $item = explode("::",$Items[$i]); // Price::Qty::Code::Description::Flags::
            $sale = $saleTracker->createSale();
            $sale->setTotalCost($item[0]*$item[1]);
            $sale->setOrderID($this->getOrderID()."_".$i);
            $sale->setProductID($item[2]);
            $sale->setData1($this->getData1());
            $sale->setData2($this->getData2());
            $sale->setData3($this->getData3());
            $sale->setData4($this->getData4());
            $sale->setData5($this->getData5());
            $sale->setCurrency($this->getCurrency());
            $sale->setChannelId($this->getChannelId());
            if ($this->getStatus()!='') {
                $sale->setStatus($this->getStatus());
            }
            if ($this->getAffiliateID() != '' && $this->getCampaignID() != '') {
                $sale->setAffiliateID($this->getAffiliateID());
                $sale->setCampaignID($this->getCampaignID());
            }

            $this->setVisitorAndAccount($saleTracker, $this->getAffiliateID(), $this->getCampaignID(), $this->getCookie());
        }
    }
Ejemplo n.º 5
0
    private function processWholeCartAsOneTransaction() {
        $saleTracker = new Pap_Tracking_ActionTracker();
        $sale = $saleTracker->createSale();

        $totalCost = 0;
        $productId = '';
        $data2 = '';
        foreach ($this->getCartItems() as $item) {
            $totalCost += (float)$this->getXmlElementByName('unit-price',$item)*(int)$this->getXmlElementByName('quantity',$item);
            $productId .= (string)$this->getXmlElementByName(Gpf_Settings::get(GoogleCheckout_Config::PRODUCT_ID_BY),$item) . ', ';
            if (Gpf_Settings::get(GoogleCheckout_Config::PRODUCT_ID_BY) != 'item-name') {
                $data2 .= (string)$this->getXmlElementByName('item-name',$item) . ', ';
            }
        }
        $sale->setOrderId($this->getOrderID());
        $sale->setTotalCost($totalCost-$this->getCouponAmount());
        $sale->setProductId(substr($productId, 0, -2));
        if (Gpf_Settings::get(GoogleCheckout_Config::PRODUCT_ID_BY) != 'item-name') { 
            $sale->setData2(substr($data2, 0, -2));
        }
        $cookie = $this->parseCookie(stripslashes($this->getMerchantPrivateData()));
        $this->setVisitorAndAccount($saleTracker, $this->getAffiliateID(), $this->getCampaignID(), $cookie);
        $this->registerAllSales($saleTracker);
    }
    protected function prepareSales(Pap_Tracking_ActionTracker $saleTracker) {
    	$this->debug('Beginning preparing sales...');
        $sale = $saleTracker->createSale();
        $sale->setTotalCost($this->getTotalCost());
        $sale->setOrderID($this->getOrderID());
        $sale->setProductID($this->getProductID());
        $sale->setData1($this->_data1);
        $sale->setData2($this->_data2);
        $sale->setData3($this->_data3);
        $sale->setData4($this->_data4);
        $sale->setData5($this->_data5);
        $sale->setCoupon($this->_couponCode);
        $sale->setCurrency($this->_currency);
        $sale->setChannelId($this->_channelId);
        if ($this->dateTime != '') {
            $sale->setTimeStamp(Gpf_Common_DateUtils::getTimestamp($this->dateTime));
        }
        
        if ($this->getStatus()!='') {
            $sale->setStatus($this->getStatus());
        }
        if($this->getAffiliateID() != '' && $this->getCampaignID() != '') {
            $sale->setAffiliateID($this->getAffiliateID());
            $sale->setCampaignID($this->getCampaignID());
        }

        $this->setVisitorAndAccount($saleTracker, $this->getAffiliateID(), $this->getCampaignID(), $this->getCookie());
        $this->debug('Finish preparing sales...');
    }
    private function createSale(Gpf_Rpc_Form $form) {
        $saleTracker = new Pap_Tracking_ActionTracker();
        $sale = $saleTracker->createSale();
        $sale->setTotalCost($form->getFieldValue(Pap_Db_Table_Transactions::TOTAL_COST));
        $sale->setOrderID($form->getFieldValue(Pap_Db_Table_Transactions::ORDER_ID));
        $sale->setProductID($form->getFieldValue(Pap_Db_Table_Transactions::PRODUCT_ID));
        $sale->setData1($form->getFieldValue(Pap_Db_Table_Transactions::DATA1));
        $sale->setData2($form->getFieldValue(Pap_Db_Table_Transactions::DATA2));
        $sale->setData3($form->getFieldValue(Pap_Db_Table_Transactions::DATA3));
        $sale->setData4($form->getFieldValue(Pap_Db_Table_Transactions::DATA4));
        $sale->setData5($form->getFieldValue(Pap_Db_Table_Transactions::DATA5));
        $sale->setCoupon($form->getFieldValue(Pap_Db_Table_Coupons::CODE));
        
        Gpf_Plugins_Engine::extensionPoint('PostAffiliate.OfflineSaleForm.createSale', $sale);
        
        // For handle Affiliate Sale Tracking Codes, this feature write its codes to output
        ob_start();
        $saleTracker->register();
        ob_end_clean();

        $form->setInfoMessage($this->_('Sale was saved'));
    }