79 Commits

Author SHA1 Message Date
dlage
b4c4068e41 [-] BO : fixed bug loading wrong root category in AdminCategoriesController
Fix wrong root category being loaded.
There's an issue if you activate multishop and create a new root category which loads the wrong category and causes, at least, 'Add new Category' and 'Export' in AdminCategories to redirect back to the category list (e.g. impossible to add/remove categories).
2013-12-11 01:38:05 +00:00
Vincent Augagneur
fd1050b0db //tab module list fix 2013-12-10 09:43:15 +01:00
Gregory Roussac
5b809ec536 Merge pull request #1108 from Gamesh/patch-1
[-] FO : filesize returns negavite int for realy large files
2013-12-08 08:50:09 -08:00
Gamesh
02fd940124 filesize returns negavite int for realy large files
this will cast to unsigned int that will allow to display correct file size up about 4 gigabytes
2013-12-06 21:18:52 +02:00
rGaillard
134914dc1a // invisible char 2013-12-05 18:13:45 +01:00
rGaillard
d8a1dca660 // demo mode 2013-11-29 17:00:50 +01:00
rGaillard
10fa987832 // small fix 2013-11-29 15:11:49 +01:00
Jérôme Nadaud
58da52b808 Merge pull request #1047 from djfm/development
Localization Packs
2013-11-28 03:26:04 -08:00
rGaillard
0585b8d723 // small fix 2013-11-28 11:29:27 +01:00
Jérôme Nadaud
ccc388fab9 Merge pull request #1044 from prestamodule/development
Mail translation methods fix & template translation fix
2013-11-28 00:08:54 -08:00
fram
dbd5f9d32f // added country name to Tunisia localization pack 2013-11-27 10:44:46 +01:00
fram
27397ab839 // updated Slovenia VAT rate 2013-11-27 10:39:44 +01:00
fram
11f530b54f // updated Singapore localization pack 2013-11-27 10:34:59 +01:00
fram
6c271e037c // corrected spelling of Saudi Arabia 2013-11-27 10:27:52 +01:00
fram
964a0a4601 // updated Poland VAT rate 2013-11-27 10:20:04 +01:00
fram
9737709ee6 // added country name to Philippines localization pack 2013-11-27 10:12:02 +01:00
fram
70144c7cef // added country name to Peru localization pack 2013-11-27 10:11:05 +01:00
fram
0442da817c // added country name to Panama localization pack 2013-11-27 10:07:14 +01:00
fram
9d63514220 // updated Norway VAT rate 2013-11-27 10:00:04 +01:00
rGaillard
13061bdc04 [-] Core: update cartrule feature active on cartrule updating 2013-11-26 18:04:57 +01:00
Vincent Augagneur
5150a3fc4c [-] MO : fixed bug #PSCFV-9642 - Slider does not scroll when define language from right to left 2013-11-26 15:20:44 +01:00
fram
4ab4e19d20 // updated Latvia VAT rate 2013-11-26 12:32:45 +01:00
fram
023be78690 // updated Liechtenstein VAT rate 2013-11-26 12:28:38 +01:00
fram
55c329c16e // updated Kenya VAT rate 2013-11-26 11:54:51 +01:00
fram
b951c2809c // updated Jersey VAT rate 2013-11-26 11:47:34 +01:00
prestamodule
2b37db629e - Fix english translation for backoffice_order template
Signed-off-by: hadjedjvincent <v.hadjedj@presta-module.com>
2013-11-26 11:23:33 +01:00
prestamodule
d064be1587 - Fix multiple translations in a same process for different id_lang
If id_lang are mixed (1, 2, 3, 1, 4, 2...) the translations aren't correctly populated from the theme lang.php override if include_once is used.
include must be used in order to handle mixed id_lang in a same process.

Signed-off-by: hadjedjvincent <v.hadjedj@presta-module.com>
2013-11-26 11:22:57 +01:00
gRoussac
2a1c991612 [-] BO : Undefined on image upload, revert of 48b7a49b1a 2013-11-25 22:56:50 +01:00
Jérôme Nadaud
fa059751fc Merge pull request #1032 from djfm/development
// updated Italian VAT rate
2013-11-25 09:48:47 -08:00
fram
6284c55e2a // updated Italian VAT rate 2013-11-25 18:42:17 +01:00
Rémi Gaillard
81f05b9db3 Merge pull request #780 from MyBB-Services/dev/gb/sqlmanagergroupby
[*] BO : Allow complex GROUP BY in SQL Manager
2013-11-25 08:21:23 -08:00
Rémi Gaillard
09b5d3a0b8 Merge pull request #863 from Prestaworks/patch-15
// Update GuestTrackingController.php
2013-11-25 07:52:57 -08:00
Jérôme Nadaud
754ba06a39 Merge pull request #1030 from ccauw/patch-13
[-] BO : Double separator in function createTemplate()
2013-11-25 05:18:28 -08:00
Jérôme Nadaud
2129aebac0 Update CONTRIBUTING.md 2013-11-25 14:17:49 +01:00
ccauw
04760c91e5 [-] BO : Double separator in function createTemplate()
smarty->getTemplateDir() returns a result ending with a separator,
so no need to add DIRECTORY_SEPARATOR ?
2013-11-25 14:13:10 +01:00
Damien Metzger
2eb620267c Merge pull request #835 from axometeam/patch-20
// Fixed potential issue with textarea
2013-11-25 02:35:23 -08:00
Damien Metzger
a932ba512a Merge pull request #846 from sebastienhouzet/patch-2
[-] MO : Fix add truncate tag in pscleaner
2013-11-25 02:13:06 -08:00
gRoussac
d14fcf169a [-] IN : bad reset on vars in migrate_orders 2013-11-21 17:10:19 +01:00
gRoussac
d6e52bdecb Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-21 14:20:00 +01:00
gRoussac
3ab28374e6 [-] BO : Remove warning with open_basdir on module list 2013-11-21 14:17:55 +01:00
Fabio Chelly
5f47526ed2 [-] FO : Fixed bug #PSCFV-11076 2013-11-21 12:13:30 +01:00
Jérôme Nadaud
033bf745cd Merge pull request #1000 from studiokiwik/sk-ps15x-011
"---<br />" string is now removed correctly from the end of customization data text
2013-11-21 00:14:28 -08:00
Gregory Roussac
6d0de6e29e Merge pull request #1003 from priyank/patch-1
[-] FO : Homefeatured adding a position order by clause.
2013-11-20 07:29:19 -08:00
Priyank Bolia
0ff7163cba Adding a position order by clause.
Adding a position order by clause. This way you can manage how the featured products will display on home page. You can manage the order from the PrestaShop backend, and thus you have full control on the display in the frontend.
2013-11-20 20:56:35 +05:30
gRoussac
914f613e7b [-] FO : Fix bug #PSCFV-11052 no carrier fess whne tax display to false 2013-11-20 15:32:33 +01:00
gRoussac
5ef392aaeb [-] FO : Fix #PSCFV-11069 remove unused file 2013-11-20 14:44:56 +01:00
Quentin Montant
0410378bd3 "---<br />" string is now removed correctly from the end of customization data text 2013-11-20 13:30:47 +01:00
Quentin Montant
1508a8a5d7 "---<br />" string is now removed correctly from the end of customization data text 2013-11-20 11:31:02 +01:00
Damien Metzger
33b8703d24 // Changelog 1.5.6.1 2013-11-20 09:43:06 +01:00
Jerome Nadaud
e02b5d5c11 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
Conflicts:
	admin-dev/themes/default/template/helpers/list/list_header.tpl
2013-11-18 18:39:25 +01:00
Jerome Nadaud
6be883217e [-] BO : FixBug #PNM-1594 - Double selected option value 2013-11-18 18:36:30 +01:00
Rémi Gaillard
10e0205cb8 Merge pull request #992 from djfm/development
// fixed typo in Russian installer
2013-11-18 06:40:31 -08:00
Rémi Gaillard
4cba2623e5 Merge pull request #926 from djfm/loc_ui
//Localization
2013-11-18 06:32:34 -08:00
Rémi Gaillard
618aa24f74 Merge pull request #945 from Javsmile/patch-2
// Update productcomments.php
2013-11-18 06:30:59 -08:00
fram
0889ab4eec // fixed typo in Russian installer 2013-11-18 15:30:05 +01:00
gRoussac
6633efd27d [-] BO : Fix bug #PNM-1594, selected value error in helper list 2013-11-18 15:11:49 +01:00
gRoussac
8d627aa522 [-] MO : Referralprogram Prevent Exception when badly configured 2013-11-18 14:58:17 +01:00
Jerome Nadaud
bcc851c98c // Update image fix 2013-11-18 14:44:23 +01:00
gRoussac
dbc08d779c // typo, sorry about this 2013-11-18 14:35:39 +01:00
gRoussac
22a9548f83 [-] FO : Fix bug #PSCFV-11043, bad cache id from module template 2013-11-18 14:32:34 +01:00
gRoussac
4771746959 [-) FO : Fix bug #PSCFV-10926, trailing question mark in pagination url 2013-11-18 12:26:08 +01:00
rGaillard
bd241a9c48 [-] BO: product price was changed on changing to advanced stock management #PSCFV-10996 2013-11-18 12:04:09 +01:00
Jérôme Nadaud
8166bb662c Merge pull request #984 from soware/development
Update form.tpl
2013-11-18 01:01:00 -08:00
Jerome Nadaud
113f8d4efb Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development 2013-11-18 09:55:37 +01:00
Jerome Nadaud
11296fe464 // Small Fix in truncateString function 2013-11-18 09:55:21 +01:00
Gregory Roussac
017ef4860e Merge pull request #987 from davyrolink/fixed_toolbar_tpl
[*] BO : multiple toolbars save button
2013-11-18 00:54:48 -08:00
Gregory Roussac
21319ca32c Merge pull request #988 from dlage/fix_jquery_ui_autocomplete
[-] Project : missing ui.menu in jquery_ui_dependencies.
2013-11-17 14:44:47 -08:00
gRoussac
cef406aef2 [*] FO : DNI can be not required 2013-11-17 23:35:56 +01:00
gRoussac
7e841c4448 [-] FO : Missing sup for DNI field 2013-11-17 22:36:51 +01:00
gRoussac
1cbc765a8f [-] IN : Bad flag in add_module_to_hook 2013-11-17 20:42:29 +01:00
692643d7d6 [-] Project : missing ui.menu in jquery_ui_dependencies. 2013-11-16 17:42:54 +00:00
Davy Rolink
cd58c0968b Fixed admin toolbar save button javascript actions, problem occurred when there were multiple toolbars on one page 2013-11-16 14:59:37 +01:00
soware
e5f0bcb916 Update form.tpl
I removed the line 109 because the price tab problem and because this line is redundant. The first show (line 95) always is executed.
If the price is saved twice, the second the div #product-tab-content-wait never is hided and show the loading forever.
It is because the line 109 show this tab again, in the sequence: show (line 95), hide (line 213), show (line 109).
This happening just for price tab.
2013-11-16 00:37:47 -02:00
Javsmile
99ad6481e6 Update productcomments.php
This little addition fix the problem for enlight the stars in the hookproductTab whe you disable or make an exception of the hookproductOutOfStock with the product file.
2013-11-07 17:53:47 +01:00
fram
4b0b5cf4da // added an option not to override the local localization pack when installing a localization pack 2013-11-05 12:08:14 +01:00
Daniel
8053604005 Update GuestTrackingController.php
Fixed issue with retrocompatibility where the ->getFirst() caused a 505 error on the order_collection when a collection class was not loaded.
2013-10-21 19:40:47 +08:00
Sébastien
5abd93e619 [-] MO : Fix add truncate tag 2013-10-15 21:38:10 +02:00
Axome
eff3f6f713 A new version of my precedent pull-request
when you have some tags with attributes ( like img, ... )
2013-10-11 16:52:14 +02:00
Grégoire Bélorgey
dbc5c4301f [*] BO : Allow complex GROUP BY in SQL Manager 2013-10-02 10:31:41 +02:00
68 changed files with 689 additions and 444 deletions

