'''Deutsch'''

'''Version 2.9.6'''
* Zugriffe auf Request-Parameter überarbeitet

'''Version 2.9.5'''
* Fehler bei der Verarbeitung der Request-Parameter behoben
* Fehler im XML-Export-Encoding behoben 

'''Version 2.9.4'''
* PHPDoc überarbeitet
* Konstanten für Fehlercodes der Shopgate Merchant API hinzugefügt
* direkte Zugriffe auf $_REQUEST und $_GET entfernt

'''Version 2.9.3'''
* Preis Model um den Grundpreis erweitert

'''Version 2.9.1'''
* CDATA für den Author der Rezensionen in der XML hinzugefügt

'''Version 2.9.0'''
* Export der Kundenrezensionen als XML hinzugefügt

'''Version 2.8.10'''
* Linkexport für Produkte und Kategorien um CDATA erweitert (XML)  
* CNAME Validierung erweitert
* Ungenutzte Code Teile entfernt

'''Version 2.8.9'''
* Maximalwert des Speichers kann gesetzt werden
* Maximale Ausführungszeit kann gesetzt werden
* Der ShopgateErrorHandler gibt nun by default keinen stacktrace mehr aus

'''Version 2.8.8'''
* XML - Images neuer Flag für isCover

'''Version 2.8.7'''
* Integration für Amazon Payments

'''Version 2.8.6'''
* Optimierte Funktion für leere XML Knoten entfernen
* Optimierte Funktion für Aufbereitung der XML Children

'''Version 2.8.5'''
* Entfernen von git Konflikt markup
* Ersetzen von json_encode Aufrufen durch die interne Methode jsonEncode

'''Version 2.8.4'''
* Regex Anpassung für cname Validierung
* Neuer Kindknoten zur Unterstützung von Gruppenprodukten und Darstellungstypen für XML hinzugefügt

'''Version 2.8.3'''
* ungültige UTF-8-Sequenzen für XML werden jetzt beim Export entfernt
* Einstellung 'supported_methods_cron' hinzugefügt, mit der ein Plugin mitteilen kann, welche Methoden bei der cron-Action unterstützt werden

'''Version 2.8.2'''
* Fehler beim Konvertieren eines Encodings in UTF-8 behoben

'''Version 2.8.1'''
* neues Attribut ShopgateExternalOrderExtraCost::$label mit Getter und Setter hinzugefügt
* bei check_cart wird jetzt die 'currency' des Warenkorbs in der API-Response mit dem Wert des Warenkorbs vom Request vorinitialisiert

'''Version 2.8.0'''
* Unterstützung für das Synchronisieren einer Favoritenliste über die Shopgate Plugin API hinzugefügt
* Unterstützung für den Abruf von Bestellungen aus dem Shopsystem über die Shopgate Plugin API hinzugefügt
* Shopgate-Bestellungen enthalten jetzt das Feld "shipping_tax_percent" mit dem Steuersatz der Versandkosten
* der Parameter $trackingNumber der Methode ShopgateMerchantApi::addOrderDeliveryNote() ist jetzt optional (Standard: leerer String)
* 'related_shop_items' zur Standard-Produkt-CSV-Zeile hinzugefügt

'''Version 2.7.2'''
* Bugfix für Inkonsistenz während Methodenumbenennung
* Verschleiern des oauth_access_token bei der Ausgabe der Ping-Methode

'''Version 2.7.1'''
* Bugfix in der receive_authorization PluginAPI-Action
* Shops mit bereits eingerichtetem Shopgate-Plugin bekommen nun automatisch ein Oauth-Access-Token zugewiesen

'''Version 2.7.0'''
* neues Attribute für XML Export tierprices (AggregateChildren) eingefügt
* Einführung von OAuth als zusätzlicher Authentifizierungs-Service zur Shopgate MerchantAPI.
* Unterstützung für Streaming-Ausgabe der Exporte via php://out

'''Version 2.6.10'''
* Verschwundene Konstante PLUGIN_API_NO_ITEMS wieder hinzugefügt.

