Вход Регистрация
Файл: install.php
Строк: 971
<?php
define
('SHCMS_ENGINE',true);
define("H"$_SERVER["DOCUMENT_ROOT"].'/');
 
//Системные настройки
include_once('engine/classes/engine.class.php');
//Сформирование форм
include_once('engine/classes/form.class.php');
//Заклейка темы
include_once('engine/classes/themes.class.php');
//Определение браузера
include_once('engine/classes/mobile_detect.class.php');
//О разработчике
include_once('engine/classes/version.class.php');


include_once 
H.'admin/skins/header.php';


         if (!isset ( 
$do ) AND isset ($_REQUEST['do']) ) $do engine::totranslit $_REQUEST['do'] ); elseif(isset ( $do )) $do engine::totranslit $do ); else $do "";
        
echo 
'<link href="engine/template/install/table.css" rel="stylesheet" type="text/css" />';
    
    
    switch(
$do):
    default:
            if(
file_exists('engine/config/dbconfig.php') == true) {
        echo 
'<div class="mainname">Предупреждение</div>';
        echo 
'<div style="color:red" class="mainpost">Вы уже установили систему SHCMS Engine.<br/>Для повторной установки удалите файл <b><i>engine/config/dbconfig.php</i></b></div>';
         
                echo 
engine::home(array('Назад','/index.php'));
        exit;
        }
   
   
//Версия PHP         
   
$status1 phpversion() < '5.2' '<font color=red><b>Не доступно</b></font>' '<font color=green><b>Доступно</b></font>';
   
//Mysqli Поддержка
   
$status2 function_exists('mysqli_connect') ? '<font color=green><b>Доступно</b></font>' '<font color=red><b>Не доступно</b></font>';
   
//Поддержка iconv
   
$status3 function_exists('iconv') ? '<font color=green><b>Имеется</b></font>' '<font color=red><b>Не доступно</b></font>';
   
//Поддержка ini_set
   
$status4 function_exists('ini_set') ? '<font color=green><b>Имеется</b></font>' '<font color=red><b>Не доступно</b></font>';
   
//Доступность загрузки файлов
   
$status5 ini_get('file_uploads') ? '<font color=green><b>Доступно</b></font>' '<font color=red><b>Не доступно</b></font>';
   
//Включенность Глобальное регистрации
   
$status6 ini_get('register_globals') ? '<font color=red><b>Включено</b></font>' '<font color=green><b>Отключено</b></font>';
   
//Включенность автоматических сессий
   
$status7 ini_get('session.auto_start') ? '<font color=red><b>Включено</b></font>' '<font color=green><b>Отключено</b></font>';
   
   
   echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">SHCMS Engine Version: '
.$sversion->ShortVersion().'</a>
            <div id="widget1container" class="panel-body collapse in">
            <p>Добро пожаловать в систему установки SHCMS Engine.</p>
            <p>Мастер установки проведет вас через весь процесс установки.</p>
            <div class="row"></div>
            <center><h4>Системные требования</h4></center>
              
            <table class="table table-bordered table-striped">
              <thead>
                <tr>
                  <th>Названия</th>
                  <th>Поддержка</th>
                  <th>Права</th>
                </tr>
              </thead>
              <tbody>
                <tr> 
                <td><img src="engine/template/icons/install/php.png"> PHP</td>
                <td>v5.2.1 или выше</td>
                <td colspan=2>'
.$status1.'</td>
                </tr>
                
                <tr> 
                <td><img src="engine/template/icons/install/sql.png"> SQL</td>
                <td>Поддержка базы MYSQLI</td>
                <td colspan=2>'
.$status2.'</td>
                </tr>

                <tr> 
                <td><img src="engine/template/icons/install/iconv.png"> iconv</td>
                <td>Поддержка iconv</td>
                <td colspan=2>'
.$status3.'</td>
                </tr>

                <tr> 
                <td><img src="engine/template/icons/install/ini.png"> INI_SET</td>
                <td>Поддержка ini_set</td>
                <td colspan=2>'
.$status4.'</td>
                </tr>
                
                <tr> 
                <td><img src="engine/template/icons/install/upload.png"> UPLOAD</td>
                <td>Загрузка файлов</td>
                <td colspan=2>'
