Exemplo n.º 1
0
 static function order($ID, $fuserID, $strLang, $arDiscounts)
 {
     $api_key = COption::GetOptionString(self::$MODULE_ID, "tracker_code", '');
     if (!$api_key) {
         return true;
     }
     $arOrder = CSaleOrder::GetByID(intval($ID));
     if ($arOrder["ID"] > 0) {
         $TimeUpdate = strtotime($arOrder["DATE_UPDATE"]);
         $TimeAdd = strtotime($arOrder["DATE_INSERT"]);
         if ($TimeUpdate - $TimeAdd <= 60) {
             $visitor_uid = false;
             $visitor_info = false;
             if ($arOrder["USER_ID"] && $arOrder["USER_ID"] && ($visitor_info = self::getVisitorInfo($arOrder["USER_ID"]))) {
                 $visitor_uid = $arOrder["USER_ID"];
             }
             $guest_uid = self::getUid($visitor_uid);
             $phone_name = COption::GetOptionString(self::$MODULE_ID, "phone_code", '');
             if ($phone_name && isset($_POST[$phone_name])) {
                 $visitor_info["phone"] = $_POST[$phone_name];
             }
             $tracker = new ConveadTracker($api_key, SITE_SERVER_NAME, $guest_uid, $visitor_uid, $visitor_info, false, SITE_SERVER_NAME);
             $items = array();
             $orders = CSaleBasket::GetList(array(), array("ORDER_ID" => $arOrder["ID"]), false, false, array());
             $i = 0;
             while ($order = $orders->Fetch()) {
                 $item["product_id"] = $order["PRODUCT_ID"];
                 $item["qnt"] = $order["QUANTITY"];
                 $item["price"] = $order["PRICE"];
                 $items[$i . ""] = $item;
                 $i++;
             }
             if (!empty($items)) {
                 $price = $arOrder["PRICE"] - (isset($arOrder["PRICE_DELIVERY"]) ? $arOrder["PRICE_DELIVERY"] : 0);
                 $result = $tracker->eventOrder($ID, $price, $items);
             }
         }
     }
     return true;
 }
Exemplo n.º 2
0
 /** Submit order to convead
  * @param $order_id
  */
 public static function submitOrder($order_id)
 {
     $convead_plgn_options = self::get_params();
     if (!empty($convead_plgn_options['convead_key'])) {
         require_once ABSPATH . 'wp-content/plugins/convead/lib/ConveadTracker.php';
         self::updateUserInfo();
         $url = $_SERVER["HTTP_HOST"];
         $order = wc_get_order($order_id);
         $visitor_info = array();
         $first_name = self::getValue($order->billing_first_name, self::$userFirstName);
         if ($first_name !== false) {
             $visitor_info['first_name'] = $first_name;
         }
         $last_name = self::getValue($order->billing_last_name, self::$userLastName);
         if ($last_name !== false) {
             $visitor_info['last_name'] = $last_name;
         }
         $email = self::getValue($order->billing_email, self::$userEmail);
         if ($email !== false) {
             $visitor_info['email'] = $email;
         }
         $phone = self::getValue($order->billing_phone, self::$userPhone);
         if ($phone !== false) {
             $visitor_info['phone'] = $phone;
         }
         if (!empty(self::$userDateOfBirth)) {
             $visitor_info['date_of_birth'] = self::$userDateOfBirth;
         }
         if (!empty(self::$userGender)) {
             $visitor_info['gender'] = self::$userGender;
         }
         do_action('convead_visitor_info', $visitor_info);
         $guestUID = isset($_COOKIE['convead_guest_uid']) ? $_COOKIE['convead_guest_uid'] : '';
         $ConveadTracker = new ConveadTracker($convead_plgn_options['convead_key'], $url, $guestUID, self::$user_id, $visitor_info);
         $items = array();
         $line_items = $order->get_items(apply_filters('woocommerce_admin_order_item_types', 'line_item'));
         $total = $order->get_total();
         $shipping = $order->get_total_shipping();
         $order_total = $total - $shipping;
         if (is_array($line_items) && count($line_items)) {
             foreach ($line_items as $item_id => $item) {
                 $pid = !empty($item['variation_id']) && !$convead_plgn_options['only_product_id'] ? $item['variation_id'] : $item['product_id'];
                 $price = $item['line_subtotal'] / (double) $item['qty'] * $convead_plgn_options['currency_excange_rate'];
                 $product = new stdClass();
                 $product->product_id = (int) $pid;
                 $product->qnt = (double) $item['qty'];
                 $product->price = $price;
                 $items[] = $product;
             }
         }
         $return = $ConveadTracker->eventOrder($order_id, $order_total, $items);
     }
 }
Exemplo n.º 3
0
 /** Submit order to convead
  * @param $order_number
  * @param $order_total
  * @param $items
  */
 private function submitOrder($order_number, $order_total, $items)
 {
     require_once 'lib/ConveadTracker.php';
     $uri = JUri::getInstance();
     $url = $uri->toString(array('host'));
     $visitor_info = array();
     if (!empty($this->userFirstName)) {
         $visitor_info['first_name'] = $this->userFirstName;
     }
     if (!empty($this->userLastName)) {
         $visitor_info['last_name'] = $this->userLastName;
     }
     if (!empty($this->userEmail)) {
         $visitor_info['email'] = $this->userEmail;
     }
     if (!empty($this->userPhone)) {
         $visitor_info['phone'] = $this->userPhone;
     }
     if (!empty($this->userDateOfBirth)) {
         $visitor_info['date_of_birth'] = $this->userDateOfBirth;
     }
     if (!empty($this->userGender)) {
         $visitor_info['gender'] = $this->userGender;
     }
     JPluginHelper::importPlugin('convead');
     if ($this->isJoomlaThree) {
         $dispatcher = JEventDispatcher::getInstance();
     } else {
         $dispatcher = JDispatcher::getInstance();
     }
     $dispatcher->trigger('onConveadSettings', array(&$visitor_info));
     $guestUID = isset($_COOKIE['convead_guest_uid']) ? $_COOKIE['convead_guest_uid'] : '';
     $ConveadTracker = new ConveadTracker($this->app_key, $url, $guestUID, $this->userId, $visitor_info);
     $return = $ConveadTracker->eventOrder($order_number, $order_total, $items);
 }