// Norm and doc for Shop class
This commit is contained in:
+1
-1
@@ -64,7 +64,7 @@ class CookieCore
|
||||
$this->_content = array();
|
||||
$this->_expire = isset($expire) ? (int)($expire) : (time() + 1728000);
|
||||
$this->_name = md5($name);
|
||||
$this->_path = trim(Context::getContext()->shop->getPhysicalURI().$path, '/\\').'/';
|
||||
$this->_path = trim(Context::getContext()->shop->physical_uri.$path, '/\\').'/';
|
||||
if ($this->_path{0} != '/') $this->_path = '/'.$this->_path;
|
||||
$this->_path = rawurlencode($this->_path);
|
||||
$this->_path = str_replace('%2F', '/', $this->_path);
|
||||
|
||||
+21
-21
@@ -72,14 +72,14 @@ class ImageManagerCore
|
||||
// We need to resize */
|
||||
else
|
||||
{
|
||||
$ratioX = $x / ($y / $size);
|
||||
if ($ratioX > $max_x)
|
||||
$ratio_x = $x / ($y / $size);
|
||||
if ($ratio_x > $max_x)
|
||||
{
|
||||
$ratioX = $max_x;
|
||||
$ratio_x = $max_x;
|
||||
$size = $y / ($x / $max_x);
|
||||
}
|
||||
|
||||
ImageManager::resize($image, _PS_TMP_IMG_DIR_.$cache_image, $ratioX, $size, $image_type);
|
||||
ImageManager::resize($image, _PS_TMP_IMG_DIR_.$cache_image, $ratio_x, $size, $image_type);
|
||||
}
|
||||
}
|
||||
return '<img src="'._PS_TMP_IMG_.$cache_image.(!$disable_cache ? '?time='.time() : '').'" alt="" class="imgm" />';
|
||||
@@ -122,43 +122,43 @@ class ImageManagerCore
|
||||
|
||||
if ($width_diff > 1 && $height_diff > 1)
|
||||
{
|
||||
$nextWidth = $src_width;
|
||||
$nextHeight = $src_height;
|
||||
$next_width = $src_width;
|
||||
$next_height = $src_height;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Configuration::get('PS_IMAGE_GENERATION_METHOD') == 2 || (!Configuration::get('PS_IMAGE_GENERATION_METHOD') && $width_diff > $height_diff))
|
||||
{
|
||||
$nextHeight = $dst_height;
|
||||
$nextWidth = round(($src_width * $nextHeight) / $src_height);
|
||||
$dst_width = (int)(!Configuration::get('PS_IMAGE_GENERATION_METHOD') ? $dst_width : $nextWidth);
|
||||
$next_height = $dst_height;
|
||||
$next_width = round(($src_width * $next_height) / $src_height);
|
||||
$dst_width = (int)(!Configuration::get('PS_IMAGE_GENERATION_METHOD') ? $dst_width : $next_width);
|
||||
}
|
||||
else
|
||||
{
|
||||
$nextWidth = $dst_width;
|
||||
$nextHeight = round($src_height * $dst_width / $src_width);
|
||||
$dst_height = (int)(!Configuration::get('PS_IMAGE_GENERATION_METHOD') ? $dst_height : $nextHeight);
|
||||
$next_width = $dst_width;
|
||||
$next_height = round($src_height * $dst_width / $src_width);
|
||||
$dst_height = (int)(!Configuration::get('PS_IMAGE_GENERATION_METHOD') ? $dst_height : $next_height);
|
||||
}
|
||||
}
|
||||
|
||||
$destImage = imagecreatetruecolor($dst_width, $dst_height);
|
||||
$dest_image = imagecreatetruecolor($dst_width, $dst_height);
|
||||
|
||||
// If image is a PNG and the output is PNG, fill with transparency. Else fill with white background.
|
||||
if ($file_type == 'png' && $type == IMAGETYPE_PNG)
|
||||
{
|
||||
imagealphablending($destImage, false);
|
||||
imagesavealpha($destImage, true);
|
||||
$transparent = imagecolorallocatealpha($destImage, 255, 255, 255, 127);
|
||||
imagefilledrectangle($destImage, 0, 0, $dst_width, $dst_height, $transparent);
|
||||
imagealphablending($dest_image, false);
|
||||
imagesavealpha($dest_image, true);
|
||||
$transparent = imagecolorallocatealpha($dest_image, 255, 255, 255, 127);
|
||||
imagefilledrectangle($dest_image, 0, 0, $dst_width, $dst_height, $transparent);
|
||||
}
|
||||
else
|
||||
{
|
||||
$white = imagecolorallocate($destImage, 255, 255, 255);
|
||||
imagefilledrectangle ($destImage, 0, 0, $dst_width, $dst_height, $white);
|
||||
$white = imagecolorallocate($dest_image, 255, 255, 255);
|
||||
imagefilledrectangle ($dest_image, 0, 0, $dst_width, $dst_height, $white);
|
||||
}
|
||||
|
||||
imagecopyresampled($destImage, $src_image, (int)(($dst_width - $nextWidth) / 2), (int)(($dst_height - $nextHeight) / 2), 0, 0, $nextWidth, $nextHeight, $src_width, $src_height);
|
||||
return (ImageManager::write($file_type, $destImage, $dst_file));
|
||||
imagecopyresampled($dest_image, $src_image, (int)(($dst_width - $next_width) / 2), (int)(($dst_height - $next_height) / 2), 0, 0, $next_width, $next_height, $src_width, $src_height);
|
||||
return (ImageManager::write($file_type, $dest_image, $dst_file));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -268,7 +268,7 @@ class FrontControllerCore extends Controller
|
||||
elseif (Tools::getValue('fc') == 'module' && $module_name != '' && new $module_name() instanceof PaymentModule)
|
||||
$page_name = 'module-payment-submit';
|
||||
// @retrocompatibility Are we in a module ?
|
||||
elseif (preg_match('#^'.preg_quote($this->context->shop->getPhysicalURI(), '#').'modules/([a-zA-Z0-9_-]+?)/(.*)$#', $_SERVER['REQUEST_URI'], $m))
|
||||
elseif (preg_match('#^'.preg_quote($this->context->shop->physical_uri, '#').'modules/([a-zA-Z0-9_-]+?)/(.*)$#', $_SERVER['REQUEST_URI'], $m))
|
||||
$page_name = 'module-'.$m[1].'-'.str_replace(array('.php', '/'), array('', '-'), $m[2]);
|
||||
else
|
||||
{
|
||||
|
||||
+84
-23
@@ -30,23 +30,40 @@
|
||||
*/
|
||||
class ShopCore extends ObjectModel
|
||||
{
|
||||
/** @var int ID of shop group */
|
||||
public $id_shop_group;
|
||||
public $id_theme;
|
||||
public $name;
|
||||
public $active = true;
|
||||
|
||||
/** @var int ID of shop category */
|
||||
public $id_category;
|
||||
|
||||
/** @var int ID of shop theme */
|
||||
public $id_theme;
|
||||
|
||||
/** @var string Shop name */
|
||||
public $name;
|
||||
|
||||
public $active = true;
|
||||
public $deleted;
|
||||
|
||||
/** @var string Shop theme name (read only) */
|
||||
public $theme_name;
|
||||
|
||||
/** @var string Shop theme directory (read only) */
|
||||
public $theme_directory;
|
||||
|
||||
/** @var string Physical uri of main url (read only) */
|
||||
public $physical_uri;
|
||||
|
||||
/** @var string Virtual uri of main url (read only) */
|
||||
public $virtual_uri;
|
||||
|
||||
/** @var string Domain of main url (read only) */
|
||||
public $domain;
|
||||
|
||||
/** @var string Domain SSL of main url (read only) */
|
||||
public $domain_ssl;
|
||||
|
||||
/**
|
||||
* @var ShopGroup
|
||||
*/
|
||||
/** @var ShopGroup Shop group object */
|
||||
protected $group;
|
||||
|
||||
/**
|
||||
@@ -115,8 +132,13 @@ class ShopCore extends ObjectModel
|
||||
),
|
||||
);
|
||||
|
||||
protected static $context;
|
||||
/** @var int Store the current context of shop (CONTEXT_ALL, CONTEXT_GROUP, CONTEXT_SHOP) */
|
||||
protected static $context;
|
||||
|
||||
/** @var int ID shop in the current context (will be empty if context is not CONTEXT_SHOP) */
|
||||
protected static $context_id_shop;
|
||||
|
||||
/** @var int ID shop group in the current context (will be empty if context is CONTEXT_ALL) */
|
||||
protected static $context_id_shop_group;
|
||||
|
||||
/**
|
||||
@@ -132,6 +154,13 @@ class ShopCore extends ObjectModel
|
||||
const SHARE_CUSTOMER = 'share_customer';
|
||||
const SHARE_ORDER = 'share_order';
|
||||
|
||||
/**
|
||||
* On shop instance, get its theme and URL data too
|
||||
*
|
||||
* @param int $id
|
||||
* @param int $id_lang
|
||||
* @param int $id_shop
|
||||
*/
|
||||
public function __construct($id = null, $id_lang = null, $id_shop = null)
|
||||
{
|
||||
parent::__construct($id, $id_lang, $id_shop);
|
||||
@@ -159,6 +188,13 @@ class ShopCore extends ObjectModel
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a shop, and clear the cache
|
||||
*
|
||||
* @param bool $autodate
|
||||
* @param bool $null_values
|
||||
* @return bool
|
||||
*/
|
||||
public function add($autodate = true, $null_values = false)
|
||||
{
|
||||
$res = parent::add($autodate, $null_values);
|
||||
@@ -166,6 +202,11 @@ class ShopCore extends ObjectModel
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a shop only if it has no dependencies, and remove its associations
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function delete()
|
||||
{
|
||||
if (Shop::hasDependency($this->id) || !$res = parent::delete())
|
||||
@@ -360,11 +401,6 @@ class ShopCore extends ObjectModel
|
||||
return $this->physical_uri.$this->virtual_uri;
|
||||
}
|
||||
|
||||
public function getPhysicalURI()
|
||||
{
|
||||
return $this->physical_uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get shop URL
|
||||
*
|
||||
@@ -420,7 +456,7 @@ class ShopCore extends ObjectModel
|
||||
*/
|
||||
public function isDefaultShop()
|
||||
{
|
||||
return ($this->id == Configuration::get('PS_SHOP_DEFAULT'));
|
||||
return $this->id == Configuration::get('PS_SHOP_DEFAULT');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -664,9 +700,19 @@ class ShopCore extends ObjectModel
|
||||
*/
|
||||
public static function getShopById($id, $identifier, $table)
|
||||
{
|
||||
return Db::getInstance()->executeS('SELECT `id_shop`, `'.bqSQL($identifier).'` FROM `'._DB_PREFIX_.bqSQL($table).'_shop` WHERE `'.bqSQL($identifier).'` = '.(int)$id);
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT `id_shop`, `'.bqSQL($identifier).'`
|
||||
FROM `'._DB_PREFIX_.bqSQL($table).'_shop`
|
||||
WHERE `'.bqSQL($identifier).'` = '.(int)$id
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the current shop context
|
||||
*
|
||||
* @param int $type Shop::CONTEXT_ALL | Shop::CONTEXT_GROUP | Shop::CONTEXT_SHOP
|
||||
* @param int $id ID shop if CONTEXT_SHOP or id shop group if CONTEXT_GROUP
|
||||
*/
|
||||
public static function setContext($type, $id = null)
|
||||
{
|
||||
// Always use global context for mono-shop mode
|
||||
@@ -697,16 +743,31 @@ class ShopCore extends ObjectModel
|
||||
self::$context = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current context of shop
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function getContext()
|
||||
{
|
||||
return self::$context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current ID of shop if context is CONTEXT_SHOP
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function getContextShopID()
|
||||
{
|
||||
return self::$context_id_shop;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current ID of shop group if context is CONTEXT_SHOP or CONTEXT_GROUP
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function getContextShopGroupID()
|
||||
{
|
||||
return self::$context_id_shop_group;
|
||||
@@ -885,15 +946,6 @@ class ShopCore extends ObjectModel
|
||||
), $m['id_module']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 1.5.0 Use shop->id
|
||||
*/
|
||||
public static function getCurrentShop()
|
||||
{
|
||||
Tools::displayAsDeprecated();
|
||||
return Context::getContext()->shop->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @static
|
||||
* @param int $id
|
||||
@@ -924,4 +976,13 @@ class ShopCore extends ObjectModel
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 1.5.0 Use shop->id
|
||||
*/
|
||||
public static function getCurrentShop()
|
||||
{
|
||||
Tools::displayAsDeprecated();
|
||||
return Context::getContext()->shop->id;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user