.$status5.'</td>
                </tr>

                <tr> 
                <td><img src="engine/template/icons/install/global.png"> Globals</td>
                <td>Register Globals</td>
                <td colspan=2>'
.$status6.'</td>
                </tr>
                
                <tr> 
                <td><img src="engine/template/icons/install/session.png"> Session</td>
                <td>Session auto start</td>
                <td colspan=2>'
.$status7.'</td>
                </tr>                

              </tbody></table>
              <div class="row"></div>'
;
              echo 
engine::error('Если указанные вами пункты будут выделены красным цветом,<br/>
              <p style="margin-left:20px;">то пожалуйста выполните действия для исправления положения.</p>
              <p style="margin-left:20px;">В случае несоблюдения минимальных требований возможна его некорректная работа в системе. </p>'
);
              
        echo 
'</div></div>'
        echo 
'<div class="form-actions">';
        echo 
'<a class="btn btn-default right" href="?do=eula">Далее &rarr;</a></a><br/><br/>';
        echo 
'</div>';
        
        break;
        
        
        case 
'eula':
            
            echo 
'<form id="check-eula" method="post" action="?do=application">';
            
//JS
            
echo "<script language='javascript'>
            check_eula = function()
            {
                if( document.getElementById( 'eula' ).checked == true )
                {
                    return true;
                }
                else
                {
                    alert( 'Пожалуйста, прочитайте все пункты Пользовательского Соглашения.' );
                    return false;
                }
            }
        document.getElementById( 'check-eula' ).onsubmit = check_eula;
    </script>"
;
            
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Установшик SHCMS Engine: Соглашение</a>
            <div id="widget1container" class="panel-body collapse in">'
;
           
            echo 
engine::success('Пожалуйста, прочитайте все пункты Пользовательского Соглашения.');
            
            echo 
'<h5 align="center">Пользовательское лицензионное соглашение на использование системы "SHCMS Engine"</h5>
                <div class="row"></div>
            SHCMS Engine .inc <br>
            Система управление сайтом <br>
            Лицензионное соглашение конечного пользователя (версия 5.x) <br>
            Автор системы: Shamsik (Шамсик Сердеров)<br>
            <h5 align="center">Предмет лицензионного соглашения</h5>
            <div class="row"></div>
            <p>Предметом настоящего лицензионного соглашения является право использования <b>SHCMS Engine</b>,</p> 
            <p>в&nbsp;порядке и&nbsp;на&nbsp;условиях, установленных настоящим соглашением.</p><br/>
            
            <p>Мы оставляем за&nbsp;собой право публиковать списки избранных пользователей своих программных продуктов.</p>
            <p>Мы оставляем  изменять условия данного договора, но&nbsp;данные действия не&nbsp;имеют обратной силы.</p> 
            Изменения данного договора будут разосланы пользователям по&nbsp;электронной почте на&nbsp;адреса, 
            указанные при&nbsp;приобретении системы.<br/><br/>
            
            <h5 align="center">Запрещается</h5>
            <div class="row"></div>
            <p>Запрещается продавать код SHCMS-Engine. </p> 
            <p>Запрещается  использовать код SHCMS Engine на других cms проектах не относящиеся с SHCMS Engine.</p> 
            <br>
            <h5 align="center">Ограничение гарантийных обязательств</h5>
            <div class="row"></div>
            <p>Название <b>SHCMS Engine</b>,а&nbsp;также входящие в&nbsp;данный продукт скрипты являются собственностью <b>SHCMS Engine</b>,</p>
            <p>за&nbsp;исключением случаев, когда для&nbsp;компонента системы применяется другой тип лицензии.</p>
            <p>Программный продукт защищен законом об&nbsp;авторских правах. Любые публикуемые оригинальные материалы,</p>
            <p>создаваемые в&nbsp;результате использования нашего скрипта, и&nbsp;связанные с&nbsp;этим права на&nbsp;них,</p>
            <p>являются собственностью пользователя и&nbsp;защищены законом.</p>
            <p>SHCMS Engine не&nbsp;несет никакойответственности за&nbsp;содержание сайтов.</p>
            <h4 align="center">Копирайт снимать запрещено.</h4>'