'''Version 2.6.9'''
* Bugfix für das Encoding von Get Parameter beim mobilen Redirect
* Bugfix für das Filtern von Get Parametern beim mobilen Redirect
* Bugfix für das Encoding von unicode
* Neue Fehler-Code-Konstante PLUGIN_MISSING_ACCOUNT_PERMISSIONS
* Neue Fehler-Code-Konstante CART_ITEM_REQUESTED_QUANTITY_UNDER_MINIMUM_QUANTITY
* Neue Fehler-Code-Konstante CART_ITEM_REQUESTED_QUANTITY_OVER_MAXIMUM_QUANTITY

'''Version 2.6.8'''
* Durchreichen von Get Parametern für den mobilen Redirect bezüglich tracking
* Methode ping um XML Pfade erweitert

'''Version 2.6.7'''
* verbessertes Exception Handling in "loader" Methoden
* Funktionalität nachgereicht um den mobilen redirect via javascript zu unterbinden

'''Version 2.6.6'''
* Performance Steigerung bei Nutzung der mobilen Weiterleitung rückgängig

'''Version 2.6.5'''
* Fehler in der mobilen Weiterleitung behoben

'''Version 2.6.4'''
* Performance Steigerung bei Nutzung der mobilen Weiterleitung

'''Version 2.6.3'''
* Konstruktor refaktoriert

'''Version 2.6.2'''
* neuen default Datentype "datetime" hinzugefügt

'''Version 2.6.1'''
* Kategorien können nun in Chunks abgerufen werden

'''Version 2.6.0'''
* XML Export für Produkte und Kategorien hinzugefügt.

'''Version 2.5.7'''
* Feld display_name zu ShopgateShippingInfo hinzugefügt
* Felder supported_fields_get_settings und supported_fields_check_cart in ShopgateConfig hinzugefügt

'''Version 2.5.6'''
* Standardwert für "enable_default_redirect" in der ShopgateConfig Klasse geändert
* Einbinden von Vary Header für Seiten die auf mobile Endgeräte weitergeleitet werden können
* Implementierung von ShopgateCartCustomer und ShopgateCartCustomerGroup für checkCart

'''Version 2.5.5'''
* Encoding-Funktionen um Parameter zur Nutzung von iconv() anstatt mb_convert_encoding() erweitert

'''Version 2.5.4'''
* Die Methode Ping um einen zusätzlichen Informationskontainer erweitert ('shop_info')

'''Version 2.5.3'''
* Klasse ShopgateOrderItem um ein Feld namens "parent_item_number" erweitert

'''Version 2.5.2'''
* ShopgateOrderItem::$order_item_id inkl. Getter und Setter eingefügt
* Funktion getErrorType() im globalen Kontext umbenannt in shopgateGetErrorType()

'''Version 2.5.1'''
* Fehler in den Setter-Methoden mancher von ShopgateContainer abgeleiteten Klassen behoben

'''Version 2.5.0'''
* Medienexport zu Produkten implementiert
* Die Methode check_stock eingeführt und den Bestand der übermittelten Produkte zu prüfen
* Validierung der Individualisierungsoption(text), falls eingegebener Text zu lang ist

'''Version 2.4.16'''
* ShopgateCart::$internal_cart_info inkl. Getter und Setter eingefügt
* in der Rückgabe von ShopgatePlugin::checkCart() wird jetzt der Index "internal_cart_info" zurückgegeben
* ShopgateShippingInfo::$internal_shipping_info inkl. Getter und Setter eingefügt
* "s" am Ende von ShopgateShippingMethod::$internal_shipping_infos und den Gettern und Settern entfernt

'''Version 2.4.15'''
* Schalter für Steuerklassen implementiert

'''Version 2.4.14'''
* Korrektur für custom_fields
* Eine neue Hilfsmethode wurde hinzugefügt, mit welcher ein Kreuzprodukt über mehrere Arrays durchgeführt wird, die in einem übergeordneten Array angeordnet sind.

'''Version 2.4.13'''
* Die Währung wird bei check_cart nun global für den kompletten Warenkorb gültig übergeben

'''Version 2.4.12'''
* Füge Visitor Methoden für Shipping, Payment und CartItem Klassen ein (array visitor)

'''Version 2.4.11'''
* Fehler im Logging behoben

'''Version 2.4.10'''
* Füge Visitor Methoden für Shipping, Payment und CartItem Klassen ein (utf8 visitor)

