// theme installation
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
@import url(http://fonts.googleapis.com/css?family=Josefin+Sans:200,400,700);
|
@import url(http://fonts.googleapis.com/css?family=Josefin+Sans:200,400,700);
|
||||||
/*!
|
/*
|
||||||
* Bootstrap v3.0.0
|
* Bootstrap v3.0.0
|
||||||
*
|
*
|
||||||
* Copyright 2013 Twitter, Inc
|
* Copyright 2013 Twitter, Inc
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
* Designed and built with all the love in the world by @mdo and @fat.
|
* Designed and built with all the love in the world by @mdo and @fat.
|
||||||
*/
|
*/
|
||||||
/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
|
/* normalize.css v2.1.0 | MIT License | git.io/normalize */
|
||||||
/* line 22, ../bower_components/sass-bootstrap/lib/_normalize.scss */
|
/* line 22, ../bower_components/sass-bootstrap/lib/_normalize.scss */
|
||||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
|
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
|
||||||
display: block; }
|
display: block; }
|
||||||
@@ -5718,7 +5718,7 @@ th.visible-print, td.visible-print {
|
|||||||
/* line 523, ../bower_components/sass-bootstrap/lib/_mixins.scss */
|
/* line 523, ../bower_components/sass-bootstrap/lib/_mixins.scss */
|
||||||
th.hidden-print, td.hidden-print {
|
th.hidden-print, td.hidden-print {
|
||||||
display: none !important; } }
|
display: none !important; } }
|
||||||
/*!
|
/*
|
||||||
* Font Awesome 3.2.1
|
* Font Awesome 3.2.1
|
||||||
* the iconic font designed for Bootstrap
|
* the iconic font designed for Bootstrap
|
||||||
* ------------------------------------------------------------------------------
|
* ------------------------------------------------------------------------------
|
||||||
@@ -9323,8 +9323,7 @@ textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[ty
|
|||||||
-webkit-box-shadow: #00a4e7 0 0 0 inset;
|
-webkit-box-shadow: #00a4e7 0 0 0 inset;
|
||||||
box-shadow: #00a4e7 0 0 0 inset; } }
|
box-shadow: #00a4e7 0 0 0 inset; } }
|
||||||
|
|
||||||
/*!
|
/* Ladda
|
||||||
* Ladda
|
|
||||||
* http://lab.hakim.se/ladda
|
* http://lab.hakim.se/ladda
|
||||||
* MIT licensed
|
* MIT licensed
|
||||||
*
|
*
|
||||||
|
|||||||
+64
-56
@@ -675,67 +675,75 @@ abstract class ModuleCore
|
|||||||
*/
|
*/
|
||||||
public function registerHook($hook_name, $shop_list = null)
|
public function registerHook($hook_name, $shop_list = null)
|
||||||
{
|
{
|
||||||
// Check hook name validation and if module is installed
|
|
||||||
if (!Validate::isHookName($hook_name))
|
|
||||||
throw new PrestaShopException('Invalid hook name');
|
|
||||||
if (!isset($this->id) || !is_numeric($this->id))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Retrocompatibility
|
|
||||||
$hook_name_bak = $hook_name;
|
|
||||||
if ($alias = Hook::getRetroHookName($hook_name))
|
|
||||||
$hook_name = $alias;
|
|
||||||
|
|
||||||
Hook::exec('actionModuleRegisterHookBefore', array('object' => $this, 'hook_name' => $hook_name));
|
|
||||||
// Get hook id
|
|
||||||
$id_hook = Hook::getIdByName($hook_name);
|
|
||||||
$live_edit = Hook::getLiveEditById((int)Hook::getIdByName($hook_name_bak));
|
|
||||||
|
|
||||||
// If hook does not exist, we create it
|
|
||||||
if (!$id_hook)
|
|
||||||
{
|
|
||||||
$new_hook = new Hook();
|
|
||||||
$new_hook->name = pSQL($hook_name);
|
|
||||||
$new_hook->title = pSQL($hook_name);
|
|
||||||
$new_hook->live_edit = pSQL($live_edit);
|
|
||||||
$new_hook->add();
|
|
||||||
$id_hook = $new_hook->id;
|
|
||||||
if (!$id_hook)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If shop lists is null, we fill it with all shops
|
|
||||||
if (is_null($shop_list))
|
|
||||||
$shop_list = Shop::getShops(true, null, true);
|
|
||||||
|
|
||||||
$return = true;
|
$return = true;
|
||||||
foreach ($shop_list as $shop_id)
|
if (is_array($hook_name))
|
||||||
|
$hook_names = $hook_name;
|
||||||
|
else
|
||||||
|
$hook_names = array($hook_name);
|
||||||
|
|
||||||
|
foreach ($hook_names as $hook_name)
|
||||||
{
|
{
|
||||||
// Check if already register
|
// Check hook name validation and if module is installed
|
||||||
$sql = 'SELECT hm.`id_module`
|
if (!Validate::isHookName($hook_name))
|
||||||
FROM `'._DB_PREFIX_.'hook_module` hm, `'._DB_PREFIX_.'hook` h
|
throw new PrestaShopException('Invalid hook name');
|
||||||
WHERE hm.`id_module` = '.(int)($this->id).' AND h.`id_hook` = '.$id_hook.'
|
if (!isset($this->id) || !is_numeric($this->id))
|
||||||
AND h.`id_hook` = hm.`id_hook` AND `id_shop` = '.(int)$shop_id;
|
return false;
|
||||||
if (Db::getInstance()->getRow($sql))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// Get module position in hook
|
// Retrocompatibility
|
||||||
$sql = 'SELECT MAX(`position`) AS position
|
$hook_name_bak = $hook_name;
|
||||||
FROM `'._DB_PREFIX_.'hook_module`
|
if ($alias = Hook::getRetroHookName($hook_name))
|
||||||
WHERE `id_hook` = '.(int)$id_hook.' AND `id_shop` = '.(int)$shop_id;
|
$hook_name = $alias;
|
||||||
if (!$position = Db::getInstance()->getValue($sql))
|
|
||||||
$position = 0;
|
|
||||||
|
|
||||||
// Register module in hook
|
Hook::exec('actionModuleRegisterHookBefore', array('object' => $this, 'hook_name' => $hook_name));
|
||||||
$return &= Db::getInstance()->insert('hook_module', array(
|
// Get hook id
|
||||||
'id_module' => (int)$this->id,
|
$id_hook = Hook::getIdByName($hook_name);
|
||||||
'id_hook' => (int)$id_hook,
|
$live_edit = Hook::getLiveEditById((int)Hook::getIdByName($hook_name_bak));
|
||||||
'id_shop' => (int)$shop_id,
|
|
||||||
'position' => (int)($position + 1),
|
// If hook does not exist, we create it
|
||||||
));
|
if (!$id_hook)
|
||||||
|
{
|
||||||
|
$new_hook = new Hook();
|
||||||
|
$new_hook->name = pSQL($hook_name);
|
||||||
|
$new_hook->title = pSQL($hook_name);
|
||||||
|
$new_hook->live_edit = pSQL($live_edit);
|
||||||
|
$new_hook->add();
|
||||||
|
$id_hook = $new_hook->id;
|
||||||
|
if (!$id_hook)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If shop lists is null, we fill it with all shops
|
||||||
|
if (is_null($shop_list))
|
||||||
|
$shop_list = Shop::getShops(true, null, true);
|
||||||
|
|
||||||
|
foreach ($shop_list as $shop_id)
|
||||||
|
{
|
||||||
|
// Check if already register
|
||||||
|
$sql = 'SELECT hm.`id_module`
|
||||||
|
FROM `'._DB_PREFIX_.'hook_module` hm, `'._DB_PREFIX_.'hook` h
|
||||||
|
WHERE hm.`id_module` = '.(int)($this->id).' AND h.`id_hook` = '.$id_hook.'
|
||||||
|
AND h.`id_hook` = hm.`id_hook` AND `id_shop` = '.(int)$shop_id;
|
||||||
|
if (Db::getInstance()->getRow($sql))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Get module position in hook
|
||||||
|
$sql = 'SELECT MAX(`position`) AS position
|
||||||
|
FROM `'._DB_PREFIX_.'hook_module`
|
||||||
|
WHERE `id_hook` = '.(int)$id_hook.' AND `id_shop` = '.(int)$shop_id;
|
||||||
|
if (!$position = Db::getInstance()->getValue($sql))
|
||||||
|
$position = 0;
|
||||||
|
|
||||||
|
// Register module in hook
|
||||||
|
$return &= Db::getInstance()->insert('hook_module', array(
|
||||||
|
'id_module' => (int)$this->id,
|
||||||
|
'id_hook' => (int)$id_hook,
|
||||||
|
'id_shop' => (int)$shop_id,
|
||||||
|
'position' => (int)($position + 1),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
Hook::exec('actionModuleRegisterHookAfter', array('object' => $this, 'hook_name' => $hook_name));
|
||||||
}
|
}
|
||||||
|
|
||||||
Hook::exec('actionModuleRegisterHookAfter', array('object' => $this, 'hook_name' => $hook_name));
|
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,12 +153,7 @@ INSERT INTO `PREFIX_hook_module_exceptions` (`id_shop`, `id_module`, `id_hook`,
|
|||||||
UNION SELECT 'orderfollow' as page
|
UNION SELECT 'orderfollow' as page
|
||||||
UNION SELECT 'orderslip' as page
|
UNION SELECT 'orderslip' as page
|
||||||
UNION SELECT 'discount' as page
|
UNION SELECT 'discount' as page
|
||||||
UNION SELECT '' as page
|
UNION SELECT 'product' as page
|
||||||
UNION SELECT '' as page
|
|
||||||
UNION SELECT '' as page
|
|
||||||
UNION SELECT '' as page
|
|
||||||
UNION SELECT '' as page
|
|
||||||
UNION SELECT '' as page
|
|
||||||
) pages
|
) pages
|
||||||
WHERE id_hook = @id_hook
|
WHERE id_hook = @id_hook
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -105,7 +105,9 @@ class BlockNewProducts extends Module
|
|||||||
|
|
||||||
protected function getCacheId($name = null)
|
protected function getCacheId($name = null)
|
||||||
{
|
{
|
||||||
return parent::getCacheId('blocknewproducts|'.date('Ymd'));
|
if ($name === null)
|
||||||
|
$name = 'blocknewproducts';
|
||||||
|
return parent::getCacheId($name.'|'.date('Ymd'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hookLeftColumn($params)
|
public function hookLeftColumn($params)
|
||||||
@@ -125,7 +127,7 @@ class BlockNewProducts extends Module
|
|||||||
|
|
||||||
public function hookHeader($params)
|
public function hookHeader($params)
|
||||||
{
|
{
|
||||||
$this->context->controller->addCSS(($this->_path).'blocknewproducts.css', 'all');
|
$this->context->controller->addCSS($this->_path.'blocknewproducts.css', 'all');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hookAddProduct($params)
|
public function hookAddProduct($params)
|
||||||
|
|||||||
@@ -61,8 +61,7 @@ class Blocknewsletter extends Module
|
|||||||
|
|
||||||
public function install()
|
public function install()
|
||||||
{
|
{
|
||||||
if (parent::install() == false || $this->registerHook('leftColumn') == false || $this->registerHook('header') == false
|
if (!parent::install() || !$this->registerHook(array('header', 'footer', 'actionCustomerAccountAdd')))
|
||||||
|| $this->registerHook('actionCustomerAccountAdd') == false)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Configuration::updateValue('NW_SALT', Tools::passwdGen(16));
|
Configuration::updateValue('NW_SALT', Tools::passwdGen(16));
|
||||||
@@ -83,9 +82,8 @@ class Blocknewsletter extends Module
|
|||||||
|
|
||||||
public function uninstall()
|
public function uninstall()
|
||||||
{
|
{
|
||||||
if (!parent::uninstall())
|
Db::getInstance()->execute('DROP TABLE '._DB_PREFIX_.'newsletter');
|
||||||
return false;
|
return parent::uninstall();
|
||||||
return Db::getInstance()->execute('DROP TABLE '._DB_PREFIX_.'newsletter');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getContent()
|
public function getContent()
|
||||||
|
|||||||
Reference in New Issue
Block a user