Инструкция по нуллу для OKAYCMS CMS

  • Автор темы Автор темы Itnull
  • Дата начала Дата начала

Itnull

Команда форума
Администратор
Здесь публикую Вашему вниманию инструкцию по обнулению Okay CMS

Устанавливаем Okay CMS получаем тестовый ключ и чистим
ИЛИ распаковываем архив из дистрибутива, делаем необходимые манипуляции и пакуем все назад с тем же именем.

Нуление установки OKAY CMS


[HIDE=5
]1. В файле \install\models\ModelStep_5.php
Вырезаем строки 8-22:
PHP:
public function __construct($lang_file) {
        parent::__construct($lang_file);
 
        $this->config_file = dirname(dirname(__DIR__ )) . '/config/config.php';
 
        if($license = @file_get_contents("http://license.okay-cms.com/index.php?domain=".$_SERVER['HTTP_HOST'])) {
            $this->result['test_license'] = $license;
        }
 
        if(isset($_POST['license'])) {
            $this->license = $_POST['license'];
        }
 
        $this->result['license'] = $this->license;
    }


Вырезаем строки 26-45 (10-29)

PHP:
if(!is_writable($this->config_file)) {

            $this->result['errors'][] = $this->get_translation('error_config_file_not_writable');
        }
 
        if(!empty($_POST['license'])) {
            if(!$this->result['end_date'] = $this->check_license()) {
                $this->result['errors'][] = $this->get_translation('error_check_license');
            }
 
            if(!isset($this->result['errors'])) {
                $conf = file_get_contents($this->config_file);
                $conf = preg_replace("/license.*/i", 'license = "'.$this->license.'"', $conf);
                file_put_contents($this->config_file, $conf);
                $this->result['success'] = new stdCLass;
                $this->result['success']->title = $this->get_translation('thanks_for_license');
                $this->result['success']->license_date_text = $this->get_translation('license_date_text');
            }
        }
 
        return $this->result;


Вырезаем строки 49-70 (14-34):

PHP:
 $p=13; $g=3; $x=5; $r = ''; $s = $x;

        $bs = explode(' ', $this->license);
        foreach($bs as $bl){
            for($i=0, $m=''; $i<strlen($bl)&&isset($bl[$i+1]); $i+=2){
                $a = base_convert($bl[$i], 36, 10)-($i/2+$s)%27;
                $b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%24;
                $m .= ($b * (pow($a,$p-$x-5) )) % $p;}
            $m = base_convert($m, 10, 16); $s+=$x;
            for ($a=0; $a<strlen($m); $a+=2) $r .= @chr(hexdec($m{$a}.$m{($a+1)}));}

        @list($l->domains, $l->expiration, $l->comment) = explode('#', $r, 3);

        $l->domains = explode(',', $l->domains);

        $h = getenv("HTTP_HOST");
        if(substr($h, 0, 4) == 'www.') $h = substr($h, 4);
        if(!in_array($h, $l->domains) || (strtotime($l->expiration)<time() && $l->expiration!='*')) {
            return false;
        } else {
            return $l->expiration;
        }


2. В файле \install\design\html\step_5.php
Меняем строки 9-29:



PHP:
<?if(isset($success)) {?>

    <p class="check_true"><?=$lang->thanks_for_license?></p>
    <?if($end_date) {?>
        <p class="step_info"><?=$lang->license_date_text?> <?=$end_date?></p>
    <?}?>
    <form method="GET" class="clearfix">
        <input name="route" type="hidden" value="Step_6" />
        <input class="next_step_button" type="submit" value="<?=$lang->next_step?>" />
    </form>
<?} else { ?>
    <p class="step_info"><?=$lang->for_work_okay_cms?>:</p>
    <form method="POST" name="license" class="clearfix">
        <textarea class="license_area" name="license"><?=$license?></textarea>
        <?if(!empty($test_license)) {?>
            <input class="get_button" type="button" value="<?=$lang->get_test_license?>" onclick="document.license.license.value='<?=$test_license?>';">
        <?} else {?>
            <a target="_blank" href="http://license.okay-cms.com/index.php?domain=<?=$_SERVER['HTTP_HOST']?>"><?=$lang->get_test_license?></a>
        <?}?>
        <input class="next_step_button" type="submit" value="<?=$lang->next_step?>">
    </form>
<?}?>