'''Version 2.4.9'''
* Die Methode check_cart gibt nun neben den Coupons auch Warenkorbprodukte mit Lagerinformationen sowie Versand- und Zahlmethoden zurück, welche für gegebene Adresse verfügbar sind

'''Version 2.4.8'''
* Error codes für get_customer hinzugefügt

'''Version 2.4.7'''
* Error code für register_customer implementiert

'''Version 2.4.6'''
* Konstanten für weitere Zahlungsarten in Klasse ShopgateCartBase hinzugefügt

'''Version 2.4.5'''
* Verbessertes Logging zur Analyse von schweren Fehlern

'''Version 2.4.4'''
* Funktionalität implementiert um den Inhalt eines ShopgateContainers auf Gleichheit zu prüfen

'''Version 2.4.3'''
* Kompatibilität mit PHP-Versionen unter 5.3 wiederhergestellt

'''Version 2.4.2'''
* zusätzliche Benutzerangaben für Bestellungen und Adressen eingefügt (ShopgateCartBase::$custom_fields, ShopgateAddress::$custom_fields)
* Optimierung des Speicherverbrauchs und der CPU-Nutzung durch die Behebung eines Fehlers

'''Version 2.4.1'''
* neuen Fehlercode hinzugefügt (90 - error sending mail)

'''Version 2.4.0'''
* Die Actions register_customer, get_debug_info und set_settings wurden hinzugefügt
* Der <link>-Tag wird nur noch bei einem freigeschalteten Shop in den <head>-Tag ausgegeben

'''Version 2.3.10'''
* Beim Item Export besteht die Möglichkeit beliebig viele Optionen, Inputs und Attribute zu exportieren

'''Version 2.3.9'''
* Die ShopgateObject Klasse enthält nun eine Methode zur Ausgabe von Objekten mit interner Rekursion (u_print_r).
* Die ShopgatePlugin Klasse beinhaltet nun eine Hilfsmethode zur Ermittlung des verbrauchten Arbeitsspeichers inkl. Umrechnung auf die benötigte Einheit.
* Bei der Ausführung von "executeLoaders" kann nun das Logging des verbrauchten Arbeitsspeichers vor und nach jeder ausgeführten Methode aktiviert werden.
* Funktion splitStreetData() in Klasse ShopgateAddress verbessert, da diese Straße und Hausnr. in manchen Fällen falsch aufgeteilt hat.

'''Version 2.3.8'''
* Unterstützung für erweiterte Informationen zum Versand, die jetzt durch check_cart und redeem_coupon zur Verfügung gestellt werden
* Konstanten zur Umrechnung von Gewichten

'''Version 2.3.7'''
* das in der ShopgateConfig hinterlegte Encoding wird jetzt auch beim Export berücksichtigt

'''Version 2.3.6'''
* shopgate_license.txt hinzugefügt

'''Version 2.3.5'''
* je eine index.php zu jedem Verzeichnis hinzugefügt

'''Version 2.3.4'''
* Bugfix in der ShopgateOrder Klasse - delivery_notes wird nun mit einem Leerarray initialisiert
* Beim Ausführen von Loader-Methoden werden detailliertere Exception-Meldungen erzeugt

'''Version 2.3.3'''
* Lizenz Header hinzugefügt

'''Version 2.3.2'''
* Logging verbessert, wenn Datei nicht geöffnet werden konnte
* neue payment method ids hinzugefügt
* Logger erlaubt jetzt, Feldnamen, die in den Logs verschleiert oder entfernt werden sollen, dynamisch hinzuzufügen

'''Version 2.3.1'''
* Wenn keine Shopnumber gesetzt ist, wird der Redirect Script nicht in die Seite gerendert
* bei einem Ping wird die Dateigröße und der Besitzer ausgelesen

'''Version 2.3.0'''
* Neue Funktion get_settings() zum Exportieren der Steuersätze, -klassen, und -regeln des Shops (und zukünftig weiterer Einstellungen)
* Standard-Wert für send_customer_email für Methode add_order_delifery_note auf false geändert
* Bei API-calls kann nun ein Feld "handle_errors" übergeben werden. Der übergebene Wert wird an error_reporting() weitergereicht

