Example #1
0
 static function productViewCustom($id, $arFields)
 {
     if ($arFields["PRODUCT_ID"]) {
         $arResult["PRODUCT_ID"] = $arFields["PRODUCT_ID"];
     } else {
         if ($id["PRODUCT_ID"]) {
             $arResult["PRODUCT_ID"] = $id["PRODUCT_ID"];
         } else {
             return true;
         }
     }
     if (self::contains($_SERVER["HTTP_USER_AGENT"], "facebook.com")) {
         return;
     }
     $api_key = COption::GetOptionString(self::$MODULE_ID, "tracker_code", '');
     if (!$api_key) {
         return;
     }
     global $APPLICATION;
     global $USER;
     $visitor_uid = false;
     if (!$user_id) {
         $user_id = $USER->GetID();
     }
     $visitor_info = false;
     if ($user_id && ($visitor_info = self::getVisitorInfo($user_id))) {
         $visitor_uid = (int) $user_id;
     }
     $guest_uid = self::getUid($visitor_uid);
     $tracker = new ConveadTracker($api_key, SITE_SERVER_NAME, $guest_uid, $visitor_uid, $visitor_info, false, SITE_SERVER_NAME);
     $arProduct = CCatalogProduct::GetByIDEx($arResult["PRODUCT_ID"]);
     $product_id = $arResult["PRODUCT_ID"];
     $product_name = str_replace("'", ''', $arProduct["NAME"]);
     $product_url = "http://" . SITE_SERVER_NAME . $arProduct["DETAIL_PAGE_URL"];
     $result = $tracker->eventProductView($product_id, $product_name, $product_url);
     return true;
 }
 /** Submit cart to convead
  * @param $order_number
  * @param $order_total
  * @param $items
  */
 public static function submitCart()
 {
     $convead_plgn_options = self::get_params();
     if (!empty($convead_plgn_options['convead_key'])) {
         require_once ABSPATH . 'wp-content/plugins/convead/lib/ConveadTracker.php';
         $url = $_SERVER["HTTP_HOST"];
         self::updateUserInfo();
         $visitor_info = array();
         if (!empty(self::$userFirstName)) {
             $visitor_info['first_name'] = self::$userFirstName;
         }
         if (!empty(self::$userLastName)) {
             $visitor_info['last_name'] = self::$userLastName;
         }
         if (!empty(self::$userEmail)) {
             $visitor_info['email'] = self::$userEmail;
         }
         if (!empty(self::$userPhone)) {
             $visitor_info['phone'] = self::$userPhone;
         }
         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);
         $cart = WC()->cart->get_cart();
         $cartValue = $products = array();
         $sessionCartValue = unserialize(WC()->session->get('convead_cart_value', ''));
         $cartChanged = false;
         self::log('Event upldate cart ' . date('Y-m-d h:i:s'));
         self::log('$sessionCartValue');
         self::log($sessionCartValue);
         if (count($cart)) {
             self::log('Count cart = ' . count($cart));
             foreach ($cart as $k => $v) {
                 $pid = !empty($v['variation_id']) && !$convead_plgn_options['only_product_id'] ? $v['variation_id'] : $v['product_id'];
                 $price = $v['data']->price * $convead_plgn_options['currency_excange_rate'];
                 $products[] = array("product_id" => $pid, "qnt" => $v['quantity'], "price" => $price);
                 $cartValue[$k] = $v['quantity'];
                 if (!isset($sessionCartValue[$k]) || $sessionCartValue[$k] != $v['quantity']) {
                     self::log('Cart changed by cart product count ' . $v['quantity'] . ' != session product count ' . (double) $sessionCartValue[$k] . ' Product ID = ' . $pid);
                     $cartChanged = true;
                 }
                 if (isset($sessionCartValue[$k])) {
                     unset($sessionCartValue[$k]);
                 }
             }
         }
         if (count($sessionCartValue)) {
             self::log('Cart changed by not empty deleted session products. $sessionCartValue:');
             self::log($sessionCartValue);
             $cartChanged = true;
         }
         self::log('$cartValue');
         self::log($cartValue);
         self::log('Cart changed: ' . (int) $cartChanged . "\r\n\r\n");
         if ($cartChanged) {
             $return = $ConveadTracker->eventUpdateCart($products);
             WC()->session->set('convead_cart_value', serialize($cartValue));
         }
     }
 }
Example #3
0
 /** Submit cart to convead
  * @param $order_number
  * @param $order_total
  * @param $items
  */
 private function submitCart(array $items)
 {
     if (empty($this->app_key)) {
         return;
     }
     $this->updateUserInfo();
     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;
     }
     $guestUID = isset($_COOKIE['convead_guest_uid']) ? $_COOKIE['convead_guest_uid'] : '';
     $ConveadTracker = new ConveadTracker($this->app_key, $url, $guestUID, $this->userId, $visitor_info);
     $products = array();
     if (count($items)) {
         foreach ($items as $v) {
             $products[] = array("product_id" => $v['id'], "qnt" => $v['count'], "price" => $v['price']);
         }
     }
     $return = $ConveadTracker->eventUpdateCart($products);
 }