Example #1
0
 public function parseProducts()
 {
     $products = new Products();
     $keyParams = array();
     $currencies = $this->parseCurrencies();
     $measurements = $this->parseMeasurements();
     foreach ($this->xmlProducts as $xmlProduct) {
         $code = $xmlProduct->getCode();
         $name = $xmlProduct->getName();
         $isAGroup = $xmlProduct->isAGroup();
         $articul = $xmlProduct->getArticul();
         $basicMeasurementUnitCode = $xmlProduct->getBasicMeasurementUnit();
         $basicMeasurementUnit = $measurements->getUnitByCode($basicMeasurementUnitCode);
         $price = $xmlProduct->getPrice();
         $currencyCode = $xmlProduct->getCurrency();
         $currency = $currencies->getUnitByCode($currencyCode);
         $measurementUnitCode = $xmlProduct->getBasicMeasurementUnit();
         $measurementUnit = $measurements->getUnitByCode($measurementUnitCode);
         if (!empty($code) && !in_array($code, $keyParams)) {
             array_push($keyParams, $code);
             $product = new Product();
             $product->setIsAGroup($isAGroup);
             $product->setCode($code);
             $product->setName($name);
             $product->setArticul($articul);
             $product->setBasicMeasurementUnit($basicMeasurementUnit);
             $product->setPrice($price);
             $currency == null ? '' : $product->setCurrency($currency);
             $measurementUnit == null ? '' : $product->setMeasurementUnit($measurementUnit);
             $products->setItem($product);
         }
     }
     $categories = $this->parseCategories();
     foreach ($this->xmlProducts as $xmlProduct) {
         $catCode = $xmlProduct->getCategoryCode();
         $code = $xmlProduct->getCode();
         $current = $products->getItemByCode($code);
         $parent = $categories->getItemByCode($catCode);
         if ($parent != null) {
             $current->setParent($parent);
         }
     }
     $productDAO = new ProductDAO();
     $productDAO->insertItems($products);
     return $products;
 }
Example #2
0
 /**
  * @param $productID
  * @return Product
  */
 public function getProduct($productID)
 {
     APIWrapper::verifyReadiness();
     $requestURL = "https://app.fetchapp.com/api/v2/products/" . $productID;
     $product = APIWrapper::makeRequest($requestURL, "GET");
     if (is_a($product, "SimpleXMLElement")) {
         $tempProduct = new Product();
         $tempProduct->setProductID($product->id);
         $tempProduct->setSKU($product->sku);
         $tempProduct->setName($product->name);
         $tempProduct->setPrice($product->price);
         $tempProduct->setCurrency(Currency::getValue($product->currency));
         $tempProduct->setOrderCount($product->order_count);
         $tempProduct->setDownloadCount($product->download_count);
         $tempProduct->setPaypalAddToCartLink($product->paypal_add_to_cart_link['href']);
         $tempProduct->setPaypalBuyNowLink($product->paypal_buy_now_link['href']);
         $tempProduct->setPaypalViewCartLink($product->paypal_view_cart_link['href']);
         $tempProduct->setCreationDate(new \DateTime($product->created_at));
         $tempProduct->setFilesUri($product->files_uri);
         $tempProduct->setDownloadsUri($product->downloads_uri);
     }
     return $tempProduct;
 }
Example #3
0
 /**
  * Populate product object 
  *
  * @param array $product
  * @return object 
  */
 protected function getProductObject($product)
 {
     if (empty($product)) {
         throw new BuyatException('Malformed response from server');
     }
     $productObject = new Product();
     $productObject->setProductID($product['product_id']);
     $productObject->setProductSKU($product['product_sku']);
     $productObject->setProductURL($product['product_url']);
     $productObject->setProductName($product['product_name']);
     $productObject->setBrandName($product['brand_name']);
     $productObject->setDescription($product['description']);
     $productObject->setOnlinePrice($product['online_price']);
     $productObject->setCurrency($product['currency']);
     $productObject->setCurrencySymbol($product['currency_symbol']);
     $productObject->setImageURL($product['image_url']);
     $productObject->setProgrammeName($product['programme_name']);
     $productObject->setProgrammeURL($product['programme_url']);
     $productObject->setProgrammeID($product['programme_id']);
     $productObject->setLevel1CategoryID($product['level1_category_id']);
     $productObject->setLevel1CategoryName($product['level1_category_name']);
     $productObject->setLevel2CategoryID($product['level2_category_id']);
     $productObject->setLevel2CategoryName($product['level2_category_name']);
     $productObject->setFeedID($product['feed_id']);
     $productObject->setFeedName($product['feed_name']);
     return $productObject;
 }