- Joined
- Nov 27, 2015
- Messages
- 930
- Reaction score
- 355
Как обнулить / собрать свой вылеченный дистрибутив Simpla CMS ?
Спасибо за информацию от ув. spl33n. Немного допиливаю инструкцию.
Скачиваем последний дистрибутив Simpla CMS с .
Распаковываем simpla.zip
Распаковываем simpla_source.zip в папку simpla_source, и в конце, после изменения всех необходимых файлов, делаем новый архив из папки /simpla_source в архив simpla_source.zip
0. В файле /api/Managers.php
Меняем строчку:
На следующую:
1. /simpla_source/config/config.php
удаляем строчку номер 3:
2. Удаляем файл:
/simpla_source/simpla/LicenseAdmin.php
3. В файле
/simpla_source/simpla/IndexAdmin.php
корректно! удаляем строчку номер 52:
А точнее приводим строчки 51-52:
К следующему виду:
- без запятой в конце!
4. В файле
/simpla_source/simpla/IndexAdmin.php
удаляем строчки номер 61-84 (62-85):
5. В файле /simpla_source/index.php
Удаляем строки 56-75 которые выглядят так:
6. Удалить строчки 21-22 в файле /simpla_source/simpla/design/html/license.tpl
7. Удалить строчки 117-124 в файле /simpla_source/simpla/design/html/index.tpl
7.1. Заменить строчки 106-107 в файле /simpla_source/simpla/design/html/manager.tpl
Заменить строчки:
на следующие:
Теперь можно создать архив из вашей папки /simpla_source/*.* в simpla_source.zip
Важно! Архив .zip должен быть создан так же как и оригинал, т.е. при открытии архива вы должны видеть в корне архива сразу все папки с файлами cms: ajax, api, cache и т.д.
После созданного архива simpla_source.zip проделываем заключительные действия:
8. В файле /install.php
удаляем строчки номер 55-56:
8.1. В файле /install.php
удаляем строчки номер 275-329 (277-327):
8.2. Для корректной установки скрипта в файле /install.php находим и меняем строчку (примерно в пределах) 310-313:
НАХОДИМ:
МЕНЯЕМ НА:
8.3. В файле /install.php удаляем строчки:
Теперь можно установить и проверить вашу вылеченную симплу
Обнуление Okay CMS здесь
Спасибо за информацию от ув. spl33n. Немного допиливаю инструкцию.
Скачиваем последний дистрибутив Simpla CMS с .
Распаковываем simpla.zip
Распаковываем simpla_source.zip в папку simpla_source, и в конце, после изменения всех необходимых файлов, делаем новый архив из папки /simpla_source в архив simpla_source.zip
0. В файле /api/Managers.php
Меняем строчку:
PHP:
public $permissions_list = array('products', 'categories', 'brands', 'features', 'orders', 'labels',
'users', 'groups', 'coupons', 'pages', 'blog', 'comments', 'feedbacks', 'import', 'export',
'backup', 'stats', 'design', 'settings', 'currency', 'delivery', 'payment', 'managers', 'license');
PHP:
public $permissions_list = array('products', 'categories', 'brands', 'features', 'orders', 'labels',
'users', 'groups', 'coupons', 'pages', 'blog', 'comments', 'feedbacks', 'import', 'export',
'backup', 'stats', 'design', 'settings', 'currency', 'delivery', 'payment', 'managers');
1. /simpla_source/config/config.php
удаляем строчку номер 3:
PHP:
license = xxxxxxxx xxxxxxxxxx ...
2. Удаляем файл:
/simpla_source/simpla/LicenseAdmin.php
3. В файле
/simpla_source/simpla/IndexAdmin.php
корректно! удаляем строчку номер 52:
PHP:
'LicenseAdmin' => 'license'
А точнее приводим строчки 51-52:
PHP:
'ManagerAdmin' => 'managers',
'LicenseAdmin' => 'license'
PHP:
'ManagerAdmin' => 'managers'
4. В файле
/simpla_source/simpla/IndexAdmin.php
удаляем строчки номер 61-84 (62-85):
PHP:
$p=11; $g=2; $x=7; $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)%26;
$b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%25;
$m .= ($b * (pow($a,$p-$x-1) )) % $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!='*')) && $this->request->get('module')!='LicenseAdmin')
header('location: '.$this->config->root_url.'/simpla/index.php?module=LicenseAdmin');
else
{
$l->valid = true;
$this->design->assign('license', $l);
}
$this->design->assign('license', $l);
5. В файле /simpla_source/index.php
Удаляем строки 56-75 которые выглядят так:
PHP:
$p=11; $g=2; $x=7; $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)%26;
$b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%25;
$m .= ($b * (pow($a,$p-$x-1) )) % $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://simplacms.ru'>Скрипт интернет-магазина Simpla</a></div>";
}
6. Удалить строчки 21-22 в файле /simpla_source/simpla/design/html/license.tpl
PHP:
<input class="button_green button_save" type="submit" name="" value="Сохранить" />
<a href='http://simplacms.ru/check?domain={$smarty.server.HTTP_HOST|escape}'>Проверить лицензию</a>
7. Удалить строчки 117-124 в файле /simpla_source/simpla/design/html/index.tpl
PHP:
{if in_array('license', $manager->permissions)}
{if $license->valid}
Лицензия действительна {if $license->expiration != '*'}до {$license->expiration}{/if} для домен{$license->domains|count|plural:'а':'ов'} {foreach $license->domains as $d}{$d}{if !$d@last}, {/if}{/foreach}.
<a href='index.php?module=LicenseAdmin'>Управление лицензией</a>.
{else}
Лицензия недействительна. <a href='index.php?module=LicenseAdmin'>Управление лицензией</a>.
{/if}
{/if}
7.1. Заменить строчки 106-107 в файле /simpla_source/simpla/design/html/manager.tpl
Заменить строчки:
PHP:
'managers' =>'Менеджеры',
'license' =>'Управление лицензией'
PHP:
'managers' =>'Менеджеры'
Теперь можно создать архив из вашей папки /simpla_source/*.* в simpla_source.zip
Важно! Архив .zip должен быть создан так же как и оригинал, т.е. при открытии архива вы должны видеть в корне архива сразу все папки с файлами cms: ajax, api, cache и т.д.
После созданного архива simpla_source.zip проделываем заключительные действия:
8. В файле /install.php
удаляем строчки номер 55-56:
PHP:
case 'license':
license(); break;
удаляем строчки номер 275-329 (277-327):
PHP:
//
// Настройка лицензии
//
function license()
{
$license = '';
$error = '';
if($result = file_get_contents("http://license.simplacommerce.com/index.php?host=".$_SERVER['HTTP_HOST']))
{
$testlicense = $result;
}
if(!empty($_POST['license']))
{
$license = $_POST['license'];
if(!$enddate = check_license($license))
{
$error = 'Лицензия недействительна';
}
elseif(!is_writable('config/config.php'))
{
$error = 'Поставьте права на запись для файла config/config.php';
}
else
{
# Запишем конфиги с базой
$conf = file_get_contents('config/config.php');
$conf = preg_replace("/license.*/i", 'license = "'.$license.'"', $conf);
$cf = fopen('config/config.php', 'w');
fwrite($cf, $conf);
fclose($cf);
print "<p>Благодарим вас за использование лицензионной версии Simpla!</p>";
print "<p>Ваша лицензия действительна до: $enddate;</p>";
print "<p><form method=get><input type='hidden' name='step' value='final'><input type='submit' value='продолжить →'></form></p>";
exit();
}
}
print "<p>Для работы Simpla необходим лицензионный ключ:</p>";
if(!empty($error))
print "<p class=error>$error</p>";
print "<p><form method=post name=license><textarea name=license style='width:600px; height:100px;'>".$_POST['license']."</textarea>";
if(!empty($testlicense))
print "<table><tr><td><p><input type='button' value='получить тестовый ключ' onclick=\"document.license.license.value='$testlicense';\"></p></td><td><p><input type='hidden' name='step' value='license'><input type='submit' value='продолжить →'></form></p></td></tr></table>";
else
print "<table><tr><td><p><a target=_blank href='http://license.simplacommerce.com/index.php?domain=".$_SERVER['HTTP_HOST']."'>Получить тестовый ключ</a></p></td><td><p><input type='hidden' name='step' value='license'><input type='submit' value='продолжить →'></form></p></td></tr></table>";
}
8.2. Для корректной установки скрипта в файле /install.php находим и меняем строчку (примерно в пределах) 310-313:
НАХОДИМ:
PHP:
print "<p><form method=get><input type='hidden' name='step' value='license'><input type='submit' value='продолжить >'></form></p>";
PHP:
print "<p><form method=get><input type='hidden' name='step' value='final'><input type='submit' value='продолжить >'></form></p>";
8.3. В файле /install.php удаляем строчки:
PHP:
function check_license($license)
{
$p=11; $g=2; $x=7; $r = ''; $s = $x;
$bs = explode(' ', $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)%26;
$b = base_convert($bl[$i+1], 36, 10)-($i/2+$s)%25;
$m .= ($b * (pow($a,$p-$x-1) )) % $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;
}
}
Теперь можно установить и проверить вашу вылеченную симплу
Обнуление Okay CMS здесь