diff --git a/modules/blockwishlist/config.xml b/modules/blockwishlist/config.xml
index 84455662b..c2a22eae7 100755
--- a/modules/blockwishlist/config.xml
+++ b/modules/blockwishlist/config.xml
@@ -1,9 +1,9 @@
blockwishlist
-
+
-
+
1
diff --git a/modules/blockwishlist/controllers/front/mywishlist.php b/modules/blockwishlist/controllers/front/mywishlist.php
new file mode 100644
index 000000000..052021bc4
--- /dev/null
+++ b/modules/blockwishlist/controllers/front/mywishlist.php
@@ -0,0 +1,132 @@
+
+* @copyright 2007-2012 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
+*/
+
+/**
+ * @since 1.5.0
+ */
+class BlockWishListMyWishListModuleFrontController extends ModuleFrontController
+{
+ public $display_column_left = false;
+
+ public function __construct()
+ {
+ parent::__construct();
+
+ $this->context = Context::getContext();
+
+ include_once($this->module->getLocalPath().'WishList.php');
+ }
+
+ /**
+ * @see FrontController::initContent()
+ */
+ public function initContent()
+ {
+ parent::initContent();
+
+ $this->assign();
+ }
+
+ /**
+ * Assign wishlist template
+ */
+ public function assign()
+ {
+ $errors = array();
+
+ if ($this->context->customer->isLogged())
+ {
+ $add = Tools::getIsset('add');
+ $add = (empty($add) === false ? 1 : 0);
+ $delete = Tools::getIsset('deleted');
+ $delete = (empty($delete) === false ? 1 : 0);
+ $id_wishlist = Tools::getValue('id_wishlist');
+ if (Tools::isSubmit('submitWishlist'))
+ {
+ if (Configuration::get('PS_TOKEN_ACTIVATED') == 1 AND
+ strcmp(Tools::getToken(), Tools::getValue('token')))
+ $errors[] = Tools::displayError('Invalid token');
+ if (!sizeof($errors))
+ {
+ $name = Tools::getValue('name');
+ if (empty($name))
+ $errors[] = Tools::displayError('You must specify a name.');
+ if (WishList::isExistsByNameForUser($name))
+ $errors[] = Tools::displayError('This name is already used by another list.');
+
+ if(!sizeof($errors))
+ {
+ $wishlist = new WishList();
+ $wishlist->name = $name;
+ $wishlist->id_customer = (int)$this->context->customer->id;
+ list($us, $s) = explode(' ', microtime());
+ srand($s * $us);
+ $wishlist->token = strtoupper(substr(sha1(uniqid(rand(), true)._COOKIE_KEY_.$this->context->customer->id), 0, 16));
+ $wishlist->add();
+ Mail::Send(
+ $this->context->language->id,
+ 'wishlink',
+ Mail::l('Your wishlist\'s link',
+ $this->context->language->id),
+ array(
+ '{wishlist}' => $wishlist->name,
+ '{message}' => Tools::getProtocol().htmlentities($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'modules/blockwishlist/view.php?token='.$wishlist->token),
+ $this->context->customer->email,
+ $this->context->customer->firstname.' '.$this->context->customer->lastname,
+ NULL,
+ strval(Configuration::get('PS_SHOP_NAME')),
+ NULL,
+ NULL,
+ $this->module->getLocalPath().'mails/');
+ }
+ }
+ }
+ else if ($add)
+ WishList::addCardToWishlist($this->context->customer->id, Tools::getValue('id_wishlist'), $this->context->language->id);
+ else if ($delete AND empty($id_wishlist) === false)
+ {
+ $wishlist = new WishList((int)($id_wishlist));
+ if (Validate::isLoadedObject($wishlist))
+ $wishlist->delete();
+ else
+ $errors[] = Tools::displayError('Cannot delete this wishlist');
+ }
+ $this->context->smarty->assign('wishlists', WishList::getByIdCustomer($this->context->customer->id));
+ $this->context->smarty->assign('nbProducts', WishList::getInfosByIdCustomer($this->context->customer->id));
+ }
+ else
+ Tools::redirect('index.php?controller=authentication&back='.urlencode($this->context->link->getModuleLink('blockwishlist', 'mywishlist')));
+
+ $this->context->smarty->assign(array(
+ 'id_customer' => (int)$this->context->customer->id,
+ 'errors' => $errors,
+ 'form_link' => $errors,
+ ));
+
+ $this->setTemplate('mywishlist.tpl');
+ }
+}
diff --git a/modules/blockwishlist/mywishlist.php b/modules/blockwishlist/mywishlist.php
index 484ad55fe..0f80c580d 100644
--- a/modules/blockwishlist/mywishlist.php
+++ b/modules/blockwishlist/mywishlist.php
@@ -35,6 +35,8 @@ include_once(dirname(__FILE__).'/WishList.php');
$context = Context::getContext();
$errors = array();
+Tools::displayFileAsDeprecated();
+
if ($context->customer->isLogged())
{
$add = Tools::getIsset('add');
@@ -97,8 +99,8 @@ $context->smarty->assign(array(
if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/blockwishlist/mywishlist.tpl'))
$context->smarty->display(_PS_THEME_DIR_.'modules/blockwishlist/mywishlist.tpl');
-elseif (Tools::file_exists_cache(dirname(__FILE__).'/mywishlist.tpl'))
- $context->smarty->display(dirname(__FILE__).'/mywishlist.tpl');
+elseif (Tools::file_exists_cache(dirname(__FILE__).'/views/templates/front/mywishlist.tpl'))
+ $context->smarty->display(dirname(__FILE__).'/views/templates/front/mywishlist.tpl');
else
echo Tools::displayError('No template found');
diff --git a/modules/blockwishlist/mywishlist.tpl b/modules/blockwishlist/views/templates/front/mywishlist.tpl
similarity index 97%
rename from modules/blockwishlist/mywishlist.tpl
rename to modules/blockwishlist/views/templates/front/mywishlist.tpl
index ac173c4f8..df48fe408 100644
--- a/modules/blockwishlist/mywishlist.tpl
+++ b/modules/blockwishlist/views/templates/front/mywishlist.tpl
@@ -33,7 +33,7 @@
{include file="$tpl_dir./errors.tpl"}
{if $id_customer|intval neq 0}
-