Мануал по созданию нулла OKay CMS и Simpla CMS

Ну как дела у кого с 2.0 версией ?
Ставить можно нуленую?

Кстати, там же суппорт от окея в админку встроен.. он там случаем не стучит никуда? Вообще как с ним бороться?
Он не стучит. Он занимается своей работой :D Как вариант быстрого костыля в файле api/Support.phpв строке:
Код:
curl_setopt($ch, CURLOPT_URL, 'http://okay-cms.support/support/1.0/');
изменить ссылку саппорта на любую другую.
То же самое проделать в файле backend/design/support.tpl в строке:
Код:
<a class="btn btn-secondary btn_small" target="_blank" href="https://okay-cms.com/support">
Более детально файлы нового шаблона админки пока не шерстил. Не дошли руки.
 
Он не стучит. Он занимается своей работой :D Как вариант быстрого костыля в файле api/Support.phpв строке:
Код:
curl_setopt($ch, CURLOPT_URL, 'http://okay-cms.support/support/1.0/');
изменить ссылку саппорта на любую другую.
То же самое проделать в файле backend/design/support.tpl в строке:
Код:
<a class="btn btn-secondary btn_small" target="_blank" href="https://okay-cms.com/support">
Более детально файлы нового шаблона админки пока не шерстил. Не дошли руки.
api/support.php вооще не нужен
 
Вот ребята генератор ключа. Не понял как обойти деление по модулю, поэтому использовал метод перебора, всё равно работает быстро. Описание процесса установки даю для Okay 2.0.2, сам же генератор пригоден для обоих движков этого семейства.

После распаковки архива, в корне сайта, создаём файл, например keyso.php c содержимым:
PHP:
<?php
function convert($v){
   $bl = explode(' ', $v[0]);
   $a = base_convert($bl[0], 36, 10)-($v[1]/2+$v[4])%$v[5];
   $b = base_convert($bl[1], 36, 10)-($v[1]/2+$v[4])%$v[6];
   $f  = ($b * (pow($a,$v[2]-$v[3]-$v[7]) )) % $v[2];
   return $f;
}

function keyso($cms='okay'){
     if($cms=='okay'){$v = array('',0,13,5,5,27,24,5);}else{$v = array('',0,11,7,7,26,25,1);}
    $r = $_SERVER['HTTP_HOST'].'#*#1';   
    $key = '';

     for ($a=0; $a<strlen($r); $a+=2) {
       $r1 = dechex(ord($r{$a}));
       $r2 = dechex(ord($r{$a+1}));
       $r3 = base_convert($r1.$r2, 16, 10);
       for ($b=0,$v[1]=0; $b<strlen($r3); $b++,$v[1]+=2) {
         $t1 = substr($r3,$b,1);$rnd = rand(0, 9);
         for($i=0,$i1=0; $i<36; $i++){
           for($k=0; $k<36; $k++){
             $v[0] = base_convert($i, 10, 36).' '.base_convert($k, 10, 36);
             if (convert($v)==$t1){
               $i1++;
             }
             if ($i1>$rnd) {
               $key.= str_replace(' ','',$v[0]);
               break 2;
             }
           }
         }
       }
       $key .= ' ';
       $v[4]+=$v[3];
     }
     return $key;
}
?>
второй вариант файла, чуть быстрее, отдаёт первый найденный вариант:
PHP:
<?php
//генератор со статичным ключом
function convert($v){
   $bl = explode(' ', $v[0]);
   $a = base_convert($bl[0], 36, 10)-($v[1]/2+$v[4])%$v[5];
   $b = base_convert($bl[1], 36, 10)-($v[1]/2+$v[4])%$v[6];
   $f  = ($b * (pow($a,$v[2]-$v[3]-$v[7]) )) % $v[2];
   return $f;
}

