Downloads/4.8.0 5.1.0

= Downloads =


 * Download OXID eShop 4.8.0
 * Cumulative update packages
 * PHPUnit tests for CE 4.8.0
 * Database schema
 * Source code documentation

= General hints for this package =

Support for PHP 5.2 will be dropped
With OXID eShop version 4.8/5.1 we'll drop the support for PHP 5.2. In general that means that OXID eShop Professional and Enterprise edition will be delivered encrypted for use with PHP 5.3 and PHP 5.4. Please read what that entails, what to do from your side, and why this change has been made in the blog post PHP 5.2 Will not be Supported from OXID eShop Versions 4.8 and 5.1 on

Enclosed Modules
The OXID eFire extension "PayPal" is already enclosed in the standard delivery of this OXID eShop version as well as the mobile theme plus the theme switcher. If you want to use these extensions, simply activate them in the admin panel -&gt; extensions -&gt; modules. If you don't want to use them it is save to remove the folders /modules/oe/oepaypal, /modules/oe/oethemeswitcher and/or /modules/oe/mobile.

For more details about these extensions please see http://www.oxid-esales.com/en/products/facts/oxid-eshop-mobile-theme/product-information.html and http://www.oxid-esales.com/en/products/facts/oxidefireextensionpaypal/product-information.html

Streamlined Module: Invoice PDF
The well-known module Invoice PDF was updated for use with OXID eShop version &gt;= 4.7/5.0. Also, the language keys used in this module have been extracted from the shop language files and put into the correct language files for this module.

= Installation =

See http://www.oxid-esales.com/en/support-services/documentation-and-help/oxid-eshop/installation/oxid-eshop-update-installation.html

= Templates =

Template changes have been done in this minor update. Please find detailed information about template changes in "templ_docu_admin/index.html" and "templ_docu_azure/index.html" of the package and a tutorial about the template hierarchy and the override system here:

http://wiki.oxidforge.org/Tutorials/How_template_hierarchy_and_override_system_works

= Fixed Bugs =

Please find a list of fixed bugs for this and all intermediate releases (beta, RC, RC2) here in changelog: 

https://bugs.oxid-esales.com/changelog_page.php

In particular:

bugtrack changelog for RC2

bugtrack changelog for RC

bugtrack changelog for beta

= New Features =

SEPA (Single Euro Payments Area) Integration
The example direct debit payment implementation included in the shop is now compliant with SEPA. Please read more about it at http://www.ecb.int/paym/sepa/pdf/SEPA_in_a_nutshell.pdf

In addition to the existing direct debit example solution of the shop:


 * the account number field can be filled with valid IBAN code.
 * the bank code field can be filled with valid BIC code.

Please note that, as no payment provider is linked to the direct debit example implementation in the basic shop, payment modules included in a live shop must implement the SEPA functionality themselves. However, they might reuse the functionality implemented in the example solution.

Built-in Diagnostics tool
With Diagnostics Tool it is possible to collect and review technical information about your shop and server. This information might be useful before updating, installing modules or on diagnostics. Diagnostics Tool allows collecting Basic shop information, Module information, System Health Status, System Information, PHP Configuration and checking the consistency of your OXID eShop files. Version and consistency checker collects names of php files and templates, detects their MD5 checksum, connects for each file to an OXID oxchkversion webservice and determines if it fits this shop version. It doesn't collect nor transmit any license or personal information. This feature is located at the the admin panel -&gt; ‘Service‘ -&gt; ‘Version Checker‘.

Widgets
We enhanced the number of widgets introduced in OXID eShop version 4.7/5.0 by inserting oxwarticlebox, oxwarticledetails, oxwrating, oxwreview. Please find more information about it in this tutorial: http://wiki.oxidforge.org/Tutorials/widgets_from_4.8_5.1

Reducing the language files
Language files got cleaned up. Duplicates were removed where possible, some translations were changed, and keys got some of their spelling fixed. After these changes, all template related keys from Azure were moved to /application/translations/{locale}/lang.php. The template related file can still be found in /application/views/azure/{locale}/lang.php and can be used. Overall, the amount of language constants could be reduced by approx. 20%.

Streamlined language mapping
For OXID eShop version 5.1, the map usages were removed from all templates to avoid confusion. The heavy usage of maps cluttered the system and it became hard to track all the changes and translation usages. The functionality is still there and can be used if you feel fancy; you'll find more information here: http://wiki.oxidforge.org/Tutorials/Language_handling#Language_key_mapping_-_what_is_map.php

Solution for punctuation such as colons
Sometimes there‘s a need to have a punctuation mark at the end of a language key translation (e.g. „:“, „...“, „.“ and others). Previously such occurencies had their own translations, for example "more" and "more..." with different language keys. From OXID eShop version 5.1 on, the suffix functionality was added. It allows the user to add any punctuation mark to his translation, and so to use it multilingual.

Example usage:

[{ oxmultilang ident="EMAIL" suffix="COLON"}]

Another way to add colon is via the Smarty modifier „colon“. Example usage:

head="CUSTOMERS_ALSO_BOUGHT"|oxmultilangassign|colon

