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();
 }
Beispiel #2
0
    /**
     * 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');
                }
            }
        }
    }