Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
This commit is contained in:
@@ -106,10 +106,9 @@
|
||||
if ($(this).attr('name') == 'category_reduction['+$('[name="id_category"]:checked').val()+']')
|
||||
{
|
||||
exist = true;
|
||||
jAlert('{l s='This category already exists for this group.'}');
|
||||
jAlert('{l s='This category already exists for this group.' js='1'}');
|
||||
return false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (exist)
|
||||
@@ -127,15 +126,14 @@
|
||||
category_reduction: $('#category_reduction_fancybox').val() ,
|
||||
id_category: $('[name="id_category"]:checked').val()
|
||||
},
|
||||
success : function(jsonData)
|
||||
{
|
||||
success : function(jsonData) {
|
||||
if (jsonData.hasError)
|
||||
{
|
||||
var errors = '';
|
||||
for (error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if (error != 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
jAlert(errors);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -50,14 +50,14 @@
|
||||
console.log(truncateAuthorized);
|
||||
if (truncateAuthorized)
|
||||
{
|
||||
if (!confirm('{l s='Are you sure that you would like to delete this' js=1}' + ' ' + $.trim($('#entity > option:selected').text().toLowerCase()) + '{l s='?' js=1}'))
|
||||
if (!confirm('{l s='Are you sure that you would like to delete this' js=1}' + ' ' + $.trim($('#entity > option:selected').text().toLowerCase()) + '?'))
|
||||
{
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
jAlert('{l s='You do not have permission to delete here. When the multistore is enabled, only a SuperAdmin can delete all items before an import.'}');
|
||||
jAlert('{l s='You do not have permission to delete here. When the multistore is enabled, only a SuperAdmin can delete all items before an import.' js='1'}');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
var table = $('#selectTables select').val();
|
||||
|
||||
if (!table)
|
||||
jAlert("{l s='Please choose a table.'}");
|
||||
jAlert("{l s='Please choose a table.' js='1'}");
|
||||
else
|
||||
AddRequestSql(table);
|
||||
});
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
*}
|
||||
<a href="{$href}" class="delete"
|
||||
{if in_array($id_shop, $shops_having_dependencies)}
|
||||
onclick="jAlert('{l s='You cannot delete this shop\'s (customer and/or order dependency)'}'); return false;"
|
||||
onclick="jAlert('{l s='You cannot delete this shop\'s (customer and/or order dependency)' js='1'}'); return false;"
|
||||
{elseif isset($confirm)}
|
||||
onclick="if (confirm('{$confirm}')){ return true; } else { event.stopPropagation(); event.preventDefault();};"
|
||||
{/if} title="{$action}">
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
// check if it's possible to add the product
|
||||
if (product_infos == null || $('#cur_product_name').val() == '')
|
||||
{
|
||||
jAlert('{l s='Please select at least one product.'}');
|
||||
jAlert('{l s='Please select at least one product.' js='1'}');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ class DbMySQLiCore extends Db
|
||||
$value = 'InnoDB';
|
||||
|
||||
$sql = 'SHOW VARIABLES WHERE Variable_name = \'have_innodb\'';
|
||||
$result = $link->query($sql);
|
||||
$result = $this->link->query($sql);
|
||||
if (!$result)
|
||||
$value = 'MyISAM';
|
||||
$row = $result->fetch_assoc();
|
||||
@@ -190,7 +190,7 @@ class DbMySQLiCore extends Db
|
||||
|
||||
/* MySQL >= 5.6 */
|
||||
$sql = 'SHOW ENGINES';
|
||||
$result = $link->query($sql);
|
||||
$result = $this->link->query($sql);
|
||||
while ($row = $result->fetch_assoc())
|
||||
if ($row['Engine'] == 'InnoDB')
|
||||
{
|
||||
|
||||
@@ -215,7 +215,7 @@ class DbPDOCore extends Db
|
||||
$value = 'InnoDB';
|
||||
|
||||
$sql = 'SHOW VARIABLES WHERE Variable_name = \'have_innodb\'';
|
||||
$result = $link->query($sql);
|
||||
$result = $this->link->query($sql);
|
||||
if (!$result)
|
||||
$value = 'MyISAM';
|
||||
$row = $result->fetch();
|
||||
@@ -224,7 +224,7 @@ class DbPDOCore extends Db
|
||||
|
||||
/* MySQL >= 5.6 */
|
||||
$sql = 'SHOW ENGINES';
|
||||
$result = $link->query($sql);
|
||||
$result = $this->link->query($sql);
|
||||
while ($row = $result->fetch())
|
||||
if ($row['Engine'] == 'InnoDB')
|
||||
{
|
||||
|
||||
@@ -170,6 +170,7 @@ class ContactControllerCore extends FrontController
|
||||
'{attached_file}' => '-',
|
||||
'{message}' => Tools::nl2br(stripslashes($message)),
|
||||
'{email}' => $from,
|
||||
'{product_name}' => '',
|
||||
);
|
||||
|
||||
if (isset($filename))
|
||||
@@ -177,6 +178,8 @@ class ContactControllerCore extends FrontController
|
||||
|
||||
$id_order = (int)Tools::getValue('id_order');
|
||||
|
||||
$id_product = (int)Tools::getValue('id_product');
|
||||
|
||||
if (isset($ct) && Validate::isLoadedObject($ct))
|
||||
{
|
||||
if ($ct->id_order)
|
||||
@@ -193,6 +196,13 @@ class ContactControllerCore extends FrontController
|
||||
$var_list['{id_order}'] = $id_order;
|
||||
}
|
||||
|
||||
if ($id_product)
|
||||
{
|
||||
$product = new Product((int)$id_product);
|
||||
if (Validate::isLoadedObject($product) && isset($product->name[Context::getContext()->language->id]))
|
||||
$var_list['{product_name}'] = $product->name[Context::getContext()->language->id];
|
||||
}
|
||||
|
||||
if (empty($contact->email))
|
||||
Mail::Send($this->context->language->id, 'contact_form', $subject, $var_list, $from, null, null, null, $fileAttachment);
|
||||
else
|
||||
|
||||
@@ -92,7 +92,6 @@ UPDATE PREFIX_stock_mvt sm SET sm.id_stock = IFNULL((
|
||||
WHERE s.id_product = sm.id_product
|
||||
AND s.id_product_attribute = sm.id_product_attribute
|
||||
ORDER BY s.id_shop
|
||||
LIMIT 1
|
||||
), 0);
|
||||
DELETE FROM PREFIX_stock_mvt WHERE id_stock = 0;
|
||||
ALTER TABLE PREFIX_stock_mvt DROP id_product, DROP id_product_attribute;
|
||||
|
||||
@@ -470,8 +470,7 @@ function init()
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
data : query,
|
||||
success : function(data)
|
||||
{
|
||||
success : function(data) {
|
||||
if (data.result)
|
||||
{
|
||||
go = false;
|
||||
@@ -491,8 +490,7 @@ function init()
|
||||
else
|
||||
jAlert(data.error);
|
||||
},
|
||||
error : function(XMLHttpRequest, textStatus, errorThrown)
|
||||
{
|
||||
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
jAlert("Impossible to add the product to the cart.\n\ntextStatus: '" + textStatus + "'\nerrorThrown: '" + errorThrown + "'\nresponseText:\n" + XMLHttpRequest.responseText);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -161,7 +161,7 @@ function getHookableList() {
|
||||
var errors = '';
|
||||
for (error in jsonData.errors) //IE6 bug fix
|
||||
if (error != 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">Your message has been sent successfully.<br /><br /> Message: {message}<br /><br /> Order ID : {order_name}<br /><br /> Attached file : {attached_file}</td>
|
||||
<td align="left">Your message has been sent successfully.<br /><br /> Message: {message}<br /><br /> Order ID : {order_name}<br /><br /> Product : {product_name}<br /><br /> Attached file : {attached_file}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
||||
@@ -446,7 +446,7 @@ var ajaxCart = {
|
||||
var name = (this.name.length > 12 ? this.name.substring(0, 10) + '...' : this.name);
|
||||
content += '<a href="' + this.link + '" title="' + this.name + '" class="cart_block_product_name">' + name + '</a>';
|
||||
|
||||
if (parseFloat(this.price_float) > 0)
|
||||
if (this.is_gift != undefined && this.is_gift == 1)
|
||||
content += '<span class="remove_link"><a rel="nofollow" class="ajax_cart_block_remove_link" href="' + baseUri + '?controller=cart&delete=1&id_product=' + productId + '&token=' + static_token + (this.hasAttributes ? '&ipa=' + parseInt(this.idCombination) : '') + '"> </a></span>';
|
||||
else
|
||||
content += '<span class="remove_link"></span>';
|
||||
@@ -571,7 +571,7 @@ var ajaxCart = {
|
||||
for (error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if (error != 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -739,11 +739,39 @@ class BlockCms extends Module
|
||||
}
|
||||
|
||||
public function hookActionShopDataDuplication($params)
|
||||
{
|
||||
//get all cmd block to duplicate in new shop
|
||||
$cms_blocks = Db::getInstance()->executeS('
|
||||
SELECT * FROM `'._DB_PREFIX_.'cms_block` cb
|
||||
LEFT JOIN `'._DB_PREFIX_.'cms_block_shop` cbf
|
||||
ON (cb.`id_cms_block` = cbf.`id_cms_block` AND cbf.`id_shop` = '.(int)$params['old_id_shop'].') ');
|
||||
|
||||
if (count($cms_blocks))
|
||||
{
|
||||
foreach ($cms_blocks as $cms_block)
|
||||
{
|
||||
Db::getInstance()->execute('
|
||||
INSERT IGNORE INTO '._DB_PREFIX_.'cms_block_shop (id_cms_block, id_shop)
|
||||
SELECT id_cms_block, '.(int)$params['new_id_shop'].'
|
||||
FROM '._DB_PREFIX_.'cms_block_shop
|
||||
WHERE id_shop = '.(int)$params['old_id_shop']);
|
||||
INSERT IGNORE INTO '._DB_PREFIX_.'cms_block (`id_cms_block`, `id_cms_category`, `location`, `position`, `display_store`)
|
||||
VALUES (NULL, '.(int)$cms_block['id_cms_category'].', '.(int)$cms_block['location'].', '.(int)$cms_block['position'].', '.(int)$cms_block['display_store'].');');
|
||||
|
||||
$id_block_cms = Db::getInstance()->Insert_ID();
|
||||
|
||||
Db::getInstance()->execute('INSERT IGNORE INTO '._DB_PREFIX_.'cms_block_shop (`id_cms_block`, `id_shop`) VALUES ('.(int)$id_block_cms.', '.(int)$params['new_id_shop'].');');
|
||||
|
||||
$langs = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'cms_block_lang` WHERE `id_cms_block` = '.(int)$cms_block['id_cms_block']);
|
||||
|
||||
foreach($langs as $lang)
|
||||
Db::getInstance()->execute('
|
||||
INSERT IGNORE INTO `'._DB_PREFIX_.'cms_block_lang` (`id_cms_block`, `id_lang`, `name`)
|
||||
VALUES ('.(int)$id_block_cms.', '.(int)$lang['id_lang'].', \''.pSQL($lang['name']).'\');');
|
||||
|
||||
$pages = Db::getInstance()->executeS('SELECT * FROM `'._DB_PREFIX_.'cms_block_page` WHERE `id_cms_block` = '.(int)$cms_block['id_cms_block']);
|
||||
|
||||
foreach($pages as $page)
|
||||
Db::getInstance()->execute('
|
||||
INSERT IGNORE INTO `'._DB_PREFIX_.'cms_block_page` (`id_cms_block_page`, `id_cms_block`, `id_cms`, `is_category`)
|
||||
VALUES (NULL, '.(int)$id_block_cms.', '.(int)$page['id_cms'].', '.(int)$page['is_category'].');');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@ function upQuantity(id, qty)
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
$('input[name=quantity_'+ id +']').val($('input[name=quantity_'+ id +'_hidden]').val());
|
||||
}
|
||||
@@ -539,7 +539,7 @@ function downQuantity(id, qty)
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
$('input[name=quantity_'+ id +']').val($('input[name=quantity_'+ id +'_hidden]').val());
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ function updateAddresses()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -93,7 +93,7 @@ function updateAddressSelection()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
@@ -186,7 +186,7 @@ function getCarrierListAndUpdate()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
@@ -236,7 +236,7 @@ function updateCarrierSelectionAndGift()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
@@ -703,7 +703,7 @@ function bindInputs()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -170,7 +170,7 @@ function bindInputs()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
@@ -254,7 +254,7 @@ function updateCarrierSelectionAndGift()
|
||||
for(var error in jsonData.errors)
|
||||
//IE6 bug fix
|
||||
if(error !== 'indexOf')
|
||||
errors += jsonData.errors[error] + "\n";
|
||||
errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
|
||||
alert(errors);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user