⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
olasjoys
/
classes
/
View File Name :
ImageType.php
<?php /** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors <contact@prestashop.com> * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ /** * Class ImageTypeCore. */ class ImageTypeCore extends ObjectModel { public $id; /** @var string Name */ public $name; /** @var int Width */ public $width; /** @var int Height */ public $height; /** @var bool Apply to products */ public $products; /** @var bool Apply to categories */ public $categories; /** @var bool Apply to manufacturers */ public $manufacturers; /** @var bool Apply to suppliers */ public $suppliers; /** @var bool Apply to store */ public $stores; /** * @see ObjectModel::$definition */ public static $definition = [ 'table' => 'image_type', 'primary' => 'id_image_type', 'fields' => [ 'name' => ['type' => self::TYPE_STRING, 'validate' => 'isImageTypeName', 'required' => true, 'size' => 64], 'width' => ['type' => self::TYPE_INT, 'validate' => 'isImageSize', 'required' => true], 'height' => ['type' => self::TYPE_INT, 'validate' => 'isImageSize', 'required' => true], 'categories' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool'], 'products' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool'], 'manufacturers' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool'], 'suppliers' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool'], 'stores' => ['type' => self::TYPE_BOOL, 'validate' => 'isBool'], ], ]; /** * @var array Image types cache */ protected static $images_types_cache = []; protected static $images_types_name_cache = []; protected $webserviceParameters = []; /** * Returns image type definitions. * * @param string|null Image type * @param bool $orderBySize * * @return array Image type definitions * * @throws PrestaShopDatabaseException */ public static function getImagesTypes($type = null, $orderBySize = false) { if (!isset(self::$images_types_cache[$type])) { $where = 'WHERE 1'; if (!empty($type)) { $where .= ' AND `' . bqSQL($type) . '` = 1 '; } if ($orderBySize) { $query = 'SELECT * FROM `' . _DB_PREFIX_ . 'image_type` ' . $where . ' ORDER BY `width` DESC, `height` DESC, `name`ASC'; } else { $query = 'SELECT * FROM `' . _DB_PREFIX_ . 'image_type` ' . $where . ' ORDER BY `name` ASC'; } self::$images_types_cache[$type] = Db::getInstance()->executeS($query); } return self::$images_types_cache[$type]; } /** * Check if type already is already registered in database. * * @param string $typeName Name * * @return int Number of results found */ public static function typeAlreadyExists($typeName) { if (!Validate::isImageTypeName($typeName)) { die(Tools::displayError()); } Db::getInstance()->executeS(' SELECT `id_image_type` FROM `' . _DB_PREFIX_ . 'image_type` WHERE `name` = \'' . pSQL($typeName) . '\'', false); return Db::getInstance()->numRows(); } /** * Finds image type definition by name and type. * * @param string $name * @param string $type */ public static function getByNameNType($name, $type = null, $order = 0) { static $is_passed = false; if (!isset(self::$images_types_name_cache[$name . '_' . $type . '_' . $order]) && !$is_passed) { $results = Db::getInstance()->executeS('SELECT * FROM `' . _DB_PREFIX_ . 'image_type`'); $types = ['products', 'categories', 'manufacturers', 'suppliers', 'stores']; $total = count($types); foreach ($results as $result) { foreach ($result as $value) { for ($i = 0; $i < $total; ++$i) { self::$images_types_name_cache[$result['name'] . '_' . $types[$i] . '_' . $value] = $result; } } } $is_passed = true; } $return = false; if (isset(self::$images_types_name_cache[$name . '_' . $type . '_' . $order])) { $return = self::$images_types_name_cache[$name . '_' . $type . '_' . $order]; } return $return; } /** * Get formatted name. * * @deprecated 1.7.0.0 Use ImageType::getFormattedName($name) instead * * @param string $name * * @return string */ public static function getFormatedName($name) { Tools::displayAsDeprecated('Please use ImageType::getFormattedName($name) instead'); return self::getFormattedName($name); } /** * Get formatted name. * * @param string $name * * @return string */ public static function getFormattedName($name) { $themeName = Context::getContext()->shop->theme_name; $nameWithoutThemeName = str_replace(['_' . $themeName, $themeName . '_'], '', $name); //check if the theme name is already in $name if yes only return $name if ($themeName !== null && strstr($name, $themeName) && self::getByNameNType($name)) { return $name; } if (self::getByNameNType($nameWithoutThemeName . '_' . $themeName)) { return $nameWithoutThemeName . '_' . $themeName; } if (self::getByNameNType($themeName . '_' . $nameWithoutThemeName)) { return $themeName . '_' . $nameWithoutThemeName; } return $nameWithoutThemeName . '_default'; } /** * Get all image types. * * @return array */ public static function getAll() { $context = Context::getContext(); if (isset($context->shop->theme)) { $imagesTypes = $context->shop->theme->get('image_types'); return is_array($imagesTypes) ? $imagesTypes : []; } return []; } }