Using arguments in translations
There is a possibility to use variables with arguments in translations. To use them, you need to know how sprintf or vsprintf methods work and pass the parameters accordingly. Example usage:

[{ oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key }],

translation:

'VAT_PLUS_PERCENT_AMOUNT' =&gt; "plus VAT %s%% Amount",

%s is replaced with $key value. To use translations with multiple arguments, you have to pass an array as „args“ parameter. Example:

[{assign_adv var="invite_array" value="array ( '0' =&gt; '$sender_name', '1' =&gt; '$shop_name' )"}] [{ oxmultilang ident="INVITE_TO_SHOP" args=$invite_array }]

translation:

'INVITE_TO_SHOP' =&gt; "An invitation from %s to visit %s",

The array here is formed in smarty, but it is possible to form the array in the controller, and pass it to the template. When using „oxmultilangassign“, you can use translations with arguments too. Example usage:

[{assign var="_statusMessage" value="THANK_YOU_MESSAGE"|oxmultilangassign:$oxcmp_shop-&gt;oxshops__oxname-&gt;value}]

Helper script to fix language changes
We prepared a script that might be helpful for you to update your templates by the language changes. Please carefully read the README file. You will find this script here: https://github.com/OXIDprojects/languageFixer

Also this script is included in eShop update script.

A new message shall appear for the payment method "Cash On Delivery"
It is possible to display a message in the fourth checkout step if the payment method "Cash On Delivery" was selected. This message will inform purchasers that there might be an additional fee for this payment method. This message can be disabled at the admin panel -&gt; 'Master Settings' -&gt; 'Core Settings' -&gt; 'Settings' -&gt; 'Order, and can be edited via Customer Info' -&gt; 'CMS Pages (edit the CMS page with the ID 'oxtscodmessage'). By default, this feature is enabled in OXID eShop.

New message for international delivery
It is possible to display a message in the fourth checkout step. This message will inform the purchaser that there might be additional fees if the goods will be shipped abroad. This message can be disabled in the admin panel -&gt; 'Master Settings' -&gt; 'Core Settings' -&gt; 'Settings' -&gt; 'Order'. The text of this message can be edited via Customer Info' -&gt; 'CMS Pages (edit the CMS page with the ID 'oxtsinternationalfees'). By default this feature is enabled in OXID eShop.

Simply switch the position of the currency sign
The new feature "Price formater" announced in OXID eShop version 4.7.8/5.0.8 is now ready to use as the template changes were made in this major release.

Price formater is a smarty plugin capable easily switch the display of the currency sign to front of the value without the need to change all affected templates. Example: "$17.00" instead of "17.00 $". Usage in template:

Also to price parameter can be passed simple float variable, instead of oxPrice object.

To Currency parameter should be passed hole currency object. Price setup define in admin: Master settings-&gt;Core settings-&gt;settings-&gt;Other settings-&gt;Add remove currencies. Format examples:

Implemented Trustbadge
If your shop is certified by Trusted Shops, you most likely want to show as much as possible information about it at a dedicated place. Trusted Shops offers a good solution for that: the Trustbadge that opens at mouse over on the Trusted Shops seal in the bottom right corner.

Define your own logo in config.inc.php
During the bug fix #5402, the new config option sShopLogo was introduced for defining a custom logo image file. Usage: add the following code to config.inc.php and upload your_own_image.jpg to /out/azure/img/:

= Important information for developers =


 * thankyou::showFinalStep is deprecated
 * oxarticle has got "iStockStatusOnLoad", oxarticle::updateSoldAmount has been adapted
 * oxbasket: formatted price methods are deprecated. New methods:
 * oxbasket::getPaymentCost, oxbasket::getWrappingCost, oxbasket::getGiftCardCost,
 * oxbasket::getDeliveryCost, oxbasket::getTrustedShopProtectionCost, oxbasket::getMinOrderPrice
 * oxbasket::getMinOrderPrice
 * oxcontent has got get+set methods for the category
 * email/html/sendenow.tpl -&gt; email/html/ordershipped.tpl
 * new method: oxmodulelist::getModules displays the aModules array from oxconfig
 * new method: oxSession::isActualSidInCookie checks if a cookie with a sessionID is existing
 * oxUtils::toFileCache has got a new parameter TTL (time to live)
 * new method: uxUtilsUrl::stringToParamsArray "&amp;" and "&amp;amp;" can be used as delimiters
 * new methods: oxView::isBetaVersion, oxView::isRCVersion, oxView::showBetaNote, oxView::getSidForWidget
 * new methods: oxViewConfig::getTsRatings, oxViewConfig::getShopLogo, oxViewConfig::setShopLogo
 * jQuery was updated to version 1.8.2
 * jQuery UI was updated to version 1.9.1
 * new models: oxcurl, oxdiagnostics, oxdiagnosticsoutput, oxfilechecker, oxfilecheckerresult, oxfilecollector, oxsmartyrenderer, oxtsratings
 * new core classes: oxonlinemoduleversionnotifier, oxsepavalidator, oxsimplexml, oxsystemeventhandler, oxutilsxml