Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development

This commit is contained in:
Francois Gaillard
2013-04-23 11:39:14 +02:00
34 changed files with 261 additions and 213 deletions
@@ -35,7 +35,7 @@
{else} {else}
{assign var=params_url value="&id_category={$category.id_category}&viewcategory"} {assign var=params_url value="&id_category={$category.id_category}&viewcategory"}
{/if} {/if}
{if $key == 0} {if $category.id_category == $categories_tree_current_id}
{$category.name} {$category.name}
{else} {else}
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a>&nbsp;>&nbsp; <a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a>&nbsp;>&nbsp;
@@ -38,7 +38,7 @@
{foreach $addresses AS $addresse} {foreach $addresses AS $addresse}
<table border="0" cellpadding="0" cellspacing="0" class="table" style="width: 600px;"> <table border="0" cellpadding="0" cellspacing="0" class="table" style="width: 600px;">
<tr> <tr>
<th><strong>{$addresse.firstname} {$addresse.lastname}</strong></th> <th><strong>{$addresse.firstname} {$addresse.lastname} <a href="{$link->getAdminLink('AdminManufacturers')}&id_address={$addresse.id_address}&editaddresses=1"><img src="../img/admin/edit.gif"></a></strong></th>
</tr> </tr>
<tr> <tr>
<td> <td>
@@ -25,7 +25,7 @@
<div id="statsContainer"> <div id="statsContainer">
<div id="calendar"> <div id="calendar">
<form action="{$current}&token={$token}{if $action && $table}&{$action}{$table}{/if}{if $identifier && $id}&{$identifier}={$id}{/if}" method="post" id="calendar_form" name="calendar_form"> <form action="{$current}&token={$token}{if $action && $table}&{$action|escape}{$table|escape}{/if}{if $identifier && $id}&{$identifier|escape}={$id|escape}{/if}" method="post" id="calendar_form" name="calendar_form">
<input type="submit" name="submitDateDay" class="button submitDateDay" value="{$translations.Day}"> <input type="submit" name="submitDateDay" class="button submitDateDay" value="{$translations.Day}">
<input type="submit" name="submitDateMonth" class="button submitDateMonth" value="{$translations.Month}"> <input type="submit" name="submitDateMonth" class="button submitDateMonth" value="{$translations.Month}">
<input type="submit" name="submitDateYear" class="button submitDateYear" value="{$translations.Year}"> <input type="submit" name="submitDateYear" class="button submitDateYear" value="{$translations.Year}">
@@ -25,7 +25,7 @@
<br/> <br/>
<div class="blocEngine"> <div class="blocEngine">
<form action="{$current}&token={$token}" method="post" id="settings_form" name="settings_form"> <form action="{$smarty.server.REQUEST_URI|escape}" method="post" id="settings_form" name="settings_form">
<h3 class="icon-{l s='Settings'}">{l s='Settings'}</h3> <h3 class="icon-{l s='Settings'}">{l s='Settings'}</h3>
<div class="rowForm"> <div class="rowForm">
@@ -35,39 +35,33 @@
buildTreeView(use_context); buildTreeView(use_context);
}); });
</script> </script>
<div class="category-filter"> <div class="category-filter">
<span><a href="#" id="collapse_all" >{$categories.trads['Collapse All']}</a> <span><a href="#" id="collapse_all">{$categories.trads['Collapse All']}</a>|&nbsp;</span>
|</span> <span><a href="#" id="expand_all">{$categories.trads['Expand All']}</a>|&nbsp;</span>
<span><a href="#" id="expand_all" >{$categories.trads['Expand All']}</a>
{if !$categories.use_radio} {if !$categories.use_radio}
|</span> <span><a href="#" id="check_all">{$categories.trads['Check All']}</a>|&nbsp;</span>
<span></span><a href="#" id="check_all" >{$categories.trads['Check All']}</a> <span><a href="#" id="uncheck_all">{$categories.trads['Uncheck All']}</a>|&nbsp;</span>
|</span> {/if}
<span></span><a href="#" id="uncheck_all" >{$categories.trads['Uncheck All']}</a></span>
{/if}
{if $categories.use_search} {if $categories.use_search}
<span style="margin-left:20px"> <span style="margin-left:20px">
{$categories.trads.search} : {$categories.trads.search}:&nbsp;
<form method="post" id="filternameForm"> <form method="post" id="filternameForm">
<input type="text" name="search_cat" id="search_cat"> <input type="text" name="search_cat" id="search_cat"/>
</form> </form>
</span> </span>
{/if} {/if}
</div> </div>
{assign var=home_is_selected value=false} {assign var=home_is_selected value=false}
{foreach $categories.selected_cat AS $cat} {foreach $categories.selected_cat AS $cat}
{if is_array($cat)} {if is_array($cat)}
{if $cat.id_category != $categories.trads.Root.id_category} {if $cat.id_category != $categories.trads.Root.id_category}
<input {if in_array($cat.id_category, $categories.disabled_categories)}disabled="disabled"{/if} type="hidden" name="{$categories.input_name}" value="{$cat.id_category}" > <input {if in_array($cat.id_category, $categories.disabled_categories)}disabled="disabled"{/if} type="hidden" name="{$categories.input_name}" value="{$cat.id_category}"/>
{else} {else}
{assign var=home_is_selected value=true} {assign var=home_is_selected value=true}
{/if} {/if}
{else} {else}
{if $cat != $categories.trads.Root.id_category} {if $cat != $categories.trads.Root.id_category}
<input {if in_array($cat, $categories.disabled_categories)}disabled="disabled"{/if} type="hidden" name="{$categories.input_name}" value="{$cat}" > <input {if in_array($cat, $categories.disabled_categories)}disabled="disabled"{/if} type="hidden" name="{$categories.input_name}" value="{$cat}"/>
{else} {else}
{assign var=home_is_selected value=true} {assign var=home_is_selected value=true}
{/if} {/if}
@@ -80,8 +74,8 @@
<input type="{if !$categories.use_radio}checkbox{else}radio{/if}" <input type="{if !$categories.use_radio}checkbox{else}radio{/if}"
name="{$categories.input_name}" name="{$categories.input_name}"
value="{$categories.trads.Root.id_category}" value="{$categories.trads.Root.id_category}"
{if $home_is_selected}checked{/if} {if $home_is_selected}checked="checked"{/if}
onclick="clickOnCategoryBox($(this));" /> onclick="clickOnCategoryBox($(this));"/>
<span class="category_label">{$categories.trads.Root.name}</span> <span class="category_label">{$categories.trads.Root.name}</span>
{else} {else}
&nbsp; &nbsp;
@@ -97,4 +91,4 @@
searchCategory(); searchCategory();
</script> </script>
{/if} {/if}
{/if} {/if}
+1 -1
View File
@@ -1451,7 +1451,7 @@ class ProductCore extends ObjectModel
} }
if (count($id_shop_list)) if (count($id_shop_list))
$combination->id_shop_list = $id_shop_list; $combination->id_shop_list = array_unique($id_shop_list);
$combination->add(); $combination->add();
+1 -1
View File
@@ -984,7 +984,7 @@ class ToolsCore
if (function_exists('mb_strtolower')) if (function_exists('mb_strtolower'))
$str = mb_strtolower($str, 'utf-8'); $str = mb_strtolower($str, 'utf-8');
elseif (!$allow_accented_chars) if (!$allow_accented_chars)
$str = Tools::replaceAccentedChars($str); $str = Tools::replaceAccentedChars($str);
// Remove all non-whitelist chars. // Remove all non-whitelist chars.
+7 -10
View File
@@ -239,17 +239,14 @@ class HelperCore
$html .= ' $html .= '
<div class="category-filter"> <div class="category-filter">
<span><a href="#" id="collapse_all" >'.$translations['Collapse All'].'</a> <span><a href="#" id="collapse_all">'.$translations['Collapse All'].'</a>|&nbsp;</span>
| </span> <span><a href="#" id="expand_all">'.$translations['Expand All'].'</a>|&nbsp;</span>
<span><a href="#" id="expand_all" >'.$translations['Expand All'].'</a>
'.(!$use_radio ? ' '.(!$use_radio ? '
|</span> <span><a href="#" id="check_all">'.$translations['Check All'].'</a>|&nbsp;</span>
<span> <a href="#" id="check_all" >'.$translations['Check All'].'</a> <span><a href="#" id="uncheck_all">'.$translations['Uncheck All'].'</a>|&nbsp;</span>' : '')
|</span> .($use_search ? '
<span><a href="#" id="uncheck_all" >'.$translations['Uncheck All'].'</a>|</span> <span>'.$translations['search'].': <input type="text" name="search_cat" id="search_cat"/></span>' : '')
' : '').($use_search ? '<span>'.$translations['search'].' : <input type="text" name="search_cat" id="search_cat"></span>' : '').' .'</div>';
</div>
';
$home_is_selected = false; $home_is_selected = false;
foreach ($selected_cat as $cat) foreach ($selected_cat as $cat)
+1 -1
View File
@@ -124,7 +124,7 @@ class HelperListCore extends Helper
// Append when we get a syntax error in SQL query // Append when we get a syntax error in SQL query
if ($list === false) if ($list === false)
{ {
$this->displayWarning($this->l('Bad SQL query', 'Helper')); $this->context->controller->warnings[] = $this->l('Bad SQL query', 'Helper');
return false; return false;
} }
+94 -93
View File
@@ -100,7 +100,7 @@ class OrderHistoryCore extends ObjectModel
'id_order' => (int)$order->id 'id_order' => (int)$order->id
)); ));
if (Validate::isLoadedObject($order) && ($old_os instanceof OrderState) && ($new_os instanceof OrderState)) if (Validate::isLoadedObject($order) && ($new_os instanceof OrderState))
{ {
// An email is sent the first time a virtual item is validated // An email is sent the first time a virtual item is validated
$virtual_products = $order->getVirtualProducts(); $virtual_products = $order->getVirtualProducts();
@@ -160,108 +160,109 @@ class OrderHistoryCore extends ObjectModel
if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT')) if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'))
$manager = StockManagerFactory::getManager(); $manager = StockManagerFactory::getManager();
// foreach products of the order // foreach products of the order
foreach ($order->getProductsDetail() as $product) if (Validate::isLoadedObject($old_os))
{ foreach ($order->getProductsDetail() as $product)
// if becoming logable => adds sale
if ($new_os->logable && !$old_os->logable)
{ {
ProductSale::addProductSale($product['product_id'], $product['product_quantity']); // if becoming logable => adds sale
// @since 1.5.0 - Stock Management if ($new_os->logable && !$old_os->logable)
if (!Pack::isPack($product['product_id']) &&
($old_os->id == Configuration::get('PS_OS_ERROR') || $old_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product'], (int)$order->id_shop))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], -(int)$product['product_quantity'], $order->id_shop);
}
// if becoming unlogable => removes sale
elseif (!$new_os->logable && $old_os->logable)
{
ProductSale::removeProductSale($product['product_id'], $product['product_quantity']);
// @since 1.5.0 - Stock Management
if (!Pack::isPack($product['product_id']) &&
($new_os->id == Configuration::get('PS_OS_ERROR') || $new_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product']))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], (int)$product['product_quantity'], $order->id_shop);
}
// if waiting for payment => payment error/canceled
elseif (!$new_os->logable && !$old_os->logable &&
($new_os->id == Configuration::get('PS_OS_ERROR') || $new_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product']))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], (int)$product['product_quantity'], $order->id_shop);
// @since 1.5.0 : if the order is being shipped and this products uses the advanced stock management :
// decrements the physical stock using $id_warehouse
if ($new_os->shipped == 1 && $old_os->shipped == 0 &&
Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') &&
Warehouse::exists($product['id_warehouse']) &&
$manager != null &&
((int)$product['advanced_stock_management'] == 1 || Pack::usesAdvancedStockManagement($product['product_id'])))
{
// gets the warehouse
$warehouse = new Warehouse($product['id_warehouse']);
// decrements the stock (if it's a pack, the StockManager does what is needed)
$manager->removeProduct(
$product['product_id'],
$product['product_attribute_id'],
$warehouse,
$product['product_quantity'],
Configuration::get('PS_STOCK_CUSTOMER_ORDER_REASON'),
true,
(int)$order->id
);
}
// @since.1.5.0 : if the order was shipped, and is not anymore, we need to restock products
elseif ($new_os->shipped == 0 && $old_os->shipped == 1 &&
Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') &&
Warehouse::exists($product['id_warehouse']) &&
$manager != null &&
((int)$product['advanced_stock_management'] == 1 || Pack::usesAdvancedStockManagement($product['product_id'])))
{
// if the product is a pack, we restock every products in the pack using the last negative stock mvts
if (Pack::isPack($product['product_id']))
{ {
$pack_products = Pack::getItems($product['product_id'], Configuration::get('PS_LANG_DEFAULT', null, null, $order->id_shop)); ProductSale::addProductSale($product['product_id'], $product['product_quantity']);
foreach ($pack_products as $pack_product) // @since 1.5.0 - Stock Management
if (!Pack::isPack($product['product_id']) &&
($old_os->id == Configuration::get('PS_OS_ERROR') || $old_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product'], (int)$order->id_shop))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], -(int)$product['product_quantity'], $order->id_shop);
}
// if becoming unlogable => removes sale
elseif (!$new_os->logable && $old_os->logable)
{
ProductSale::removeProductSale($product['product_id'], $product['product_quantity']);
// @since 1.5.0 - Stock Management
if (!Pack::isPack($product['product_id']) &&
($new_os->id == Configuration::get('PS_OS_ERROR') || $new_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product']))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], (int)$product['product_quantity'], $order->id_shop);
}
// if waiting for payment => payment error/canceled
elseif (!$new_os->logable && !$old_os->logable &&
($new_os->id == Configuration::get('PS_OS_ERROR') || $new_os->id == Configuration::get('PS_OS_CANCELED')) &&
!StockAvailable::dependsOnStock($product['id_product']))
StockAvailable::updateQuantity($product['product_id'], $product['product_attribute_id'], (int)$product['product_quantity'], $order->id_shop);
// @since 1.5.0 : if the order is being shipped and this products uses the advanced stock management :
// decrements the physical stock using $id_warehouse
if ($new_os->shipped == 1 && $old_os->shipped == 0 &&
Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') &&
Warehouse::exists($product['id_warehouse']) &&
$manager != null &&
((int)$product['advanced_stock_management'] == 1 || Pack::usesAdvancedStockManagement($product['product_id'])))
{
// gets the warehouse
$warehouse = new Warehouse($product['id_warehouse']);
// decrements the stock (if it's a pack, the StockManager does what is needed)
$manager->removeProduct(
$product['product_id'],
$product['product_attribute_id'],
$warehouse,
$product['product_quantity'],
Configuration::get('PS_STOCK_CUSTOMER_ORDER_REASON'),
true,
(int)$order->id
);
}
// @since.1.5.0 : if the order was shipped, and is not anymore, we need to restock products
elseif ($new_os->shipped == 0 && $old_os->shipped == 1 &&
Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') &&
Warehouse::exists($product['id_warehouse']) &&
$manager != null &&
((int)$product['advanced_stock_management'] == 1 || Pack::usesAdvancedStockManagement($product['product_id'])))
{
// if the product is a pack, we restock every products in the pack using the last negative stock mvts
if (Pack::isPack($product['product_id']))
{ {
if ($pack_product->advanced_stock_management == 1) $pack_products = Pack::getItems($product['product_id'], Configuration::get('PS_LANG_DEFAULT', null, null, $order->id_shop));
foreach ($pack_products as $pack_product)
{ {
$mvts = StockMvt::getNegativeStockMvts($order->id, $pack_product->id, 0, $pack_product->pack_quantity * $product['product_quantity']); if ($pack_product->advanced_stock_management == 1)
foreach ($mvts as $mvt)
{ {
$manager->addProduct( $mvts = StockMvt::getNegativeStockMvts($order->id, $pack_product->id, 0, $pack_product->pack_quantity * $product['product_quantity']);
$pack_product->id, foreach ($mvts as $mvt)
0, {
new Warehouse($mvt['id_warehouse']), $manager->addProduct(
$mvt['physical_quantity'], $pack_product->id,
null, 0,
$mvt['price_te'], new Warehouse($mvt['id_warehouse']),
true $mvt['physical_quantity'],
); null,
$mvt['price_te'],
true
);
}
if (!StockAvailable::dependsOnStock($product['id_product']))
StockAvailable::updateQuantity($pack_product->id, 0, (int)$pack_product->pack_quantity * $product['product_quantity'], $order->id_shop);
} }
if (!StockAvailable::dependsOnStock($product['id_product'])) }
StockAvailable::updateQuantity($pack_product->id, 0, (int)$pack_product->pack_quantity * $product['product_quantity'], $order->id_shop); }
// else, it's not a pack, re-stock using the last negative stock mvts
else
{
$mvts = StockMvt::getNegativeStockMvts($order->id, $product['product_id'], $product['product_attribute_id'], $product['product_quantity']);
foreach ($mvts as $mvt)
{
$manager->addProduct(
$product['product_id'],
$product['product_attribute_id'],
new Warehouse($mvt['id_warehouse']),
$mvt['physical_quantity'],
null,
$mvt['price_te'],
true
);
} }
} }
} }
// else, it's not a pack, re-stock using the last negative stock mvts
else
{
$mvts = StockMvt::getNegativeStockMvts($order->id, $product['product_id'], $product['product_attribute_id'], $product['product_quantity']);
foreach ($mvts as $mvt)
{
$manager->addProduct(
$product['product_id'],
$product['product_attribute_id'],
new Warehouse($mvt['id_warehouse']),
$mvt['physical_quantity'],
null,
$mvt['price_te'],
true
);
}
}
} }
}
} }
$this->id_order_state = (int)$new_order_state; $this->id_order_state = (int)$new_order_state;
@@ -187,8 +187,9 @@ class AdminCategoriesControllerCore extends AdminController
&& (Shop::getContext() == Shop::CONTEXT_SHOP && !Shop::isFeatureActive() && $count_categories_without_parent > 1)) && (Shop::getContext() == Shop::CONTEXT_SHOP && !Shop::isFeatureActive() && $count_categories_without_parent > 1))
$categories_tree = array(array('name' => $this->_category->name[$this->context->language->id])); $categories_tree = array(array('name' => $this->_category->name[$this->context->language->id]));
asort($categories_tree); $categories_tree = array_reverse($categories_tree);
$this->tpl_list_vars['categories_tree'] = $categories_tree; $this->tpl_list_vars['categories_tree'] = $categories_tree;
$this->tpl_list_vars['categories_tree_current_id'] = $this->_category->id;
if (Tools::isSubmit('submitBulkdelete'.$this->table) || Tools::isSubmit('delete'.$this->table)) if (Tools::isSubmit('submitBulkdelete'.$this->table) || Tools::isSubmit('delete'.$this->table))
{ {
@@ -569,7 +569,12 @@ class AdminManufacturersControllerCore extends AdminController
{ {
if (!($manufacturer = $this->loadObject())) if (!($manufacturer = $this->loadObject()))
return; return;
$this->toolbar_btn['new'] = array(
'href' => $this->context->link->getAdminLink('AdminManufacturers').'&addaddress=1&id_manufacturer='.(int)$manufacturer->id,
'desc' => $this->l('Add address')
);
$addresses = $manufacturer->getAddresses($this->context->language->id); $addresses = $manufacturer->getAddresses($this->context->language->id);
$products = $manufacturer->getProductsLite($this->context->language->id); $products = $manufacturer->getProductsLite($this->context->language->id);
@@ -79,6 +79,12 @@ abstract class AdminStatsTabControllerCore extends AdminPreferencesControllerCor
$context->controller->addJqueryUI('ui.datepicker'); $context->controller->addJqueryUI('ui.datepicker');
if ($identifier === null && Tools::getValue('module'))
{
$identifier = 'module';
$id = Tools::getValue('module');
}
$tpl->assign(array( $tpl->assign(array(
'current' => self::$currentIndex, 'current' => self::$currentIndex,
'token' => $token, 'token' => $token,
@@ -146,7 +146,6 @@ class AdminSuppliersControllerCore extends AdminController
'id' => 'id_country', 'id' => 'id_country',
'name' => 'name', 'name' => 'name',
), ),
'desc' => $this->l('Country where the state, region or city is located')
), ),
array( array(
'type' => 'select', 'type' => 'select',
+2 -2
View File
@@ -102,7 +102,7 @@ return array(
'Receive this information by e-mail' => 'Recevez ces informations par e-mail', 'Receive this information by e-mail' => 'Recevez ces informations par e-mail',
'Warning: You will receive this information only if your e-mail configuration is correct.' => 'Attention : vous ne recevrez ces informations que si votre configuration des e-mails est correcte', 'Warning: You will receive this information only if your e-mail configuration is correct.' => 'Attention : vous ne recevrez ces informations que si votre configuration des e-mails est correcte',
'Configure your database by filling out the following fields:' => 'Configurez la connexion à votre base de données en remplissant les champs suivants.', 'Configure your database by filling out the following fields:' => 'Configurez la connexion à votre base de données en remplissant les champs suivants.',
'You have to create a database, help available in <a href="http://doc.prestashop.com" target="_blank">our online documentation</a>.' => 'Vous devez créer une base de données, de l\'aide est disponible sur <a href="http://doc.prestashop.com" target="_blank">notre documentation en ligne</a>.', 'You have to create a database, help available in <a href="http://doc.prestashop.com" target="_blank">our online documentation</a>.' => 'Vous devez créer une base de données, de l\'aide est disponible sur <a href="http://doc.prestashop.com/display/PS15/Installer+PrestaShop#InstallerPrestaShop-Cr%C3%A9erunebasededonn%C3%A9espourvotreboutique" target="_blank">notre documentation en ligne</a>.',
'Database server address:' => 'Adresse du serveur de la base :', 'Database server address:' => 'Adresse du serveur de la base :',
'If you want to use a different port, add :XX after your server address where XX is your port number.' => 'Si vous souhaitez utiliser un port différent, ajoutez :XX à l\'adresse de votre serveur, XX étant le numéro de votre port.', 'If you want to use a different port, add :XX after your server address where XX is your port number.' => 'Si vous souhaitez utiliser un port différent, ajoutez :XX à l\'adresse de votre serveur, XX étant le numéro de votre port.',
'Database name:' => 'Nom de la base :', 'Database name:' => 'Nom de la base :',
@@ -241,4 +241,4 @@ return array(
'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'PrestaShop peut vous guider de façon régulière en vous faisant parvenir des conseils afin d\'optimiser la gestion de votre boutique et développer votre activité. Si vous ne souhaitez pas recevoir ces conseils, nous vous invitons à décocher cette case.', 'PrestaShop can provide you with guidance on a regular basis by sending you tips on how to optimize the management of your store which will help you grow your business. If you do not wish to receive these tips, please uncheck this box.' => 'PrestaShop peut vous guider de façon régulière en vous faisant parvenir des conseils afin d\'optimiser la gestion de votre boutique et développer votre activité. Si vous ne souhaitez pas recevoir ces conseils, nous vous invitons à décocher cette case.',
'Your PHP sessions path is not writable - check with your hosting provider:' => 'Le dossier de stockage n\'est pas accessible en écriture - consultez votre hébergeur', 'Your PHP sessions path is not writable - check with your hosting provider:' => 'Le dossier de stockage n\'est pas accessible en écriture - consultez votre hébergeur',
), ),
); );
+1 -1
View File
@@ -627,7 +627,7 @@ ul#optional {
#prestastore, #prestastore,
#prestastore_update { #prestastore_update {
height:210px; height:590px;
width:645px; width:645px;
border:none; border:none;
/*-moz-border-radius: 5px; /*-moz-border-radius: 5px;
+1 -1
View File
@@ -75,7 +75,7 @@ var process_steps = <?php echo Tools::jsonEncode($this->process_steps) ?>;
</div> </div>
<?php if (@fsockopen('addons.prestashop.com', 80, $errno, $errst, 3)): ?> <?php if (@fsockopen('addons.prestashop.com', 80, $errno, $errst, 3)): ?>
<iframe src="http://addons.prestashop.com/psinstall.php?version=2&lang=<?php echo $this->language->getLanguageIso() ?>&email=<?php echo $this->session->admin_email ?>&activity=<?php echo $this->session->shop_activity ?>&country=<?php echo $this->session->shop_country ?>" scrolling="no" id="prestastore"> <iframe src="http://addons.prestashop.com/psinstall1541.php?version=2&lang=<?php echo $this->language->getLanguageIso() ?>&email=<?php echo $this->session->admin_email ?>&activity=<?php echo $this->session->shop_activity ?>&country=<?php echo $this->session->shop_country ?>" scrolling="no" id="prestastore">
<p>Your browser does not support iframes.</p> <p>Your browser does not support iframes.</p>
</iframe> </iframe>
<?php endif; ?> <?php endif; ?>
@@ -33,20 +33,31 @@
{/if} {/if}
<form action="{$link->getPageLink('index')}" method="post"> <form action="{$link->getPageLink('index')}" method="post">
<p> <p>
{* @todo use jquery (focusin, focusout) instead of onblur and onfocus *} <input class="inputNew" id="newsletter-input" type="text" name="email" size="18" value="{if isset($value) && $value}{$value}{else}{l s='your e-mail' mod='blocknewsletter'}{/if}">
<input type="text" name="email" size="18" <input type="submit" value="ok" class="button_mini" name="submitNewsletter" />
value="{if isset($value) && $value}{$value}{else}{l s='Your email address' mod='blocknewsletter'}{/if}"
onfocus="javascript:if(this.value=='{l s='Your email address' mod='blocknewsletter' js=1}')this.value='';"
onblur="javascript:if(this.value=='')this.value='{l s='Your email address' mod='blocknewsletter' js=1}';"
class="inputNew" />
<!--<select name="action">
<option value="0"{if isset($action) && $action == 0} selected="selected"{/if}>{l s='Subscribe' mod='blocknewsletter'}</option>
<option value="1"{if isset($action) && $action == 1} selected="selected"{/if}>{l s='Unsubscribe' mod='blocknewsletter'}</option>
</select>-->
<input type="submit" value="ok" class="button_mini" name="submitNewsletter" />
<input type="hidden" name="action" value="0" /> <input type="hidden" name="action" value="0" />
</p> </p>
</form> </form>
</div> </div>
</div> </div>
<!-- /Block Newsletter module--> <!-- /Block Newsletter module-->
<script>
var placeholder = "{l s='your e-mail' mod='blocknewsletter' js=1}";
{literal}
$(document).ready(function() {
$('#newsletter-input').on({
focus: function() {
if ($(this).val() == placeholder) {
$(this).val('');
}
},
blur: function() {
if ($(this).val() == '') {
$(this).val(placeholder);
}
}
});
});
{/literal}
</script>
@@ -67,7 +67,7 @@ PS_SE_HandleEvent();
<ul id="carriercompare_errors_list"></ul><br /> <ul id="carriercompare_errors_list"></ul><br />
</div> </div>
<div id="SE_AjaxDisplay"> <div id="SE_AjaxDisplay">
<img src="{$new_base_dir}loader.gif" /><br /> <img src="{$new_base_dir}loader.gif" alt="Loading data" /><br />
<p></p> <p></p>
</div> </div>
<div id="availableCarriers" style="display: none;"> <div id="availableCarriers" style="display: none;">
+2 -6
View File
@@ -67,12 +67,8 @@ class GridHtml extends ModuleGridEngine
foreach ($params['columns'] as $column) foreach ($params['columns'] as $column)
$html .= '<th style="width:'.$column['width'].'px;cursor:pointer"> $html .= '<th style="width:'.$column['width'].'px;cursor:pointer">
'.$column['header'].'<br /> '.$column['header'].'<br />
<a href="javascript:getGridData(\''.$grider.'&sort='.$column['dataIndex'].'&dir=ASC\');"> <a href="javascript:getGridData(\''.$grider.'&sort='.$column['dataIndex'].'&dir=ASC\');"><img src="../img/admin/up.gif" /></a>
<img src="../img/admin/up.gif" /> <a href="javascript:getGridData(\''.$grider.'&sort='.$column['dataIndex'].'&dir=DESC\');"><img src="../img/admin/down.gif" /></a>
</a>
<a href="javascript:getGridData(\''.$grider.'&sort='.$column['dataIndex'].'&dir=DESC\');">
<img src="../img/admin/down.gif" />
</a>
</th>'; </th>';
$html .= '</tr></thead> $html .= '</tr></thead>
<tbody></tbody> <tbody></tbody>
+15 -15
View File
@@ -285,9 +285,9 @@ class PSCleaner extends Module
continue; continue;
$query = 'DELETE FROM `'._DB_PREFIX_.$query_array[0].'` WHERE `'.$query_array[1].'` NOT IN (SELECT `'.$query_array[3].'` FROM `'._DB_PREFIX_.$query_array[2].'`)'; $query = 'DELETE FROM `'._DB_PREFIX_.$query_array[0].'` WHERE `'.$query_array[1].'` NOT IN (SELECT `'.$query_array[3].'` FROM `'._DB_PREFIX_.$query_array[2].'`)';
$db->Execute($query); if ($db->Execute($query))
if ($affected_rows = $db->Affected_Rows()) if ($affected_rows = $db->Affected_Rows())
$logs[$query] = $affected_rows; $logs[$query] = $affected_rows;
} }
// _lang table cleaning // _lang table cleaning
@@ -299,14 +299,14 @@ class PSCleaner extends Module
$id_table = 'id_'.preg_replace('/^'._DB_PREFIX_.'/', '', $table); $id_table = 'id_'.preg_replace('/^'._DB_PREFIX_.'/', '', $table);
$query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)'; $query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)';
$db->Execute($query); if ($db->Execute($query))
if ($affected_rows = $db->Affected_Rows()) if ($affected_rows = $db->Affected_Rows())
$logs[$query] = $affected_rows; $logs[$query] = $affected_rows;
$query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `id_lang` NOT IN (SELECT `id_lang` FROM `'._DB_PREFIX_.'lang`)'; $query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `id_lang` NOT IN (SELECT `id_lang` FROM `'._DB_PREFIX_.'lang`)';
$db->Execute($query); if ($db->Execute($query))
if ($affected_rows = $db->Affected_Rows()) if ($affected_rows = $db->Affected_Rows())
$logs[$query] = $affected_rows; $logs[$query] = $affected_rows;
} }
// _shop table cleaning // _shop table cleaning
@@ -321,14 +321,14 @@ class PSCleaner extends Module
continue; continue;
$query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)'; $query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)';
$db->Execute($query); if ($db->Execute($query))
if ($affected_rows = $db->Affected_Rows()) if ($affected_rows = $db->Affected_Rows())
$logs[$query] = $affected_rows; $logs[$query] = $affected_rows;
$query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `id_shop` NOT IN (SELECT `id_shop` FROM `'._DB_PREFIX_.'shop`)'; $query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `id_shop` NOT IN (SELECT `id_shop` FROM `'._DB_PREFIX_.'shop`)';
$db->Execute($query); if ($db->Execute($query))
if ($affected_rows = $db->Affected_Rows()) if ($affected_rows = $db->Affected_Rows())
$logs[$query] = $affected_rows; $logs[$query] = $affected_rows;
} }
Category::regenerateEntireNtree(); Category::regenerateEntireNtree();
@@ -52,24 +52,26 @@ class StatsBestCustomers extends ModuleGrid
$this->_emptyMessage = $this->l('Empty recordset returned'); $this->_emptyMessage = $this->l('Empty recordset returned');
$this->_pagingMessage = sprintf($this->l('Displaying %1$s of %2$s'), '{0} - {1}', '{2}'); $this->_pagingMessage = sprintf($this->l('Displaying %1$s of %2$s'), '{0} - {1}', '{2}');
$currency = new Currency(Configuration::get('PS_CURRENCY_DEFAULT'));
$this->_columns = array( $this->_columns = array(
array( array(
'id' => 'lastname', 'id' => 'lastname',
'header' => $this->l('Last Name'), 'header' => $this->l('Last Name'),
'dataIndex' => 'lastname', 'dataIndex' => 'lastname',
'width' => 50 'width' => 80
), ),
array( array(
'id' => 'firstname', 'id' => 'firstname',
'header' => $this->l('First Name'), 'header' => $this->l('First Name'),
'dataIndex' => 'firstname', 'dataIndex' => 'firstname',
'width' => 50 'width' => 80
), ),
array( array(
'id' => 'email', 'id' => 'email',
'header' => $this->l('Email'), 'header' => $this->l('Email'),
'dataIndex' => 'email', 'dataIndex' => 'email',
'width' => 120 'width' => 140
), ),
array( array(
'id' => 'totalVisits', 'id' => 'totalVisits',
@@ -78,10 +80,16 @@ class StatsBestCustomers extends ModuleGrid
'width' => 80, 'width' => 80,
'align' => 'right'), 'align' => 'right'),
array( array(
'id' => 'totalMoneySpent', 'id' => 'totalValidOrders',
'header' => $this->l('Money spent'), 'header' => $this->l('Valid orders'),
'dataIndex' => 'totalMoneySpent', 'dataIndex' => 'totalValidOrders',
'width' => 80, 'width' => 80,
'align' => 'right'),
array(
'id' => 'totalMoneySpent',
'header' => $this->l('Money spent').' ('.Tools::safeOutput($currency->iso_code).')',
'dataIndex' => 'totalMoneySpent',
'width' => 140,
'align' => 'right') 'align' => 'right')
); );
@@ -142,7 +150,14 @@ class StatsBestCustomers extends ModuleGrid
WHERE o.id_customer = c.id_customer WHERE o.id_customer = c.id_customer
AND o.invoice_date BETWEEN '.$this->getDate().' AND o.invoice_date BETWEEN '.$this->getDate().'
AND o.valid AND o.valid
), 0) as totalMoneySpent ), 0) as totalMoneySpent,
IFNULL((
SELECT COUNT(*)
FROM `'._DB_PREFIX_.'orders` o
WHERE o.id_customer = c.id_customer
AND o.invoice_date BETWEEN '.$this->getDate().'
AND o.valid
), 0) as totalValidOrders
FROM `'._DB_PREFIX_.'customer` c FROM `'._DB_PREFIX_.'customer` c
LEFT JOIN `'._DB_PREFIX_.'guest` g ON c.`id_customer` = g.`id_customer` LEFT JOIN `'._DB_PREFIX_.'guest` g ON c.`id_customer` = g.`id_customer`
LEFT JOIN `'._DB_PREFIX_.'connections` co ON g.`id_guest` = co.`id_guest` LEFT JOIN `'._DB_PREFIX_.'connections` co ON g.`id_guest` = co.`id_guest`
+3 -3
View File
@@ -207,15 +207,15 @@ $(function(){ldelim}
<label for="other">{l s='Additional information'}</label> <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}{/if}{/if}</textarea> <textarea id="other" name="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{else}{if isset($address->other)}{$address->other}{/if}{/if}</textarea>
</p> </p>
{if $one_phone_at_least} {if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos required">{l s='You must register at least one phone number.'}</p> <p class="inline-infos required">{l s='You must register at least one phone number.'}</p>
{/if} {/if}
<p class="text"> <p class="text">
<label for="phone">{l s='Home phone'}</label> <label for="phone">{l s='Home phone'}</label>
<input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{if isset($address->phone)}{$address->phone}{/if}{/if}" /> <input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{if isset($address->phone)}{$address->phone}{/if}{/if}" />
</p> </p>
<p class="{if $one_phone_at_least}required {/if}text"> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone_mobile">{l s='Mobile phone'}{if $one_phone_at_least} <sup>*</sup>{/if}</label> <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile}{/if}{/if}" /> <input type="text" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile}{/if}{/if}" />
</p> </p>
<p class="required text" id="adress_alias"> <p class="required text" id="adress_alias">
+16 -11
View File
@@ -23,8 +23,13 @@
* International Registered Trademark & Property of PrestaShop SA * International Registered Trademark & Property of PrestaShop SA
*} *}
{capture name=path}{l s='Login'}{/capture} {capture name=path}
{include file="$tpl_dir./breadcrumb.tpl"} {if !isset($email_create)}{l s='Authentication'}{else}
<a href="{$link->getPageLink('authentication', true)}" rel="nofollow" title="{l s='Authentication'}">{l s='Authentication'}</a>
<span class="navigation-pipe">{$navigationPipe}</span>{l s='Create your account'}
{/if}
{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
<script type="text/javascript"> <script type="text/javascript">
// <![CDATA[ // <![CDATA[
@@ -69,7 +74,7 @@ $(document).ready(function() {
{/literal} {/literal}
</script> </script>
<h1>{if !isset($email_create)}{l s='Log in'}{else}{l s='Create an account'}{/if}</h1> <h1>{if !isset($email_create)}{l s='Authentication'}{else}{l s='Create an account'}{/if}</h1>
{if !isset($back) || $back != 'my-account'}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if} {if !isset($back) || $back != 'my-account'}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if}
{include file="$tpl_dir./errors.tpl"} {include file="$tpl_dir./errors.tpl"}
{assign var='stateExist' value=false} {assign var='stateExist' value=false}
@@ -181,10 +186,10 @@ $(document).ready(function() {
<label for="passwd">{l s='Password'}</label> <label for="passwd">{l s='Password'}</label>
<span><input type="password" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes}{/if}" class="account_input" /></span> <span><input type="password" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes}{/if}" class="account_input" /></span>
</p> </p>
<p class="lost_password"><a href="{$link->getPageLink('password')}">{l s='Forgot your password?'}</a></p> <p class="lost_password"><a href="{$link->getPageLink('password')}" title="{l s='Recover your forgotten password'}" rel="nofollow">{l s='Forgot your password?'}</a></p>
<p class="submit"> <p class="submit">
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
<input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" value="{l s='Log in'}" /> <input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" value="{l s='Authentication'}" />
</p> </p>
</div> </div>
</fieldset> </fieldset>
@@ -315,9 +320,9 @@ $(document).ready(function() {
</select> </select>
</p> </p>
{elseif $field_name eq "phone"} {elseif $field_name eq "phone"}
<p class="required text"> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone">{l s='Phone'} <sup>*</sup></label> <label for="phone">{l s='Phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if} "/> <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}"/>
</p> </p>
{/if} {/if}
{/foreach} {/foreach}
@@ -544,15 +549,15 @@ $(document).ready(function() {
<label for="other">{l s='Additional information'}</label> <label for="other">{l s='Additional information'}</label>
<textarea name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea> <textarea name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea>
</p> </p>
{if $one_phone_at_least} {if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos">{l s='You must register at least one phone number.'}</p> <p class="inline-infos">{l s='You must register at least one phone number.'}</p>
{/if} {/if}
<p class="text"> <p class="text">
<label for="phone">{l s='Home phone'}</label> <label for="phone">{l s='Home phone'}</label>
<input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" />
</p> </p>
<p class="{if $one_phone_at_least}required {/if} text"> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if} text">
<label for="phone_mobile">{l s='Mobile phone'}{if $one_phone_at_least} <sup>*</sup>{/if}</label> <label for="phone_mobile">{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" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" /> <input type="text" class="text" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" />
</p> </p>
<p class="required text" id="address_alias"> <p class="required text" id="address_alias">
+2 -2
View File
@@ -64,7 +64,7 @@
{$HOOK_HEADER} {$HOOK_HEADER}
</head> </head>
<body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if} class="{if $hide_left_column}hide-left-column{/if} {if $hide_right_column}hide-right-column{/if} {if $content_only} content_only {/if}"> <body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if} class="{if $hide_left_column}hide-left-column {/if} {if $hide_right_column}hide-right-column {/if} {if $content_only} content_only {/if}">
{if !$content_only} {if !$content_only}
{if isset($restricted_country_mode) && $restricted_country_mode} {if isset($restricted_country_mode) && $restricted_country_mode}
<div id="restricted-country"> <div id="restricted-country">
@@ -76,7 +76,7 @@
<!-- Header --> <!-- Header -->
<div id="header" class="grid_9 alpha omega"> <div id="header" class="grid_9 alpha omega">
<a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> <a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}">
<img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if} /> <img class="logo" src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if}/>
</a> </a>
<div id="header_right" class="grid_9 omega"> <div id="header_right" class="grid_9 omega">
{$HOOK_TOP} {$HOOK_TOP}
+5 -3
View File
@@ -422,9 +422,11 @@ function displayImage(domAAroundImgThumb, no_animation)
var newSrc = domAAroundImgThumb.attr('href').replace('thickbox', 'large'); var newSrc = domAAroundImgThumb.attr('href').replace('thickbox', 'large');
if ($('#bigpic').attr('src') != newSrc) if ($('#bigpic').attr('src') != newSrc)
{ {
$('#bigpic').attr('src', newSrc); $(this).attr('src', newSrc).load(function() {
if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled) $(this).show();
$('#bigpic').attr('rel', domAAroundImgThumb.attr('href')); if (typeof(jqZoomEnabled) != 'undefined' && jqZoomEnabled)
$(this).attr('alt', domAAroundImgThumb.attr('href'));
});
} }
$('#views_block li a').removeClass('shown'); $('#views_block li a').removeClass('shown');
$(domAAroundImgThumb).addClass('shown'); $(domAAroundImgThumb).addClass('shown');
+1 -1
View File
@@ -23,7 +23,7 @@
* International Registered Trademark & Property of PrestaShop SA * International Registered Trademark & Property of PrestaShop SA
*} *}
{capture assign='page_title'}{if !isset($email_create)}{l s='Log in'}{else}{l s='Create an account'}{/if}{/capture} {capture assign='page_title'}{if !isset($email_create)}{l s='Authentication'}{else}{l s='Create an account'}{/if}{/capture}
{include file='./page-title.tpl'} {include file='./page-title.tpl'}
{include file="./errors.tpl"} {include file="./errors.tpl"}
+1 -1
View File
@@ -74,7 +74,7 @@
{if $logged} {if $logged}
<a href="{$link->getPageLink('my-account', true)}" class="link_account" data-ajax="false">{l s='My account'}</a> <a href="{$link->getPageLink('my-account', true)}" class="link_account" data-ajax="false">{l s='My account'}</a>
{else} {else}
<a href="{$link->getPageLink('authentication', true)}" class="link_account" data-ajax="false">{l s='Log in'}</a> <a href="{$link->getPageLink('authentication', true)}" class="link_account" data-ajax="false">{l s='Authentication'}</a>
{/if} {/if}
</div> </div>
{hook h="displayMobileTop"} {hook h="displayMobileTop"}
@@ -24,6 +24,7 @@
*} *}
<!-- Block Newsletter module--> <!-- Block Newsletter module-->
<div id="newsletter_block_left" class="block"> <div id="newsletter_block_left" class="block">
<p class="title_block">{l s='Newsletter' mod='blocknewsletter'}</p> <p class="title_block">{l s='Newsletter' mod='blocknewsletter'}</p>
<div class="block_content"> <div class="block_content">
@@ -32,16 +33,31 @@
{/if} {/if}
<form action="{$link->getPageLink('index')}" method="post"> <form action="{$link->getPageLink('index')}" method="post">
<p> <p>
{* @todo use jquery (focusin, focusout) instead of onblur and onfocus *} <input class="inputNew" id="newsletter-input" type="text" name="email" size="18" value="{if isset($value) && $value}{$value}{else}{l s='your e-mail' mod='blocknewsletter'}{/if}">
<input type="text" name="email" size="18" <input type="submit" value="ok" class="button_mini" name="submitNewsletter" />
value="{if isset($value) && $value}{$value}{else}{l s='your e-mail' mod='blocknewsletter'}{/if}"
onfocus="javascript:if(this.value=='{l s='your e-mail' mod='blocknewsletter' js=1}')this.value='';"
onblur="javascript:if(this.value=='')this.value='{l s='your e-mail' mod='blocknewsletter' js=1}';"
class="inputNew" />
<input type="submit" value="ok" class="button_mini" name="submitNewsletter" />
<input type="hidden" name="action" value="0" /> <input type="hidden" name="action" value="0" />
</p> </p>
</form> </form>
</div> </div>
</div> </div>
<!-- /Block Newsletter module--> <!-- /Block Newsletter module-->
<script>
var placeholder = "{l s='your e-mail' mod='blocknewsletter' js=1}";
{literal}
$(document).ready(function() {
$('#newsletter-input').on({
focus: function() {
if ($(this).val() == placeholder) {
$(this).val('');
}
},
blur: function() {
if ($(this).val() == '') {
$(this).val(placeholder);
}
}
});
});
{/literal}
</script>
+1 -1
View File
@@ -219,7 +219,7 @@
</select> </select>
</p> </p>
<p class="checkbox addressesAreEquals" {if $cart->isVirtualCart()}style="display:none;"{/if}> <p class="checkbox addressesAreEquals" {if $cart->isVirtualCart()}style="display:none;"{/if}>
<input type="checkbox" name="same" id="addressesAreEquals" value="1" onclick="updateAddressesDisplay();{if $opc}updateAddressSelection();{/if}" {if $cart->id_address_invoice == $cart->id_address_delivery || $addresses|@count == 1}checked="checked"{/if} /> <input type="checkbox" name="same" id="addressesAreEquals" value="1" onclick="updateAddressesDisplay();{if $opc}updateAddressSelection();{/if}"{if $cart->id_address_invoice == $cart->id_address_delivery || $addresses|@count == 1} checked="checked"{/if}/>
<label for="addressesAreEquals">{l s='Use the delivery address as the billing address.'}</label> <label for="addressesAreEquals">{l s='Use the delivery address as the billing address.'}</label>
</p> </p>
+6 -6
View File
@@ -259,15 +259,15 @@
<label for="other">{l s='Additional information'}</label> <label for="other">{l s='Additional information'}</label>
<textarea name="other" id="other" cols="26" rows="3"></textarea> <textarea name="other" id="other" cols="26" rows="3"></textarea>
</p> </p>
{if $one_phone_at_least} {if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos required is_customer_param">{l s='You must register at least one phone number.'}</p> <p class="inline-infos required is_customer_param">{l s='You must register at least one phone number.'}</p>
{/if} {/if}
<p class="text is_customer_param"> <p class="text is_customer_param">
<label for="phone">{l s='Home phone'}</label> <label for="phone">{l s='Home phone'}</label>
<input type="text" class="text" name="phone" id="phone" value="{if isset($guestInformations) && $guestInformations.phone}{$guestInformations.phone}{/if}" /> <input type="text" class="text" name="phone" id="phone" value="{if isset($guestInformations) && $guestInformations.phone}{$guestInformations.phone}{/if}" />
</p> </p>
<p class="{if $one_phone_at_least}required {/if}text"> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone_mobile">{l s='Mobile phone'}{if $one_phone_at_least} <sup>*</sup>{/if}</label> <label for="phone_mobile">{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" id="phone_mobile" value="" /> <input type="text" class="text" name="phone_mobile" id="phone_mobile" value="" />
</p> </p>
<input type="hidden" name="alias" id="alias" value="{l s='My address'}" /> <input type="hidden" name="alias" id="alias" value="{l s='My address'}" />
@@ -360,15 +360,15 @@
<label for="other_invoice">{l s='Additional information'}</label> <label for="other_invoice">{l s='Additional information'}</label>
<textarea name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea> <textarea name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea>
</p> </p>
{if $one_phone_at_least} {if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos required">{l s='You must register at least one phone number.'}</p> <p class="inline-infos required">{l s='You must register at least one phone number.'}</p>
{/if} {/if}
<p class="text"> <p class="text">
<label for="phone_invoice">{l s='Home phone'}</label> <label for="phone_invoice">{l s='Home phone'}</label>
<input type="text" class="text" name="phone_invoice" id="phone_invoice" value="" /> <input type="text" class="text" name="phone_invoice" id="phone_invoice" value="" />
</p> </p>
<p class="{if $one_phone_at_least}required {/if}text is_customer_param"> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text is_customer_param">
<label for="phone_mobile_invoice">{l s='Mobile phone'}{if $one_phone_at_least} <sup>*</sup>{/if}</label> <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="" /> <input type="text" class="text" name="phone_mobile_invoice" id="phone_mobile_invoice" value="" />
</p> </p>
<input type="hidden" name="alias_invoice" id="alias_invoice" value="{l s='My Invoice address'}" /> <input type="hidden" name="alias_invoice" id="alias_invoice" value="{l s='My Invoice address'}" />
+1 -1
View File
@@ -41,7 +41,7 @@
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /> <img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} />
{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if} {if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}
</a> </a>
<h3><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|escape:'htmlall':'UTF-8'|truncate:35:'...'}</a></h3> <h3><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>
<p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" >{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}</a></p> <p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}" >{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}</a></p>
</div> </div>
<div class="right_block"> <div class="right_block">
+1 -1
View File
@@ -327,7 +327,7 @@ var fieldRequired = '{l s='Please fill in all the required fields before saving
</div> </div>
{/if} {/if}
<p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}> <p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}>
<label for="product_reference">{l s='Reference:'} </label> <label>{l s='Reference:'} </label>
<span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span> <span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span>
</p> </p>
+1 -1
View File
@@ -51,7 +51,7 @@
<li><a href="{$link->getPageLink('history', true)}" title="{l s='View a list of my orders'}" rel="nofollow">{l s='Order history'}</a></li> <li><a href="{$link->getPageLink('history', true)}" title="{l s='View a list of my orders'}" rel="nofollow">{l s='Order history'}</a></li>
{else} {else}
<li><a href="{$link->getPageLink('authentication', true)}" title="{l s='Authentication'}" rel="nofollow">{l s='Authentication'}</a></li> <li><a href="{$link->getPageLink('authentication', true)}" title="{l s='Authentication'}" rel="nofollow">{l s='Authentication'}</a></li>
<li><a href="{$link->getPageLink('authentication', true)}" title="{l s='Create new account'}"rel="nofollow">{l s='Create new account'}</a></li> <li><a href="{$link->getPageLink('authentication', true)}" title="{l s='Create new account'}" rel="nofollow">{l s='Create new account'}</a></li>
{/if} {/if}
{if $logged} {if $logged}
<li><a href="{$link->getPageLink('index')}?mylogout" title="{l s='Log out'}" rel="nofollow">{l s='Log out'}</a></li> <li><a href="{$link->getPageLink('index')}?mylogout" title="{l s='Log out'}" rel="nofollow">{l s='Log out'}</a></li>