'''Version 2.2.2'''
* die Header für die Authentifizierung werden jetzt bei jedem Request per ShopgateMerchantApi-Klasse neu generiert
* die Einstellung "enable_get_redirect_keywords" wird jetzt konsequent als Boolean genutzt, die Nutzung als Zeitangabe für die Cache-Lifetime entfällt
* es gibt einen neuen Weiterleitungstyp "default", der für Seiten eingesetzt wird, die nicht zugeordnet werden können
* es gibt eine neue Einstellung "enable_default_redirect", mit denen die "default"-Weiterleitung (de-)aktiviert werden kann
* die Einstellung "server" wurde um den Wert "sl" erweitert, mit dem der Shopgate Spotlight-Server angesprochen werden kann (API, Mobile Header, Weiterleitung)
* der Paramter "cart" wird bei Aufrufen der Shopgate Plugin API jetzt entfernt, um zu große Logdateien zu vermeiden

'''Version 2.2.1'''
* Neuen Schalter für die Standard-Weiterleitung von Contentseiten zur mobilen Startseite in der Klasse ShopgateConfig hinzugefügt
* Paramater send_customer_mail zu Merchant API Methode addOrderDeliveryNote() hinzugefügt 
* Neues Shopgate Versandsystem wird jetzt unterstützt

'''Version 2.2.0'''
* Es sind zwei neue Methoden hinzugekommen, die implementiert werden müssen: ShopgatePlugin::redeemCoupons() und ::checkCart(). Dadurch werden durch das Shopsystem angebotene Gutscheine auch im Mobilshop verwendbar
* Der Parameter "keep_debug_log" verhindert das Überschreiben der Debug-Log bei eingehenden API-Requests

'''Version 2.1.26'''
* die Konvertierung der Zeichensätze wird jetzt optional mit iconv durchgeführt, wenn die mb_string-Erweiterung für PHP nicht installiert ist
* Logik zur dateibasierten Verarbeitung einer globalen Konfiguration und mehreren sprachabhängigen Konfigurationen implementiert

'''Version 2.1.25'''
* Problem mit einer Ausgabe während dem Laden der Konfigurationsdatei behoben
* Implementierung der neuen Shopgate-Merchant-API-Felder "item_number_public" und "attributes", welche in "get_orders" zurückgeliefert werden
* Fehler behoben, durch den das Umbenennen von CSV-Dateien unter Windows-Server-Systemen fehlschlug

'''Version 2.1.24'''
* Problem beim Laden der Konfiguration per ob_start() und ob_end_clean() behoben

'''Version 2.1.23'''
* bei Requests an die Shopgate Plugin API wird jetzt die Shopnummer überprüft
* bei der Alias-Weiterleitung wird kein https:// mehr verwendet
* beim Weiterleitung-CNAME ist nur noch http:// erlaubt
* Fehler beim mehrfachen Laden der Konfiguration behoben

'''Version 2.1.22'''
* Problem beim Abruf der Redirect-Keywords behoben

'''Version 2.1.21'''
* Problem beim Laden der Shopgate Konfigurationsdatei behoben

'''Version 2.1.20'''
* Problem mit der Einstellung "enable_clear_log_file" behoben

'''Version 2.1.19'''
* Javascript Header hinzugefügt, um den Onlineshop mit dem mobilen Shop zu "verlinken" 
* HTTP  Weiterleitungscode von 302 auf 301 geändert
* neue Methode "clear_cache" hinzugefügt

'''Version 2.1.18'''
* neue Methode ShopgateMerchantApi::batchAddItem() hinzugefügt
* neue Methode ShopgateMerchantApi::batchUpdateItem() hinzugefügt
* Aktualisierung und Korrektur der PHPDocs für die API-Klassen
* Schrägstriche am Ende des CNAME-Eintrags werden jetzt entfernt
* Methoden getCreateItemsCsvLoaders(), getCreateCategoriesCsvLoaders() und getCreateReviewsCsvLoaders() der Klasse ShopgatePlugin sind nicht mehr "final"
* Problem mit der Funktion ini_get_all() behoben

'''Version 2.1.17'''
* der Mobile Header wird jetzt per JavaScript eingehangen, um mehr Flexibilität bei komplizierten Layouts zu ermöglichen
* neue Einstellungen "mobile_header_parent" und "mobile_header_prepend" in ShopgateConfig
* neue Methode ShopgateRedirect::setParentElement()
* Fehler behoben, bei dem auf "http://" weitergeleitet wurde, wenn kein CNAME eingetragen war
* Log-, Export- und Cache-Dateien erhalten jetzt das Präfix "shopgate_"