;
            echo 
'<div class="row"></div>';
            echo 
'<input type="checkbox" name="eula" id="eula"><strong><label for="eula">&nbsp;&nbsp;Я согласен с Пользовательским Соглашением</label></strong>';
            echo 
'<input type=hidden name=action value="function_check"><br/>';
            echo 
'<div class="row"></div>';
            echo 
'<input class="btn btn-default right" type=submit value=" Дальше &rarr;">';
            echo 
'</div></div></form>';
                    
        
    break;
        
    case 
'application':
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Установшик SHCMS Engine: Приложения</a>
            <div id="widget1container" class="panel-body collapse in">'
;
                        
            echo 
engine::success('Выбранные модули для установки');
            
            echo 
'<div class="widget">
                        <ul class="cards list-group not-bottom no-sides">
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-cogs pull-left text-info"></i>
                                <h4>Системные: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление глобальными настройками системы</p>
                            </li>
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-comments pull-left text-info"></i>
                                <h4>Мини-чат: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками общего чата</p>
                            </li>
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-comments pull-left text-info"></i>
                                <h4> Форум: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками форума</p>
                            </li>
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-file pull-left text-info"></i>
                                <h4> Загрузки: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками загрукок</p>
                            </li>    
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-comments-o pull-left text-info"></i>
                                <h4>Новости: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками новостей</p>
                            </li>
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-child pull-left text-info"></i>
                                <h4> Пользователи: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Модуль управления настройками пользователей</p>
                            </li>
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-book pull-left text-info"></i>
                                <h4> Библиотека: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками библиотеки</p>
                            </li>   
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-book pull-left text-info"></i>
                                <h4> Блог: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками блогов</p>
                            </li> 
                            
                            <li class="list-group-item">
                                <i class="fa-2x padding-top-small padding-bottom padding-right-small fa fa-camera-retro pull-left text-info"></i>
                                <h4> Фотоальбомы: <span style="color:green;">от SHCMS Engine, inc</span></h4>
                                <p class="info small">Управление настройками фотоальбома</p>
                            </li> 
                            
                        </ul>
                </div>'
;

        echo 
'<a style="color:green;" class="btn btn-default right" href="?do=chmod">Далее &rarr;</a>';
            echo 
'</div></div>';
        
        break;
            
        
        case 
'chmod':
            
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Права на запись</a>
            <div id="widget1container" class="panel-body collapse in">'
;    
            
            echo 
'<table class="table table-bordered table-striped">';
            
            echo 
'<thead>
                <tr>
                <td>Папок</td>
                <td>Права</td> 
                <td>Статус</td>
                </tr>
                </thead>'
;
            
            echo 
'<tbody>';
 
$important_files = array(
'./engine/sql/',
'./upload/',
'./upload/download/',
'./upload/download/files/',
'./upload/download/screen/',
'./upload/forum/',
'./upload/forum/files/',
'./templates/',
'./templates/wap_default/',
'./templates/web_default/',
);

$chmod_errors 0;
$not_found_errors 0;

    foreach(
$important_files as $file){

        if(!
file_exists($file)){
            
$file_status "<font color=red>не найден!</font>";
            
$not_found_errors ++;
        }
        elseif(
is_writable($file)){
            
$file_status "<font color=green>разрешено</font>";
        }
        else{
            @
chmod($file0777);
            if(
is_writable($file)){
                
$file_status "<font color=green>разрешено</font>";
            }else{
                @
chmod("$file"0755);
                if(
is_writable($file)){
                    
$file_status "<font color=green>разрешено</font>";
                }else{
                    
$file_status "<font color=red>запрещено</font>";
                    
$chmod_errors ++;
                }
            }
        }
        
$chmod_value = @decoct(@fileperms($file)) % 1000;
        
    echo
"<tr><td height="22">&nbsp;$file</td>
         <td>&nbsp; 
$chmod_value</td>
         <td>&nbsp; 
$file_status</td>
         </tr>"
;
    }

    if(
$chmod_errors == and $not_found_errors == 0){
        
$status_report engine::success('Все необходимы права на запись у вас имеются!');
    }else {

        if(
$chmod_errors 0){
            
$status_report engine::error('<font color=red>Внимание!!!</font><br /><br />
            Во время проверки обнаружены ошибки: <b>'
.$chmod_errors.'</b>. Запрещена запись в файл.<br />
            Вы должны выставить для папок CHMOD 777, для файлов CHMOD 666, используя ФТП-клиент.<br />'
);
        }
        
        if(
$not_found_errors 0){
            
$status_report .= engine::error('<font color=red>Внимание!!!</font>
            <br />Во время проверки обнаружены ошибки: <b>'
.$not_found_errors.'</b>. Файлы не найдены!<br />
            </div>'
);
        }
    }
    
        echo 