View File

@@ -1,7 +1,7 @@
Contributing
------------
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the development branch.
PrestaShop is an open-source e-commerce solution - To contribute to our project, you can make pull requests on the bootstrap branch.
If you need some help to make a [pull-request][1]
All contributions must respect [the coding norm][2] and [the commit norm][3] in your pull-request.
All core files you commit in your pull request must have Open Software License (OSL 3.0)

View File

@@ -1,161 +1,186 @@
- adonis karavokyros
- aFolletete
- Agence CINS
- aKorczak
- Alexander Otchenashev
- anat
- Andrew
- aNiassy
- antoniofr
- AntonLejon
- Arnaud Lemercier
- Axome
- Benjamin PONGY
- BigZ
- bLeveque
- bMancone
- bumbu
- Burhan
- Caleydon Media
- cam.lafit
- Captain FLAM
- Captain-FLAM
- ccauw
- Cédric Mouleyre
- ChristopheBoucaut
- CINS
- cippest
- cmouleyre
- Corentin Delcourt
- Cosmin Hutanu
- Damien Metzger
- DamienMetzger
- Damon Skelhorn
- Daniel
- David Gasperoni
- Davy Rolink
- djfm
- dlage
- dMetzger
- (d)oekia
- Dragan Skrbic
- dreammeup
- DrySs
- DrÿSs
- DrÿSs'
- dSevere
- Edouard Gaulué
- emily-d
- Fabio Chelly
- fBrignoli
- fram
- Francois Gaillard
- François Gaillard
- Fran?s Gaillard
- fSerny
- Gabriel Schwardy
- gBrunier
- gCharmes
- gPoulain
- gr4devel
- Grégoire Bélorgey
- Gregory Roussac
- gRoussac
- Guillaume DELOINCE
- ha99y
- hAitmansour
- Ha!*!*y
- indesign47
- inem0o
- ivancasasempere
- jBreux
- jeckyl
- jeromenadaud
- Jerome Nadaud
- Jérôme Nadaud
- jessylenne
- jmCollin
- jObregon
- Jonathan Danse
- joseantgv
- Julien
- Kevin Granger
- kpodemski
- Krystian Podemski
- lBrieu
- lCherifi
- ldecoker
- lLefevre
- LOIC ROSSET ltd
- makk1ntosh
- marcinsz101
- Marco Cervellin
- matiasiglesias
- Mats Rynge
- MatthieuB
- Maxence
- mBertholino
- mDeflotte
- Michel Courtade
- Milow
- minic studio
- misthero
- mMarinetti
- montes
- nezenmoins
- Nicolas Sorosac
- Nils-Helge Garli Hegvik
- nPellicari
- nturato
- oleacorner
- Otto Nascarella
- Patanock
- PhpMadman
- Pierre
- Piotr Kaczor
- Piotr Mocko
- PrestaEdit
- prestarocket
- Prestaspirit
- pxls
- Raphaël Malié
- raulgundin
- Rémi Gaillard
- rGaillard
- Rimas Kudelis
- rMalie
- rMontagne
- romainberger
- root
- runningz
- sagaradonis
- Samy Rabih
- Sarah Lorenzini
- Seb
- Sébastien
- Sébastien Bocahu
- Seynaeve
- Shagshag
- sjousse
- sLorenzini
- smartdatasoft
- soufyan
- soware
- Staging
- sThiebaut
- Sylvain WITMEYER
- tDidierjean
- unknown
- vAugagneur
- vChabot
- Vincent Augagneur
- Vincent Schoener
- Vincent Terenti
- vinvin27
- vKham
- vSchoener
- Xavier
- Xavier POITAU
- Yoozio
- zimmi1
- adonis karavokyros
- aFolletete
- Agence CINS
- aKorczak
- Aleksander Palyan
- Alexander Otchenashev
- anat
- Andrew
- aNiassy
- antoniofr
- AntonLejon
- Arnaud Lemercier
- Axome
- Benjamin PONGY
- BigZ
- bLeveque
- bMancone
- bumbu
- Burhan
- Caleydon Media
- cam.lafit
- Captain FLAM
- Captain-FLAM
- ccauw
- cedricfontaine
- Cédric Mouleyre
- Chris
- ChristopheBoucaut
- CINS
- cippest
- cmouleyre
- Corentin Delcourt
- Cosmin Hutanu
- Damien Metzger
- DamienMetzger
- Damon Skelhorn
- Daniel
- Daniele Giachino
- David Gasperoni
- Davy Rolink
- Dinis Lage
- djfm
- dlage
- dMetzger
- (d)oekia
- Dragan Skrbic
- dreammeup
- DrySs
- DrÿSs
- DrÿSs'
- dSevere
- Edouard Gaulué
- emily-d
- Eric Le Lay
- Fabio Chelly
- fBrignoli
- fchellypresta
- fram
- Francois Gaillard
- François Gaillard
- Fran<EFBFBD>ois Gaillard
- fSerny
- Gabriel Schwardy
- Gaelle ITZKOVITZ
- gBrunier
- gCharmes
- gPoulain
- gr4devel
- Grégoire Bélorgey
- Gregory Roussac
- gRoussac
- Guillaume DELOINCE
- ha99y
- hAitmansour
- Ha!*!*y
- indesign47
- inem0o
- ivancasasempere
- Jáchym Toušek
- Javsmile
- jBreux
- jeckyl
- jeromenadaud
- Jerome Nadaud
- Jérôme Nadaud
- jessylenne
- jmCollin
- jObregon
- Jonathan Danse
- joseantgv
- Julien
- Kevin Granger
- kiropowered
- kpodemski
- Krystian Podemski
- lBrieu
- lCherifi
- ldecoker
- lLefevre
- LOIC ROSSET ltd
- Madef
- Mainmich
- makk1ntosh
- marcinsz101
- Marco Cervellin
- matiasiglesias
- Mats Rynge
- MatthieuB
- Maxence
- mBertholino
- mDeflotte
- Michel Courtade
- Mickael Desgranges
- Mikael Blotin
- Milow
- minic studio
- misthero
- mMarinetti
- montes
- MustangZhong
- nezenmoins
- Nicolas Sorosac
- Nils-Helge Garli Hegvik
- Nino Uzelac
- nPellicari
- nturato
- oleacorner
- Otto Nascarella
- Patanock
- PhpMadman
- Pierre
- Piotr Kaczor
- Piotr Moćko
- PrestaEdit
- PrestaLab
- PrestanceDesign
- prestarocket
- Prestaspirit
- pxls
- Raphaël Malié
- raulgundin
- Rémi Gaillard
- rGaillard
- Rimas Kudelis
- rMalie
- rMontagne
- romainberger
- root
- runningz
- sagaradonis
- Samy Rabih
- Sarah Lorenzini
- Seb
- Sébastien
- Sébastien Bocahu
- Seynaeve
- Shagshag
- sjousse
- sLorenzini
- smartdatasoft
- soufyan
- soware
- Staging
- sThiebaut
- Sylvain Gougouzian
- Sylvain WITMEYER
- tDidierjean
- thoma202
- Tomasz Slominski
- Tom Panier
- tucoinfo
- unknown
- vAugagneur
- vChabot
- Vincent Augagneur
- Vincent Schoener
- Vincent Terenti
- vinvin27
- vKham
- vSchoener
- Xavier
- Xavier POITAU
- Yoozio
- zimmi1
- Zollner Robert

View File

@@ -23,10 +23,6 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<div class="width4">
{if isset($localization_form)}{$localization_form}{/if}
</div>
{if isset($localization_form)}{$localization_form}{/if}
<br />
<div class="width4">
{if isset($localization_options)}{$localization_options}{/if}
</div>
{if isset($localization_options)}{$localization_options}{/if}

View File

