![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-customer/CustomerData/Section/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\CustomerData\Section; /** * Customer section identifier */ class Identifier { const COOKIE_KEY = 'storage_data_id'; const SECTION_KEY = 'data_id'; const UPDATE_MARK = 'sections_updated'; /** * @var int */ protected $markId; /** * @var \Magento\Framework\Stdlib\Cookie\PhpCookieManager */ protected $cookieManager; /** * @var \Magento\Framework\Session\Config\ConfigInterface */ protected $sessionConfig; /** * @param \Magento\Framework\Stdlib\Cookie\PhpCookieManager $cookieManager */ public function __construct( \Magento\Framework\Stdlib\Cookie\PhpCookieManager $cookieManager ) { $this->cookieManager = $cookieManager; } /** * Init mark(identifier) for sections * * @param bool $forceNewTimestamp * @return int */ public function initMark($forceNewTimestamp) { if ($forceNewTimestamp) { $this->markId = time(); return $this->markId; } $cookieMarkId = false; if (!$this->markId) { $cookieMarkId = $this->cookieManager->getCookie(self::COOKIE_KEY); } $this->markId = $cookieMarkId ? $cookieMarkId : time(); return $this->markId; } /** * Mark sections with data id * * @param array $sectionsData * @param array|null $sectionNames * @param bool $forceNewTimestamp * @return array */ public function markSections(array $sectionsData, $sectionNames = null, $forceNewTimestamp = false) { if (!$sectionNames) { $sectionNames = array_keys($sectionsData); } $markId = $this->initMark($forceNewTimestamp); foreach ($sectionNames as $name) { if ($forceNewTimestamp || !array_key_exists(self::SECTION_KEY, $sectionsData[$name])) { $sectionsData[$name][self::SECTION_KEY] = $markId; } } return $sectionsData; } }