[*] FO: Allow to enable SSL on all the pages
This commit is contained in:
+22
-51
@@ -91,12 +91,8 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') && $id_shop !== null)
|
|
||||||
$shop = new Shop($id_shop);
|
$url = $this->getBaseLink($id_shop).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
else
|
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
|
|
||||||
$url = 'http://'.$shop->domain.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
if (!is_object($product))
|
if (!is_object($product))
|
||||||
{
|
{
|
||||||
@@ -163,11 +159,7 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
$url = $this->getBaseLink($id_shop).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
$url = 'http://'.$shop->domain.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
if (!is_object($category))
|
if (!is_object($category))
|
||||||
$category = new Category($category, $id_lang);
|
$category = new Category($category, $id_lang);
|
||||||
@@ -206,11 +198,7 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
$url = $this->getBaseLink($id_shop).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
$url = 'http://'.$shop->domain.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
$dispatcher = Dispatcher::getInstance();
|
$dispatcher = Dispatcher::getInstance();
|
||||||
if (!is_object($cms_category))
|
if (!is_object($cms_category))
|
||||||
@@ -243,15 +231,8 @@ class LinkCore
|
|||||||
{
|
{
|
||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
|
|
||||||
$base = (($ssl && $this->ssl_enable) ? 'https://'.$shop->domain_ssl : 'http://'.$shop->domain);
|
|
||||||
$url = $base.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
|
$url = $this->getBaseLink($id_shop, $ssl).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
|
|
||||||
$dispatcher = Dispatcher::getInstance();
|
$dispatcher = Dispatcher::getInstance();
|
||||||
if (!is_object($cms))
|
if (!is_object($cms))
|
||||||
@@ -290,11 +271,8 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
|
||||||
$shop = Context::getContext()->shop;
|
$url = $this->getBaseLink($id_shop).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
$url = 'http://'.$shop->domain.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
$dispatcher = Dispatcher::getInstance();
|
$dispatcher = Dispatcher::getInstance();
|
||||||
if (!is_object($supplier))
|
if (!is_object($supplier))
|
||||||
@@ -327,11 +305,7 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
$url = $this->getBaseLink($id_shop).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
$url = 'http://'.$shop->domain.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
$dispatcher = Dispatcher::getInstance();
|
$dispatcher = Dispatcher::getInstance();
|
||||||
if (!is_object($manufacturer))
|
if (!is_object($manufacturer))
|
||||||
@@ -365,13 +339,7 @@ class LinkCore
|
|||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = Context::getContext()->language->id;
|
$id_lang = Context::getContext()->language->id;
|
||||||
|
|
||||||
if ($id_shop === null)
|
$url = $this->getBaseLink($id_shop, $ssl).$this->getLangLink($id_lang, null, $id_shop);
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
|
|
||||||
$base = (($ssl && $this->ssl_enable) ? 'https://'.$shop->domain_ssl : 'http://'.$shop->domain);
|
|
||||||
$url = $base.$shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop);
|
|
||||||
|
|
||||||
// If the module has its own route ... just use it !
|
// If the module has its own route ... just use it !
|
||||||
if (Dispatcher::getInstance()->hasRoute('module-'.$module.'-'.$controller, $id_lang, $id_shop))
|
if (Dispatcher::getInstance()->hasRoute('module-'.$module.'-'.$controller, $id_lang, $id_shop))
|
||||||
@@ -456,7 +424,6 @@ class LinkCore
|
|||||||
public function getPageLink($controller, $ssl = false, $id_lang = null, $request = null, $request_url_encode = false, $id_shop = null)
|
public function getPageLink($controller, $ssl = false, $id_lang = null, $request = null, $request_url_encode = false, $id_shop = null)
|
||||||
{
|
{
|
||||||
$controller = Tools::strReplaceFirst('.php', '', $controller);
|
$controller = Tools::strReplaceFirst('.php', '', $controller);
|
||||||
|
|
||||||
if (!$id_lang)
|
if (!$id_lang)
|
||||||
$id_lang = (int)Context::getContext()->language->id;
|
$id_lang = (int)Context::getContext()->language->id;
|
||||||
|
|
||||||
@@ -469,17 +436,9 @@ class LinkCore
|
|||||||
parse_str($request, $request);
|
parse_str($request, $request);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($id_shop === null)
|
|
||||||
$shop = Context::getContext()->shop;
|
|
||||||
else
|
|
||||||
$shop = new Shop($id_shop);
|
|
||||||
|
|
||||||
$uri_path = Dispatcher::getInstance()->createUrl($controller, $id_lang, $request, false, '', $id_shop);
|
$uri_path = Dispatcher::getInstance()->createUrl($controller, $id_lang, $request, false, '', $id_shop);
|
||||||
|
|
||||||
$url = ($ssl && $this->ssl_enable) ? 'https://'.$shop->domain_ssl : 'http://'.$shop->domain;
|
return $this->getBaseLink($id_shop, $ssl).$this->getLangLink($id_lang, null, $id_shop).ltrim($uri_path, '/');
|
||||||
$url .= $shop->getBaseURI().$this->getLangLink($id_lang, null, $id_shop).ltrim($uri_path, '/');
|
|
||||||
|
|
||||||
return $url;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCatImageLink($name, $id_category, $type = null)
|
public function getCatImageLink($name, $id_category, $type = null)
|
||||||
@@ -643,5 +602,17 @@ class LinkCore
|
|||||||
|
|
||||||
return Language::getIsoById($id_lang).'/';
|
return Language::getIsoById($id_lang).'/';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getBaseLink($id_shop = null, $ssl = true)
|
||||||
|
{
|
||||||
|
if (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') && $id_shop !== null)
|
||||||
|
$shop = new Shop($id_shop);
|
||||||
|
else
|
||||||
|
$shop = Context::getContext()->shop;
|
||||||
|
|
||||||
|
$base = (($ssl && $this->ssl_enable) ? 'https://'.$shop->domain_ssl : 'http://'.$shop->domain);
|
||||||
|
|
||||||
|
return $base.$shop->getBaseURI();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ class FrontControllerCore extends Controller
|
|||||||
|
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
|
if (Configuration::get('PS_SSL_ENABLED') && Configuration::get('PS_SSL_ENABLED_EVERYWHERE'))
|
||||||
|
$this->ssl = true;
|
||||||
|
|
||||||
if (isset($useSSL))
|
if (isset($useSSL))
|
||||||
$this->ssl = $useSSL;
|
$this->ssl = $useSSL;
|
||||||
else
|
else
|
||||||
@@ -597,7 +600,7 @@ class FrontControllerCore extends Controller
|
|||||||
if (!$canonical_url || !Configuration::get('PS_CANONICAL_REDIRECT') || strtoupper($_SERVER['REQUEST_METHOD']) != 'GET' || Tools::getValue('live_edit'))
|
if (!$canonical_url || !Configuration::get('PS_CANONICAL_REDIRECT') || strtoupper($_SERVER['REQUEST_METHOD']) != 'GET' || Tools::getValue('live_edit'))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$match_url = (($this->ssl && Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
|
$match_url = (($this->ssl) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
|
||||||
$match_url = rawurldecode($match_url);
|
$match_url = rawurldecode($match_url);
|
||||||
if (!preg_match('/^'.Tools::pRegexp(rawurldecode($canonical_url), '/').'([&?].*)?$/', $match_url))
|
if (!preg_match('/^'.Tools::pRegexp(rawurldecode($canonical_url), '/').'([&?].*)?$/', $match_url))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -86,6 +86,19 @@ class AdminPreferencesControllerCore extends AdminController
|
|||||||
'type' => 'bool',
|
'type' => 'bool',
|
||||||
'default' => '0'
|
'default' => '0'
|
||||||
),
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (Configuration::get('PS_SSL_ENABLED'))
|
||||||
|
$fields['PS_SSL_ENABLED_EVERYWHERE'] = array(
|
||||||
|
'title' => $this->l('Force the SSL on all the pages'),
|
||||||
|
'desc' => $this->l('Force all your store to use SSL'),
|
||||||
|
'validation' => 'isBool',
|
||||||
|
'cast' => 'intval',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => '0'
|
||||||
|
);
|
||||||
|
|
||||||
|
$fields = array_merge($fields, array(
|
||||||
'PS_TOKEN_ENABLE' => array(
|
'PS_TOKEN_ENABLE' => array(
|
||||||
'title' => $this->l('Increase Front Office security'),
|
'title' => $this->l('Increase Front Office security'),
|
||||||
'desc' => $this->l('Enable or disable token in the Front Office to improve PrestaShop\'s security.'),
|
'desc' => $this->l('Enable or disable token in the Front Office to improve PrestaShop\'s security.'),
|
||||||
@@ -135,7 +148,7 @@ class AdminPreferencesControllerCore extends AdminController
|
|||||||
'list' => $activities2,
|
'list' => $activities2,
|
||||||
'identifier' => 'value'
|
'identifier' => 'value'
|
||||||
),
|
),
|
||||||
);
|
));
|
||||||
|
|
||||||
// No HTTPS activation if you haven't already.
|
// No HTTPS activation if you haven't already.
|
||||||
if (!Tools::usingSecureMode() && !Configuration::get('PS_SSL_ENABLED'))
|
if (!Tools::usingSecureMode() && !Configuration::get('PS_SSL_ENABLED'))
|
||||||
|
|||||||
Reference in New Issue
Block a user