Бесконечная лицензия (до 01-01-9999 г.)

Скачать Бесконечная лицензия (до 01-01-9999 г.)
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.459
Реакции
9.436
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Бесконечная лицензия (до 01-01-9999 г.) для версии 3.3.4 (Думаю и для версии выше тоже подойдет)

1. Скачать и установить оригинальную версию OkayCMS 3.3.4 с сайта разработчика.

2. Заменить содержимое файла: \vendor\okaycms\license\src\OkayLicense\License.php, на содержимое в спойлере.

PHP:
<?php
namespace OkayLicense; use Okay\Admin\Controllers\LicenseAdmin; use Okay\Core\Config; use Okay\Core\Design; use Okay\Core\Modules\AbstractInit; use Okay\Core\OkayContainer\OkayContainer; use Okay\Core\Request; use Okay\Core\Response; use Okay\Core\Router; use Okay\Core\Modules\Module; use Okay\Core\ServiceLocator; use Okay\Modules\OkayCMS\Rozetka\Backend\Controllers\RozetkaXmlAdmin; use Smarty; class License { private static $config; private static $module; private static $validLicense = false; private static $licenseType; private static $smarty; private static $response; private static $request; private static $inited = false; private $responseType; private $plugins; private static $codes = array(array(60, 100, 105, 118, 32, 115, 116, 121, 108, 101, 61, 39, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 58, 99, 101, 110, 116, 101, 114, 59, 32, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, 50, 50, 112, 120, 59, 32, 104, 101, 105, 103, 104, 116, 58, 49, 48, 48, 112, 120, 59, 39, 62, 208, 155, 208, 184, 209, 134, 208, 181, 208, 189, 208, 183, 208, 184, 209, 143, 32, 208, 189, 208, 181, 208, 180, 208, 181, 208, 185, 209, 129, 209, 130, 208, 178, 208, 184, 209, 130, 208, 181, 208, 187, 209, 140, 208, 189, 208, 176, 60, 98, 114, 62, 60, 97, 32, 104, 114, 101, 102, 61, 39, 104, 116, 116, 112, 58, 47, 47, 111, 107, 97, 121, 45, 99, 109, 115, 46, 99, 111, 109, 39, 62, 208, 161, 208, 186, 209, 128, 208, 184, 208, 191, 209, 130, 32, 208, 184, 208, 189, 209, 130, 208, 181, 209, 128, 208, 189, 208, 181, 209, 130, 45, 208, 188, 208, 176, 208, 179, 208, 176, 208, 183, 208, 184, 208, 189, 208, 176, 32, 79, 107, 97, 121, 60, 47, 97, 62, 60, 47, 100, 105, 118, 62), array(92, 112, 104, 112, 115, 101, 99, 108, 105, 98, 92, 67, 114, 121, 112, 116, 92, 66, 108, 111, 119, 102, 105, 115, 104), array(100, 101, 99, 114, 121, 112, 116), array(98, 97, 115, 101, 54, 52, 95, 100, 101, 99, 111, 100, 101), array(79, 107, 97, 121, 67, 77, 83), array(97, 49, 53, 98, 99, 98, 101, 51, 102, 99, 49, 53, 56, 49, 53, 101, 57, 55, 56, 99, 52, 100, 56, 56, 102, 53, 97, 99, 56, 49, 48, 51), array(88, 45, 80, 111, 119, 101, 114, 101, 100, 45, 67, 77, 83, 58, 32, 79, 107, 97, 121, 67, 77, 83), array(60, 115, 99, 114, 105, 112, 116, 62, 36, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 97, 108, 101, 114, 116, 40, 34, 67, 117, 114, 114, 101, 110, 116, 32, 108, 105, 115, 101, 110, 115, 101, 32, 105, 115, 32, 119, 114, 111, 110, 103, 32, 102, 111, 114, 32, 100, 111, 109, 97, 105, 110, 32, 92, 34, 36, 100, 111, 109, 97, 105, 110, 92, 34, 34, 41, 59, 125, 41, 60, 47, 115, 99, 114, 105, 112, 116, 62)); public static function getHtml(Design $sp19131c, $sp1667c0) { if ($sp19131c->isUseModuleDir() && !self::sp17fe6f(self::spa9a365($sp19131c->getModuleTemplatesDir()), self::spdfb75f($sp19131c->getModuleTemplatesDir()))) { return ''; } if ($sp19131c->isUseModuleDir() === false) { $sp19131c->setSmartyTemplatesDir($sp19131c->getDefaultTemplatesDir()); } else { $spe37343 = self::spa9a365($sp19131c->getModuleTemplatesDir()); $sp26da72 = self::spdfb75f($sp19131c->getModuleTemplatesDir()); $sp19131c->setSmartyTemplatesDir(array(rtrim($sp19131c->getDefaultTemplatesDir(), '/') . "/../modules/{$spe37343}/{$sp26da72}/html", $sp19131c->getModuleTemplatesDir(), $sp19131c->getDefaultTemplatesDir())); } $sp15070b = self::$smarty->fetch($sp1667c0); if (self::$validLicense === false && $sp1667c0 == 'index.tpl' && strpos($sp19131c->getDefaultTemplatesDir(), 'backend/design/html') !== false) { $sp804ca3 = self::$request; $sp8de0a8 = $sp804ca3::getDomainWithProtocol(); $spa30ec8 = $sp804ca3::getRootUrl(); if (!in_array(self::$request->get('controller'), array('LicenseAdmin', 'AuthAdmin'))) { $sp15070b .= strtr(self::spe6d24a(7), array('$domain' => $spa30ec8)); } if (!in_array(self::$request->get('controller'), array('', 'LicenseAdmin', 'AuthAdmin'))) { self::$response->redirectTo("{$spa30ec8}/backend/index.php?controller=LicenseAdmin"); } } return $sp15070b; } private static function spa9a365($spbdc9a4) { $spbdc9a4 = str_replace(DIRECTORY_SEPARATOR, '/', $spbdc9a4); return preg_replace('~.*/?Okay/Modules/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?.*~', '$1', $spbdc9a4); } private static function spdfb75f($spbdc9a4) { $spbdc9a4 = str_replace(DIRECTORY_SEPARATOR, '/', $spbdc9a4); return preg_replace('~.*/?Okay/Modules/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?.*~', '$2', $spbdc9a4); } public function startModule($sp62025a, $spe37343, $sp26da72) { if (empty(self::$module)) { return array(); } $sp203cac = OkayContainer::getInstance(); $spfbc678 = array(); $sp37a369 = self::$module->getInitClassName($spe37343, $sp26da72); if (!empty($sp37a369)) { $sp2b6762 = new $sp37a369((int) $sp62025a, $spe37343, $sp26da72); $sp2b6762->init(); foreach ($sp2b6762->getBackendControllers() as $spe761fb) { $spe761fb = $spe37343 . '.' . $sp26da72 . '.' . $spe761fb; if (!in_array($spe761fb, $spfbc678)) { $spfbc678[] = $spe761fb; } } } $spb4dc95 = self::$module->getRoutes($spe37343, $sp26da72); if (self::sp17fe6f($spe37343, $sp26da72) === false) { foreach ($spb4dc95 as &$sp4be214) { $sp4be214['mock'] = true; } } if (self::sp17fe6f($spe37343, $sp26da72) === true) { $spa1091f = self::$module->getServices($spe37343, $sp26da72); $sp203cac->bindServices($spa1091f); $sp3cf8de = self::$module->getSmartyPlugins($spe37343, $sp26da72); $sp203cac->bindServices($sp3cf8de); foreach ($sp3cf8de as $sp717d7c => $spb7566f) { $this->plugins[$sp717d7c] = $spb7566f; } } Router::bindRoutes($spb4dc95); return $spfbc678; } public function registerSmartyPlugins() { if (!empty($this->plugins)) { $spb0125d = ServiceLocator::getInstance(); $sp19131c = $spb0125d->getService(Design::class); $sp93d628 = $spb0125d->getService(Module::class); foreach ($this->plugins as $spb7566f) { $sp0aff1a = $spb0125d->getService($spb7566f['class']); $sp0aff1a->register($sp19131c, $sp93d628); } } } public function check() { $this->spe2608d(); return self::$validLicense=true; } public function name(&$sp217856) { if (!empty($sp217856) && $this->check() === true) { $sp217856 = preg_match_all('/./us', $sp217856, $sp311d3e); $sp217856 = implode(array_reverse($sp311d3e[0])); } } public function getLicenseDomains() { $spbbe2d3 = $this->spcf41af(self::$config->license); $spbe8c1e = array(); foreach ($spbbe2d3->nl['domains'] as $sp8de0a8) { $spbe8c1e[] = $sp8de0a8; if (count(explode('.', $sp8de0a8)) >= 2) { $spbe8c1e[] = '*.' . $sp8de0a8; } } return $spbe8c1e; } public function getLicenseExpiration() { $spbbe2d3 = $this->spcf41af(self::$config->license); return $spbbe2d3->expiration; } private static function sp17fe6f($spe37343, $sp26da72) { if ($spe37343 != self::spe6d24a(4) || self::sp94cd68() != 'lite' || in_array($sp26da72, self::$freeModules)) { return true; } return false; } private static function spe3d861() { return getenv('HTTP_HOST'); } private static function sp94cd68() { if (empty(self::$licenseType)) { $spbbe2d3 = self::spcf41af(self::$config->license); self::$licenseType = $spbbe2d3->nl['version_type']; } return self::$licenseType; } private static function sp09284b() { @($sp0caac0 = self::$config->license); if (empty($sp0caac0)) { self::spf46995(); } $spbbe2d3 = self::spcf41af($sp0caac0); if (empty($spbbe2d3->nl) || !is_array($spbbe2d3->nl['domains']) || empty($spbbe2d3->nl['version_type'])) { self::spf46995(); } if (!in_array($spbbe2d3->nl['version_type'], array('pro', 'lite', 'start', 'standard', 'premium'))) { self::spf46995(); } if (!class_exists(LicenseAdmin::class) || !class_exists(OkayContainer::class) || !class_exists(RozetkaXmlAdmin::class)) { self::spf46995(); } return true; } private function spe1a27a(array $sp3d287d) { self::$validLicense = false; $sp8de0a8 = self::spe3d861(); if (in_array($sp8de0a8, $sp3d287d)) { self::$validLicense = true; } foreach ($sp3d287d as $sp90cccc) { $sp732f27 = array_reverse(explode('.', $sp90cccc)); if (count($sp732f27) >= 2) { $sp7e4ae4 = array_reverse(explode('.', $sp8de0a8)); foreach ($sp732f27 as $sp0e7db3 => $sp3beb5f) { if (!isset($sp7e4ae4[$sp0e7db3]) || $sp3beb5f != $sp7e4ae4[$sp0e7db3]) { break; } if ($sp0e7db3 == count($sp732f27) - 1) { self::$validLicense = true; return; } } } } } private static function spf46995() { throw new \Exception('Some error with license'); } private static function spcf41af($spf356b2) { $sp0aff1a = 13; $spef62f1 = 3; $spe9c91c = 5; $sp89c11b = ''; $sp6b59e3 = $spe9c91c; $sp664a4f = explode(' ', $spf356b2); foreach ($sp664a4f as $spc1035d) { for ($spba2070 = 0, $spab383f = ''; $spba2070 < strlen($spc1035d) && isset($spc1035d[$spba2070 + 1]); $spba2070 += 2) { $sp786dde = base_convert($spc1035d[$spba2070], 36, 10) - ($spba2070 / 2 + $sp6b59e3) % 27; $sp151f2c = base_convert($spc1035d[$spba2070 + 1], 36, 10) - ($spba2070 / 2 + $sp6b59e3) % 24; $spab383f .= $sp151f2c * pow($sp786dde, $sp0aff1a - $spe9c91c - 5) % $sp0aff1a; } $spab383f = base_convert($spab383f, 10, 16); $sp6b59e3 += $spe9c91c; for ($sp786dde = 0; $sp786dde < strlen($spab383f); $sp786dde += 2) { $sp89c11b .= @chr(hexdec($spab383f[$sp786dde] . $spab383f[$sp786dde + 1])); } } $sp157555 = new \stdClass(); @(list($sp157555->domains, $sp157555->expiration, $sp157555->comment, $sp825fd0) = explode('#', $sp89c11b, 4)); $sp157555->expiration='9999-01-01'; $sp157555->domains = explode(',', $sp157555->domains); if (!empty($sp825fd0)) { $spa7f7eb = self::spe6d24a(1); $sp4d08b2 = self::spe6d24a(2); $sp13ecc5 = self::spe6d24a(3); $sp825fd0 = (new $spa7f7eb())->{$sp4d08b2}($sp13ecc5($sp825fd0)); list($sp157555->nl['domains'], $sp157555->nl['version_type']) = explode('#', $sp825fd0, 2); if (!empty($sp157555->nl['domains'])) { $spbe8c1e = array(); foreach (explode(',', $sp157555->nl['domains']) as $sp65272b) { $spbe8c1e[] = trim($sp65272b); } $sp157555->nl['domains'] = $spbe8c1e; } } else { $sp157555->nl['domains'] = array(); $sp157555->nl['version_type'] = 'lite'; } return $sp157555; } public function setResponseType($sp63146c) { $this->responseType = $sp63146c; } public function __destruct() { if ($this->responseType == RESPONSE_HTML && self::$validLicense === false && strpos($_SERVER['REQUEST_URI'], 'backend') === false) { print self::spe6d24a(0); } } private static $freeModules = array('LigPay', 'Rozetka'); private function spe2608d() { if (self::$inited === false) { self::$validLicense = false; $spb0125d = ServiceLocator::getInstance(); self::$config = $spb0125d->getService(Config::class); self::$module = $spb0125d->getService(Module::class); self::$smarty = $spb0125d->getService(Smarty::class); self::$response = $spb0125d->getService(Response::class); self::$request = $spb0125d->getService(Request::class); $spbbe2d3 = $this->spcf41af(self::$config->license); if (self::sp09284b() && $this->spf696ef()) { $this->spe1a27a($spbbe2d3->nl['domains']); } self::$response->addHeader(self::spe6d24a(6) . ' ' . self::$config->version . ' ' . $spbbe2d3->nl['version_type']); self::$inited = true; } } private function spf696ef() { self::$validLicense = false; $spb112d7 = $this->getLicenseExpiration(); if ($spb112d7 == '*' || strtotime($spb112d7) >= strtotime(date('d.m.Y'))) { self::$validLicense = true; } return self::$validLicense; } private static function spe6d24a($sp322cc4) { $spf8a01f = ''; if (isset(self::$codes[$sp322cc4])) { foreach (self::$codes[$sp322cc4] as $spe6d24a) { $spf8a01f .= chr($spe6d24a); } } return $spf8a01f; } }
 
А обновляться будет?
 
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #3
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #5
Назад
Сверху Снизу