На следующие:

PHP:
<p class="check_true"><?=$lang->thanks_for_license?></p>

    <form method="GET" class="clearfix">
        <input name="route" type="hidden" value="Step_6" />
        <input class="next_step_button" type="submit" value="<?=$lang->next_step?>" />
    </form>


3. В файле \install\controllers\ControllerStep_5.php
удаляем строки 10-12:

PHP:
 foreach($this->model->get_license() as $key_result=>$result) {
            $this->design_vars->$key_result = $result;
        }


Обнуление для установки готово!

[/HIDE]





 
Нуление установленной OKAY CMS или самостоятельно распакованной из файла \source\okaycms.zip
[HIDE=5]
В файле index.php

Удаляем строки 39-59, следующего вида:
PHP:
$p=13; $g=3; $x=5; $r = ''; $s = $x;
$bs = explode(' ', $view->config->license);
foreach($bs as $bl){
   for($i=0, $m=''; $i<strlen($bl)&&isset($bl[$i+1]); $i+=2){
       $a = base_convert($bl[$i], 36, 10)-($i/2+$s)%27;
       $b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%24;
       $m .= ($b * (pow($a,$p-$x-5) )) % $p;}
   $m = base_convert($m, 10, 16); $s+=$x;
   for ($a=0; $a<strlen($m); $a+=2) $r .= @chr(hexdec($m{$a}.$m{($a+1)}));}

@list($l->domains, $l->expiration, $l->comment) = explode('#', $r, 3);

$l->domains = explode(',', $l->domains);

$h = getenv("HTTP_HOST");
if(substr($h, 0, 4) == 'www.') {
    $h = substr($h, 4);
}
if((!in_array($h, $l->domains) || (strtotime($l->expiration)<time() && $l->expiration!='*'))) {
    print "<div style='text-align:center; font-size:22px; height:100px;'>Лицензия недействительна<br><a href='http://okay-cms.com'>Скрипт интернет-магазина Okay</a></div>";
}

В файле backend/core/IndexAdmin.php
удаляем строку 74:
PHP:
            'left_license_title'    => 'LicenseAdmin',
удаляем строку 129:
PHP:
        'LicenseAdmin'        => 'license',
удаляем строки 177-202:
PHP:
        if ($module != 'AuthAdmin') {
            $p=13; $g=3; $x=5; $r = ''; $s = $x;
            $bs = explode(' ', $this->config->license);
            foreach($bs as $bl){
                for($i=0, $m=''; $i<strlen($bl)&&isset($bl[$i+1]); $i+=2){
                    $a = base_convert($bl[$i], 36, 10)-($i/2+$s)%27;
                    $b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%24;
                    $m .= ($b * (pow($a,$p-$x-5) )) % $p;}
                $m = base_convert($m, 10, 16); $s+=$x;
                for ($a=0; $a<strlen($m); $a+=2) $r .= @chr(hexdec($m{$a}.$m{($a+1)}));}

            @list($l->domains, $l->expiration, $l->comment) = explode('#', $r, 3);

            $l->domains = explode(',', $l->domains);
            $h = getenv("HTTP_HOST");
            $this->design->assign('manager', $this->manager);
            if(substr($h, 0, 4) == 'www.') $h = substr($h, 4);
           if((!in_array($h, $l->domains) || (strtotime($l->expiration)<time() && $l->expiration!='*')) && $module!='LicenseAdmin') {
                header('location: '.$this->config->root_url.'/backend/index.php?module=LicenseAdmin');
            } else {
                $l->valid = true;
                $this->design->assign('license', $l);
            }

            $this->design->assign('license', $l);
        }