'''Version 2.1.16'''
* Funktionen ShopgateAddress::getStreetNumber und ShopgateAddress::getStreetName hinzugefügt
* Der CNAME wird um http:// ergeänzt, wenn es nicht angegeben wurde
* Entfernen von <script>-, <style>- und <link>-Tags aus der Produktbeschreibung verbessert
* "ping" liest jetzt die Ordnerberechtigungen der konfigurierten Ordner für Export, Logs und Cache aus

'''Version 2.1.15'''
* Anpassung der Klasse ShopgateConfig zur Nutzung sprach- oder Shop-abhängiger Konfigurationsdateien

'''Version 2.1.14'''
* ShopgateMerchantApi::getMobileRedirectKeywords() ist jetzt deprecated
* ShopgateMerchantApi::getMobileRedirectUserAgents() eingefügt

'''Version 2.1.13'''
* der updateOrder()-Callback erhält jetzt mit der Bestellung auch die Bestellungsposten
* die Filterung von <script>-Tags im Export wurde verbessert
* die Getter-Methoden eines ShopgateOrderItem-Objekts ohne Optionen oder Eingabefelder geben jetzt leere Arrays anstelle von null zurück
* die Einstellungen "country" und "language" wurden zur Klasse ShopgateConfig hinzugefügt
* allgemeine Methode zur Erzeugung von Weiterleitungslinks über Produktnummer, Kategorienummer und zur Startseite hinzugefügt
* Kompatibilitätsprobleme zwischen verschiedenen PHP-Versionen behoben

'''Version 2.1.12'''
* möglicher timestamp-fehler behoben
* Standard Timeout für der ShopgateMerachantApi auf 30 sekunden
* Timeout bei getMobileRedirectKeywords auf 1 sekunde gesetzt
* Kompatibilitätsproblem mit PHP < 5.3 behoben

'''Version 2.1.11'''
* Script-Tags werden beim Export jetzt inklusive Inhalt entfernt.

'''Version 2.1.10'''
* timestamp-fehler behoben

'''Version 2.1.9'''
* Authentifizierung erweitert
* Das Schreiben von Log-Einträgen wird jetzt unterbunden, wenn der cache keine Schreibrechte hat

'''Version 2.1.8'''
* Notice-Meldungen der ping-action entfernt

'''Version 2.1.7'''
* Return by reference benötigt das &-Zeichen bei der Zuweisung UND am Funktions-/Methodennamen

'''Version 2.1.6'''
* Neues CSV-Feld "active_status"
* Bei Plugin-API-Anfragen wird jetzt auch die Plugin-Version zurückgegeben, falls gesetzt.

'''Version 2.1.5'''
* Fehler in der Verwendung der alten Konfiguration behoben
* changelog.txt hinzugefügt



'''English'''

'''Version 2.9.6'''
* reworked access of request parameters

'''Version 2.9.5'''
* fixed a bug in processing the request parameters of API requests
* fixed XML export encoding issue

'''Version 2.9.4'''
* revised PHPDoc
* added constants for error codes of the Shopgate Merchant API
* removed direct access to $_REQUEST and $_GET

'''Version 2.9.3'''
* extended price model with base price

'''Version 2.9.1'''
* added CDATA for review author in xml

'''Version 2.9.0'''
* export of reviews as xml added

'''Version 2.8.10'''
* added cdata for deep links in categories and products (xml) 
* extended cname validation
* removed legacy code

'''Version 2.8.9'''
* maximum memory value for executing scripts can be set now
* maximum execution time can be set now
* by default the ShopgateErrorHandler doesn't print the stacktrace

'''Version 2.8.8'''
* XML - Images new flag for isCover

'''Version 2.8.7'''
* integration for amazon payments

'''Version 2.8.6'''
* optimized function to remove empty XML nodes
* optimized function to prepare XML children

'''Version 2.8.5'''
* removed remaining git conflict markup
* replaced json_encode calls through the internal method jsonEncode

