/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter
NameSizeModeActions
Address/-0755rm
Admin/-0755rm
Assets/-0755rm
Attachment/-0755rm
Attribute/-0755rm
AttributeGroup/-0755rm
Backup/-0755rm
BestSales/-0755rm
Cache/-0755rm
Carrier/-0755rm
Cart/-0755rm
CartRule/-0755rm
CatalogPriceRule/-0755rm
Category/-0755rm
CMS/-0755rm
Configuration/-0755rm
Contact/-0755rm
Container/-0755rm
Converter/-0755rm
Country/-0755rm
CreditSlip/-0755rm
Currency/-0755rm
Customer/-0755rm
Debug/-0755rm
Domain/-0755rm
Email/-0755rm
Employee/-0755rm
EntityTranslation/-0755rm
Feature/-0755rm
File/-0755rm
Form/-0755rm
Geolocation/-0755rm
Grid/-0755rm
Group/-0755rm
Hook/-0755rm
Hosting/-0755rm
Image/-0755rm
Import/-0755rm
Invoice/-0755rm
Kpi/-0755rm
Language/-0755rm
Localization/-0755rm
Mail/-0755rm
MailTemplate/-0755rm
Manufacturer/-0755rm
Media/-0755rm
Meta/-0755rm
Module/-0755rm
NewProducts/-0755rm
Notification/-0755rm
Number/-0755rm
OptionalFeatures/-0755rm
Order/-0755rm
OrderMessage/-0755rm
OrderReturn/-0755rm
OrderReturnState/-0755rm
OrderState/-0755rm
Pack/-0755rm
PDF/-0755rm
Preferences/-0755rm
Presenter/-0755rm
PricesDrop/-0755rm
Product/-0755rm
Profile/-0755rm
Requirement/-0755rm
Routes/-0755rm
Routing/-0755rm
Search/-0755rm
SearchEngine/-0755rm
Security/-0755rm
Session/-0755rm
Shop/-0755rm
Smarty/-0755rm
SpecificPrice/-0755rm
SqlManager/-0755rm
State/-0755rm
Store/-0755rm
Supplier/-0755rm
Support/-0755rm
System/-0755rm
Tab/-0755rm
Tax/-0755rm
TaxRulesGroup/-0755rm
Theme/-0755rm
Title/-0755rm
Translations/-0755rm
Twig/-0755rm
Upload/-0755rm
Warehouse/-0755rm
Webservice/-0755rm
Zone/-0755rm
AbstractObjectModelValidator.php37190644editdlrm
AddressFactory.php20510644editdlrm
CacheManager.php14500644editdlrm
ClassLang.php17160644editdlrm
CombinationDataProvider.php85800644editdlrm
Configuration.php139590644editdlrm
ContainerBuilder.php89660644editdlrm
ContainerFinder.php23980644editdlrm
ContextStateManager.php103360644editdlrm
CoreException.php12290644editdlrm
Database.php26980644editdlrm
EntityMapper.php55730644editdlrm
EntityMetaDataRetriever.php20340644editdlrm
Environment.php26700644editdlrm
GeneralConfiguration.php43310644editdlrm
HookManager.php39690644editdlrm
ImageManager.php43200644editdlrm
LegacyContext.php110080644editdlrm
LegacyContextLoader.php42620644editdlrm
LegacyHookSubscriber.php47800644editdlrm
LegacyLogger.php48980644editdlrm
ObjectPresenter.php13270644editdlrm
RoundingMapper.php25230644editdlrm
ServiceLocator.php20650644editdlrm
StockManager.php79140644editdlrm
SymfonyContainer.php19700644editdlrm
Tools.php59320644editdlrm
Validate.php38330644editdlrm
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/EntityMapper.php (5573B)
* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter; use Cache; use Db; use DbQuery; use ObjectModelCore; use Shop; class EntityMapper { /** * Load ObjectModel. * * @param int $id * @param int $id_lang * @param ObjectModelCore $entity * @param array $entity_defs * @param int $id_shop * @param bool $should_cache_objects * * @throws \PrestaShopDatabaseException */ public function load($id, $id_lang, $entity, $entity_defs, $id_shop, $should_cache_objects) { // Load object from database if object id is present $cache_id = 'objectmodel_' . $entity_defs['classname'] . '_' . (int) $id . '_' . (int) $id_shop . '_' . (int) $id_lang; if (!$should_cache_objects || !Cache::isStored($cache_id)) { $sql = new DbQuery(); $sql->from($entity_defs['table'], 'a'); $sql->where('a.`' . bqSQL($entity_defs['primary']) . '` = ' . (int) $id); // Get lang informations if ($id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) { $sql->leftJoin($entity_defs['table'] . '_lang', 'b', 'a.`' . bqSQL($entity_defs['primary']) . '` = b.`' . bqSQL($entity_defs['primary']) . '` AND b.`id_lang` = ' . (int) $id_lang); if ($id_shop && !empty($entity_defs['multilang_shop'])) { $sql->where('b.`id_shop` = ' . (int) $id_shop); } } // Get shop informations if (Shop::isTableAssociated($entity_defs['table'])) { $sql->leftJoin($entity_defs['table'] . '_shop', 'c', 'a.`' . bqSQL($entity_defs['primary']) . '` = c.`' . bqSQL($entity_defs['primary']) . '` AND c.`id_shop` = ' . (int) $id_shop); } if ($object_datas = Db::getInstance()->getRow($sql)) { $objectVars = get_object_vars($entity); if (!$id_lang && isset($entity_defs['multilang']) && $entity_defs['multilang']) { $sql = 'SELECT * FROM `' . bqSQL(_DB_PREFIX_ . $entity_defs['table']) . '_lang` WHERE `' . bqSQL($entity_defs['primary']) . '` = ' . (int) $id . (($id_shop && $entity->isLangMultishop()) ? ' AND `id_shop` = ' . (int) $id_shop : ''); if ($object_datas_lang = Db::getInstance()->executeS($sql)) { foreach ($object_datas_lang as $row) { foreach ($row as $key => $value) { if ($key != $entity_defs['primary'] && array_key_exists($key, $objectVars)) { if (!isset($object_datas[$key]) || !is_array($object_datas[$key])) { $object_datas[$key] = []; } $object_datas[$key][$row['id_lang']] = $value; } } } } } $entity->id = (int) $id; foreach ($object_datas as $key => $value) { if (array_key_exists($key, $entity_defs['fields']) || array_key_exists($key, $objectVars)) { if (isset($entity_defs['fields'][$key]['type']) && in_array($entity_defs['fields'][$key]['type'], [ \ObjectModel::TYPE_BOOL, ])) { if (is_array($value)) { array_walk($value, function (&$v) { $v = strval($v); }); $entity->{$key} = $value; } else { $entity->{$key} = strval($value); } } else { $entity->{$key} = $value; } } else { unset($object_datas[$key]); } } if ($should_cache_objects) { Cache::store($cache_id, $object_datas); } } } else { $object_datas = Cache::retrieve($cache_id); if ($object_datas) { $entity->id = (int) $id; foreach ($object_datas as $key => $value) { $entity->{$key} = $value; } } } } }