@@ -106,7 +106,6 @@
$(document).ready(function()
{
$('#product-tab-content-wait').show();
//product_type = $("input[name=type_product]:checked").val();
if (product_type == product_type_pack)
{

View File

@@ -28,7 +28,7 @@
<div class="lang_{$language.id_lang}" style="{if !$language.is_default}display:none;{/if}float: left;">
<textarea cols="100" rows="10" id="{$input_name}_{$language.id_lang}"
name="{$input_name}_{$language.id_lang}"
class="autoload_rte" >{if isset($input_value[$language.id_lang])}{$input_value[$language.id_lang]|htmlentitiesUTF8}{/if}</textarea>
class="autoload_rte" >{if isset($input_value[$language.id_lang])}{$input_value[$language.id_lang]|htmlentitiesUTF8|replace:'\r\n':''|replace:'\&quot;':'&quot;'}{/if}</textarea>
<span class="counter" max="{if isset($max)}{$max}{else}none{/if}"></span>
<span class="hint">{$hint|default:''}<span class="hint-pointer">&nbsp;</span></span>
</div>

View File

@@ -103,7 +103,7 @@
<select name="{$list_id}_pagination" onchange="submit()">
{* Choose number of results per page *}
{foreach $pagination AS $value}
<option value="{$value|intval}"{if $selected_pagination == $value} selected="selected" {elseif $selected_pagination == NULL && $value == $pagination[1]} selected="selected2"{/if}>{$value|intval}</option>
<option value="{$value|intval}"{if $selected_pagination == $value && $selected_pagination != NULL} selected="selected"{elseif $selected_pagination == NULL && $value == $pagination[1]} selected="selected2"{/if}>{$value|intval}</option>
{/foreach}
</select>
/ {$list_total} {l s='result(s)'}
@@ -188,8 +188,8 @@
{if $params.type == 'bool'}
<select onchange="$('#submitFilterButton{$list_id}').focus();$('#submitFilterButton{$list_id}').click();" name="{$list_id}Filter_{$key}">
<option value="">-</option>
<option value="1" {if $params.value == 1} selected="selected" {/if}>{l s='Yes'}</option>
<option value="0" {if $params.value == 0 && $params.value != ''} selected="selected" {/if}>{l s='No'}</option>
<option value="1"{if $params.value == 1} selected="selected"{/if}>{l s='Yes'}</option>
<option value="0"{if $params.value == 0 && $params.value != ''} selected="selected"{/if}>{l s='No'}</option>
</select>
{elseif $params.type == 'date' || $params.type == 'datetime'}
{l s='From'} <input type="text" class="filter datepicker" id="{$params.id_date}_0" name="{$params.name_date}[0]" value="{if isset($params.value.0)}{$params.value.0}{/if}"{if isset($params.width)} style="width:70px"{/if}/><br />
@@ -197,10 +197,10 @@
{elseif $params.type == 'select'}
{if isset($params.filter_key)}
<select onchange="$('#submitFilterButton{$list_id}').focus();$('#submitFilterButton{$list_id}').click();" name="{$list_id}Filter_{$params.filter_key}" {if isset($params.width)} style="width:{$params.width}px"{/if}>
<option value="" {if $params.value == ''} selected="selected" {/if}>-</option>
<option value=""{if $params.value == ''} selected="selected"{/if}>-</option>
{if isset($params.list) && is_array($params.list)}
{foreach $params.list AS $option_value => $option_display}
<option value="{$option_value}" {if $option_display == $params.value || $option_value == $params.value} selected="selected"{/if}>{$option_display}</option>
<option value="{$option_value}" {if $params.value != '' && ($option_display == $params.value || $option_value == $params.value)} selected="selected"{/if}>{$option_display}</option>
{/foreach}
{/if}
</select>

View File

@@ -23,7 +23,7 @@
* International Registered Trademark & Property of PrestaShop SA
*}
<div class="toolbar-placeholder">
<div id="{$table}_toolbar" class="toolbar-placeholder">
<div class="toolbarBox {if $toolbar_scroll}toolbarHead{/if}">
{block name=toolbarBox}
<ul class="cc_button">
@@ -52,7 +52,7 @@
var modules_list_loaded = false;
$(function() {
//get reference on save link
btn_save = $('span[class~="process-icon-save"]').parent();
btn_save = $('#{$table}_toolbar span[class~="process-icon-save"]').parent();
//get reference on form submit button
btn_submit = $('#{$table}_form_submit_btn');
@@ -93,6 +93,9 @@
//submit the form
{block name=formSubmit}
btn_save.click(function() {
// Vars
var btn_submit = $('#{$table}_form_submit_btn');
// Avoid double click
if (submited)
return false;

View File

@@ -99,6 +99,7 @@ class AddressFormatCore extends ObjectModel
'outstanding_allow_amount',
'call_prefix',
'definition',
'debug_list'
);
public static $forbiddenClassList = array(

View File

@@ -132,7 +132,12 @@ class CartRuleCore extends ObjectModel
public function update($null_values = false)
{
Cache::clean('getContextualValue_'.$this->id.'_*');
return parent::update($null_values);
if (!parent::update($null_values))
return false;
Configuration::updateGlobalValue('PS_CART_RULE_FEATURE_ACTIVE', CartRule::isCurrentlyUsed($this->def['table'], true));
return true;
}
/**

View File

@@ -510,6 +510,7 @@ class LinkCore
public function goPage($url, $p)
{
$url = rtrim(str_replace('?&', '?', $url), '?');
return $url.($p == 1 ? '' : (!strstr($url, '?') ? '?' : '&amp;').'p='.(int)$p);
}

View File

@@ -372,11 +372,11 @@ class MailCore
$file_core = _PS_ROOT_DIR_.'/mails/'.$iso_code.'/lang.php';
if (Tools::file_exists_cache($file_core) && empty($_LANGMAIL))
include_once($file_core);
include($file_core);
$file_theme = _PS_THEME_DIR_.'mails/'.$iso_code.'/lang.php';
if (Tools::file_exists_cache($file_theme))
include_once($file_theme);
include($file_theme);
if (!is_array($_LANGMAIL))
return (str_replace('"', '&quot;', $string));

View File

@@ -37,9 +37,10 @@ class MediaCore
'ui.selectable' => array('fileName' => 'jquery.ui.selectable.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.mouse'), 'theme' => true),
'ui.sortable' => array('fileName' => 'jquery.ui.sortable.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.mouse'), 'theme' => true),
'ui.accordion' => array('fileName' => 'jquery.ui.accordion.min.js', 'dependencies' => array('ui.core', 'ui.widget'), 'theme' => true),
'ui.autocomplete' => array('fileName' => 'jquery.ui.autocomplete.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.position'), 'theme' => true),
'ui.autocomplete' => array('fileName' => 'jquery.ui.autocomplete.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.position', 'ui.menu'), 'theme' => true),
'ui.button' => array('fileName' => 'jquery.ui.button.min.js', 'dependencies' => array('ui.core', 'ui.widget'), 'theme' => true),
'ui.dialog' => array('fileName' => 'jquery.ui.dialog.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.position','ui.button'), 'theme' => true),
'ui.menu' => array('fileName' => 'jquery.ui.menu.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.position'), 'theme' => true),
'ui.slider' => array('fileName' => 'jquery.ui.slider.min.js', 'dependencies' => array('ui.core', 'ui.widget', 'ui.mouse'), 'theme' => true),
'ui.tabs' => array('fileName' => 'jquery.ui.tabs.min.js', 'dependencies' => array('ui.core', 'ui.widget'), 'theme' => true),
'ui.datepicker' => array('fileName' => 'jquery.ui.datepicker.min.js', 'dependencies' => array('ui.core'), 'theme' => true),

View File

@@ -369,7 +369,8 @@ abstract class PaymentModuleCore extends Module
$customization_text .= sprintf(Tools::displayError('%d image(s)'), count($customization['datas'][Product::CUSTOMIZE_FILE])).'<br />';
$customization_text .= '---<br />';
}
$customization_text = rtrim($customization_text, '---<br />');
$customization_text = Tools::rtrimString($customization_text, '---<br />');
$customization_quantity = (int)$product['customization_quantity'];
$products_list .=

View File

@@ -5278,7 +5278,10 @@ class ProductCore extends ObjectModel
WHERE id_product='.(int)$this->id.Shop::addSqlRestriction()
);
else
{
$this->setFieldsToUpdate(array('advanced_stock_management' => true));
$this->save();
}
}
/**

View File

@@ -85,6 +85,7 @@ class ProductSaleCore
foreach ($products as $product)
$ids[$product['id_product']] = 1;
$ids = array_keys($ids);
$ids = array_filter($ids);
sort($ids);
$ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';
@@ -157,6 +158,7 @@ class ProductSaleCore
$ids[$product['id_product']] = 1;
$ids = array_keys($ids);
sort($ids);
$ids = array_filter($ids);
$ids = count($ids) > 0 ? implode(',', $ids) : 'NULL';
//Main query

View File

@@ -245,9 +245,10 @@ class RequestSqlCore extends ObjectModel
*/
public function cutAttribute($attr, $from)
{
if (preg_match('#^((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))\.((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$#i', $attr))
$matches = array();
if (preg_match('/((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))\.((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$/i', $attr, $matches, PREG_OFFSET_CAPTURE))
{
$tab = explode('.', str_replace(array('`', '(', ')'), '', $attr));
$tab = explode('.', str_replace(array('`', '(', ')'), '', $matches[0][0]));
if (!$table = $this->returnNameTable($tab[0], $from))
return false;
else
@@ -256,9 +257,9 @@ class RequestSqlCore extends ObjectModel
'attribut' => $tab[1],
'string' => $attr);
}
elseif (preg_match('#^((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$#i', $attr))
elseif (preg_match('/((`(\()?([a-z0-9_])+`(\))?)|((\()?([a-z0-9_])+(\))?))$/i', $attr, $matches, PREG_OFFSET_CAPTURE))
{
$attribut = str_replace(array('`', '(', ')'), '', $attr);
$attribut = str_replace(array('`', '(', ')'), '', $matches[0][0]);
if (!$table = $this->returnNameTable(false, $from))
return false;
else

View File

@@ -344,7 +344,7 @@ class ToolsCore
}
/* Automatically detect language if not already defined, detect_language is set in Cookie::update */
if ((!$cookie->id_lang || isset($cookie->detect_language)) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
if ((!$cookie->id_lang && (isset($cookie->detect_language)) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])))
{
$array = explode(',', Tools::strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
$string = $array[0];
@@ -397,6 +397,7 @@ class ToolsCore
|| (($id_lang == $configuration_id_lang) && Validate::isUnsignedId($id_lang) && $id_lang != $cookie_id_lang))
{
$context->cookie->id_lang = $id_lang;
$language = new Language($id_lang);
if (Validate::isLoadedObject($language) && $language->active)
$context->language = $language;
@@ -675,10 +676,8 @@ class ToolsCore
public static function htmlentitiesDecodeUTF8($string)
{
if (is_array($string))
{
$string = array_map(array('Tools', 'htmlentitiesDecodeUTF8'), $string);
return (string)array_shift($string);
}
return array_map(array('Tools', 'htmlentitiesDecodeUTF8'), $string);
return html_entity_decode((string)$string, ENT_QUOTES, 'utf-8');
}
@@ -1222,11 +1221,6 @@ class ToolsCore
'ellipsis' => '...', 'exact' => true, 'html' => true
);
if (isset($options['ending']))
$default['ellipsis'] = $options['ending'];
elseif (!empty($options['html']) && Configure::read('App.encoding') === 'UTF-8')
$default['ellipsis'] = "\xe2\x80\xa6";
$options = array_merge($default, $options);
extract($options);
@@ -2744,6 +2738,20 @@ exit;
}
return $fileAttachment;
}
/**
* Delete a substring from another one starting from the right
* @param string $str
* @param string $str_search
* @return string
*/
public static function rtrimString($str, $str_search)
{
$length_str = strlen($str_search);
if (strlen($str) >= $length_str && substr($str, -$length_str) == $str_search)
$str = substr($str, 0, -$length_str);
return $str;
}
}
/**
@@ -2770,4 +2778,4 @@ function cmpPriceDesc($a, $b)
elseif ((float)$a['price_tmp'] > (float)$b['price_tmp'])
return -1;
return 0;
}
}

View File

@@ -1547,7 +1547,7 @@ class AdminControllerCore extends Controller
if (!empty($country_module_list) && is_string($country_module_list) && $country_module_list_xml = simplexml_load_string($country_module_list))
{
$country_module_list_array = array();
if (is_array($country_module_list_xml->module))
if (isset($country_module_list_xml->module))
foreach ($country_module_list_xml->module as $k => $m)
$country_module_list_array[] = (string)$m->name;
$this->tab_modules_list['slider_list'] = array_intersect($this->tab_modules_list['slider_list'], $country_module_list_array);

View File

@@ -86,9 +86,9 @@ class HelperCore
$override_tpl_path = _PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/_configure/'.$this->override_folder.$this->base_folder.$tpl_name;
else
{
if (file_exists($this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
$override_tpl_path = $this->context->smarty->getTemplateDir(1).DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
else if (file_exists($this->context->smarty->getTemplateDir(0).DIRECTORY_SEPARATOR.'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
if (file_exists($this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name))
$override_tpl_path = $this->context->smarty->getTemplateDir(1).$this->override_folder.$this->base_folder.$tpl_name;
else if (file_exists($this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name))
$override_tpl_path = $this->context->smarty->getTemplateDir(0).'controllers'.DIRECTORY_SEPARATOR.$this->override_folder.$this->base_folder.$tpl_name;
}

View File

@@ -1258,7 +1258,9 @@ abstract class ModuleCore
$modules = scandir(_PS_MODULE_DIR_);
foreach ($modules as $name)
{
if (is_dir(_PS_MODULE_DIR_.$name.DIRECTORY_SEPARATOR) && Tools::file_exists_cache(_PS_MODULE_DIR_.$name.'/'.$name.'.php'))
if (is_file(_PS_MODULE_DIR_.$name))
continue;
elseif (is_dir(_PS_MODULE_DIR_.$name.DIRECTORY_SEPARATOR) && Tools::file_exists_cache(_PS_MODULE_DIR_.$name.'/'.$name.'.php'))
{
if (!Validate::isModuleName($name))
throw new PrestaShopException(sprintf('Module %s is not a valid module name', $name));

View File

@@ -105,7 +105,7 @@ class AdminCategoriesControllerCore extends AdminController
$this->_category = new Category($id_category);
else
{
if (Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP)
if (Shop::getContext() == Shop::CONTEXT_SHOP)
$this->_category = new Category($this->context->shop->id_category);
elseif (count(Category::getCategoriesWithoutParent()) > 1 && Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') && count(Shop::getShops(true, null, true)) != 1)
$this->_category = Category::getTopCategory();

View File

@@ -71,6 +71,7 @@ class AdminCmsCategoriesControllerCore extends AdminController
{
$this->initToolbar();
$this->toolbar_btn['new']['href'] .= '&amp;id_parent='.(int)Tools::getValue('id_cms_category');
$this->initTabModuleList();
return parent::renderList();
}

View File

@@ -120,6 +120,7 @@ class AdminDeliverySlipControllerCore extends AdminController
public function initContent()
{
$this->initTabModuleList();
$this->content .= $this->renderForm().'<br />';
$this->show_toolbar = false;
$this->content .= $this->renderOptions();

View File

@@ -347,15 +347,15 @@ class AdminEmployeesControllerCore extends AdminController
public function postProcess()
{
if (Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee'))
/* PrestaShop demo mode */
if ((Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee') || Tools::isSubmit('submitAddemployee')) && _PS_MODE_DEMO_)
{
/* PrestaShop demo mode */
if (_PS_MODE_DEMO_ && $id_employee = Tools::getValue('id_employee') && (int)$id_employee == _PS_DEMO_MAIN_BO_ACCOUNT_)
{
$this->errors[] = Tools::displayError('This functionality has been disabled.');
return;
}
}
if (Tools::isSubmit('deleteemployee') || Tools::isSubmit('status') || Tools::isSubmit('statusemployee'))
{
if ($this->context->employee->id == Tools::getValue('id_employee'))
{
$this->errors[] = Tools::displayError('You cannot disable or delete your own account.');

View File

@@ -195,6 +195,22 @@ class AdminGendersControllerCore extends AdminController
}
return !count($this->errors) ? true : false;
}
protected function afterImageUpload()
{
parent::afterImageUpload();
if (($id_gender = (int)Tools::getValue('id_gender')) &&
isset($_FILES) && count($_FILES) && file_exists(_PS_GENDERS_DIR_.$id_gender.'.jpg'))
{
$current_file = _PS_TMP_IMG_DIR_.'gender_mini_'.$id_gender.'_'.$this->context->shop->id.'.jpg';
if (file_exists($current_file))
unlink($current_file);
}
return true;
}
}

View File

@@ -145,8 +145,10 @@ class AdminLocalizationControllerCore extends AdminController
if (Validate::isFileName(Tools::getValue('iso_localization_pack')))
{
$pack = @Tools::file_get_contents('http://api.prestashop.com/localization/'.$version.'/'.Tools::getValue('iso_localization_pack').'.xml');
if (Tools::getValue('download_updated_pack') == '1')
$pack = @Tools::file_get_contents('http://api.prestashop.com/localization/'.$version.'/'.Tools::getValue('iso_localization_pack').'.xml');
else
$pack = false;
if (!$pack && !($pack = @Tools::file_get_contents(dirname(__FILE__).'/../../localization/'.Tools::getValue('iso_localization_pack').'.xml')))
$this->errors[] = Tools::displayError('Cannot load the localization pack.');
@@ -264,6 +266,26 @@ class AdminLocalizationControllerCore extends AdminController
'id' => 'id',
'name' => 'name'
)
),
array(
'type' => 'radio',
'label' => $this->l('Download pack data'),
'desc' => $this->l('If set to yes then the localization pack will be downloaded from prestashop.com. Otherwise the local xml file found in the localization folder of your PrestaShop installation will be used.'),
'name' => 'download_updated_pack',
'class' => 't',
'is_bool'=> true,
'values' => array(
array(
'id' => 'download_updated_pack_yes',
'value' => 1,
'label' => $this->l('Yes')
),
array(
'id' => 'download_updated_pack_no',
'value' => 0,
'label' => $this->l('No')
)
)
)
),
'submit' => array(
@@ -278,10 +300,11 @@ class AdminLocalizationControllerCore extends AdminController
'selection[]_taxes' => true,
'selection[]_currencies' => true,
'selection[]_languages' => true,
'selection[]_units' => true
'selection[]_units' => true,
'download_updated_pack' => 1
);
$this->show_toolbar = false;
$this->show_toolbar = true;
return parent::renderForm();
}
@@ -292,7 +315,6 @@ class AdminLocalizationControllerCore extends AdminController
// toolbar (save, cancel, new, ..)
$this->initToolbar();
$this->context->smarty->assign(array(
'localization_form' => $this->renderForm(),
'localization_options' => $this->renderOptions(),
@@ -300,9 +322,15 @@ class AdminLocalizationControllerCore extends AdminController
));
}
public function initToolbar()
{
$this->toolbar_btn = array();
$this->initTabModuleList();
}
public function display()
{
$this->initContent();
$this->initContent();
parent::display();
}