'''Version 2.8.4'''
* regex adjustment for cname validation
* new child node for grouped products / different display types added to xml 

'''Version 2.8.3'''
* stripping invalid UTF-8 sequences now on XML export
* added setting 'supported_methods_cron' for plugins to tell which methods are supported by their cron action

'''Version 2.8.2'''
* fixed a bug in converting encodings into UTF-8

'''Version 2.8.1'''
* added property ShopgateExternalOrderExtraCost::$label with getter and setter
* on check_cart, the 'currency' of the cart in the response is pre-initialized with that of the cart in the request now

'''Version 2.8.0'''
* added support for synchronizing a favourite list via the Shopgate Plugin API
* added support for retrievieng orders from the shopping cart solution via the Shopgate Plugin API
* Shopgate orders now contain a field named "shipping_tax_percent" with the tax rate of shipping cost
* parameter $trackingNumber of ShopgateMerchantApi::addOrderDeliveryNote() is now optional (default: empty string)
* added 'related_shop_items' to the default products CSV row

'''Version 2.7.2'''
* obfuscation of the oauth_access_token on ping method output
* bugfix for inconsistency while renaming of methods

'''Version 2.7.1'''
* fixed a bug in the receive_authorization PluginAPI action
* shops that already have a configured Shopgate-Plugin, will now automatically get an oauth access token assigned

'''Version 2.7.0'''
* added new attribute (AggregateChildren) for xml / tierprices

'''Version 2.6.11'''
* included OAuth as an additional authentication service to connect with the Shopgate MerchantAPI.
* supports streaming exports to php://out

'''Version 2.6.10'''
* added a missing constant PLUGIN_API_NO_ITEMS.
* added a new constant CART_ITEM_REQUESTED_QUANTITY_UNDER_MINIMUM_QUANTITY
* added a new constant CART_ITEM_REQUESTED_QUANTITY_OVER_MAXIMUM_QUANTITY

'''Version 2.6.9'''
* bugfix for the encoding of get params while redirecting mobile
* bugfix for the filtering of get params while redirecting mobile
* Bugfix encoding unicode
* new error code constant PLUGIN_MISSING_ACCOUNT_PERMISSIONS

'''Version 2.6.8'''
* passthrough of get params for mobile redirect related to tracking
* extended method ping for xml paths

'''Version 2.6.7'''
* improved exception handling in loader methods
* implemented functionality to suppress the mobile redirect via javascript

'''Version 2.6.6'''
* Performance increased for the mobile redirect removed

'''Version 2.6.5'''
* bugfix in mobile redirect

'''Version 2.6.4'''
* Performance increased for the mobile redirect

'''Version 2.6.3'''
* Refactored constructor

'''Version 2.6.2'''
* New default data type "datetime" added

'''Version 2.6.1'''
* added feature to get categories in chunks

'''Version 2.6.0'''
* Added - Functionality XML export for products and categories.

'''Version 2.5.7'''
* added field display_name to class ShopgateShippingInfo
* added fields supported_fields_get_settings and supported_fields_check_cart in ShopgateConfig

'''Version 2.5.6'''
* modifed default value for "enable_default_redirect" in class ShopgateConfig
* embedding of Vary Header for pages which are potentially redirected to mobile devices
* implemented ShopgateCartCustomer and ShopgateCartCustomerGroup for checkCart

'''Version 2.5.5'''
* added a parameter to all encoding functions allowing to use iconv() instead of mb_convert_encoding()

'''Version 2.5.4'''
* extended the method ping with an additional information container ('shop_info')

'''Version 2.5.3'''
* added field "parent_item_number" to class ShopgateOrderItem

'''Version 2.5.2'''
* added ShopgateOrderItem::$order_item_id incl. getters and setters
* renamed function getErrorType() which is in global context to shopgateGetErrorType()

'''Version 2.5.1'''
* fixed a bug in the setter methods of some classes derived from ShopgateContainer

'''Version 2.5.0'''
* implemented media export for products
* implemented method check_stock to be able to check stock in realtime
* add error 303 for input field validation to check if input text is too long

'''Version 2.4.16'''
* added ShopgateCart::$internal_cart_info including getter and setter methods
* the field "internal_cart_info" is now processed when returned by ShopgatePlugin::checkCart()
* added ShopgateShippingInfo::$internal_cart_info including getter and setter methods
* removed the trailing "s" in ShopgateShippingMethod::$internal_cart_infos and its getter and setter methods