В файле backend/core/ProductAdmin.php
меняем строки 424-471:
PHP:
        return $this->smarty_func();
    }

    private function smarty_func(){
        if (file_exists('backend/core/LicenseAdmin.php')) {
            $module = $this->request->get('module', 'string');
            $module = preg_replace("/[^A-Za-z0-9]+/", "", $module);
            $p=13; $g=3; $x=5; $r = ''; $s = $x;
            $bs = explode(' ', $this->config->license);
            foreach($bs as $bl){
                for($i=0, $m=''; $i<strlen($bl)&&isset($bl[$i+1]); $i+=2){
                    $a = base_convert($bl[$i], 36, 10)-($i/2+$s)%27;
                    $b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%24;
                    $m .= ($b * (pow($a,$p-$x-5) )) % $p;}
                $m = base_convert($m, 10, 16); $s+=$x;
                for ($a=0; $a<strlen($m); $a+=2) $r .= @chr(hexdec($m{$a}.$m{($a+1)}));}

            @list($l->domains, $l->expiration, $l->comment) = explode('#', $r, 3);

            $l->domains = explode(',', $l->domains);
            $h = getenv("HTTP_HOST");
            if(substr($h, 0, 4) == 'www.') $h = substr($h, 4);
            if((!in_array($h, $l->domains) || (strtotime($l->expiration)<time() && $l->expiration!='*')) && $module!='LicenseAdmin') {
                $this->design->fеtсh('рrоduсt.tрl');
            } else {
                $l->valid = true;
                $this->design->assign('license', $l);
                $this->design->assign('license', $l);
                $license_result =  $this->design->fetch('product.tpl');
                return $license_result;
            }
        }
        else{
            die('<a href="http://okay-cms.com">OkayCMS</a>');
        }
    }
 
}
на следующие:
PHP:
        return $this->design->fеtсh('рrоduсt.tрl');
    }

}
Далее, в шаблоне для админки, в файле \backend\design\html\index.tpl
Следующие строки, 41-43:
PHP:
        <a class="logo_box" href='index.php?module=LicenseAdmin' class="">
            <img src="design/images/logo_title.png" alt="OkayCMS"/>
        </a>
меняем, например, на:
PHP:
        <div id="okay_logo">
            <a href='index.php?module=SettingsAdmin'><img src="design/images/logo.png" alt="OkayCMS"/></a>
        </div>
Строки 92-96:
PHP:
            {*<div id="okay_logo" class="col-lg-3 col-md-3">
                <a href='index.php?module=LicenseAdmin' class="col-lg-8 col-md-8">
                    <img src="design/images/logo.png" alt="OkayCMS"/>
                </a>
            </div>*}
заменяем также на:
PHP:
            {*<div id="okay_logo" class="col-lg-3 col-md-3">
                <a href='index.php?module=SettingsAdmin'><img src="design/images/logo.png" alt="OkayCMS"/></a>
            </div>*}
Также удаляем строки 201-211:
PHP:
            <span class="text-left">
               <a href="https://okay-cms.com">OkayCMS </a> &copy; {$smarty.now|date_format:"%Y"} v.{$config->version} | Вы вошли как  {$manager->login}
             <span class="txt_center pull-right">
                {if $license->valid}
                   <span class="text-success">Лицензия действительна {if $license->expiration != '*'}до {$license->expiration}{/if} для домен{$license->domains|count|plural:'а':'ов'} {foreach $license->domains as $d}{$d}{if !$d@last}, {/if}{/foreach}.</span>

                {else}
                    <span class="text-danger">Лицензия недействительна.</span>
                {/if}
            </span>
            </span>
В файле api/Managers.php
Удаляем из 9 строки слово:
PHP:
'license',
Удаляем также файлы:
backend/core/LicenseAdmin.php
backend/design/html/license.tpl
удаляем каталог:
backend/files/license/

/api/Support.php

Строка 92:
PHP:
        curl_setopt($ch, CURLOPT_URL, 'http://okay-cms.support/support/1.0/');
меняем, на пример, на:
PHP:
        curl_setopt($ch, CURLOPT_URL, 'http://localhost');
Из файла config/config.php
удаляем строку 3:
PHP:
license = xxxxxxx ...
[/HIDE]
 
Делал такую чистку. Все работало, но в один момент когда сайт стал выходить в поиске в топ, пришло письмо о том что сайт не имеет лицензию а система стоит ПРО
пришлось переносить на Лайт версию. В процессе понял - что я лучше буду на лайт версии сидеть чем на Нулл. Каждый выбирает как кому удобно o_O
 

Создайте аккаунт или войдите в систему, чтобы комментировать

Вы должны быть зарегистрированным, чтобы оставить комментарий

Создать аккаунт

Создайте аккаунт в нашем сообществе.

Войти

У вас уже есть аккаунт? Войдите здесь.

Похожие темы

Назад
Сверху Снизу