View File

@@ -638,6 +638,7 @@ class AdminManufacturersControllerCore extends AdminController
{
// toolbar (save, cancel, new, ..)
$this->initToolbar();
$this->initTabModuleList();
if ($this->display == 'editaddresses' || $this->display == 'addaddress')
$this->content .= $this->renderFormAddress();
else if ($this->display == 'edit' || $this->display == 'add')

View File

@@ -276,7 +276,7 @@ class GetFileControllerCore extends FrontController
/* Set headers for download */
header('Content-Transfer-Encoding: binary');
header('Content-Type: '.$mimeType);
header('Content-Length: '.filesize($file));
header('Content-Length: '.sprintf('%u', filesize($file)));
header('Content-Disposition: attachment; filename="'.$filename.'"');
$fp = fopen($file, 'rb');
while (!feof($fp))

View File

@@ -58,7 +58,7 @@ class GuestTrackingControllerCore extends FrontController
{
$order = new Order((int)$id_order);
if (Validate::isLoadedObject($order))
$order_collection[] = $order;
$order_collection = Order::getByReference($order->reference);
}
else
$order_collection = Order::getByReference($id_order);

View File

@@ -23,6 +23,225 @@ International Registred Trademark & Property of PrestaShop SA
Release Notes for PrestaShop 1.5
--------------------------------
####################################
# v1.5.6.1 - (2013-11-18) #
####################################
Fixed bugs:
[-] Project : missing ui.menu in jquery_ui_dependencies.
[-] FO : Fix bug #PSCFV-11043, bad cache id from module template
[-] FO : Missing sup for DNI field
[-] FO : Fix bug #PSCFV-10911, doubles in cart rules highlight
[-] FO : Bad value for back when controller name is sent
[-] FO : FixBug #PSCFV-9291 - Ecotax increment display price in product combination
[-] FO : fix contact-form id_order input when customer is not logged
[-] Fo : Call Gmaps on https if required
[-] FO : Wordwrap on prices in history
[-] FO : Fixed errors when calculating most selled products from footer link
[-] FO : #PSCFV-10978 firstname displayed instead of lastname in invoice address
[-] FO : Customized meesage with carriage return follow up #962
[-] FO : getTaxCalculator bad cache key again // sorry about that
[-] FO : getTaxCalculator bad cache key
[-] FO : Prevents warning in safePostVars when $_POST has been unset
[-] FO : in multistore payment module restrictions by customer group was not applied to specific shop
[-] FO : Fix bug #PSCFV-10892, getCMSPages by id_shop thnaks @jd440
[-] FO : FixBug Categories description
[-] FO : Fix bug #PSCFV-10889 wrong color when oos product
[-] FO : CustomerMessage ip_address to string
[-] FO : Fix bug #PSCFV-10851, no shop restriction in vouchers display in cart
[-] FO: fixed bug #PSCFV-10654 - TinyMCE editor: List of products by manufacturer, products by supplier - Long description is not hidden.
[-] FO: Fix bug #PSCFV-10623 blocknewproducts shows products when PS_NB_DAYS_NEW_PRODUCT == 0
[-] FO: Fix bug #PSCFV-10230, Blockspecials still caching when files cache limit is 0
[-] FO: Fix bug #PSCFV-10625 Js error on carriers step if AjaxCart disabled
[-] FO : Follow up https://github.com/PrestaShop/PrestaShop/pull/879
[-] FO: removed width on message product select Limiting select could make the user think the select is not working if they click to much to the left on bigger screens
[-] FO : Prevent fatal error on getUniqReference when order not loaded
[-] FO: Don't auto detect language if it not associated to the shop #PSCFV-10273
[-] FO : Could not redirect back to url in adress.php
[-] FO : $back value twice escaped
[-] FO : #PSCFV-10640 again, bad assignement
[-] Fo : Fix bug #PSCFV-10640, redirect loop when country address is not among active countries in OPC
[-] FO : Fix bug #PSCFV-10688, bad priceDisplay in order-carrier
[-] FO : Fix #PSCFV-10690 again, change just on directories
[-] FO : Fix bug #PSCFV-10690 could not index a category beacause of robot.txt
[-] FO : Copuld not load datepicker in trackingfront stats.php
[-] FO : Fix bug #PSCFV-10497 cart_block hooked on column disappearing
[-] FO : Fix bug #PSCFV-10606 could not have correct taxCalculationMethod when vat number in customer address
[-] BO : Fix bug #PNM-1594, selected value error in helper list
[-] BO: product price was changed on changing to advanced stock management #PSCFV-10996
[-] BO : Fix warning when no memcached servers
[-] BO : Fix #PSCFV-11016 typo
[-] BO : Model return html error messagae instead of json while image uploading
[-] BO : Product final price can not be hidden on loading tab, report of https://github.com/PrestaShop/PrestaShop/commit/6c6c3b240ee2249b7f99be1a112905cd0edbee46
[-] BO : test on xml string follow up https://github.com/PrestaShop/PrestaShop/pull/690#issuecomment-28542506
[-] BO : 406 when mod_security follow up https://github.com/PrestaShop/PrestaShop/commit/034e6a7e7f391e3a8861248db45a4a376b19633c
[-] BO : AdminImport, execption when creating groups
[-] BO : Fix bug #PSCFV-10990 bad version comparison for ps_versions_compliancy
[-] BO : Fix bug #PSCFV-10982 reduction group truncated
[-] BO : Could not check all modules after ajax call
[-] BO : Fix css bug #PSCFV-10899, fixed fix-toolbar z-index
[-] BO : Fix bug #PSCFV-10932, ranges input disabled on load
[-] BO : getCMSPages to associated shop in cmscontroller
[-] BO : Fix bug #PSCFV-10666 product_supllier currency set to 0
[-] BO : Fix bug #PSCFV-10937, bad escaping for var product_prices in prices.tpl
[-] BO : Cart was not using order reference, corrected syntax
[-] BO : Cart was not using order reference
[-] BO : Could not change image position
[-] BO: Fix from name when replying to customer threads
[-] BO : Do not enable rewrite url for index
[-] BO: Fix empty group list on changing opt or newsletter on customers listing
[-] BO : AdminImport withdraw separator changed in js
[-] BO : AdminImport wrong group by default
[-] BO : FixBug #PSCFV-10882 - Add json encode and decode smarty modifier via tools class
[-] Bo : AdminImport customer group default
[-] BO : Fix bug #PSCFV-10872 AdminImport could not import supllier orders
[-] BO: fix the checkbox of shop activation on modules configuration
[-] BO : Adminimport default customers group
[-] BO : tagify call twice if field is not translatable
[-] BO : Stats are empty when no conversion rate
[-] BO : Order-follow displayed order id instead of order reference
[-] BO : hide stmp options when selecting never send emails
[-] BO : FixBug #PSCFV-10866 - Tagify system not working
[-] BO : FixBug #PSCFV-9319 - display only valid order id
[-] BO : Do not delete other default jpg when _deleteOldImages and type defined
[-] BO : AdminImport, fix bug from https://github.com/indesign47/PrestaShop/commit/84454bbc1c7a315e232245c5e43b300b8f153473#commitcomment-4418502
[-] BO : Fix bug #10689, could not set image legend in back office
[-] BO : Fixed bug PSCFV-9910 using basic queries to prevent locking errors
[-] BO : Fix bug #PSCFV-10718 AdminAttachments old file not deleted on update
[-] BO : FixBug #PSCFV-10600 - Unmatched Boundary with mod_security
[-] BO : fix #PSCFV-10728, prices incorrectly formatted when creating new order from BO
[-] BO : FIx bug #PSCFV-10736 again, fixing query when product is not in base
[-] BO : FIx bug #PSCFV-10736, could not load a product given from getBoughtProducts
[-] BO : Fix bug #PSCFV-10790, Customer group names not exploded
[-] BO: product listing should call Product::getPriceStatic() with the product default shop in the context when it is not a shop context
[-] BO: Synchronize stock available after receipt supply order items #PSCFV-10724
[-] BO : Fix bug #PSCFV-10638, Admin Import by reference moves products to home category
[-] BO : Fix bug #PSCFV-7907 AdminImport, add custom field to features
[-] BO : Fix bug #PSCFV-10767, could not retrieve feature value when product IDs not forced
[-] BO : Fix bug #PSCFV-10607 one upload name
[-] BO : wrong csv files name
[-] BO : Report of https://github.com/PrestaShop/PrestaShop/commit/fd86a29c5c369ec5da0f91bbe97c584a00d02d0d
[-] BO: Default country should be overriden in the context in multishop
[-] BO : Fix bug #PSCFV-10709 rename root category with slashes in it
[-] BO : Could not order by reserved words like 'key'
[-] BO : AdminImport, wrong default separators
[-] BO : Fix bug #PSCFV-10692, AdminImport bad utf8 cars for subst
[-] BO : Fix #PSCFV-10678 warning in chrome
[-] BO : FixBug #PSCFV-10671 - remove htmlentities on customer message
[-] BO : Could not insert referrer id_connections_source can not be null
[-] Bo : Could not update mailalert 2.5 with id_lang missing
[-] Bo : Could not update mailarler 2.5 with id_mlang
[-] BO: Fixbug #PSCFV-10671 - Double htmlentities.
[-] BO : AdminImport, fix Group searchByName
[-] BO : Adminimport, id_specific key_price not defined
[-] BO : FixBug - Remove second email in recipient
[-] BO : Fix bug #PSCFV-10660, could not delete csv file on NT
[-] BO : FixBug #PSCFV-9957 - Duplicate order invoice number
[-] BO : fixed bug #PSCFV-10637 PS_CARRIER_DEFAULT is not updated after edit default carrier
[-] BO : AdminImport no default value for separators
[-] BO : pass correct typed parameter to setCurrency
[-] Classes : Hook - Installer & context shop id
[-] Classes : Modules listing and case insensitive
[-] Core: Group::getCurrent() return the default customer group of the shop if default customer group is not associated to shop
[-] CORE : invalid method name in displayAjax method of Controller action
[-] CORE : Fix bug #PSCFV-10901 warnings on htmlentities
[-] CORE : Currency conversion rate can not be 0
[-] CORE : SetEnv in if statement
[-] CORE : SetEnv not available on all config // @todo curl request on dummy .htacces
[-] CORE : Fix bug #PSCFV-10687 again, #PSCFV-10752 replaceAccentedChars() // sorry for that
[-] CORE : error_get_last > PHP 5.1
[-] Core: Out of stock status should be setted after the first order history
[-] Core: Product::getPriceStatic called with 1 quantity return the specific price for 1 qty if called with id_cart = 0
[-] CORE : Fix bug #PSCFV-10687 bad conversion for accentuated Y and W, thanks @mike15
[-] CORE : $smarty->compile_check is not set to false, thanks @prestamodule
[-] MO : Referralprogram Prevent Exception when badly configured
[-] MO : Missinag closing href
[-] MO :Fixed #PNM-1654 (Loyalty module) by using most expensive attribute instead of default one
[-] MO : Mailalert was not using order reference
[-] MO : Blocklayered follow up https://github.com/PrestaShop/PrestaShop/commit/a6e67b078e067445eef358e907649e843a1dc26a#commitcomment-4538556
[-] MO : Fixed #PNM-1600 by modifying getPageLink()
[-] MO : Blockcategories last_visited_category must not be cached
[-] MO : Could not translate in transit mail, revert from https://github.com/viger-creator/PrestaShop/commit/3213b5dffb266ddb0639b94f72babd892328ffa2
[-] MO : mailalert - Fix deprecated warning on displayDate
[-] MO : Blockwishlist no product image when id_product_attribute is defined, thanks @Broceliande
[-] MO : Fix NetworkError 404 Not Found on admin in blocklayered.php These files not exists : - /js/jquery/jquery-ui-1.8.10.custom.min.js - /css/jquery-ui-1.8.10.custom.css
[-] MO : Fix bug #PSCFV-10841, blockcart hides on product page when last product is removed from cart
[-] MO : Fixbug #PSCFV-10679 dateofdelivery PDF invoice array and array
[-] MO : Fixed bug PNM-1431 - referralprogram Lack the % sign
[-] MO : Fix bug #PSCFV-10787, cms associated to all shops
[-] MO : if customer is logged we do not recreate it
[-] MO : Fix bug #PSCFV-10775, could not upload .jpeg in TinyMCE
[-] MO : ScrollTo not loaded
[-] MO : Trackingfront, could not load employee stats date
[-] WS: Fix bug #PSCFV-10970 use configuration for uploaded images quality
[-] WS: Fix stockavailables list when stock is shared between shops #PSCFV-10793
[-] WS: Fix #PSCFV-10672 order by ID for non multishop entities
Improved/changed features:
[*] FO : DNI can be not required
[*] FO : Fix #PSCFV-8715 add product.attributes in carrier tpl
[*] FO : set at least a class to body
[*] FO : addTextFieldToProduct without Line feed, follow up https://github.com/PrestaShop/PrestaShop/pull/962#issuecomment-28294571
[*] FO : https on TOS in fancybox, follow up https://github.com/PrestaShop/PrestaShop/pull/956
[*] FO : Redirect to address.tpl when !Address::isCountryActiveById
[*] FO : Cache on getDiscountsCustomer, follow up https://github.com/PrestaShop/PrestaShop/pull/960
[*] FO : Set cache for StockAvailable::getQuantityAvailableByProduct
[*] FO : Added posibilty to display new price instead of quantity discount
[*] FO: Follow up https://github.com/PrestaShop/PrestaShop/commit/e86c56172dad2892d5c7e7dbb0908b0f4ffbaae0
[*] FO: Can not establish purchase total when tax incl.
[*] FO : Fix bug #PSCFV-10689 handle image legend
[*] FO: Removed missplaced </li> on mobile theme
[*] BO : AdminPerformances Hide warnings message when not necessary
[*] BO : add class on TD in standard List Back office : Add a class on TD in list created by getList() In fields_list array of AdminController, we can add a new parameter('class') example : 'name' => array( 'title' => $this->l('Name'), 'width' => 150, 'class' => 'ma_classe', 'filter_key' => 'b!name' ), This parameter can be used for javascript effect, ... Thanks.
[*] BO : New import csv files
[*] BO : Manual merge of https://github.com/PrestaShop/PrestaShop/pull/891 1/2
[*] BO : AdminProducts find smallest images
[*] BO : improved unicode characters replacement in URLs (Russian and Ukrainian characters added)
[*] BO : AdminImport add img manufacturers-suppliers
[*] BO : AdminImport add img suppliers
[*] BO : AdminImport add img manufacturers
[*] BO : chmod 664 to config.xml file
[*] BO : Adding a title tag to display the module name on hover like PS 1.4
[*] CORE : Remove duplicate SQL queries
[*] CORE : Profiling hide non doubles
[*] CORE : Cache store for isAssociatedToShop::isAssociatedToShop
[*] CORE : Manual merge of https://github.com/PrestaShop/PrestaShop/ thanks @kpodemski
[*] CORE: Add phone_mobile to address format I honestly do not know why you decided by default to show only the first field of the phone :) Users often ask me why they don't see their mobile phone on orders in BO.
[*] MO : Remove calls to isRegisteredInHook in crossselling and productscategory
[*] MO : New modules version since 1.5.6.0
[*] MO: blocksharefb optimization
[*] MO: productcomments optimization
[*] LO : Fix PSCFV-10876: use IETF code to set language of shop, not 'iso' code, allows to distinguish between chinese variants etc.
[*] LO : Added states to Spanish localization pack
[*] LO : Fixed a few bugs with currency formats in Back-Office orders
[*] LO : set correct currency format for CHF
Added Features:
[+] BO : Add debug mode system
[+] BO : AdminImport add entity Alias
[+] CORE : Fixed cache_id
[+] MO : Blockcart - Add error handler on ajax function
Deprecated methods:
[~] BO : Export DeliverySlip The dates range wasn't using the correct sql fields.
####################################
# v1.5.6.0 - (2013-10-07) #
####################################