'''Version 2.4.15'''
* implemented switch for the use of tax classes

'''Version 2.4.14'''
* bugfix for custom_fields
* added a helper method "arrayCross" to create a cross product over multiple arrays, organized inside of a containing array

'''Version 2.4.13'''
* the currency in check_cart response now is transferred in whole cart scope

'''Version 2.4.12'''
* insert Visitor methods for Shipping, Payment and CartItem classes (array visitor)

'''Version 2.4.11'''
* fixed an error in the logging routine

'''Version 2.4.10'''
* insert Visitor methods for Shipping, Payment and CartItem classes (utf8 visitor)

'''Version 2.4.9'''
* method check_cart now also returns cart item stock information and shipping and payment methods which are available for cart address

'''Version 2.4.8'''
* added new error codes for get_customer method

'''Version 2.4.7'''
* error code for function register_customer implemented

'''Version 2.4.6'''
* added constants for more payment types in class ShopgateCartBase

'''Version 2.4.5'''
* improved logging for analyzing of fatal errors

'''Version 2.4.4'''
* implemented function to check if the values of two ShopgateContainer objects are equal

'''Version 2.4.3'''
* restored compatibility for PHP versions below 5.3

'''Version 2.4.2'''
* added custom input fields for user details to orders and addresses (ShopgateOrder::$custom_fields, ShopgateAddress::$custom_fields)
* fixed an error and decreased memory and CPU time consumption by a significant amount

'''Version 2.4.1'''
* added new error code (90 - error sending mail)

'''Version 2.4.0'''
* actions register_customer, get_debug_info and set_settings was added
* the <link> tag is now displayed in the <head> tag on activated shops only

'''Version 2.3.10'''
* it's possible to export any number of options, inputs and attributes while exporting item csv files

'''Version 2.3.9'''
* the ShopgateObject class now features a method for dumping objects that can't be dumped using var_dump, because of internal recursion (u_print_r).
* the ShopgatePlugin class now contains a helper method to retrieve the used ram that is also converted into the desired size-unit.
* when executing loaders using the "executeLoaders" method the logging of used ram can be activated so the ram before and after each called method is logged.
* Improved function splitStreetData() in class ShopgateAddress, because street and number were not split correctly in some cases.

'''Version 2.3.8'''
* handle extended shipping information that is provided in check_cart and redeem_coupon now
* constant values to use for converting weights

'''Version 2.3.7'''
* ShopgateConfig's "encoding" setting is now used for exporting products as well

'''Version 2.3.6'''
* added shopgate_license.txt

'''Version 2.3.5'''
* added index.php to each directory

'''Version 2.3.4'''
* bugfix inside of the ShopgateOrder class - delivery_notes are now initialized with an empty array
* on execution of loader methods, all thrown exceptions are processed to get more details

'''Version 2.3.3'''
* added license header

'''Version 2.3.2'''
* improved logging when a file couldn't be opened
* added new payment method ids
* Logger now allows to dynamically add field names that should be disuised in or removed from the log

'''Version 2.3.1'''
* if shop number is missing the js redirect script is not rendered
* ping returns size and ownership of files from now on 

'''Version 2.3.0'''
* New function get_settings() for exporting the shop's tax rates, tax rules and tax classes (and other settings in the future)
* Standard value of send_customer_email for method add_order_delivery_note changed to false
* API calls can now contain a new field called "handle_errors". The given value will be passed on to error_reporting()

'''Version 2.2.2'''
* the authentication headers are regenerated on every call via the ShopgateMerchantApi class
* the setting "enable_get_redirect_keywords" is now all boolean; the prior use of it as cache lifetime does not apply any longer
* added new redirect type "default" for pages whose type cannot be determined
* added new setting "enable_default_redirect" to (de-)activate the "default" redirect type
* added new value "sl" for the setting "server" to enbale switching to Shopgate's Spotlight environment (API, Mobile Header, Mobile Redirect)
* paramter "cart" gets removed now on calls to the Shopgate Plugin API to prevent log files from growing too big

