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

Itnull

Команда форума
Администратор
Регистрация
22 Май 2013
Сообщения
16.450
Симпатий
3.906
Здесь публикую Вашему вниманию инструкцию по обнулению 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]





 

Itnull

Команда форума
Администратор
Регистрация
22 Май 2013
Сообщения
16.450
Симпатий
3.906
Нуление установленной 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]
 

svvoy

Житель
Регистрация
17 Апр 2017
Сообщения
14
Симпатий
1
Делал такую чистку. Все работало, но в один момент когда сайт стал выходить в поиске в топ, пришло письмо о том что сайт не имеет лицензию а система стоит ПРО
пришлось переносить на Лайт версию. В процессе понял - что я лучше буду на лайт версии сидеть чем на Нулл. Каждый выбирает как кому удобно o_O
 
Сверху Снизу