View File

@@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information.
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
International Registered Trademark & Property of PrestaShop SA
NAME: Prestashop 1.5.6.0
VERSION: 1.5.6.0
NAME: Prestashop 1.5.6.1
VERSION: 1.5.6.1
VORBEREITUNG
===========

View File

@@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information.
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
International Registered Trademark & Property of PrestaShop SA
NAME: Prestashop 1.5.6.0
VERSION: 1.5.6.0
NAME: Prestashop 1.5.6.1
VERSION: 1.5.6.1
PREPARATION
===========

View File

@@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information.
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
International Registered Trademark & Property of PrestaShop SA
NAME: Prestashop 1.5.6.0
VERSION: 1.5.6.0
NAME: Prestashop 1.5.6.1
VERSION: 1.5.6.1
PREPARACI<EFBFBD>N
===========

View File

@@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information.
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
International Registered Trademark & Property of PrestaShop SA
NAME: Prestashop 1.5.6.0
VERSION: 1.5.6.0
NAME: Prestashop 1.5.6.1
VERSION: 1.5.6.1
PREPARATION
===========

View File

@@ -21,8 +21,8 @@ needs please refer to http://www.prestashop.com for more information.
@license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
International Registered Trademark & Property of PrestaShop SA
NAME: Prestashop 1.5.6.0
VERSION: 1.5.6.0
NAME: Prestashop 1.5.6.1
VERSION: 1.5.6.1
PREPARAZIONE
===========