'''Version 2.2.1'''
* added switch for default redirect from content pages to mobile homepage in class ShopgateConfig
* added paramater send_customer_mail to Merchant API method addOrderDeliveryNote()
* support for new Shopgate shipping system

'''Version 2.2.0'''
* two new methods have been added and must be implemented: ShopgatePlugin::redeemCoupons() and ::checkCart(). These make coupons offered by the shoppingsystem available to the mobile shop
* add the parameter "keep_debug_log" to incoming requests to prevent the debug log file from being discarded

'''Version 2.1.26'''
* conversion of encodings is now performed via iconv if the mb_string extension for PHP is not installed
* implemented logic to handle processing of file-based global and language dependend configurations

'''Version 2.1.25'''
* fixed an issue producing an output during loading the configuration file
* implementation of the new Shopgate Merchant API fields "item_number_public" and "attributes" returned by "get_orders"
* fixed issue that caused renaming CSV files on Windows Server systems to fail

'''Version 2.1.24'''
* fixed issue with loading configuration via ob_start() / ob_end_clean()

'''Version 2.1.23'''
* on requests to the Shopgate Plugin API the shop number is checked now
* mobile redirection via alias is done to a http:// URL now
* the CNAME for mobile redirection must be http:// now
* fixed an error when loading configuration more than once

'''Version 2.1.22'''
* fixed issue on request for redirect keywords

'''Version 2.1.21'''
* fixed issue with loading the Shopgate configuration file

'''Version 2.1.20'''
* fixed issue with "enable_clear_log_file" setting

'''Version 2.1.19'''
* java script header added for linking online shop to the mobile shop site
* updated HTTP redirect code from 302 to 301
* new method "clear_cache" added

'''Version 2.1.18'''
* added new method ShopgateMerchantApi::batchAddItem()
* added new method ShopgateMerchantApi::batchUpdateItem()
* updated and corrected PHPDoc for API classes
* trailing slashes on the CNAME setting are cut off
* methods getCreateItemsCsvLoaders(), getCreateCategoriesCsvLoaders() and getCreateReviewsCsvLoaders() of class ShopgatePlugin are not "final" anymore
* fixed issue with function ini_get_all()

'''Version 2.1.17'''
* Mobile Header now gets attached via JavaScript for more flexibility in complicated layouts
* new settings "mobile_header_parent" and "mobile_header_prepend" in ShopgateConfig
* new method ShopgateRedirect::setParentElement()
* fixed the issue where redirection to "http://" was performed if no CNAME was set
* log, export and cache file now get the prefix "shopgate_"

'''Version 2.1.16'''
* Added function ShopgateAddress::getStreetNumber and ShopgateAddress::getStreetName
* http:// will add to cname if not given
* improved removal of <script>, <style> and <link> tags from the products description
* "ping" now checks the directory permissions of the configured directories for export, logs and cache

'''Version 2.1.15'''
* extended class ShopgateConfig for use with multiple configuration files depending on language or shop number

'''Version 2.1.14'''
* ShopgateMerchantApi::getMobileRedirectKeywords() is now deprecated
* added ShopgateMerchantApi::getMobileRedirectUserAgents()

'''Version 2.1.13'''
* the updateOrder() callback is now provided with the items of the order as well
* filtering of <script> tags in the export has been improved
* the getters of a ShopgateOrderItem object with no inputs or options set will now return empty arrays instead of null
* settings "country" and "language" have been added to the ShopgateConfig class
* added generic method to create redirection links for item numbers, category numbers and the welcome page
* fixed incompatibility issues between different PHP versions

'''Version 2.1.12'''
* fix possible timestamp-error
* set default timout for ShopagteMerchantApi to 30 seconds
* set timeout on getMobileRedirectKeywords to 1 second
* fixed compatibility issues with PHP < 5.3

'''Version 2.1.11'''
* script tags will be stripped off including content on products export

'''Version 2.1.10'''
* fixed timestamp error

'''Version 2.1.9'''
* extended authentication
* disable log entries if cache is not writeable

'''Version 2.1.8'''
* reduced notice Logs on ping action

'''Version 2.1.7'''
* return by reference needs &-sign on function name

'''Version 2.1.6'''
* new csv column "active_status"
* plugin API returns the plugin version if exists

'''Version 2.1.5'''
* fixed error in use of old configuration
* added changelog.txt
