From a45cd52f13807396248f2c7e01b1126a60c4625d Mon Sep 17 00:00:00 2001 From: aFolletete Date: Mon, 14 Nov 2011 10:56:15 +0000 Subject: [PATCH] // Module changes for new native template --- modules/blockbestsellers/blockbestsellers.php | 1 + modules/blockbestsellers/blockbestsellers.tpl | 22 ++- modules/blockcart/blockcart.php | 7 +- .../blockpermanentlinks-footer.tpl | 45 ++++++ .../blockpermanentlinks.php | 2 +- modules/sendtoafriend/product_page.tpl | 27 ++++ modules/sendtoafriend/sendtoafriend-form.php | 33 ++++ modules/sendtoafriend/sendtoafriend.css | 143 ++++++------------ modules/sendtoafriend/sendtoafriend.php | 119 +++++++++++---- modules/sendtoafriend/sendtoafriend.tpl | 65 ++++---- 10 files changed, 293 insertions(+), 171 deletions(-) create mode 100755 modules/blockpermanentlinks/blockpermanentlinks-footer.tpl create mode 100755 modules/sendtoafriend/product_page.tpl create mode 100755 modules/sendtoafriend/sendtoafriend-form.php 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} -
- {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.legend|escape:'htmlall':'UTF-8'} + + +

    + {$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 isset($smarty.get.submited)} -

    {l s='Your email has been sent successfully' mod='sendtoafriend'}

    -{else} - -
    -

    {l s='Send a message' mod='sendtoafriend'}

    +
    +

    + + +

    +

    + + +

    -

    -
    - {$product->name|escape:'htmlall':'UTF-8'} -

    +

    + +

    +
    +
    + + {/if} -

    - - -

    -

    - - -

    - -

    - -

    -
    - -{/if} - - \ No newline at end of file + +