'<tr><td style="padding: 5px" colspan=3>'.$status_report.'</td></tr>';    
        echo 
'</tbody></table>';
    echo 
'<br/><a class="btn btn-default right" href="?do=config">Далее &rarr;</a><br/>';
        echo 
'</div></div>';
        
    break;
        
        
    case 
'config':
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Информация о базе данных</a>
            <div id="widget1container" class="panel-body collapse in">'
;
        
        if(
$_POST['submit'] == true){
            
            
$host filter_input(INPUT_POST,'host',FILTER_SANITIZE_STRING);        
            
$dbname filter_input(INPUT_POST,'dbname',FILTER_SANITIZE_STRING);    
            
$dbuser filter_input(INPUT_POST,'dbuser',FILTER_SANITIZE_STRING);    
            
$dbpass  $_POST['dbpass'];
            
                
            if(empty(
$host) or empty($dbname) or empty($dbuser) or empty($dbpass)) {
        echo 
engine::error('Заполните все поля');
        echo 
engine::home(array('Назад','/install.php?do=config')); //Переадресация
        
exit;
        }
            
$host str_replace ('"''"'str_replace ("$""\$"$host) );
            
$dbname str_replace ('"''"'str_replace ("$""\$"$dbname) );
            
$dbuser str_replace ('"''"'str_replace ("$""\$"$dbuser) );
            
$dbpass str_replace ('"''"'str_replace ("$""\$"$dbpass) );
            
$link = @mysqli_connect($host,$dbuser,$dbpass,$dbname); 
            if(empty(
$link)) {
            echo 
engine::error('Соединение с базой не установлено!','Проверьте правильность подключений');
            echo 
engine::home(array('Назад','/install.php?do=config')); //Переадресация            
            
exit;
            }else {
            
$dbconfig = <<<HTML
<?PHP

define ("DBHOST", "
{$host}"); 

define ("DBNAME", "
{$dbname}");

define ("DBUSER", "
{$dbuser}");

define ("DBPASS", "
{$dbpass}");  

define ("COLLATE", "utf8");

define ("SHCMS_PROJECT", "SHCMS Engine (version: 5.x)");
$db = new db;
 
?>
HTML;

$con_file fopen("engine/config/dbconfig.php""w+") or die("Невозможно создать файл <b>.engine/config/dbconfig.php</b>.<br />Проверьте правильность проставленного CHMOD!");
fwrite($con_file$dbconfig);
fclose($con_file);
@
chmod("engine/config/dbconfig.php"0666);
                echo 
engine::success('Соединение с базой MYSQL прошла успешно');
                echo 
'<a class="btn btn-default right" href="install.php?do=all_table">Далее &rarr;</a>';
                exit;
            }
    }    
 
    echo 
engine::success('Необходимо создать базу данных перед продолжением.');
                
    
$form = new form('?do=config','','','class="form-horizontal"');
    
$form->text('<div class="form-group">');
    
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Тип Базы</label>');
    
$form->text('<div class="col-sm-10">');
    
$form->input2(false,'type','text','MYSQL','class="form-control" disabled','',false); //Название
    
$form->text('<span class="desc descl">Тип Базы данных</span><br/><br/>');//Описание
    
$form->text('</div></div>');

    
$form->text('<div class="form-group">');
    
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Сервер MYSQL</label>');
    
$form->text('<div class="col-sm-10">');
    
$form->input2(false,'host','text','Localhost','class="form-control"','',false); //Название
    
$form->text('<span class="desc descl">Сервер, на 99% случаях Localhost</span><br/><br/>');//Описание
    
$form->text('</div></div>');
    
    
$form->text('<div class="form-group">');
    
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Название базы данных</label>');
    
$form->text('<div class="col-sm-10">');
    
$form->input2(false,'dbname','text','root','class="form-control"','',false); //Название
    
$form->text('<span class="desc descl">Название базы</span><br/><br/>');//Описание
    
$form->text('</div></div>');
    
    
$form->text('<div class="form-group">');
    
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Имя пользователя</label>');
    
$form->text('<div class="col-sm-10">');
    
$form->input2(false,'dbuser','text',false,'class="form-control"','',false); //Название
    
$form->text('<span class="desc descl">Пользовательское имя базы</span><br/><br/>');//Описание
    
$form->text('</div></div>');   

    
$form->text('<div class="form-group">');
    
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Пароль</label>');
    
$form->text('<div class="col-sm-10">');
    
$form->input2(false,'dbpass','text',false,'class="form-control"','',false); //Название сайта
    
$form->text('<span class="desc descl">Пароль к базе данных</span><br/><br/>');//Описание
    
$form->text('</div></div>');   
    
$form->text('<div class="row"></div>');
            
    
$form->submit('Подключится','submit',true,'btn btn-default right');
    
$form->display();
                        
        echo 
'</div></div>';
        break;
        
        
        
        case 
'all_table':
                
            include_once(
H.'engine/classes/mysqli.class.php');
        include_once(
H.'engine/config/dbconfig.php');
                
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Установка таблиц в базу</a>
            <div id="widget1container" class="panel-body collapse in">'
;
            
            if(isset(
$_POST['submit'])) {          
                
$res $db->query("SHOW TABLES");
                        
                    while(
$cRow $db->get_array($res)) {
                        
$query "DROP TABLE `".$cRow[0]."`";
                        
$db->query($query);
                    }
                    
                function 
split_sql($sql) {
                    
$sql trim($sql);
                    
$sql ereg_replace("n#[^n]*n""n"$sql);
                    
$buffer = array();
                    
$ret = array();
                    
$in_string false;
                        for (
$i 0$i strlen($sql) - 1$i++) {
                            if (
$sql[$i] == ";" && !$in_string) {
                                
$ret[] = substr($sql0$i);
                                
$sql substr($sql$i 1);
                                
$i 0;
                            }
                        
                            if (
$in_string && ($sql[$i] == $in_string) && $buffer[1] != "\") {
                                
$in_string = false;
                            }
                            elseif (!
$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset ($buffer[0]) || $buffer[0] != "\")) {
                                
$in_string = $sql[$i];
                            }
                            if (isset (
$buffer[1])) {
                                
$buffer[0] = $buffer[1];
                            }
                                
$buffer[1] = $sql[$i];
                        }
                            if (!empty (
$sql)) {
                                
$ret[] = $sql;
                            }
                    return (
$ret);
                }
        
$error = '';
        
            @ set_magic_quotes_runtime(0);
            
$query = fread(fopen('shcms.sql', 'r'), filesize('shcms.sql'));
            
$pieces = split_sql($query);
                for (
$i = 0; $i < count($pieces); $i++) {
                    
$pieces[$i] = trim($pieces[$i]);
            //
$db->query("SET NAMES 'utf8'");
            //echo '<pre>'.
$pieces[$i].'</pre>';
                    if (!empty (
$pieces[$i]) && $pieces[$i] != "#") {
                        
if (!$db->query($pieces[$i])) {
                            
$error $error error_sql() . '<br />'
                            
                        }     
                    }      
                }
                              
                if (empty (
$error)) {
            echo 
engine::success('Таблицы созданы и готовы к работе');
                    echo 
'<div class="row"></div>';
            echo 
'<a class="btn btn-default right" href="?do=admin">Далее &rarr;</a>';
        }
                else {
                    echo 
$error;
                    echo 
'<br /><span class="red">Ошибка!</span><br />
                    В процессе установки  данных возникли ошибки.<br />'
;
                }
                
        }else {
            
                echo 
'<div class="row"><img src="engine/template/icons/install/warning.png"> Нажмите "Далее" чтобы загрузить все таблицы в базу данных, без них система не будет работать!</div>';
        echo 
'<div class="row">';
                   
                echo 
'<div class="form-actions">';
                    
$form = new form('?do=all_table');
            
$form->submit('Дальше','submit',true,'btn btn-default right');
            
$form->display();
                echo 
'</div>';    
        }            
        
            echo 
'</div></div>';
        break;
        
        case 
'admin':
        
            include_once(
H.'engine/classes/mysqli.class.php');
            include_once(
H.'engine/config/dbconfig.php');
        
            echo 
'<div class="panel panel-default">
            <a href="#widget1container" class="panel-heading" data-toggle="collapse">Учетная запись администратора</a>
            <div id="widget1container" class="panel-body collapse in">'
;
                    
                
                    if(isset(
$_POST['submit'])) {
                        
//Из $_POST превращаем в обычные переменные и убираем слэши
                        
$nick = isset($_POST['nick']) ? engine::trim($_POST['nick']) : '';
                    
$pass = isset($_POST['password']) ? engine::trim($_POST['password']) : '';
            
$pass1 = isset($_POST['password1']) ? engine::trim($_POST['password1']) : '';
            
$mail = isset($_POST['email']) ? engine::trim($_POST['email']) : '';

                            
//Проверяем Логин
                            
if(empty($nick)) {
                        echo 
engine::error('Не введен логин');
                    echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }elseif(
mb_strlen($nick) < || mb_strlen($nick) > 30) {
                        echo 
engine::error('Недопустимая длина логина');
                    echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }
        
                            
//Если есть запрещенные символы то выводит ошибку
                    
if($nick  != $db->safesql($nick)) {
                            echo 
engine::error('В Имени содержатся запрещенные символы');
                    exit;        
                    }
                        
                            
//Проверяем пароль
                        
if(empty($pass)) {
                        echo 
engine::error('Не введен пароль');
                    echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }elseif(
mb_strlen($pass) < || mb_strlen($pass) > 30) {
                        echo 
engine::error('Недопустимая длина пароля');
                        echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;        
                        }
    
                            if(empty(
$pass1)) {
                        echo 
engine::error('Не введен пароль');
                        echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }elseif(
mb_strlen($pass1) < || mb_strlen($pass1) > 30) {
                        echo 
engine::error('Недопустимая длина пароля');
                        echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }
    
                            
//Проверка пароля на допустимость символов
                            
if (preg_match("/[^da-zA-Z_]+/"$pass)){
                       echo 
engine::error('В пароле присутствуют недопустимые символы');
                        echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;
                        }
    
                            
//Проверка на совпадение паролей $pass $pass2
                        
if($pass != $pass1) {
                        echo 
engine::error('Пароли не совпадают');
                        echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                
exit;        
                        }    
    
                    
//Проверяем правильно ли введен Email
                    
$valid_email filter_var($mailFILTER_VALIDATE_EMAIL);
                       if(
$valid_email === false) {
                    echo 
engine::error('Некорректный E-mail адрес');
                            echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                                    
exit;
                    }
                            
                                
$shgen engine::shgen($pass);

                            
$mysql $db->query("INSERT INTO `users` (`nick`,`password`,`email`,`reg_date`,`lastdate`,`group`,`key`) VALUES ('".$db->safesql($nick)."','".$shgen."','".$valid_email."','".time()."','".time()."','".intval(15)."','".engine::generate(7)."')");                
            
                    if(
$mysql == true) {
                    echo 
engine::success('Учетная запись администратора успешно создана');
                                    echo 
'<a class="btn btn-default right" href="?do=start">Далее &rarr;</a>';
                    echo 
'</div>';
                                    exit;
                }else {
                    echo 
engine::error('Ошибка при создании администратора');
                    echo 
engine::home(array('Назад','install.php?do=admin')); //Переадресация
                    
echo '</div>';
                                    exit;
                }
                }
                echo 
'<p>Внимательно заполните форму.</p>
                                <p>Данные введенные здесь используются для доступа к администраторским функциям.</p>'
;
                                echo 
'<div class="row"></div>';
                                
        
$form = new form('?do=admin','','','class="form-horizontal"');
                
            
$form->text('<div class="form-group">');
            
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Имя пользователя</label>');
            
$form->text('<div class="col-sm-10">');
            
$form->input2(false,'nick','text',false,'class="form-control"','',false); //Название
            
$form->text('<span class="desc descl">Необходима при входе на аккаунт админа</span><br/><br/>');//Описание
            
$form->text('</div></div>');

            
$form->text('<div class="form-group">');
            
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Пароль</label>');
            
$form->text('<div class="col-sm-10">');
            
$form->input2(false,'password','text',false,'class="form-control"','',false); //Название
            
$form->text('<span class="desc descl">Введите самый сложный пароль</span><br/><br/>');//Описание
            
$form->text('</div></div>');
            
            
$form->text('<div class="form-group">');
            
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">Подтвердите пароль</label>');
            
$form->text('<div class="col-sm-10">');
            
$form->input2(false,'password1','text',false,'class="form-control"','',false); //Название
            
$form->text('<span class="desc descl">Повторите самый сложный пароль</span><br/><br/>');//Описание
            
$form->text('</div></div>');
            
            
$form->text('<div class="form-group">');
            
$form->text('<label for="inputEmail3" class="col-sm-2 control-label col-font-2">E-mail адрес</label>');
            
$form->text('<div class="col-sm-10">');
            
$form->input2(false,'email','text',false,'class="form-control"','',false); //Название
            
$form->text('<span class="desc descl">Введите вам E-mail адрес</span><br/><br/>');//Описание
            
$form->text('</div></div><div class="row"></div>');
            
            
$form->text('<div class="form-actions">');
            
$form->submit('Создать администратора','submit',true,'btn btn-default right');        
            
$form->text('</div>');
            
    
$form->display();
            
        echo 
'</div></div>';
        
        
        break;
        
        
        case 
'start':
                
            include_once(
H.'engine/classes/time.class.php');
            
           
            
$theme = array(); 
            
$dir './templates/';
            
$cdir scandir($dir); 
            
            foreach (
$cdir as $key => $value) { 
                   
                if (!
in_array($value,array(".","..")))  { 
                      
                    if (
is_dir($dir DIRECTORY_SEPARATOR $value)) { 
                        
$theme[$value] = $value
                    } 
                } 
            } 
                    if(isset(
$_POST['submit'])) {
                            
                                echo 
'<div class="panel panel-default">
                                     <a href="#widget1container" class="panel-heading" data-toggle="collapse">Идет установка системы ...</a>
                                     <div id="widget1container" class="panel-body collapse in">
                    <div class="row"><img src="./engine/template/icons/install/install.png"> <b>Установка:</b> Все модули успешно установлены<span class="time">'
.date::make_date(time()).'</span><br/> 
                    <div style="color:green;" class="desc">Новости, Мини-чат, Пользователи, Новости, Администраторская, Загрузки</div>
                
                    </div>
                    <div class="row"><img src="./engine/template/icons/install/module.png"> <b>Модули:</b> Добавлена авторизации, регистрации и восстановление <span class="time">'
.date::make_date(time()).'</span></div>
                    <div class="row"><img src="./engine/template/icons/install/settings.png"> <b>Настройки:</b> Все глобальные и пользовательские настройки добавлены <span class="time">'
.date::make_date(time()).'</span></div>';
                        
                               echo 
'<div class="row"><img src="./engine/template/icons/install/templates.png"> <b>Шаблоны:</b> Стандартные шаблоны установлены <span class="time">'.date::make_date(time()).'</span><div style="color:green;" class="desc">';
                        
                                            
                                foreach(
$theme as $themeKey => $themeData) {    
                                   echo 
$themeKey.',';
                                   
$fstat filectime($_SERVER['DOCUMENT_ROOT']."/templates/$themeKey"); // Время создание папок
                
}
                        
                                            
                                echo 
'</div></div>';
                        
                                            
                                echo 
'<div class="row"><img src="./engine/template/icons/install/templates.png"> <b>Шаблоны:</b> Стандартные шаблоны успешно применены <span class="time">'.date::make_date(time()).'</span></div>
                    <div class="row"><img src="./engine/template/icons/install/locale.png"> <b>Язык:</b> Добавлен Русский язык <span class="time">'
.date::make_date(time()).'</span></div>
                    <div class="row"><img src="./engine/template/icons/install/locale.png"> <b>Язык:</b> Русский язык установлен и применен <span class="time">'
.date::make_date(time()).'</span></div>
                    <div class="row"><img src="./engine/template/icons/install/bb.png"> <b>Тэги:</b> Добавлены и установлены доступные bbcode <span class="time">'
.date::make_date(time()).'</span></div>
                    <div class="row"><img src="./engine/template/icons/install/error.png"> <b>Отсутствует:</b> Гостей в системе временно не будет введено<span class="time">'
.date::make_date(time()).'</span><br/>
                    <div style="color:green;" class="desc">Причиной служит нагрузка лишняя</div></div>
                    <div class="row"><img src="./engine/template/icons/install/error.png"> <b>Отсутствует:</b> Сохранение кэша в системе</div>
                    <div class="row"><img src="./engine/template/icons/install/update.png"> <b>Временно отсутствует:</b> Автоматическое обновление</div>
                    <div class="row"><img src="./engine/template/icons/install/other.png"> <b>Другие данные:</b> Добавлены огромное количество нужных параметров</div>
                    <div class="row"><img src="./engine/template/icons/install/copyright.png"> <b>Автор SHCMS Engine:</b> Shamsik (Шамсик Сердеров)
                    <div style="color:green;font-size:14px;" class="desc"><a href="http://shcms.ru">Официальный сайт SHCMS Engine</a></div></div>
                    <div class="row"><a class="btn btn-default right" href="?do=stop_install">Закончить установку &rarr;</a></div>
                    </div>'
;
                }else {
                        echo 
'<div class="panel panel-default">
                                     <a href="#widget1container" class="panel-heading" data-toggle="collapse">Начала установки SHCMS Engine</a>
                                     <div id="widget1container" class="panel-body collapse in">
                                <p class="row"><img src="engine/template/icons/install/install.png"> 
                                Вы готовы начать установку системы SHCMS Engine</p>'
;
                    
                                    
$form = new form('?do=start');
                    
$form->text('<div class="row form-action">');
                    
$form->submit('Запустить установку','submit',true,'btn btn-default right');
                    
$form->text('</div>');
                    
$form->display();
                                    
                echo 
'</div></div>';
                }
        
        break;
        
        
        case 
'stop_install':
            echo 
'<div class="panel panel-default">
                                     <a href="#widget1container" class="panel-heading" data-toggle="collapse">Успешное завершение установки SHCMS Engine</a>
                                     <div id="widget1container" class="panel-body collapse in">'
;
            if(
$_POST['submit'] == true) {
                
unlink('install.php');
                echo 
'<div class="row"><a class="btn btn-default right" href="index.php">Перейти на главную страницу</a></div>';
            }else {
                    echo 
'<div class="row"><img src="./engine/template/icons/install/check.png"> Поздравляем вас с успешной установкой системы SHCMS Engine. Если желаете настроить систему под вас то перейдите из личного кабинета в администраторскую панель!</div>
                    <div class="row"><img src="./engine/template/icons/install/warning.png"> <span style="color:red;font-weight:bold;">Внимание!!!</span><br/> Для полной безопастности системы удалите файл <span style="color:red;font-weight:bold;">install.php</span>, в это же файле хранится вся структура системы, любой злоумышленник попытается через нее очистить или переустановить вашу систему базы !</div>'
;
                echo 
'<div class="row">';
            
                                
$form = new form('?do=stop_install');
                    
$form->submit('Удалить install.php','submit',true,'btn btn-default right');
                    
$form->display();
                echo 
'</div>';
            }
            
                    echo 
'</div></div>';
        
                       
        break;
        
    endswitch;
Онлайн: 1
Реклама