diff --git a/modules/blockbestsellers/blockbestsellers.php b/modules/blockbestsellers/blockbestsellers.php
index 8b41e09fb..d0ef523f7 100644
--- a/modules/blockbestsellers/blockbestsellers.php
+++ b/modules/blockbestsellers/blockbestsellers.php
@@ -115,6 +115,7 @@ class BlockBestSellers extends Module
$this->context->smarty->assign(array(
'best_sellers' => $best_sellers,
'mediumSize' => Image::getSize('medium'),
+ 'smallSize' => Image::getSize('small')
));
return $this->display(__FILE__, 'blockbestsellers.tpl');
}
diff --git a/modules/blockbestsellers/blockbestsellers.tpl b/modules/blockbestsellers/blockbestsellers.tpl
index eb89140b5..3cf007d8e 100644
--- a/modules/blockbestsellers/blockbestsellers.tpl
+++ b/modules/blockbestsellers/blockbestsellers.tpl
@@ -30,15 +30,21 @@
{if $best_sellers|@count > 0}
- })
- {if $best_sellers|@count > 1}})
{/if}
-
-
- {foreach from=$best_sellers item=product name=myLoop}
- - {$product.name|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}
+ {foreach from=$best_sellers item=product name=myLoop}
+
+
+ {$smarty.foreach.myLoop.iteration}
+
+
+
+
+ {$product.name|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}
+ {$product.price}
+
+
{/foreach}
-
-
{l s='All best sellers' mod='blockbestsellers'}
+
+
» {l s='All best sellers' mod='blockbestsellers'}
{else}
{l s='No best sellers at this time' mod='blockbestsellers'}
{/if}
diff --git a/modules/blockcart/blockcart.php b/modules/blockcart/blockcart.php
index 04de4bd43..e41bbbca0 100644
--- a/modules/blockcart/blockcart.php
+++ b/modules/blockcart/blockcart.php
@@ -146,7 +146,7 @@ class BlockCart extends Module
if
(
parent::install() == false
- OR $this->registerHook('rightColumn') == false
+ OR $this->registerHook('top') == false
OR $this->registerHook('header') == false
OR Configuration::updateValue('PS_BLOCK_CART_AJAX', 1) == false
)
@@ -188,5 +188,10 @@ class BlockCart extends Module
if ((int)(Configuration::get('PS_BLOCK_CART_AJAX')))
$this->context->controller->addJS(($this->_path).'ajax-cart.js');
}
+
+ public function hookTop($params)
+ {
+ return $this->hookRightColumn($params);
+ }
}
diff --git a/modules/blockpermanentlinks/blockpermanentlinks-footer.tpl b/modules/blockpermanentlinks/blockpermanentlinks-footer.tpl
new file mode 100755
index 000000000..07848dff3
--- /dev/null
+++ b/modules/blockpermanentlinks/blockpermanentlinks-footer.tpl
@@ -0,0 +1,45 @@
+{*
+* 2007-2011 PrestaShop
+*
+* NOTICE OF LICENSE
+*
+* This source file is subject to the Academic Free License (AFL 3.0)
+* that is bundled with this package in the file LICENSE.txt.
+* It is also available through the world-wide-web at this URL:
+* http://opensource.org/licenses/afl-3.0.php
+* If you did not receive a copy of the license and are unable to
+* obtain it through the world-wide-web, please send an email
+* to license@prestashop.com so we can send you a copy immediately.
+*
+* DISCLAIMER
+*
+* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
+* versions in the future. If you wish to customize PrestaShop for your
+* needs please refer to http://www.prestashop.com for more information.
+*
+* @author PrestaShop SA
+* @copyright 2007-2011 PrestaShop SA
+* @version Release: $Revision$
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*}
+
+
+
+
diff --git a/modules/blockpermanentlinks/blockpermanentlinks.php b/modules/blockpermanentlinks/blockpermanentlinks.php
index b761cf40a..8264ef098 100644
--- a/modules/blockpermanentlinks/blockpermanentlinks.php
+++ b/modules/blockpermanentlinks/blockpermanentlinks.php
@@ -78,7 +78,7 @@ class BlockPermanentLinks extends Module
function hookFooter($params)
{
- return $this->hookLeftColumn($params);
+ return $this->display(__FILE__, 'blockpermanentlinks-footer.tpl');
}
function hookHeader($params)
diff --git a/modules/sendtoafriend/product_page.tpl b/modules/sendtoafriend/product_page.tpl
new file mode 100755
index 000000000..11ca93f3b
--- /dev/null
+++ b/modules/sendtoafriend/product_page.tpl
@@ -0,0 +1,27 @@
+{*
+* 2007-2011 PrestaShop
+*
+* NOTICE OF LICENSE
+*
+* This source file is subject to the Academic Free License (AFL 3.0)
+* that is bundled with this package in the file LICENSE.txt.
+* It is also available through the world-wide-web at this URL:
+* http://opensource.org/licenses/afl-3.0.php
+* If you did not receive a copy of the license and are unable to
+* obtain it through the world-wide-web, please send an email
+* to license@prestashop.com so we can send you a copy immediately.
+*
+* DISCLAIMER
+*
+* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
+* versions in the future. If you wish to customize PrestaShop for your
+* needs please refer to http://www.prestashop.com for more information.
+*
+* @author PrestaShop SA
+* @copyright 2007-2011 PrestaShop SA
+* @version Release: $Revision$
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*}
+
+{l s='Send to a friend' mod='sendtoafriend'}
diff --git a/modules/sendtoafriend/sendtoafriend-form.php b/modules/sendtoafriend/sendtoafriend-form.php
new file mode 100755
index 000000000..bbc31785d
--- /dev/null
+++ b/modules/sendtoafriend/sendtoafriend-form.php
@@ -0,0 +1,33 @@
+
+* @copyright 2007-2011 PrestaShop SA
+* @version Release: $Revision$
+* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
+* International Registered Trademark & Property of PrestaShop SA
+*/
+
+include(dirname(__FILE__).'/../../config/config.inc.php');
+require_once(dirname(__FILE__).'/sendtoafriend.php');
+
+$sendtoafriend = new sendToAFriend($dontTranslate = true);
+echo $sendtoafriend->displayPageForm();
+
diff --git a/modules/sendtoafriend/sendtoafriend.css b/modules/sendtoafriend/sendtoafriend.css
index 13bad9571..ac69a4767 100644
--- a/modules/sendtoafriend/sendtoafriend.css
+++ b/modules/sendtoafriend/sendtoafriend.css
@@ -1,99 +1,46 @@
-#fancybox-wrap {width:585px !important}
-#fancybox-content {
- width:585px !important;
- border-width:0 !important
-}
-
-#send_friend_form {
- width:585px;
- color: #333;
- text-align: left;
- background-color: #fff
-}
-#send_friend_form .title {
- padding:10px;
- font-size: 13px;
- color: #fff;
- text-transform: uppercase;
- background: #333
-}
-
-#send_friend_form .product {padding:15px}
-#send_friend_form .product img {
- float:left;
- border: 1px solid #ccc;
-}
-#send_friend_form .product .product_desc {
- float:left;
- margin-left:15px;
- width:300px;
- line-height:18px;
- color:#666
-}
-#send_friend_form .product .product_desc .product_name {
- padding-bottom:5px;
- font-size:13px;
- color:#000
-}
-
-.send_friend_form_content {
- padding:15px;
- background:#f8f8f8
-}
-.send_friend_form_content .intro_form {
- padding-bottom: 10px;
- font-weight: bold;
- font-size: 12px
-}
-
-
-#send_friend_form .form_container {
- clear:both;
- margin-top:20px
-}
-#send_friend_form p.text {
- margin-bottom:0;
- padding-bottom:0
-}
-#send_friend_form p.text label, #send_friend_form p.textarea label {
- display: block;
- margin:12px 0 4px 0;
- font-weight: bold;
- font-size: 12px;
-}
-#send_friend_form p.text input {
- padding: 0 5px;
- height: 28px;
- width: 540px;
- border: 1px solid #ccc;
- background: url(../img/bg_input.png) repeat-x scroll 0 0 #fff;
-}
-
-#send_friend_form .submit {
- padding:0;
- font-size:13px;
- text-align:right
-}
-#send_friend_form button {
- cursor: pointer;
- cursor: pointer;
- display: inline-block;
- padding: 4px 7px 3px 7px;
- border: 1px solid #CC9900;
- border-radius: 3px 3px 3px 3px;
- font-weight: bold;
- color: #000;
- background: url(../img/bg_bt.gif) repeat-x scroll 0 0 #F4B61B
-}
-#send_friend_form .submit .txt_required {
- float:left;
- font-size:12px;
- font-style:italic;
- color:#666
-}
-#send_friend_form_error {
- color:red;
- font-size:13px;
- text-align:left;
- display:hidden;
+/* ************************************************************************************************
+ PAGE SEND TO FRIEND
+************************************************************************************************ */
+#sendfriendpage form.std fieldset {
+ margin:0 0 20px 0;
+ padding: 10px 15px;
+ background: none repeat scroll 0 0 #eee
+}
+
+#sendfriendpage .product {}
+#sendfriendpage .product .img_link {float:left}
+#sendfriendpage .product .img_link img {
+ margin:0 10px 0 0;
+ border:1px solid #ccc;
+}
+#sendfriendpage .product .product_desc {
+ float:left;
+ width:200px;
+ font-weight:bold;
+ font-size:12px;
+ color:#000;
+}
+
+#sendfriendpage #send_friend_form_content {margin-top:40px}
+#sendfriendpage #send_friend_form_content .text {
+ padding-bottom: 10px
+}
+#sendfriendpage #send_friend_form_content .text label {
+ display: inline-block;
+ padding: 6px 15px;
+ width: 180px;
+ font-size: 12px;
+ text-align: right
+}
+#sendfriendpage #send_friend_form_content .text input {
+ padding: 0 5px;
+ height: 22px;
+ width: 260px;
+ border: 1px solid #ccc;
+ font-size: 12px
+}
+#sendfriendpage #send_friend_form_content .submit {
+ margin:0 20px 0 0;
+ padding:5px 0;
+ text-align:right
}
\ No newline at end of file
diff --git a/modules/sendtoafriend/sendtoafriend.php b/modules/sendtoafriend/sendtoafriend.php
index 2900c8c23..4608962b1 100644
--- a/modules/sendtoafriend/sendtoafriend.php
+++ b/modules/sendtoafriend/sendtoafriend.php
@@ -20,7 +20,7 @@
*
* @author PrestaShop SA
* @copyright 2007-2011 PrestaShop SA
-* @version Release: $Revision: 7040 $
+* @version Release: $Revision: 8005 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
@@ -30,17 +30,13 @@ if (!defined('_PS_VERSION_'))
class sendToAFriend extends Module
{
- private $_html = '';
- private $_postErrors = array();
-
function __construct($dontTranslate = false)
- {
- $this->name = 'sendtoafriend';
- $this->version = '1.2';
+ {
+ $this->name = 'sendtoafriend';
+ $this->version = '1.3';
$this->author = 'PrestaShop';
- $this->tab = 'front_office_features';
+ $this->tab = 'front_office_features';
$this->need_instance = 0;
- $this->secure_key = Tools::encrypt($this->name);
parent::__construct();
@@ -48,40 +44,101 @@ class sendToAFriend extends Module
{
$this->displayName = $this->l('Send to a Friend module');
$this->description = $this->l('Allows customers to send a product link to a friend.');
- }
+ }
}
- public function install()
+ function install()
{
- return (parent::install() AND $this->registerHook('extraLeft')
- AND $this->registerHook('header'));
+ return (parent::install() AND $this->registerHook('extraLeft') && $this->registerHook('header'));
+ }
+
+ public function hookHeader()
+ {
+ $this->context->controller->addCSS(($this->_path).'sendtoafriend.css', 'all');
}
- public function uninstall()
+ function hookExtraLeft($params)
{
- return (parent::uninstall() AND $this->unregisterHook('header') AND $this->unregisterHook('extraLeft'));
+ $this->context->smarty->assign('this_path', $this->_path);
+ return $this->display(__FILE__, 'product_page.tpl');
+ }
+
+ public function displayPageForm()
+ {
+ if (!$this->active)
+ Tools::display404Error();
+
+ include(dirname(__FILE__).'/../../header.php');
+ echo $this->displayFrontForm();
+ include(dirname(__FILE__).'/../../footer.php');
}
- public function hookExtraLeft($params)
+ public function displayFrontForm()
{
- /* Product informations */
- $product = new Product((int)Tools::getValue('id_product'), false, $this->context->language->id);
- $productLink = $this->context->link->getProductLink($product);
- $image = Product::getCover((int)($_GET['id_product']));
+ $error = false;
+ $confirm = false;
+ if (isset($_POST['submitAddtoafriend']))
+ {
+ /* Product informations */
+ $product = new Product((int)Tools::getValue('id_product'), false, (int)$this->context->cookie->id_lang);
+ $productLink = $this->context->link->getProductLink($product);
- Context::getContext()->smarty->assign(array(
- 'stf_id_product' => (int)Tools::getValue('id_product'),
- 'stf_product_link' => $productLink,
- 'stf_product_cover' => (int)Tools::getValue('id_product').'-'.(int)$image['id_image'],
- 'stf_secure_key' => $this->secure_key,
+ /* Fields verifications */
+ if (empty($_POST['email']) OR empty($_POST['name']))
+ $error = $this->l('You must fill in all fields.');
+ elseif (empty($_POST['email']) OR !Validate::isEmail($_POST['email']))
+ $error = $this->l('The e-mail given is invalid.');
+ elseif (!Validate::isName($_POST['name']))
+ $error = $this->l('The name given is invalid.');
+ elseif (!isset($_GET['id_product']) OR !is_numeric($_GET['id_product']))
+ $error = $this->l('An error occurred during the process.');
+ else
+ {
+ /* Email generation */
+ $subject = ($this->context->cookie->customer_firstname ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : $this->l('A friend')).' '.$this->l('sent you a link to').' '.$product->name;
+ $templateVars = array(
+ '{product}' => $product->name,
+ '{product_link}' => $productLink,
+ '{customer}' => ($this->context->cookie->customer_firstname ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : $this->l('A friend')),
+ '{name}' => Tools::safeOutput($_POST['name'])
+ );
+
+ /* Email sending */
+ if (!Mail::Send((int)$this->context->cookie->id_lang, 'send_to_a_friend', Mail::l('A friend sent you a link to').' '.$product->name, $templateVars, $_POST['email'], NULL, ($this->context->cookie->email ? $this->context->cookie->email : NULL), ($this->context->cookie->customer_firstname ? $this->context->cookie->customer_firstname.' '.$this->context->cookie->customer_lastname : NULL), NULL, NULL, dirname(__FILE__).'/mails/'))
+ $error = $this->l('An error occurred during the process.');
+ else
+ Tools::redirect(_MODULE_DIR_.'/'.$this->name.'/sendtoafriend-form.php?id_product='.(int)$product->id.'&submited');
+ }
+ }
+ else
+ {
+ /* Product informations */
+ $product = new Product((int)Tools::getValue('id_product'), false, (int)$this->context->cookie->id_lang);
+ $productLink = $this->context->link->getProductLink($product);
+ }
+
+ /* Image */
+ $images = $product->getImages((int)$this->context->cookie->id_lang);
+ foreach ($images AS $k => $image)
+ if ($image['cover'])
+ {
+ $cover['id_image'] = (int)$product->id.'-'.(int)$image['id_image'];
+ $cover['legend'] = $image['legend'];
+ }
+
+ if (!isset($cover))
+ $cover = array('id_image' => Language::getIsoById((int)$this->context->cookie->id_lang).'-default', 'legend' => 'No picture');
+
+ $this->context->smarty->assign(array(
+ 'cover' => $cover,
+ 'errors' => $error,
+ 'confirm' => $confirm,
+ 'product' => $product,
+ 'productLink' => $productLink
));
- return $this->display(__FILE__, 'sendtoafriend-extra.tpl');
+ return $this->display(__FILE__, 'sendtoafriend.tpl');
}
+}
- public function hookHeader($params)
- {
- $this->context->controller->addCSS($this->_path.'sendtoafriend.css', 'all');
- }
-}
\ No newline at end of file
diff --git a/modules/sendtoafriend/sendtoafriend.tpl b/modules/sendtoafriend/sendtoafriend.tpl
index 46d2e154b..141842750 100644
--- a/modules/sendtoafriend/sendtoafriend.tpl
+++ b/modules/sendtoafriend/sendtoafriend.tpl
@@ -26,40 +26,41 @@
{capture name=path}{l s='Send to a friend' mod='sendtoafriend'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
+
+
{l s='Send to a friend' mod='sendtoafriend'}
-
{l s='Send to a friend' mod='sendtoafriend'}
+
{l s='Send this page to a friend who might be interested in the item below.' mod='sendtoafriend'}.
+ {include file="$tpl_dir./errors.tpl"}
-
{l s='Send this page to a friend who might be interested in the item below.' mod='sendtoafriend'}.
-{include file="$tpl_dir./errors.tpl"}
+ {if isset($smarty.get.submited)}
+
{l s='Your email has been sent successfully' mod='sendtoafriend'}
+ {else}
+
-{/if}
-
-
\ No newline at end of file
+
+