ez-pro/core/bitrix/modules/main/lib/license.php
2025-11-13 19:52:28 +03:00

28 lines
10 KiB
PHP

<? namespace Bitrix\Main;$GLOBALS['____400789061']= array(base64_decode('Z'.'mlsZV9leGlzdHM'.'='),base64_decode('c3Ry'.'dG91cHBlcg=='),base64_decode(''.'bWQ1'),base64_decode('bW'.'Q1'),base64_decode('aW5'.'fYX'.'JyYXk='),base64_decode('aW5'.'fYXJy'.'YX'.'k='),base64_decode('ZG'.'V'.'m'.'aW5lZ'.'A=='),base64_decode('Z'.'GVma'.'W'.'5lZA='.'='),base64_decode('ZG'.'VmaW5lZA=='),base64_decode('Zml'.'sZV9leGlzd'.'HM='),base64_decode('Z'.'m'.'lsZV9l'.'eGlzdHM='),base64_decode('ZmlsZV9leGlzdH'.'M='),base64_decode('ZmlsZV9l'.'eGl'.'zd'.'HM='),base64_decode('ZXhw'.'bG9k'.'Z'.'Q'.'=='));if(!function_exists(__NAMESPACE__.'\\___2098214481')){function ___2098214481($_2114789004){static $_782359521= false; if($_782359521 == false) $_782359521=array('L2JpdHJpeC9s'.'aWNlbnNlX2t'.'leS5w'.'a'.'HA=','','','REV'.'N'.'Tw==',''.'REVNTw==','QklUU'.'klY','TElDRU5DRQ==','REVN'.'Tw==','L2tleV9'.'1cGRhdGUu'.'cG'.'hwP2x'.'pY'.'2V'.'uc2Vfa2V'.'5PQ='.'=','JnR'.'vYmFza2V'.'0PXkmbGFuZz0=','aH'.'R0cHM6Ly9k'.'ZXY'.'uMWMtYm'.'l0cml4Ln'.'J1L2xlYX'.'JuaW5nL2N'.'vd'.'XJzZS9pbmRleC5wa'.'HA/'.'Q'.'09VU'.'l'.'NFX'.'0l'.'E'.'PT'.'Ez'.'NSZM'.'RVNTT0'.'5'.'fSUQ9M'.'jU'.'3MjA=','aHR0'.'cHM6'.'Ly'.'90cmF'.'pbmlu'.'Zy5iaXRyaXgy'.'NC5jb2'.'0'.'vc'.'3VwcG9ydC90cmF'.'p'.'bmluZy9jb3Vyc2'.'UvaW5kZXgucGhwP0NPV'.'V'.'JTRV9JRD0'.'xNzgmTEVT'.'U09OX0lEPTI'.'1'.'OTM'.'yJk'.'xFU1NP'.'T'.'l9QQVR'.'IPT'.'E3NTIwLjE3NTY'.'y'.'LjI1OTMwLjI'.'1OT'.'My',''.'cnU=','Ynk=','a3o'.'=','ZG'.'U=','ZXU=',''.'Zn'.'I=','cGw=','aXQ=',''.'dWs'.'=','ZXU=','Y2'.'9t','ZW4'.'=',''.'REVNT'.'w'.'==','WQ==',''.'V'.'ElNRUxJTUlU'.'X0VESVRJT'.'04=','WQ==',''.'RU5DT'.'0R'.'F',''.'WQ='.'=',''.'U'.'2l'.'0ZUV4cGlyZU'.'RhdGU=',''.'b'.'W'.'F'.'pb'.'g'.'==','f'.'nN1cH'.'Bvc'.'nRfZm'.'l'.'uaX'.'NoX2RhdGU'.'=',''.'WS1tLW'.'Q=',''.'WS1tLW'.'Q=','Yml'.'0cm'.'l4'.'MjQ=','b'.'W'.'Fpbg='.'=','flBBU'.'kFNX0NMSUVOVF9MQU5'.'H','','a'.'W50'.'cmFuZX'.'Q=','ZW4=','cn'.'U=','b'.'WFpbg'.'='.'=','dmVuZ'.'G'.'9y','Ym'.'l0cml4X3B'.'vcnRhbA==','Yml0cml4','ZW4=','MWNfYml0cml4X3BvcnRhbA==','MWN'.'fYml0cm'.'l4',''.'cnU=','L2Jp'.'dHJpe'.'C9tb2R1bGVzL21haW'.'4v'.'bGFuZ'.'y'.'91Y'.'Q==','dW'.'E'.'=','L2'.'Jp'.'dHJpeC'.'9'.'t'.'b'.'2R1b'.'GVzL'.'21h'.'aW4vbGFuZy9ie'.'Q==','Yn'.'k=',''.'L2'.'J'.'pd'.'HJpe'.'C9'.'tb2R1bGVzL'.'21haW4vbGFuZy9reg='.'=','a3'.'o=','L2Jp'.'dH'.'Jpe'.'C9'.'tb2'.'R1bG'.'VzL21'.'haW4vbG'.'FuZy9yd'.'Q==','cnU=','bW'.'F'.'pbg='.'=','flBBUkFNX1BBU'.'lRORV'.'J'.'fS'.'U'.'Q=','b'.'WFpbg==','UEFS'.'QU1fTUF'.'Y'.'X1VTR'.'VJT',''.'bWF'.'pbg==','fkN'.'PVU'.'5'.'UX0VY'.'VFJB','Tg==','WQ'.'==','ZXh0cm'.'FuZXQ=',''.'QU5EIFUuTEFTVF9MT0dJTiA'.'+IA==','QU'.'5EIFUuTEF'.'TVF9MT0d'.'JTiBJUyBOT'.'1QgTlVMTA'.'==','aW50cmF'.'uZXQ=','ZXh0cm'.'FuZ'.'X'.'Q=','ZXh0cm'.'FuZ'.'XRfZ3Jv'.'dX'.'A'.'=','bWFp'.'bg'.'==',''.'fmx'.'pY2'.'V'.'uc'.'2VfbmFtZQ'.'==','b'.'WFpbg==','f'.'mx'.'pY'.'2Vu'.'c'.'2Vf'.'Y29k'.'ZXM=','',''.'LA==');return base64_decode($_782359521[$_2114789004]);}}; use Bitrix\Main\Config\Option; use Bitrix\Main\Type\Date; final class License{ private?string $_477623162= null; private?string $_69106994= null; private const DOMAINS_STORE_LICENSE=[ 'ru' => 'https://util.1c-bitrix.ru', 'en' => 'https://util.bitrixsoft.com', 'kz' => 'https://util.1c-bitrix.kz', 'by' => 'https://util.1c-bitrix.by',]; public const URL_BUS_EULA=[ 'ru' => 'https://www.1c-bitrix.ru/download/law/eula_bus.pdf', 'by' => 'https://www.1c-bitrix.by/download/law/eula_bus.pdf', 'kz' => 'https://www.1c-bitrix.kz/download/law/eula_bus.pdf',]; public const URL_CP_EULA=[ 'ru' => 'https://www.1c-bitrix.ru/download/law/eula_cp.pdf', 'by' => 'https://www.1c-bitrix.by/download/law/eula_cp.pdf', 'kz' => 'https://www.1c-bitrix.kz/download/law/eula_cp.pdf', 'en' => 'https://www.bitrix24.com/eula/', 'br' => 'https://www.bitrix24.com.br/eula/', 'fr' => 'https://www.bitrix24.fr/eula/', 'pl' => 'https://www.bitrix24.pl/eula/', 'it' => 'https://www.bitrix24.it/eula/', 'la' => 'https://www.bitrix24.es/eula/',]; public const URL_RENEWAL_LICENSE=[ 'com' => 'https://store.bitrix24.com/profile/license-keys.php', 'eu' => 'https://store.bitrix24.eu/profile/license-keys.php', 'de' => 'https://store.bitrix24.de/profile/license-keys.php', 'ru' => 'https://www.1c-bitrix.ru/buy/products/b24.php#tab-section-2', 'by' => 'https://www.1c-bitrix.by/buy/products/b24.php#tab-section-2', 'kz' => 'https://www.1c-bitrix.kz/buy/products/b24.php#tab-section-2',]; private const CIS=['ru' => 1, 'by' => 1, 'kz' => 1, 'uz' => 1, 'kg' => 1, 'am' => 1, 'az' => 1, 'ge' => 1]; public function getKey(): string{ if($this->_477623162 === null){ $_1973590126= Loader::getDocumentRoot(). ___2098214481(0); $LICENSE_KEY= ___2098214481(1); if($GLOBALS['____400789061'][0]($_1973590126)){ include($_1973590126);} $this->_477623162=($LICENSE_KEY == ___2098214481(2) || $GLOBALS['____400789061'][1]($LICENSE_KEY) == ___2098214481(3)? ___2098214481(4): $LICENSE_KEY);} return $this->_477623162;} public function getHashLicenseKey(): string{ return $GLOBALS['____400789061'][2]($this->getKey());} public function getPublicHashKey(): string{ return $GLOBALS['____400789061'][3](___2098214481(5). $this->getKey(). ___2098214481(6));} public function isDemoKey(): bool{ return $this->getKey() == ___2098214481(7);} public function getBuyLink(): string{ return $this->getDomainStoreLicense(). ___2098214481(8). $this->getHashLicenseKey(). ___2098214481(9). LANGUAGE_ID;} public function getDocumentationLink(): string{ if($this->isCis()){ return ___2098214481(10);} return ___2098214481(11);} public function getRenewalLink(): string{ $_69106994= $this->getRegion(); if($GLOBALS['____400789061'][4]($_69106994,[___2098214481(12), ___2098214481(13), ___2098214481(14), ___2098214481(15)])){ return self::URL_RENEWAL_LICENSE[$_69106994];} if($GLOBALS['____400789061'][5]($_69106994,[___2098214481(16), ___2098214481(17), ___2098214481(18), ___2098214481(19), ___2098214481(20)])){ return self::URL_RENEWAL_LICENSE[___2098214481(21)];} return self::URL_RENEWAL_LICENSE[___2098214481(22)];} public function getDomainStoreLicense(): string{ return self::DOMAINS_STORE_LICENSE[$this->getRegion()] ?? self::DOMAINS_STORE_LICENSE[___2098214481(23)];} public function isDemo(): bool{ return $GLOBALS['____400789061'][6](___2098214481(24)) && DEMO === ___2098214481(25);} public function isTimeBound(): bool{ return $GLOBALS['____400789061'][7](___2098214481(26)) && TIMELIMIT_EDITION === ___2098214481(27);} public function isEncoded(): bool{ return $GLOBALS['____400789061'][8](___2098214481(28)) && ENCODE === ___2098214481(29);} public function getExpireDate():?Date{ $_1002584330= (int)($GLOBALS[___2098214481(30)] ??(164*2-328)); if($_1002584330>(203*2-406)){ return Date::createFromTimestamp($_1002584330);} return null;} public function getSupportExpireDate():?Date{ $_1002584330= Option::get(___2098214481(31), ___2098214481(32)); if(Date::isCorrect($_1002584330, ___2098214481(33))){ return new Date($_1002584330, ___2098214481(34));} return null;} public function isCis(): bool{ return isset(self::CIS[$this->getRegion()]);} public function getRegion():?string{ if($this->_69106994 === null){ if(Loader::includeModule(___2098214481(35))){ $this->_69106994= \CBitrix24::getPortalZone();} else{ $_69106994= Option::get(___2098214481(36), ___2098214481(37)); if(empty($_69106994)){ $_69106994= $this->__1722305787(); if(empty($_69106994)){ $_69106994= $this->__1613489319();}} $this->_69106994= $_69106994 ?? ___2098214481(38);}} return $this->_69106994?: null;} public function getEulaLink(): string{ if(ModuleManager::isModuleInstalled(___2098214481(39))){ return self::URL_CP_EULA[$this->getRegion()] ?? self::URL_CP_EULA[___2098214481(40)];} return self::URL_BUS_EULA[$this->getRegion()] ?? self::URL_BUS_EULA[___2098214481(41)];} private function __1722305787():?string{ $_197146550= Option::get(___2098214481(42), ___2098214481(43)); if($_197146550 === ___2098214481(44) || $_197146550 === ___2098214481(45)){ return ___2098214481(46);} if($_197146550 === ___2098214481(47) || $_197146550 === ___2098214481(48)){ return ___2098214481(49);} return null;} private function __1613489319():?string{ $_1115359644= Application::getDocumentRoot(); if($GLOBALS['____400789061'][9]($_1115359644. ___2098214481(50))){ return ___2098214481(51);} if($GLOBALS['____400789061'][10]($_1115359644. ___2098214481(52))){ return ___2098214481(53);} if($GLOBALS['____400789061'][11]($_1115359644. ___2098214481(54))){ return ___2098214481(55);} if($GLOBALS['____400789061'][12]($_1115359644. ___2098214481(56))){ return ___2098214481(57);} return null;} public function getPartnerId(): int{ return (int)Option::get(___2098214481(58), ___2098214481(59),(219*2-438));} public function getMaxUsers(): int{ return (int)Option::get(___2098214481(60), ___2098214481(61),(1212/2-606));} public function isExtraCountable(): bool{ return Option::get(___2098214481(62), ___2098214481(63), ___2098214481(64)) === ___2098214481(65) && ModuleManager::isModuleInstalled(___2098214481(66));} public function getActiveUsersCount(Date $_1957171545= null): int{ $_637471757= Application::getConnection(); $_502800932=(888-2*444); if($_1957171545 !== null){ $_1367430675= ___2098214481(67).$_637471757->getSqlHelper()->convertToDbDate($_1957171545);} else{ $_1367430675= ___2098214481(68);} if(ModuleManager::isModuleInstalled(___2098214481(69))){ $_1264981882="
SELECT COUNT(DISTINCT U.ID)
FROM
b_user U
INNER JOIN b_user_field F ON F.ENTITY_ID = 'USER' AND F.FIELD_NAME = 'UF_DEPARTMENT'
INNER JOIN b_utm_user UF ON
UF.FIELD_ID = F.ID
AND UF.VALUE_ID = U.ID
AND UF.VALUE_INT > 0
WHERE U.ACTIVE = 'Y'
{$_1367430675}
"; $_502800932= (int)$_637471757->queryScalar($_1264981882); $_1606232719= (int)Option::get(___2098214481(70), ___2098214481(71)); if($_1606232719> min(216,0,72) && $this->isExtraCountable()){ $_1264981882="
SELECT COUNT(1)
FROM
b_user U
INNER JOIN b_extranet_user EU ON EU.USER_ID = U.ID AND EU.CHARGEABLE = 'Y'
INNER JOIN b_user_group UG ON UG.USER_ID = U.ID AND UG.GROUP_ID = {$_1606232719}
LEFT JOIN (
SELECT UF.VALUE_ID
FROM
b_user_field F
INNER JOIN b_utm_user UF ON UF.FIELD_ID = F.ID AND UF.VALUE_INT > 0
WHERE F.ENTITY_ID = 'USER' AND F.FIELD_NAME = 'UF_DEPARTMENT'
) D ON D.VALUE_ID = U.ID
WHERE U.ACTIVE = 'Y'
{$_1367430675}
AND D.VALUE_ID IS NULL
"; $_502800932 += (int)$_637471757->queryScalar($_1264981882);}} return $_502800932;} public function getName(): string{ return Option::get(___2098214481(72), ___2098214481(73));} public function getCodes(): array{ $_156313062= Option::get(___2098214481(74), ___2098214481(75)); if($_156313062 != ___2098214481(76)){ return $GLOBALS['____400789061'][13](___2098214481(77), $_156313062);} return[];}}?>