%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.147.78.131 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/lib/composite/internals/ |
Upload File : |
<? namespace Bitrix\Main\Composite\Internals; use Bitrix\Main\Composite\Helper; use Bitrix\Main\Composite\Internals\Model\PageTable; use Bitrix\Main\Type\DateTime; class PageManager { public static function register($cacheKey, array $params = array()) { $options = Helper::getOptions(); if ($options["WRITE_STATISTIC"] === "N") { return null; } if (!is_string($cacheKey) || mb_strlen($cacheKey) < 1) { return null; } $pageTitle = isset($params["TITLE"]) ? $params["TITLE"] : $GLOBALS["APPLICATION"]->GetTitle(); $pageTitle = mb_substr($pageTitle, 0, 250); $pageHost = isset($params["HOST"]) && mb_strlen($params["HOST"]) ? $params["HOST"] : Helper::getHttpHost(); $pageHost = mb_substr($pageHost, 0, 100); $pageUri = isset($params["URI"]) && mb_strlen($params["URI"]) ? $params["URI"] : Helper::getRequestUri(); $pageUri = mb_substr($pageUri, 0, 2000); $pageSize = isset($params["SIZE"]) ? intval($params["SIZE"]) : 0; $data = array( "TITLE" => $pageTitle, "URI" => $pageUri, "HOST" => $pageHost ); $GLOBALS["DB"]->StartUsingMasterOnly(); $page = static::getByCacheKey($cacheKey); $result = null; if ($page) { $data["LAST_VIEWED"] = new DateTime(); $data["VIEWS"] = $page["VIEWS"] + 1; if (isset($params["CHANGED"]) && $params["CHANGED"] === true) { $data["CHANGED"] = new DateTime(); $data["REWRITES"] = $page["REWRITES"] + 1; $data["SIZE"] = $pageSize; } $result = PageTable::update($page["ID"], $data); } else { $data["SIZE"] = $pageSize; $data["CACHE_KEY"] = $cacheKey; $result = PageTable::add($data); } $GLOBALS["DB"]->StopUsingMasterOnly(); return $result !== null ? $result->getId() : null; } public static function getByCacheKey($cacheKey) { $records = PageTable::getList(array( "filter" => array( "=CACHE_KEY" => $cacheKey ), "order" => array( "ID" => "ASC" ) )); $result = null; while ($record = $records->fetch()) { if ($result === null) { $result = $record; } else { //delete duplicate records just in case PageTable::delete($record["ID"]); } } return $result; } public static function deleteByCacheKey($cacheKey) { $records = PageTable::getList(array( "select" => array("ID"), "filter" => array( "=CACHE_KEY" => $cacheKey ) )); $result = null; while ($record = $records->fetch()) { $result = PageTable::delete($record["ID"]); } return $result; } }