Ejemplo n.º 1
0
 public function displayEbayListingsAjax($id_employee = null)
 {
     $ebay = new EbayRequest();
     $employee = new Employee($id_employee);
     $this->context->employee = $employee;
     $link = $this->context->link;
     $id_lang = $this->context->language->id;
     $products_ebay_listings = array();
     $products = EbayProduct::getProductsWithoutBlacklisted($id_lang, $this->ebay_profile->id, false);
     $data = array('id_lang' => $id_lang, 'titleTemplate' => $this->ebay_profile->getConfiguration('EBAY_PRODUCT_TEMPLATE_TITLE'));
     foreach ($products as $p) {
         $data['real_id_product'] = (int) $p['id_product'];
         $data['name'] = $p['name'];
         $data['manufacturer_name'] = $p['manufacturer_name'];
         $data['reference'] = $p['reference'];
         $data['ean13'] = $p['ean13'];
         $reference_ebay = $p['id_product_ref'];
         $product = new Product((int) $p['id_product'], true, $id_lang);
         if ((int) $p['id_attribute'] > 0) {
             // No Multi Sku case so we do multiple products from a multivariation product
             $combinaison = $this->_getAttributeCombinationsById($product, (int) $p['id_attribute'], $id_lang);
             $combinaison = $combinaison[0];
             $data['reference'] = $combinaison['reference'];
             $data['ean13'] = $combinaison['ean13'];
             $variation_specifics = EbaySynchronizer::_getVariationSpecifics($combinaison['id_product'], $combinaison['id_product_attribute'], $id_lang, $this->ebay_profile->ebay_site_id);
             foreach ($variation_specifics as $variation_specific) {
                 $data['name'] .= ' ' . $variation_specific;
             }
             $products_ebay_listings[] = array('id_product' => $combinaison['id_product'] . '-' . $combinaison['id_product_attribute'], 'quantity' => $combinaison['quantity'], 'prestashop_title' => $data['name'], 'ebay_title' => EbayRequest::prepareTitle($data), 'reference_ebay' => $reference_ebay, 'link' => method_exists($link, 'getAdminLink') ? $link->getAdminLink('AdminProducts') . '&id_product=' . (int) $combinaison['id_product'] . '&updateproduct' : $link->getProductLink((int) $combinaison['id_product']), 'link_ebay' => EbayProduct::getEbayUrl($reference_ebay, $ebay->getDev()));
         } else {
             $products_ebay_listings[] = array('id_product' => $data['real_id_product'], 'quantity' => $product->quantity, 'prestashop_title' => $data['name'], 'ebay_title' => EbayRequest::prepareTitle($data), 'reference_ebay' => $reference_ebay, 'link' => method_exists($link, 'getAdminLink') ? $link->getAdminLink('AdminProducts') . '&id_product=' . (int) $data['real_id_product'] . '&updateproduct' : $link->getProductLink((int) $data['real_id_product']), 'link_ebay' => EbayProduct::getEbayUrl($reference_ebay, $ebay->getDev()));
         }
     }
     $this->smarty->assign('products_ebay_listings', $products_ebay_listings);
     echo $this->display(__FILE__, 'views/templates/hook/ebay_listings_ajax.tpl');
 }
Ejemplo n.º 2
0
	INNER JOIN `' . _DB_PREFIX_ . 'attribute_lang` al
	ON al.`id_attribute` = pac.`id_attribute`
	AND al.`id_lang` = ' . (int) $id_lang . '
	
	LEFT JOIN ' . ($is_one_five ? '`' . _DB_PREFIX_ . 'stock_available`' : '`' . _DB_PREFIX_ . 'product_attribute`') . ' sa
	ON sa.`id_product_attribute` = pa.`id_product_attribute`
	
	LEFT JOIN `' . _DB_PREFIX_ . 'ebay_product` ep
	ON ep.`id_product` = pa.`id_product`
	AND ep.`id_attribute` = pac.`id_product_attribute`
	AND ep.`id_ebay_profile` = ' . $id_ebay_profile . '
	
	WHERE pa.`id_product` = ' . $id_product . $ebay->addSqlRestrictionOnLang('sa') . '
	
	ORDER BY a.`position` ASC';
$res = Db::getInstance()->ExecuteS($sql);
$final_res = array();
foreach ($res as $row) {
    if (isset($final_res[$row['id_product_attribute']])) {
        $final_res[$row['id_product_attribute']]['name'] .= ' ' . Tools::safeOutput($row['name']);
    } else {
        $row['name'] = Tools::safeOutput($row['name']);
        $row['stock'] = Tools::safeOutput($row['stock']);
        $row['id_product_ref'] = Tools::safeOutput($row['id_product_ref']);
        if ($row['id_product_ref']) {
            $row['link'] = EbayProduct::getEbayUrl($row['id_product_ref'], $ebay_request->getDev());
        }
        $final_res[$row['id_product_attribute']] = $row;
    }
}
echo Tools::jsonEncode($final_res);
Ejemplo n.º 3
0
 /**
  * Register Form Config Methods
  **/
 private function _displayFormRegister()
 {
     $ebay = new EbayRequest();
     $smarty_vars = array();
     if (Tools::getValue('relogin')) {
         $session_id = $ebay->login();
         $this->context->cookie->eBaySession = $session_id;
         $this->setConfiguration('EBAY_API_SESSION', $session_id);
         $smarty_vars = array_merge($smarty_vars, array('relogin' => true, 'redirect_url' => $ebay->getLoginUrl() . '?SignIn&runame=' . $ebay->runame . '&SessID=' . $this->context->cookie->eBaySession));
     } else {
         $smarty_vars['relogin'] = false;
     }
     $logged = !empty($this->context->cookie->eBaySession) && Tools::getValue('action') == 'logged';
     $smarty_vars['logged'] = $logged;
     if ($logged) {
         if ($ebay_username = Tools::getValue('eBayUsername')) {
             $this->context->cookie->eBayUsername = $ebay_username;
             $this->setConfiguration('EBAY_API_USERNAME', $ebay_username);
             $this->setConfiguration('EBAY_IDENTIFIER', $ebay_username);
             $this->setConfiguration('EBAY_COUNTRY_DEFAULT', Tools::getValue('ebay_country'));
         }
         $smarty_vars['check_token_tpl'] = $this->_displayCheckToken();
     } else {
         if (empty($this->context->cookie->eBaySession)) {
             $session_id = $ebay->login();
             $this->context->cookie->eBaySession = $session_id;
             $this->setConfiguration('EBAY_API_SESSION', $session_id);
             $this->context->cookie->write();
         }
         $smarty_vars = array_merge($smarty_vars, array('action_url' => Tools::safeOutput($_SERVER['REQUEST_URI']) . '&action=logged', 'ebay_username' => $this->context->cookie->eBayUsername, 'window_open_url' => '?SignIn&runame=' . $ebay->runame . '&SessID=' . $this->context->cookie->eBaySession, 'ebay_countries' => EbayCountrySpec::getCountries($ebay->getDev()), 'default_country' => EbayCountrySpec::getKeyForEbayCountry()));
     }
     $this->smarty->assign($smarty_vars);
     return $this->display(__FILE__, 'views/templates/hook/formRegister.tpl');
 }