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; }
/** 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); } }
/** 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); }