View File

@@ -24,4 +24,4 @@
* International Registered Trademark & Property of PrestaShop SA
*/
define('_PS_INSTALL_VERSION_', '1.5.6.0');
define('_PS_INSTALL_VERSION_', '1.5.6.1');

View File

@@ -212,7 +212,7 @@ return array(
'Contact us' => 'Свяжитесь с нами',
'PrestaShop Installation Assistant' => 'Помощник установки PrestaShop',
'Installation Assistant' => 'Помощник установки',
'License Agreements' => 'Лицензионное соглшение',
'License Agreements' => 'Лицензионное соглашение',
'Print my login information' => 'Распечатать информацию о моем аккаунте',
'To use PrestaShop, you must <a href="http://doc.prestashop.com/display/PS15/Installing+PrestaShop#InstallingPrestaShop-Creatingadatabaseforyourshop" target="_blank">create a database</a> to collect all of your stores data-related activities.' => 'Для использования PrestaShop, Вам следует <a href="http://doc.prestashop.com/display/PS15/Installing+PrestaShop#InstallingPrestaShop-Creatingadatabaseforyourshop" target="_blank">создать базу данных </a>, чтобы сгруппировать информацию Вашего магазина.',
'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Заполните поля ниже, чтобы PrestaShop смог установить соединение с Вашей с базой данных.',

View File

@@ -38,22 +38,25 @@ function add_module_to_hook($module_name, $hook_name)
$id_hook = Db::getInstance()->getValue('SELECT `id_hook` FROM `'._DB_PREFIX_.'hook` WHERE `name` = "'.$hook_name.'"');
if(!$id_hook)
{
$res &= Db::getInstance()->execute('
if (!Db::getInstance()->execute('
INSERT IGNORE INTO `'._DB_PREFIX_.'hook` (`name`, `title`)
VALUES ("'.pSQL($hook_name).'", "'.pSQL($hook_name).'")');
$id_hook = Db::getInstance()->Insert_ID();
VALUES ("'.pSQL($hook_name).'", "'.pSQL($hook_name).'")'))
$res = false;
else
$id_hook = Db::getInstance()->Insert_ID();
}
if ((int)$id_hook > 0)
{
$res &= Db::getInstance()->execute('
if (!Db::getInstance()->execute('
INSERT IGNORE INTO `'._DB_PREFIX_.'hook_module` (`id_module`, `id_hook`, `position`)
VALUES (
'.(int)$id_module.',
'.(int)$id_hook.',
(SELECT IFNULL(
(SELECT max_position from (SELECT MAX(position)+1 as max_position FROM `'._DB_PREFIX_.'hook_module` WHERE `id_hook` = '.(int)$id_hook.') AS max_position), 1))
)');
)'))
$res = false;
}
}
return $res;

View File

@@ -86,11 +86,9 @@ function migrate_orders()
SELECT od.*
FROM `'._DB_PREFIX_.'order_detail` od
WHERE od.`id_order` = '.(int)$order['id_order']);
while ($order_details = Db::getInstance()->nextRow($order_details_list))
{
$values_order_detail = array();
$values_order = array();
$col_order_detail = array();
// we don't want to erase order_details data in order to create the insert query
$products = mo_setProductPrices($order_details, $price_display_method);
$tax_rate = 1 + ((float)$products['tax_rate'] / 100);
@@ -107,6 +105,7 @@ function migrate_orders()
$order_details['total_price_tax_excl'] = (float)$products['total_price'];
$order_details['unit_price_tax_incl'] = (float)$products['product_price_wt'];
$order_details['unit_price_tax_excl'] = (float)$products['product_price'];
foreach (array_keys($order_details) as $k)
if (!in_array($k, $col_order_detail))
unset($order_details[$k]);
@@ -121,7 +120,7 @@ function migrate_orders()
$values_order_detail[] = '(\''.implode('\', \'', $order_details).'\')';
unset($order_details);
}
$average_tax_used = 1;
if ($sum_total_products > 0)
$average_tax_used += $sum_tax_amount / $sum_total_products;
@@ -187,6 +186,10 @@ function migrate_orders()
$res = false;
$array_errors[] = '[insert order 4] - '.Db::getInstance()->getMsgError();
}
if (isset($values_order))
unset($values_order);
if (isset($values_order_detail))
unset($values_order_detail);
if (!mo_renameTables())
{
$res = false;

View File

@@ -1072,7 +1072,8 @@ qq.extend(qq.UploadHandlerXhr.prototype, {
var queryString = qq.obj2url(params, this._options.action);
xhr.open("POST", queryString, true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.setRequestHeader("processData", false);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
xhr.send(file);

View File

@@ -7,11 +7,11 @@
<language iso_code="it" />
</languages>
<taxes>
<tax id="1" name="IVA IT 21%" rate="21" />
<tax id="1" name="IVA IT 22%" rate="22" />
<tax id="2" name="IVA IT 10%" rate="10" />
<tax id="3" name="IVA IT 4%" rate="4" />
<taxRulesGroup name="IT Standard Rate (21%)">
<taxRulesGroup name="IT Standard Rate (22%)">
<taxRule iso_code_country="be" id_tax="1" />
<taxRule iso_code_country="bg" id_tax="1" />
<taxRule iso_code_country="cz" id_tax="1" />

View File

@@ -8,9 +8,9 @@
<language iso_code="en" />
</languages>
<taxes>
<tax id="1" name="GST JE 3%" rate="3" />
<tax id="1" name="GST JE 5%" rate="5" />
<taxRulesGroup name="JE Standard Rate (3%)">
<taxRulesGroup name="JE Standard Rate (5%)">
<taxRule iso_code_country="je" id_tax="1" />
</taxRulesGroup>
</taxes>

View File

@@ -10,14 +10,10 @@
<taxRulesGroup name="Kenya VAT 16%">
<taxRule iso_code_country="ke" behavior="0" id_tax="76"/>
</taxRulesGroup>
<taxRulesGroup name="Kenya VAT 12%">
<taxRule iso_code_country="ke" behavior="0" id_tax="77"/>
</taxRulesGroup>
<taxRulesGroup name="Kenya VAT 0%">
<taxRule iso_code_country="ke" behavior="0" id_tax="78"/>
</taxRulesGroup>
<tax id="76" name="Kenya VAT 16%" rate="16.000"/>
<tax id="77" name="Kenya VAT 12%" rate="12.000"/>
<tax id="78" name="Kenya VAT 0%" rate="0.000"/>
</taxes>
<units>

View File

@@ -7,19 +7,19 @@
<language iso_code="de" />
</languages>
<taxes>
<tax id="1" name="TVA CH 7.6%" rate="7.6" />
<tax id="2" name="TVA CH 3.6%" rate="3.6" />
<tax id="3" name="TVA CH 2.4%" rate="2.4" />
<tax id="1" name="TVA CH 8%" rate="8" />
<tax id="2" name="TVA CH 3.8%" rate="3.8" />
<tax id="3" name="TVA CH 2.5%" rate="2.5" />
<taxRulesGroup name="CH Standard Rate (7.6%)">
<taxRulesGroup name="CH Standard Rate (8%)">
<taxRule iso_code_country="li" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="CH Reduced Rate (3.6%)">
<taxRulesGroup name="CH Reduced Rate (3.8%)">
<taxRule iso_code_country="li" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="CH Super Reduced Rate (2.4%)">
<taxRulesGroup name="CH Super Reduced Rate (2.5%)">
<taxRule iso_code_country="li" id_tax="3" />
</taxRulesGroup>
</taxes>

View File

@@ -8,7 +8,7 @@
</languages>
<taxes>
<tax id="1" name="PVN LV 21%" rate="21" />
<tax id="2" name="PVN LV 10%" rate="10" />
<tax id="2" name="PVN LV 12%" rate="12" />
<taxRulesGroup name="LV Standard Rate (21%)">
<taxRule iso_code_country="be" id_tax="1" />
@@ -40,7 +40,7 @@
<taxRule iso_code_country="uk" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="LV Reduced Rate (10%)">
<taxRulesGroup name="LV Reduced Rate (12%)">
<taxRule iso_code_country="be" id_tax="2" />
<taxRule iso_code_country="bg" id_tax="2" />
<taxRule iso_code_country="cz" id_tax="2" />
@@ -100,7 +100,7 @@
<taxRule iso_code_country="uk" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="LV Books Rate (10%)">
<taxRulesGroup name="LV Books Rate (12%)">
<taxRule iso_code_country="be" id_tax="2" />
<taxRule iso_code_country="bg" id_tax="2" />
<taxRule iso_code_country="cz" id_tax="2" />

View File

@@ -8,14 +8,14 @@
</languages>
<taxes>
<tax id="1" name="MVA NO 25%" rate="25" />
<tax id="2" name="MVA NO 14%" rate="14" />
<tax id="2" name="MVA NO 15%" rate="15" />
<tax id="3" name="MVA NO 8%" rate="8" />
<taxRulesGroup name="NO Standard Rate (25%)">
<taxRule iso_code_country="no" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="NO Reduced Rate (14%)">
<taxRulesGroup name="NO Reduced Rate (15%)">
<taxRule iso_code_country="no" id_tax="2" />
</taxRulesGroup>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<localizationPack name="PA">
<localizationPack name="Panama">
<currencies>
<currency name="Dollar" iso_code="USD" iso_code_num="840" sign="$" blank="0" conversion_rate="1.000000" format="1" decimals="1"/>
</currencies>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<localizationPack name="PE">
<localizationPack name="Peru">
<currencies>
<currency name="Nuevo Sol" iso_code="PEN" iso_code_num="604" sign="S/." blank="1" conversion_rate="2.784499" format="1" decimals="0"/>
</currencies>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<localizationPack name="PH">
<localizationPack name="Philippines">
<currencies>
<currency name="Philippine Peso" iso_code="PHP" iso_code_num="608" sign="PHP" blank="1" conversion_rate="1.000000" format="1" decimals="1"/>
</currencies>

View File

@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Poland" version="1.0">
<currencies>
<currency name="Zloty" iso_code="PLN" iso_code_num="985" sign="zł" blank="1" conversion_rate="3.84510" format="2" decimals="1" />
<currency name="Złoty" iso_code="PLN" iso_code_num="985" sign="zł" blank="1" conversion_rate="3.84510" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="pl" />
</languages>
<taxes>
<tax id="1" name="PTU PL 23%" rate="23" />
<tax id="2" name="PTU PL 8%" rate="8" />
<tax id="3" name="PTU PL 7%" rate="7" />
<tax id="4" name="PTU PL 5%" rate="5" />
<tax id="5" name="PTU PL 4%" rate="4" />
<tax id="6" name="PTU PL 0" rate="0" />
<taxRulesGroup name="PL Standard Rate (23%)">
@@ -82,39 +79,6 @@
</taxRulesGroup>
<taxRulesGroup name="PL Reduced Rate (7%)">
<taxRule iso_code_country="be" id_tax="3" />
<taxRule iso_code_country="bg" id_tax="3" />
<taxRule iso_code_country="cz" id_tax="3" />
<taxRule iso_code_country="dk" id_tax="3" />
<taxRule iso_code_country="de" id_tax="3" />
<taxRule iso_code_country="ee" id_tax="3" />
<taxRule iso_code_country="gr" id_tax="3" />
<taxRule iso_code_country="es" id_tax="3" />
<taxRule iso_code_country="fr" id_tax="3" />
<taxRule iso_code_country="ie" id_tax="3" />
<taxRule iso_code_country="it" id_tax="3" />
<taxRule iso_code_country="cy" id_tax="3" />
<taxRule iso_code_country="lv" id_tax="3" />
<taxRule iso_code_country="lt" id_tax="3" />
<taxRule iso_code_country="lu" id_tax="3" />
<taxRule iso_code_country="hu" id_tax="3" />
<taxRule iso_code_country="mt" id_tax="3" />
<taxRule iso_code_country="nl" id_tax="3" />
<taxRule iso_code_country="at" id_tax="3" />
<taxRule iso_code_country="pl" id_tax="3" />
<taxRule iso_code_country="pt" id_tax="3" />
<taxRule iso_code_country="ro" id_tax="3" />
<taxRule iso_code_country="si" id_tax="3" />
<taxRule iso_code_country="sk" id_tax="3" />
<taxRule iso_code_country="fi" id_tax="3" />
<taxRule iso_code_country="se" id_tax="3" />
<taxRule iso_code_country="uk" id_tax="3" />
</taxRulesGroup>
<taxRulesGroup name="PL Reduced Rate (5%)">
<taxRule iso_code_country="be" id_tax="4" />
<taxRule iso_code_country="bg" id_tax="4" />
@@ -147,38 +111,6 @@
<taxRule iso_code_country="uk" id_tax="4" />
</taxRulesGroup>
<taxRulesGroup name="PL Reduced Rate (4%)">
<taxRule iso_code_country="be" id_tax="5" />
<taxRule iso_code_country="bg" id_tax="5" />
<taxRule iso_code_country="cz" id_tax="5" />
<taxRule iso_code_country="dk" id_tax="5" />
<taxRule iso_code_country="de" id_tax="5" />
<taxRule iso_code_country="ee" id_tax="5" />
<taxRule iso_code_country="gr" id_tax="5" />
<taxRule iso_code_country="es" id_tax="5" />
<taxRule iso_code_country="fr" id_tax="5" />
<taxRule iso_code_country="it" id_tax="5" />
<taxRule iso_code_country="cy" id_tax="5" />
<taxRule iso_code_country="lv" id_tax="5" />
<taxRule iso_code_country="lt" id_tax="5" />
<taxRule iso_code_country="lu" id_tax="5" />
<taxRule iso_code_country="hu" id_tax="5" />
<taxRule iso_code_country="mt" id_tax="5" />
<taxRule iso_code_country="nl" id_tax="5" />
<taxRule iso_code_country="at" id_tax="5" />
<taxRule iso_code_country="pl" id_tax="5" />
<taxRule iso_code_country="pt" id_tax="5" />
<taxRule iso_code_country="ro" id_tax="5" />
<taxRule iso_code_country="si" id_tax="5" />
<taxRule iso_code_country="sk" id_tax="5" />
<taxRule iso_code_country="fi" id_tax="5" />
<taxRule iso_code_country="se" id_tax="5" />
<taxRule iso_code_country="uk" id_tax="5" />
</taxRulesGroup>
<taxRulesGroup name="PL Exempted Rate (0%)">
<taxRule iso_code_country="be" id_tax="6" />
@@ -210,7 +142,6 @@
<taxRule iso_code_country="se" id_tax="6" />
<taxRule iso_code_country="uk" id_tax="6" />
</taxRulesGroup>
</taxes>
<units>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Saoudi Arabie" version="1.0">
<localizationPack name="Saudi Arabia" version="1.0">
<currencies>
<currency name="Riyal" iso_code="SAR" iso_code_num="682" sign="﷼" blank="1" conversion_rate="5.10682" format="2" decimals="1" />
</currencies>

View File

@@ -5,7 +5,7 @@
</currencies>
<languages>
<language iso_code="en" />
<language iso_code="tw" />
<language iso_code="ms" />
<language iso_code="zh" />
</languages>
<taxes>
@@ -16,10 +16,10 @@
</taxRulesGroup>
</taxes>
<units>
<unit type="weight" value="市制" />
<unit type="volume" value="市升" />
<unit type="short_distance" value="市厘" />
<unit type="base_distance" value="" />
<unit type="long_distance" value="市里" />
<unit type="weight" value="kg"/>
<unit type="volume" value="L"/>
<unit type="short_distance" value="cm"/>
<unit type="base_distance" value="m"/>
<unit type="long_distance" value="km"/>
</units>
</localizationPack>

View File

@@ -7,10 +7,10 @@
<language iso_code="si" />
</languages>
<taxes>
<tax id="1" name="DDV SI 20%" rate="20" />
<tax id="2" name="DDV SI 8.5%" rate="8.5" />
<tax id="1" name="DDV SI 22%" rate="22" />
<tax id="2" name="DDV SI 9.5%" rate="9.5" />
<taxRulesGroup name="SI Standard Rate (20%)">
<taxRulesGroup name="SI Standard Rate (22%)">
<taxRule iso_code_country="be" id_tax="1" />
<taxRule iso_code_country="bg" id_tax="1" />
<taxRule iso_code_country="cz" id_tax="1" />
@@ -40,7 +40,7 @@
<taxRule iso_code_country="uk" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="SI Reduced Rate (8.5%)">
<taxRulesGroup name="SI Reduced Rate (9.5%)">
<taxRule iso_code_country="be" id_tax="2" />
<taxRule iso_code_country="bg" id_tax="2" />
<taxRule iso_code_country="cz" id_tax="2" />
@@ -70,7 +70,7 @@
<taxRule iso_code_country="uk" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="SI Foodstuff Rate (8.5%)">
<taxRulesGroup name="SI Foodstuff Rate (9.5%)">
<taxRule iso_code_country="be" id_tax="2" />
<taxRule iso_code_country="bg" id_tax="2" />
<taxRule iso_code_country="cz" id_tax="2" />
@@ -100,7 +100,7 @@
<taxRule iso_code_country="uk" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="SI Books Rate (8.5%)">
<taxRulesGroup name="SI Books Rate (9.5%)">
<taxRule iso_code_country="be" id_tax="2" />
<taxRule iso_code_country="bg" id_tax="2" />
<taxRule iso_code_country="cz" id_tax="2" />

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<localizationPack name="TN">
<localizationPack name="Tunisia">
<currencies>
<currency name="Tunisian Dinar" iso_code="TND" iso_code_num="788" sign="DT" blank="0" conversion_rate="1.000000" format="2" decimals="1"/>
</currencies>

View File

@@ -20,7 +20,7 @@
<td>&nbsp;</td>
</tr>
<tr>
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">A new command has been generated to you.</td>
<td style="background-color: {color}; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">A new order has been generated to you.</td>
</tr>
<tr>
<td>&nbsp;</td>

View File

@@ -1,6 +1,6 @@
Hi {firstname} {lastname},
A new command has been generated to you.
A new order has been generated to you.
Go on {order_link} to finalize the payment.

View File

@@ -53,6 +53,7 @@ class BlockSearch extends Module
public function hookdisplayMobileTopSiteMap($params)
{
$this->smarty->assign(array('hook_mobile' => true, 'instantsearch' => false));
$params['hook_mobile'] = true;
return $this->hookTop($params);
}
@@ -80,7 +81,6 @@ public function hookDisplayMobileHeader($params)
public function hookRightColumn($params)
{
if (Tools::getValue('search_query') || !$this->isCached('blocksearch.tpl', $this->getCacheId()))
{
$this->calculHookCommon($params);
@@ -95,7 +95,8 @@ public function hookDisplayMobileHeader($params)
public function hookTop($params)
{
if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $this->getCacheId('blocksearch-top')))
$key = $this->getCacheId('blocksearch-top'.((!isset($params['hook_mobile']) || !$params['hook_mobile']) ? '' : '-hook_mobile'));
if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $key))
{
$this->calculHookCommon($params);
$this->smarty->assign(array(
@@ -105,8 +106,7 @@ public function hookDisplayMobileHeader($params)
);
}
return $this->display(__FILE__, 'blocksearch-top.tpl', Tools::getValue('search_query') ? null : $this->getCacheId('blocksearch-top'));
return $this->display(__FILE__, 'blocksearch-top.tpl', Tools::getValue('search_query') ? null : $key);
}
/**

View File

@@ -120,7 +120,7 @@ class HomeFeatured extends Module
{
$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
$nb = (int)Configuration::get('HOME_FEATURED_NBR');
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8));
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), "position");
$this->smarty->assign(array(
'products' => $products,

View File

@@ -318,7 +318,7 @@ class MailAlerts extends Module
$customization_text .= '---<br />';
}
$customization_text = rtrim($customization_text, '---<br />');
$customization_text = Tools::rtrimString($customization_text, '---<br />');
}
$items_table .=

View File

@@ -680,11 +680,14 @@ class ProductComments extends Module
{
require_once(dirname(__FILE__).'/ProductComment.php');
require_once(dirname(__FILE__).'/ProductCommentCriterion.php');
$average = ProductComment::getAverageGrade((int)Tools::getValue('id_product'));
$this->context->smarty->assign(array(
'allow_guests' => (int)Configuration::get('PRODUCT_COMMENTS_ALLOW_GUESTS'),
'comments' => ProductComment::getByProduct((int)(Tools::getValue('id_product'))),
'criterions' => ProductCommentCriterion::getByProduct((int)(Tools::getValue('id_product')), $this->context->language->id),
'averageTotal' => round($average['grade']),
'nbComments' => (int)(ProductComment::getCommentNumber((int)(Tools::getValue('id_product'))))
));

View File

@@ -474,6 +474,7 @@ class PSCleaner extends Module
'stock',
'stock_available',
'stock_mvt',
'tag',
);
foreach ($tables as $table)
$db->execute('TRUNCATE TABLE `'._DB_PREFIX_.bqSQL($table).'`');

View File

@@ -93,6 +93,8 @@ class ReferralProgramModule extends ObjectModel
$cartRule->date_to = date('Y-m-d H:i:s', time() + 31536000); // + 1 year
$cartRule->code = $this->getDiscountPrefix().Tools::passwdGen(6);
$cartRule->name = Configuration::getInt('REFERRAL_DISCOUNT_DESCRIPTION');
if (empty($cartRule->name))
$cartRule->name = 'Referral reward';
$cartRule->id_customer = (int)$id_customer;
$cartRule->reduction_currency = (int)$id_currency;

View File

@@ -89,14 +89,18 @@ $(function(){ldelim}
<form action="{$link->getPageLink('address', true)|escape:'html'}" method="post" class="std" id="add_address">
<fieldset>
<h3>{if isset($id_address)}{l s='Your address'}{else}{l s='New address'}{/if}</h3>
<p class="required text dni">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
{assign var="stateExist" value=false}
{assign var="postCodeExist" value=false}
{assign var="dniExist" value=false}
{foreach from=$ordered_adr_fields item=field_name}
{if $field_name eq 'dni'}
{assign var="dniExist" value=true}
<p class="text">
<label for="dni">{l s='Identification number'}</label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'html'}{/if}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{assign var="stateExist" value=false}
{assign var="postCodeExist" value=false}
{foreach from=$ordered_adr_fields item=field_name}
{/if}
{if $field_name eq 'company'}
<p class="text">
<label for="company">{l s='Company'}</label>
@@ -210,6 +214,13 @@ $(function(){ldelim}
</select>
</p>
{/if}
{if !$dniExist}
<p class="required text dni">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'html'}{/if}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{/if}
<p class="textarea">
<label for="other">{l s='Additional information'}</label>
<textarea id="other" name="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{else}{if isset($address->other)}{$address->other|escape:'html'}{/if}{/if}</textarea>

View File

@@ -90,6 +90,7 @@ $(document).ready(function() {
{include file="$tpl_dir./errors.tpl"}
{assign var='stateExist' value=false}
{assign var="postCodeExist" value=false}
{assign var="dniExist" value=false}
{if !isset($email_create)}
<script type="text/javascript">
{literal}
@@ -315,7 +316,9 @@ $(document).ready(function() {
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" />
</p>
</div>
<p class="required text dni">
{elseif $field_name eq "dni"}
{assign var='dniExist' value=true}
<p class="text">
<label for="dni">{l s='Identification number'}</label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
@@ -359,6 +362,12 @@ $(document).ready(function() {
</p>
{/if}
{/foreach}
{if $postCodeExist eq false}
<p class="required postcode text hidden">
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{/if}
{if $stateExist eq false}
<p class="required id_state select hidden">
<label for="id_state">{l s='State'} <sup>*</sup></label>
@@ -367,11 +376,12 @@ $(document).ready(function() {
</select>
</p>
{/if}
{if $postCodeExist eq false}
<p class="required postcode text hidden">
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{if $dniExist eq false}
<p class="required text dni">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{/if}
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
@@ -386,6 +396,7 @@ $(document).ready(function() {
<div id="opc_invoice_address" class="hidden">
{assign var=stateExist value=false}
{assign var=postCodeExist value=false}
{assign var=dniExist value=false}
<h3>{l s='Invoice address'}</h3>
{foreach from=$inv_all_fields item=field_name}
{if $field_name eq "company" && $b2b_enable}
@@ -400,8 +411,10 @@ $(document).ready(function() {
<input type="text" class="text" id="vat_number_invoice" name="vat_number_invoice" value="{if isset($smarty.post.vat_number_invoice)}{$smarty.post.vat_number_invoice}{/if}" />
</p>
</div>
<p class="required text dni_invoice">
<label for="dni">{l s='Identification number'}</label>
{elseif $field_name eq "dni"}
{assign var=dniExist value=true}
<p class="text">
<label for="dni_invoice">{l s='Identification number'}</label>
<input type="text" class="text" name="dni_invoice" id="dni_invoice" value="{if isset($smarty.post.dni_invoice)}{$smarty.post.dni_invoice}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
@@ -465,6 +478,13 @@ $(document).ready(function() {
</select>
</p>
{/if}
{if !$dniExist}
<p class="required text dni_invoice">
<label for="dni_invoice">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni_invoice" id="dni_invoice" value="{if isset($smarty.post.dni_invoice)}{$smarty.post.dni_invoice}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{/if}
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone_mobile_invoice">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="text" name="phone_mobile_invoice" id="phone_mobile_invoice" value="{if isset($smarty.post.phone_mobile_invoice)}{$smarty.post.phone_mobile_invoice}{/if}" />

View File

@@ -1,2 +1,2 @@
* { direction: rtl !important; }
body { direction: rtl !important; }
#page { text-align: right !important; }

View File

@@ -1,61 +0,0 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<!-- MODULE Block specials -->
<div id="special_block_right" class="block products_block exclusive blockspecials">
<p class="title_block"><a href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='Specials' mod='blockspecials'}">{l s='Specials' mod='blockspecials'}</a></p>
<div class="block_content">
{if $special}
<ul class="products clearfix">
<li class="product_image">
<a href="{$special.link|escape:'html'}"><img src="{$link->getImageLink($special.link_rewrite, $special.id_image, 'medium_default')|escape:'html'}" alt="{$special.legend|escape:html:'UTF-8'}" height="{$mediumSize.height}" width="{$mediumSize.width}" title="{$special.name|escape:html:'UTF-8'}" /></a>
</li>
<li>
{if !$PS_CATALOG_MODE}
{if $special.specific_prices}
{assign var='specific_prices' value=$special.specific_prices}
{if $specific_prices.reduction_type == 'percentage' && ($specific_prices.from == $specific_prices.to OR ($smarty.now|date_format:'%Y-%m-%d %H:%M:%S' <= $specific_prices.to && $smarty.now|date_format:'%Y-%m-%d %H:%M:%S' >= $specific_prices.from))}
<span class="reduction"><span>-{$specific_prices.reduction*100|floatval}%</span></span>
{/if}
{/if}
{/if}
<p class="s_title_block"><a href="{$special.link|escape:'html'}" title="{$special.name|escape:html:'UTF-8'}">{$special.name|escape:html:'UTF-8'}</a></p>
{if !$PS_CATALOG_MODE}
<span class="price-discount">{if !$priceDisplay}{displayWtPrice p=$special.price_without_reduction}{else}{displayWtPrice p=$priceWithoutReduction_tax_excl}{/if}</span>
<span class="price">{if !$priceDisplay}{displayWtPrice p=$special.price}{else}{displayWtPrice p=$special.price_tax_exc}{/if}</span>
{/if}
</li>
</ul>
<p>
<a href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='All specials' mod='blockspecials'}">&raquo; {l s='All specials' mod='blockspecials'}</a>
</p>
{else}
<p>{l s='No specials at this time' mod='blockspecials'}</p>
{/if}
</div>
</div>
<!-- /MODULE Block specials -->

View File

@@ -171,13 +171,14 @@
<td>
<div class="delivery_option_price">
{if $option.total_price_with_tax && (!isset($free_shipping) || (isset($free_shipping) && !$free_shipping))}
{if $use_taxes == 1}
{if $priceDisplay == 1}
{convertPrice price=$option.total_price_without_tax} {l s='(tax excl.)'}
{else}
{convertPrice price=$option.total_price_with_tax} {l s='(tax incl.)'}
{/if}
{else}
{convertPrice price=$option.total_price_without_tax}
{/if}
{else}
{l s='Free'}

View File

@@ -182,12 +182,27 @@
<h3>{l s='Delivery address'}</h3>
{$stateExist = false}
{$postCodeExist = false}
{$dniExist = false}
{foreach from=$dlv_all_fields item=field_name}
{if $field_name eq "company" && $b2b_enable}
<p class="text">
<label for="company">{l s='Company'}</label>
<input type="text" class="text" id="company" name="company" value="{if isset($guestInformations) && $guestInformations.company}{$guestInformations.company}{/if}" />
</p>
{elseif $field_name eq "vat_number"}
<div id="vat_number_block" style="display:none;">
<p class="text">
<label for="company">{l s='Company'}</label>
<input type="text" class="text" id="company" name="company" value="{if isset($guestInformations) && $guestInformations.company}{$guestInformations.company}{/if}" />
<label for="vat_number">{l s='VAT number'}</label>
<input type="text" class="text" name="vat_number" id="vat_number" value="{if isset($guestInformations) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}" />
</p>
</div>
{elseif $field_name eq "dni"}
{assign var='dniExist' value=true}
<p class="text">
<label for="dni">{l s='Identification number'}</label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($guestInformations) && $guestInformations.dni}{$guestInformations.dni}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{elseif $field_name eq "firstname"}
<p class="required text">
<label for="firstname">{l s='First name'} <sup>*</sup></label>
@@ -228,13 +243,6 @@
{/foreach}
</select>
</p>
{elseif $field_name eq "vat_number"}
<div id="vat_number_block" style="display:none;">
<p class="text">
<label for="vat_number">{l s='VAT number'}</label>
<input type="text" class="text" name="vat_number" id="vat_number" value="{if isset($guestInformations) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}" />
</p>
</div>
{elseif $field_name eq "state" || $field_name eq 'State:name'}
{$stateExist = true}
<p class="required id_state select" style="display:none;">
@@ -245,11 +253,6 @@
</p>
{/if}
{/foreach}
<p class="required text dni">
<label for="dni">{l s='Identification number'}</label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($guestInformations) && $guestInformations.dni}{$guestInformations.dni}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{if !$postCodeExist}
<p class="required postcode text hidden">
<label for="postcode">{l s='Zip / Postal code'} <sup>*</sup></label>
@@ -263,7 +266,14 @@
<option value="">-</option>
</select>
</p>
{/if}
{/if}
{if !$dniExist}
<p class="required text dni">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($guestInformations) && $guestInformations.dni}{$guestInformations.dni}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{/if}
<p class="textarea is_customer_param">
<label for="other">{l s='Additional information'}</label>
<textarea name="other" id="other" cols="26" rows="3"></textarea>
@@ -289,6 +299,7 @@
<div id="opc_invoice_address" class="is_customer_param">
{assign var=stateExist value=false}
{assign var=postCodeExist value=false}
{assign var=dniExist value=false}
<h3>{l s='Invoice address'}</h3>
{foreach from=$inv_all_fields item=field_name}
{if $field_name eq "company" && $b2b_enable}
@@ -303,8 +314,10 @@
<input type="text" class="text" id="vat_number_invoice" name="vat_number_invoice" value="" />
</p>
</div>
<p class="required text dni_invoice">
<label for="dni">{l s='Identification number'}</label>
{elseif $field_name eq "dni"}
{assign var='dniExist' value=true}
<p class="text">
<label for="dni_invoice">{l s='Identification number'}</label>
<input type="text" class="text" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
@@ -373,6 +386,13 @@
</select>
</p>
{/if}
{if !$dniExist}
<p class="required text dni_invoice">
<label for="dni_invoice">{l s='Identification number'} <sup>*</sup></label>
<input type="text" class="text" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</p>
{/if}
<p class="textarea is_customer_param">
<label for="other_invoice">{l s='Additional information'}</label>
<textarea name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea>