Просмотр файла install.php

Размер файла: 44.65Kb
<?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($file, 0777);
            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 == 0 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($sql, 0, $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) < 2 || 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) < 2 || 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) < 2 || 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($mail, FILTER_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;