/** * @param $eBayProduct * @param Product $product * @return bool */ private function hasChanged($eBayProduct, Product $product) { $ebayTitle = $eBayProduct->Title; $currentTitle = $product->getTitle(); if ($ebayTitle != $currentTitle) { return true; } $ebayDescription = htmlentities($eBayProduct->Description); $currentDescription = $product->getDescription(); if ($ebayDescription != $currentDescription) { return true; } $currentBrand = $product->getBrand(); $ebayBrand = ''; foreach ($eBayProduct->ItemSpecifics->NameValueList as $specific) { if ($specific->Name == 'Brand') { $ebayBrand = $specific->Value[0]; } } if ($ebayBrand != $currentBrand) { return true; } $currentPictures = $product->getPictures(); $ebayPictures = $eBayProduct->PictureDetails->ExternalPictureURL; foreach ($ebayPictures as $ebayPicture) { if (!in_array($ebayPicture, $currentPictures)) { return true; } } if ($product->hasVariations()) { $separated = $this->separateVariations($eBayProduct, $product); $foundVariations = $separated['found']; $newVariations = $separated['new']; if (count($newVariations) > 0) { return true; } foreach ($eBayProduct->Variations->Variation as $ebayVariation) { if (!in_array($ebayVariation, $foundVariations)) { return true; } } } return false; }