function keyso($cms='okay'){
    if($cms=='okay'){$v = array('',0,13,5,5,27,24,5);}else{$v = array('',0,11,7,7,26,25,1);}
    $r = $_SERVER['HTTP_HOST'].'#*#1';  
    $key = '';

    for ($a=0; $a<strlen($r); $a+=2) {
        $r1 = dechex(ord($r{$a}));
        $r2 = dechex(ord($r{$a+1}));
        $r3 = base_convert($r1.$r2, 16, 10);
        for ($b=0,$v[1]=0; $b<strlen($r3); $b++,$v[1]+=2) {
            $t1 = substr($r3,$b,1);
            for($i=0; $i<36; $i++){
                for($k=0; $k<36; $k++){
                    $v[0] = base_convert($i, 10, 36).' '.base_convert($k, 10, 36);
                    if (convert($v)==$t1){
                        $key.= str_replace(' ','',$v[0]);
                        break 2;
                    }
                }
            }
        }
        $key .= ' ';
        $v[4]+=$v[3];
    }
     return $key;
}
?>
Далее в файле: install/design/html/step_5.php в самом начале, в следующую строку после <?php вставляем:
PHP:
require_once($_SERVER['DOCUMENT_ROOT'].'/keyso.php');
$license = keyso();
Начинаем установку, на пятом шаге, когда нужно вводить ключ, он автоматически пропишется в своё поле. Просто жмём продолжить.
Дополнительно уместно было бы найти и удалить(заменить) все ссылки на родной сайт системы.
 
Последнее редактирование:
Господа. Кто юзал okay 2.0.2. Шаблоны от 1.2.3 подходят? И по ощущениям стоит ли переходить на 2?
 
Для просмотра ссылки Войди или Зарегистрируйся Спасибо, но пишет ошибку
Код:
Warning: require_once(/home/***/keyso.php:( failed to open stream: No such file or directory in /home/***/install/design/html/step_5.php on line 2

Fatal error: require_once(:( Failed opening required '/home/***/keyso.php' (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/***/install/design/html/step_5.php on line 2

Полученный файл step_5.php

Код:
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/keyso.php');
$license = keyso();

if(isset($errors)) {
    foreach($errors as $error) {
        print "<p class=\"error_block\">$error</p>";
    }
}
?>

<?php if(isset($success)) {?>
    <p class="check_true"><?=$lang->thanks_for_license?></p>
    <?php if($end_date) {?>
        <p class="step_info"><?=$lang->license_date_text?> <?=$end_date?></p>
    <?php }?>
    <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>
<?php } 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>
        <?php if(!empty($test_license)) {?>
            <input class="get_button" type="button" value="<?=$lang->get_test_license?>" onclick="document.license.license.value='<?=$test_license?>';">
        <?php } else {?>
            <a target="_blank" href="http://license.okay-cms.com/index.php?domain=<?=$_SERVER['HTTP_HOST']?>"><?=$lang->get_test_license?></a>
        <?php }?>
        <input class="next_step_button" type="submit" value="<?=$lang->next_step?>">
    </form>
<?php }?>
________________________________________________________

Проблема решена. Данная ошибка показывает что не может найти прописанный файл, и далее следует остальное.
Переименовал файл keyso.php - в просто 1.php
В файле step_5.php так же поменял на 1.php и разместил его в корне сайт site.ru/1.php
 
Последнее редактирование:
Warning: require_once(/home/***/keyso.php
Пару раз встрачал на практике, когда и имя файла и прописанный к нему путь одинаковы, а файл не подхватывался. Решалось простым копированием одного имени в другое, или переименованием, причём с тем же именем файла. Возможно тут дело кроется в кодировке.
Малёх исправил. В самом деле, файл можно поместить в любую удобную директорию, главное его подключить, указав верно путь.
 
Последнее редактирование:
Господа. Кто юзал okay 2.0.2. Шаблоны от 1.2.3 подходят? И по ощущениям стоит ли переходить на 2?
В принципе подходят. Но переводы однозначно нужно переделывать. Во второй ветке изрядно переработан механизм мультиязычности. Переходить на вторую ветку стоит. Но вот запускаю на OpenSerrver с php 7.0.1 и не особо радуюсь (( Жду 2.0.3.
 
В принципе подходят. Но переводы однозначно нужно переделывать. Во второй ветке изрядно переработан механизм мультиязычности. Переходить на вторую ветку стоит. Но вот запускаю на OpenSerrver с php 7.0.1 и не особо радуюсь (( Жду 2.0.3.
А что не так на php 7.0.1?
 
А что не так на php 7.0.1?
Самое первое, бросающееся в глаза - в карточке товаров не отображается изображение товара. При чём, выборочно. Часть отображается, часть нет. На php 7.0.0 такого косяка нет.
 
Назад
Сверху