// Fix shop_url when no physical_uri + fix shop association when multistore is disactivated
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@7958 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -872,6 +872,9 @@ abstract class AdminTabCore
|
||||
|
||||
protected function updateAssoShop($id_object = false)
|
||||
{
|
||||
if (!Shop::isMultiShopActivated())
|
||||
return ;
|
||||
|
||||
$shopAsso = Shop::getAssoTables();
|
||||
$groupShopAsso = GroupShop::getAssoTables();
|
||||
if (isset($shopAsso[$this->table]) && $shopAsso[$this->table]['type'] == 'shop')
|
||||
@@ -1300,7 +1303,7 @@ abstract class AdminTabCore
|
||||
else if (!preg_match('#(\s|,)\s*a\.`?'.pSQL($this->identifier).'`?(\s|,|$)#', $this->_group))
|
||||
$this->_group .= ', a.'.pSQL($this->identifier);
|
||||
|
||||
if (Shop::isMultiShopActivated() && Shop::context() == Shop::CONTEXT_ALL)
|
||||
if (Shop::isMultiShopActivated() && Context::shop() == Shop::CONTEXT_ALL)
|
||||
$filterShop = 'JOIN `'._DB_PREFIX_.$this->table.'_'.$filterKey.'` sa ON (sa.'.$this->identifier.' = a.'.$this->identifier.' AND sa.id_'.$filterKey.' IN ('.implode(', ', $idenfierShop).'))';
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -256,7 +256,7 @@ class ShopCore extends ObjectModel
|
||||
{
|
||||
if (!$this->theme_name)
|
||||
$this->loadShopInfos();
|
||||
return $this->physical_uri.$this->virtual_uri.'/';
|
||||
return $this->physical_uri.$this->virtual_uri;
|
||||
}
|
||||
|
||||
public function getPhysicalURI()
|
||||
|
||||
+19
-8
@@ -51,13 +51,14 @@ class ShopUrlCore extends ObjectModel
|
||||
parent::validateFields();
|
||||
|
||||
$this->physical_uri = trim($this->physical_uri, '/');
|
||||
$this->physical_uri .= '/'.$this->physical_uri;
|
||||
if ($this->physical_uri)
|
||||
$this->physical_uri = preg_replace('#/+#', '/', $this->physical_uri);
|
||||
$this->physical_uri = preg_replace('#/+#', '/', '/'.$this->physical_uri.'/');
|
||||
else
|
||||
$this->physical_uri = '/';
|
||||
|
||||
$this->virtual_uri = trim($this->virtual_uri, '/');
|
||||
if ($this->virtual_uri)
|
||||
$this->virtual_uri = '/'.preg_replace('#/+#', '/', trim($this->virtual_uri, '/'));
|
||||
$this->virtual_uri = preg_replace('#/+#', '/', trim($this->virtual_uri, '/')).'/';
|
||||
|
||||
$fields['domain'] = pSQL($this->domain);
|
||||
$fields['domain_ssl'] = pSQL($this->domain_ssl);
|
||||
@@ -94,13 +95,24 @@ class ShopUrlCore extends ObjectModel
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function canAddThisUrl($domain, $domain_ssl, $uri)
|
||||
public function canAddThisUrl($domain, $domain_ssl, $physical_uri, $virtual_uri)
|
||||
{
|
||||
$physical_uri = trim($physical_uri, '/');
|
||||
if ($physical_uri)
|
||||
$physical_uri = preg_replace('#/+#', '/', '/'.$physical_uri.'/');
|
||||
else
|
||||
$this->physical_uri = '/';
|
||||
|
||||
$virtual_uri = trim($virtual_uri, '/');
|
||||
if ($virtual_uri)
|
||||
$virtual_uri = preg_replace('#/+#', '/', trim($virtual_uri, '/')).'/';
|
||||
|
||||
$sql = 'SELECT id_shop_url
|
||||
FROM '._DB_PREFIX_.'shop_url
|
||||
WHERE uri=\''.pSQL($uri).'\'
|
||||
AND (domain=\''.pSQL($domain).'\' '.(($domain_ssl) ? 'OR domain_ssl=\''.pSQL($domain_ssl).'\'' : '').')'
|
||||
.($this->id ? ' AND id_shop_url !='.(int)$this->id : '');
|
||||
WHERE physical_uri = \''.pSQL($physical_uri).'\'
|
||||
AND virtual_uri = \''.pSQL($virtual_uri).'\'
|
||||
AND (domain = \''.pSQL($domain).'\' '.(($domain_ssl) ? ' OR domain_ssl = \''.pSQL($domain_ssl).'\'' : '').')'
|
||||
.($this->id ? ' AND id_shop_url != '.(int)$this->id : '');
|
||||
return Db::getInstance()->getValue($sql);
|
||||
}
|
||||
|
||||
@@ -126,4 +138,3 @@ class ShopUrlCore extends ObjectModel
|
||||
return self::$main_domain_ssl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user