Downloads/4.1.6

= Download =


 * http://www.oxidforge.org/wiki/download/OXID_ESHOP_CE_4.1.6_22740.zip|Download the full package OXID eShop CE 4.1.6|full|CE/22740|1
 * Simple update package
 * http://www.oxidforge.org/wiki/download/PATCH_OXID_ESHOP_CE_V.4.1.5_21618_TO_V.4.1.6_22740.zip|Patch for CE 4.1.5 to CE 4.1.6 |patches|CE/21618-22740|1

= General hints for this package =


 * The issue #0001272 was resolved by using '&amp;amp;lang=' instead of '&amp;lang=' to prevent broken characters. Please check content edited with WYSIWYG editor in eShop admin (article long descriptions, categories long descriptions, CMS) using the Firefox browser.


 * Added config option "sGiCsvFieldEncloser" (Encloser for Im/Export). Admin -&gt; Master Settings -&gt; Core Settings -&gt; Settings -&gt; Other Settings -&gt; CSV-Encloser for Im/Export Admin -&gt; Service -&gt; Generic Import -&gt; Fields enclosed by


 * Added config option "blCheckForUpdates" to admin and setup. Shop will be checked for a new version in admin home page only if this option is checked. See #0001316 Admin -&gt; Master Settings -&gt; Core Settings -&gt; Settings -&gt; Administration -&gt; Check for available updates regularly

= Installation =

See http://www.oxid-esales.com/en/resources/help-faq/eshop-manual/update-one-release-another

= Templates =

Some admin templates as well as lang files in admin and in front end had slightly to be changed. For detailled information and differences, see "/templ_docu/index.html" in your update package.

= Fixed Bugs =


 * 0001276: [Order processing] If product is "If out out stock, offline" and remaining stock is ordered, "Shp offline" error is shown in Order step 5
 * 0001311: [Order processing] Shop offline error when product is out of stock and Econda is active
 * 0001300: [Order processing] Orders are processed with status ERROR when webmiles are installed in eshop
 * 0001298: [Order processing] "Skip all negative Discounts" + "Min. Order Price" = not working
 * 0001302: [Caching] The cache is not reset when any change made in admin using AJAX lists
 * 0001235: [Caching] language files not cached on a per theme basis
 * 0001182: [Admin area] clear cache of categorys displays 'headers already sent'
 * 0001245: [Admin area] Error occurs when trying to send Newsletter
 * 0001322: [Admin area] After Save in Main tab (core settings) - not possible changing the language in Main and SEO tabs
 * 0001220: [Admin area] display of statistics is not correct for search words etc.
 * 0001094: [Admin area] not resize images after upload
 * 0001316: [Admin area] When "Load additional Information from OXID server" is switched off, the shop still checks for newer version
 * 0001282: [Admin area] Performance problems: switching tabs in admin
 * 0001113: [Categories] Category tree loading performance
 * 0001306: [Categories] Selecting active categories will not be checked if parent categories are active
 * 0001241: [Categories] Newsletter can't generate, if articles are assigned to newsletter actions
 * 0001272: [Content &amp; CMS pages] Password forgotten link does not work because FireFox corrupts character in oxupdatepassinfoplainemail
 * 0001176: [Content &amp; CMS pages] Logout from CMS page
 * 0001305: [Coupons] voucher ignores foreign currencies Min. Order Sum
 * 0001234: [Languages] language specified domain (with own ssl certificate) loses language selection, if ssl will be actived
 * 0001291: [Languages] empty basket after language was changed under SSL
 * 0001294: [Listmania] Not able to create new recommlist after deleting one
 * 0001270: [Payment Methods] not defined array causes warnings in oxorder class - reason: no dynvalue array at payment creditcard
 * 0001286: [Products] inactive articles can be bought using tobasket-link
 * 0001304: [SEO] if blSessionUseCookies is off sid is not appended to listmania links
 * 0001255: [SEO] "-oxid" is added to url for new CMS because content of previous CMS was not deleted from DB

... and about 100 more fixed bugs.

You may find the complete list of bugfixes in our bugtracking system: https://bugs.oxid-esales.com/changelog_page.php.

= New Features =

No new features in this revision.

= Important information for developers =


 * Due to bug #0001219 oxseo.oxseourl field collation changed from "latin1_general_ci" to "latin1_bin";
 * Due to bug #0000835 added possibility to define 'Auth_OpenID_RAND_SOURCE' (filename for a source of random bytes) parameter in config.inc.php file:

Set this field and its value according to your server configuration.


 * Due to bug #0001159 we added the possibility to define a path on the server where cookies will be stored; an appropriate parameter in config.inc.php should be added:

Please check your server configuration and the PHP documentation for possible pathes.


 * Due to bug #0001241 moved getter getActCategory, getCategoryId and setters setActCategory, setCategoryId from oxubase to oxview class.


 * Due to bug #0000773 added parameter $blDisableLazyLoading to function getArticle in oxbasketitem.php to load full article object.


 * Due to bug #0001306 added parameter $blActCats to function getCategoryIds in oxarticle.php to select only active and visible categories or subcategories.


 * When setting up different domains for each language please be sure that PHP:
 * on each domain is setup to share same session info (same session save path);
 * session cryption mode is the same on each domain;


 * Due to bug #0001115 added parameter $blCheckProduct to function getArticle in oxbasketitem.php do not check article visibility.


 * Im/Export config option "sGiCsvFieldTerminator" was set as deprecated, instead option "sCSVSign" will be used.
 * Removed oxarticle::_removeInactiveVariants method, which was usually called in oxarticle::getVariants, instead variants are filtered by SQL query while loading variants list. Query/filter is build by new methods:
 * oxarticle::getActiveCheckQuery - returns part of query used in active snippet; query checks if product "oxactive = 1"; if config option "blUseTimeCheck" is TRUE additionally checks if "oxactivefrom &lt; current date &lt; oxactiveto"
 * oxarticle::getVariantsQuery - returns part of query which checks if product is variant of current product; if config option "blUseStock" is TRUE checks stock state "( oxstock &gt; 0 or ( oxstock &lt;= 0 and ( oxstockflag = 1 or oxstockflag = 4 ) )"