## ## xs:booster v1.042 für GambioGX ## Copyright (c) 2008-2009 xs:booster Ltd. ## http://www.xsbooster.com ## ## Licensed under GNU/GPL ## Upgrade-Anleitung von xs:booster Version 1.03-1.041 auf 1.042 (gilt NUR für GambioGX mit vorinstalliertem xs:booster) ------------------------------------------------------------------------------- xs:booster Dateien: Bitte ALLE ersetzen D.h laden Sie bitte alle Dateien aus diesem Installations-Package, außer dem Verzeichnis 'tools', in die etsprechenden Verzeichnisse Ihres Shops. (Die Installations- und Upgrade-Anleitungen müssen nicht hochgeladen werden) HINWEISE: Falls Sie eine Individualprogrammierung bei uns gekauft haben, geht diese verloren, wenn Sie die Dateien einfach überspielen. Wenden Sie sich an das xs:booster Team, damit wir Ihre individuellen Erweiterungen in die aktuelle xs:booster-Version übertragen. Falls Sie xs:booster zum ersten mal nutzen, lesen Sie bitte die Hinweise zur Inbetriebnahme am Ende dieser Anleitung. ------------------------------------------------------------------------------- Datenbank-Änderungen: Bitte laden Sie die Datei db_updates.php aus dem Verzeichnis 'tools' in diesem Installations-Package in das Hauptverzeichnis Ihres Shops hoch. Rufen Sie diese Datei im Browser auf, d.h. wenn z.B. Ihr Shop unter http://www.mein-shop.de/ liegt, gehen Sie auf die Adresse http://www.mein-shop.de/db_updates.php Damit werden die nötigen Datenbank-Erweiterungen angelegt. Die Datei gibt im Browser einige Textmeldungen aus. Wenn keine dieser Meldugen mit dem Wort 'ERROR' anfängt, ist alles korrekt durchgelaufen. Anschließend löschen Sie die Datei (sie stört nicht, wird aber nicht mehr benötigt). ------------------------------------------------------------------------------- Änderungen an den Shop-Dateien: Zwischen der Version 1.041 und 1.042 gab es keine Änderungen an den Shopdateien. Wenn Ihre alte xs:booster-Version 1.041 war, ist das Upgrade hiermit abgeschlossen. ## ## ------------------------------------------------------------------------------- Shop-Dateien zu modifizieren, wenn die alte xs:booster-Version 1.040 oder älter war: (alle Pfade relativ zum Shop-Verzeichnis) includes/classes/xtcPrice.php create_account.php create_guest_account.php admin/categories.php includes/modules/product_info.php includes/classes/shopping_cart.php gm/classes/GMAttributesCalculator.php Bitte aendern Sie die Dateien wie folgt: ================================================================ ================ includes/classes/xtcPrice.php ================ ================================================================ ---- Position: ab Zeile 197 -- Ersetze -- function xtcCheckXTBAuction($pID) { if(($pos=strpos($pID,"{"))) $pID = substr($pID,0,$pos); if($_SESSION['xtb0']['tx']['products_id']==$pID&&$_SESSION['xtb0']['tx']['XTB_QUANTITYPURCHASED']) { $this->actualCurr=$_SESSION['xtb0']['tx']['XTB_AMOUNTPAID_CURRENCY']; return round($_SESSION['xtb0']['tx']['XTB_AMOUNTPAID'], $this->currencies[$this->actualCurr]['decimal_places']); } return false; } -- durch -- // xs:booster start (v1.041) function xtcCheckXTBAuction($pID) { if(($pos=strpos($pID,"{"))) $pID=substr($pID,0,$pos); if(!is_array($_SESSION['xtb0']['tx'])) return false; foreach($_SESSION['xtb0']['tx'] as $tx) { if($tx['products_id']==$pID&&$tx['XTB_QUANTITYPURCHASED']!=0) { $this->actualCurr=$tx['XTB_AMOUNTPAID_CURRENCY']; return round($tx['XTB_AMOUNTPAID'], $this->currencies[$this->actualCurr]['decimal_places']); } } return false; } // xs:booster end ================================================================ =================== create_account.php =================== und ================ create_guest_account.php ================ ================================================================ ---- Position: ab Zeile 442 bzw. 366: -- Ersetze -- // xs:booster prefill if(@isset($_SESSION['xtb0']['tx'])) { $GLOBALS['gender']= 'm'; $GLOBALS['firstname']= substr($_SESSION['xtb0']['tx']['XTB_EBAY_NAME'],0,strpos($_SESSION['xtb0']['tx']['XTB_EBAY_NAME']," ")); $GLOBALS['lastname']= substr($_SESSION['xtb0']['tx']['XTB_EBAY_NAME'],strpos($_SESSION['xtb0']['tx']['XTB_EBAY_NAME']," ")+1,strlen($_SESSION['xtb0']['tx']['XTB_EBAY_NAME'])); $GLOBALS['street_address']= $_SESSION['xtb0']['tx']['XTB_EBAY_STREET']; $GLOBALS['postcode']= $_SESSION['xtb0']['tx']['XTB_EBAY_POSTALCODE']; $GLOBALS['city']= $_SESSION['xtb0']['tx']['XTB_EBAY_CITY']; $GLOBALS['country']= $_SESSION['xtb0']['tx']['XTB_EBAY_COUNTRYNAME']; $GLOBALS['email_address']= $_SESSION['xtb0']['tx']['XTB_EBAY_EMAIL']; $GLOBALS['telephone']= $_SESSION['xtb0']['tx']['XTB_EBAY_PHONE']; } // xs:booster prefill end -- durch -- // xs:booster start (v1.041) if(@isset($_SESSION['xtb0']['tx'][0])) { $GLOBALS['gender']= 'm'; $GLOBALS['firstname']= substr($_SESSION['xtb0']['tx'][0]['XTB_EBAY_NAME'],0,strpos($_SESSION['xtb0']['tx'][0]['XTB_EBAY_NAME']," ")); $GLOBALS['lastname']= substr($_SESSION['xtb0']['tx'][0]['XTB_EBAY_NAME'],strpos($_SESSION['xtb0']['tx'][0]['XTB_EBAY_NAME']," ")+1,strlen($_SESSION['xtb0']['tx'][0]['XTB_EBAY_NAME'])); $GLOBALS['street_address']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_STREET']; $GLOBALS['postcode']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_POSTALCODE']; $GLOBALS['city']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_CITY']; $GLOBALS['country']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_COUNTRYNAME']; $GLOBALS['email_address']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_EMAIL']; $GLOBALS['telephone']= $_SESSION['xtb0']['tx'][0]['XTB_EBAY_PHONE']; } // xs:booster end ================================================================ ================ admin/categories.php ================ ================================================================ ---- Position: ab Zeile 172 -- Ersetze -- // --- MULTI XTBOOST --- if (isset ($_POST['multi_xtb'])) { $_SESSION['xtb1']['multi_xtb']=array(); if (is_array($_POST['multi_products'])) $_SESSION['xtb1']['multi_xtb']=$_POST['multi_products']; if (is_array($_POST['multi_categories'])) { foreach ($_POST['multi_categories'] AS $category_id) { $q = xtc_db_query("select p.products_id from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '".$category_id."'"); while($p = xtc_db_fetch_array($q)) $_SESSION['xtb1']['multi_xtb'][] = $p['products_id']; } } header("Location: xtbooster.php?xtb_module=add&mode=multi_xtb"); exit; } // --- MULTI XTBOOST ENDS --- -- durch -- // xs:booster start - multiauktion (v1.041) if (isset($_POST['multi_xtb'])) { $_SESSION['xtb1']['multi_xtb']=array(); require_once("../".DIR_WS_CLASSES.'xtbooster.php'); $xtb = new xtbooster_base; $xtb->config(); $requestx = "ACTION:TradeTemplateFetch"; $resx = $xtb->parse($xtb->exec($requestx)); $MULTI_REVERSECATS = $resx['MULTI_REVERSECATS']; $MULTI_ONLYONSTOCK = $resx['MULTI_ONLYONSTOCK']; if (is_array($_POST['multi_products'])) { $x=$_POST['multi_products']; foreach($x as $products_id) { $q = xtc_db_query("select products_quantity from ".TABLE_PRODUCTS." where products_id = '".$products_id."'"); $p = xtc_db_fetch_array($q); if($MULTI_ONLYONSTOCK=='true'&&$p['products_quantity']<1) continue; $_SESSION['xtb1']['multi_xtb'][]=$products_id; } } if (is_array($_POST['multi_categories'])) { $_xtb_max_p = 10000; function _xtb_reverse($category_id=0) { global $_xtb_max_p,$MULTI_ONLYONSTOCK; $cp = xtc_db_query("select * from ".TABLE_CATEGORIES." where parent_id = '".$category_id."'"); while($c=xtc_db_fetch_array($cp)) { $q = xtc_db_query("select p.products_id, p.products_quantity from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '".$c['categories_id']."'"); while($p = xtc_db_fetch_array($q)) { if($MULTI_ONLYONSTOCK=='true'&&$p['products_quantity']<1) continue; $_SESSION['xtb1']['multi_xtb'][$p['products_id']] = $p['products_id']; } if($_xtb_max_p--<0) break; _xtb_reverse($c['categories_id']); } } foreach ($_POST['multi_categories'] AS $i=>$category_id) { $q = xtc_db_query("select p.products_id, p.products_quantity from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c where p.products_id = p2c.products_id and p.products_status = '1' and p2c.categories_id = '".$category_id."'"); while($p = xtc_db_fetch_array($q)) { if($MULTI_ONLYONSTOCK=='true'&&$p['products_quantity']<1) continue; $_SESSION['xtb1']['multi_xtb'][$p['products_id']] = $p['products_id']; } if($MULTI_REVERSECATS=='true') _xtb_reverse($category_id); } } header("Location: xtbooster.php?xtb_module=add&mode=multi_xtb"); exit; } // xs:booster end - multiauktion (v1.041) =================================================================== ================ includes/modules/product_info.php ================ =================================================================== ---- Position: ab Zeile 45 Einfügen: // xs:booster start (v1.041) $xsb_tx = array(); if(@is_array($_SESSION['xtb0']['tx'])) { foreach($_SESSION['xtb0']['tx'] as $tx) { if($tx['products_id']==$product->data['products_id']) { $xsb_tx = $tx; break; } } } // xs:booster end ---- Position: ab Zeile 80 -- Ersetze -- if(@$_SESSION['xtb0']['tx']['XTB_ALLOW_USER_CHQTY']=='true'||$_SESSION['xtb0']['tx']['products_id']!=$product->data['products_id']) -- durch -- if(@$xsb_tx['XTB_ALLOW_USER_CHQTY']=='true'||$xsb_tx['products_id']!=$product->data['products_id']) ---- Position: ab Zeile 95 -- Ersetze -- if(@$_SESSION['xtb0']['tx']['XTB_ALLOW_USER_CHQTY']=='true'||$_SESSION['xtb0']['tx']['products_id']!=$product->data['products_id']) -- durch -- if(@$xsb_tx['XTB_ALLOW_USER_CHQTY']=='true'||$xsb_tx['products_id']!=$product->data['products_id']) ---- Position: ab Zeile 164 -- Ersetze -- if(isset($_SESSION['xtb0']['tx']['XTB_REDIRECT_USER_TO'])&&$_SESSION['xtb0']['tx']['products_id']==$product->data['products_id']) $info_smarty->assign('XTB_REDIRECT_USER_TO', $_SESSION['xtb0']['tx']['XTB_REDIRECT_USER_TO']); -- durch -- if(isset($xsb_tx['XTB_REDIRECT_USER_TO'])&&$xsb_tx['products_id']==$product->data['products_id']) $info_smarty->assign('XTB_REDIRECT_USER_TO', $xsb_tx['XTB_REDIRECT_USER_TO']); ==================================================================== ================ includes/classes/shopping_cart.php ================ ==================================================================== ---- Position: Ab Zeile 153 -- Ersetze -- if(strpos($products_id,"{")>0) $pid = substr($products_id, 0, strpos($products_id,"{")); else $pid = $products_id; if(@$_SESSION['xtb0']['tx']['XTB_ALLOW_USER_CHQTY']=='false'&&$_SESSION['xtb0']['tx']['products_id']==$pid) return true; // xs:booster transaction doesn't allow quantity updates.. -- durch -- // xs:booster start (v1.041) $pid=strpos($products_id,"{")>0?substr($products_id,0,strpos($products_id,"{")):$products_id; if(is_array($_SESSION['xtb0']['tx'])) { $sum = 0; $cc = true; foreach($_SESSION['xtb0']['tx'] as $tx) { if($tx['products_id']==$pid) { $sum += $tx['XTB_QUANTITYPURCHASED']; if($tx['XTB_ALLOW_USER_CHQTY']=='false') $cc=false; } } if($quantity!=$sum&&$cc==false) $quantity=$sum; } // xs:booster end ================================================================ ============ gm/classes/GMAttributesCalculator.php ============ ================================================================ ---- Position: Ab Zeile 53 -- Ersetze -- // check specialprice if ($sPrice = $xtPrice->xtcCheckSpecial($this->products_id)){ -- durch -- // check eBay price if ($sPrice = $xtPrice->xtcCheckXTBAuction($this->products_id)){ $pPrice = $xtPrice->xtcFormat($sPrice + $this->attributes_price(), $format, 0, $curr, $vpeStatus, $this->products_id); } // check specialprice elseif ($sPrice = $xtPrice->xtcCheckSpecial($this->products_id)){ ------------------------------------------------------------------------------- Hinweise zur Inbetriebnahme von xs:booster Falls Sie xs:booster zum ersten mal verwenden, führen Sie noch folgende Schritte durch: Installation auf der Shop-Admin-Ebene: Loggen Sie sich zum Abschluß der Installation auf die Admin-Oberfläche Ihres Shops ein und klicken Sie in der Navigation unter "Module" auf "XT-Module". Dort finden Sie einen neuen Eintrag "xs:booster eBay-Connector" - klicken Sie darauf. Klicken Sie anschließend auf "Installieren". ShopKey hinterlegen Klicken Sie auf der Admin-Oberfläche unter "xs:booster" auf "xs:booster Konfiguration" und hinterlegen Sie den ShopKey, den Sie vom xs:booster Team für Ihren Shop erhalten haben. xs:booster konfigurieren Nachdem Sie den ShopKey hinterlegt haben, gelangen Sie zur Konfigurationsmaske. Füllen Sie die Felder: Artikelstandort, Stadt Artikelstandort, Postleitzahl Zahlungsarten (waehlen Sie mindestens eine aus) Absendername und -adresse (unter 'E-Mail Template', die Adresse muß eine gültige e-mail Adresse sein) Die restlichen Felder passen Sie an je nach Bedarf, oder lassen diese so wie sie sind. Hinweis fuer gewerbliche Verkaeufer mit eBay-Shop: Wenn Sie Festpreis-Artikel in Ihren eBay-Shop einstellen wollen, müssen Sie laut den eBay-Richtlinien PayPal als eine der Zahlungsarten anbieten. Dazu geben Sie Ihre bei eBay registrierte PayPal-Adresse in das Feld 'PayPal E-Mail Adresse des Shops' ein (das letzte Feld unter 'Artikelstandort & Ruecknahmebedingungen'). ------------------------------------------------------------------------------- Hinweis zur Rechte-Vergabe weiterer xs:booster-Administratoren In den Zugriffsteinstellungen (Adminrechten) müssen mindestens folgende Zugriffsbereiche aktiviert werden, damit ein Administator eBay-Auktionen über den xs:booster einstellen kann: - customers - categories - start - xtbooster ------------------------------------------------------------------------------- ## ## ENDE DER ANLEITUNG ## ## xt:booster Ltd. ## http://www.xsbooster.com ## http://blog.xsbooster.com ##