// Blocklayered - Define our own unSerialize
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15990 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -39,7 +39,7 @@ class BlockLayered extends Module
|
||||
{
|
||||
$this->name = 'blocklayered';
|
||||
$this->tab = 'front_office_features';
|
||||
$this->version = '1.8.4';
|
||||
$this->version = '1.8.5';
|
||||
$this->author = 'PrestaShop';
|
||||
$this->need_instance = 0;
|
||||
|
||||
@@ -1370,7 +1370,7 @@ class BlockLayered extends Module
|
||||
$layered_filter_list = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('SELECT * FROM '._DB_PREFIX_.'layered_filter');
|
||||
foreach ($layered_filter_list as $layered_filter)
|
||||
{
|
||||
$data = Tools::unSerialize($layered_filter_list['filters']);
|
||||
$data = self::unSerialize($layered_filter_list['filters']);
|
||||
if (in_array((int)$params['category']->id, $data['categories']))
|
||||
{
|
||||
unset($data['categories'][array_search((int)$params['category']->id, $data['categories'])]);
|
||||
@@ -2232,7 +2232,7 @@ class BlockLayered extends Module
|
||||
{
|
||||
$data = Db::getInstance()->getValue('SELECT data FROM `'._DB_PREFIX_.'layered_friendly_url` WHERE `url_key` = \''.md5('/'.$attribute_name.'-'.$url_parameter).'\'');
|
||||
if ($data)
|
||||
foreach (Tools::unSerialize($data) as $key_params => $params)
|
||||
foreach (self::unSerialize($data) as $key_params => $params)
|
||||
{
|
||||
if (!isset($selected_filters[$key_params]))
|
||||
$selected_filters[$key_params] = array();
|
||||
@@ -3465,7 +3465,7 @@ class BlockLayered extends Module
|
||||
{
|
||||
$layered_filter = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('SELECT * FROM '._DB_PREFIX_.'layered_filter WHERE id_layered_filter = '.(int)$id_layered_filter);
|
||||
if ($layered_filter && isset($layered_filter['filters']) && !empty($layered_filter['filters']))
|
||||
$layered_values = Tools::unSerialize($layered_filter['filters']);
|
||||
$layered_values = self::unSerialize($layered_filter['filters']);
|
||||
if (isset($layered_values['categories']) && count($layered_values['categories']))
|
||||
foreach ($layered_values['categories'] as $id_category)
|
||||
$category_box[] = (int)$id_category;
|
||||
@@ -4132,7 +4132,7 @@ class BlockLayered extends Module
|
||||
$values = false;
|
||||
foreach ($res as $filter_template)
|
||||
{
|
||||
$data = Tools::unSerialize($filter_template['filters']);
|
||||
$data = self::unSerialize($filter_template['filters']);
|
||||
foreach ($data['categories'] as $id_category)
|
||||
{
|
||||
$n = 0;
|
||||
@@ -4175,4 +4175,18 @@ class BlockLayered extends Module
|
||||
if ($values)
|
||||
Db::getInstance()->execute(rtrim($sql_to_insert, ','));
|
||||
}
|
||||
|
||||
/**
|
||||
* Define our own Tools::unSerialize() (since 1.5), to be available in PrestaShop 1.4
|
||||
*/
|
||||
protected static function unSerialize($serialized)
|
||||
{
|
||||
if (method_exists('Tools', 'unserialize'))
|
||||
return Tools::unSerialize($serialized);
|
||||
|
||||
if (is_string($serialized) && (strpos($serialized, 'O:') === false || !preg_match('/(^|;|{|})O:[0-9]+:"/', $serialized)))
|
||||
return @unserialize($serialized);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user