public static function addProduct($id_ebay_profile, $id_product) { $product_modified = new EbayProductModified(); $product_modified->id_product = (int) $id_product; $product_modified->id_ebay_profile = (int) $id_ebay_profile; return $product_modified->save(); }
/** * Called when a product is updated * */ public function hookUpdateProduct($params) { if (!isset($params['product']->id) && !isset($params['id_product'])) { return false; } if (!($id_product = (int) $params['product']->id)) { if (!($id_product = (int) $params['id_product'])) { return false; } } if (!$this->ebay_profile instanceof EbayProfile) { return false; } $sql = array(); $ebay_profiles = eBayProfile::getProfilesByIdShop(); foreach ($ebay_profiles as $profile) { $sql[] = 'SELECT `id_product`, ' . $profile['id_ebay_profile'] . ' AS `id_ebay_profile`, ' . $profile['id_lang'] . ' AS `id_lang` FROM `' . _DB_PREFIX_ . 'product` WHERE `id_product` = ' . $id_product . ' AND `active` = 1 AND `id_category_default` IN (' . EbayCategoryConfiguration::getCategoriesQuery(new EbayProfile($profile['id_ebay_profile'])) . ')'; } foreach ($sql as $q) { if ($products = Db::getInstance()->executeS($q)) { if (Configuration::get('EBAY_SYNC_PRODUCTS_BY_CRON')) { foreach ($products as $product) { EbayProductModified::addProduct($product['id_ebay_profile'], $product['id_product']); } } else { EbaySynchronizer::syncProducts($products, $this->context, $products[0]['id_lang'], 'hookUpdateProduct'); } } } }