Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into development
This commit is contained in:
+1
-1
@@ -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> >
|
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a> >
|
||||||
|
|||||||
@@ -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>| </span>
|
||||||
|</span>
|
<span><a href="#" id="expand_all">{$categories.trads['Expand All']}</a>| </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>| </span>
|
||||||
<span></span><a href="#" id="check_all" >{$categories.trads['Check All']}</a>
|
<span><a href="#" id="uncheck_all">{$categories.trads['Uncheck All']}</a>| </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}:
|
||||||
<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}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -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
@@ -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.
|
||||||
|
|||||||
@@ -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>| </span>
|
||||||
| </span>
|
<span><a href="#" id="expand_all">'.$translations['Expand All'].'</a>| </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>| </span>
|
||||||
<span> <a href="#" id="check_all" >'.$translations['Check All'].'</a>
|
<span><a href="#" id="uncheck_all">'.$translations['Uncheck All'].'</a>| </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)
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -570,6 +570,11 @@ 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',
|
||||||
|
|||||||
@@ -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 :',
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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');
|
||||||
|
|||||||
@@ -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"}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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'}" />
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user