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

Размер файла: 33.25Kb
  1. <?
  2. define('SHCMS_ENGINE',true);
  3. define("H", $_SERVER["DOCUMENT_ROOT"].'/');
  4. include_once('engine/classes/engine.class.php');
  5. include_once('engine/classes/form.class.php');
  6. include_once('engine/classes/themes.class.php');
  7. include_once('engine/classes/mobile_detect.class.php');
  8. $templates->template('Установшик SHCMS Engine');
  9. if (!isset ( $do ) AND isset ($_REQUEST['do']) ) $do = engine::totranslit ( $_REQUEST['do'] ); elseif(isset ( $do )) $do = engine::totranslit ( $do ); else $do = "";
  10. echo ' <link href="engine/template/install/table.css" rel="stylesheet" type="text/css" />';
  11. echo '<script language="javascript">
  12. check_eula = function()
  13. {
  14. if( document.getElementById( \'eula\' ).checked == true )
  15. {
  16. return true;
  17. }
  18. else
  19. {
  20. alert( \'Для продолжения установки необходми согласиться с условиями лицензии\' );
  21. return false;
  22. }
  23. }
  24. document.getElementById( \'install-form\' ).onsubmit = check_eula;
  25. </script>';
  26. switch($do):
  27. default:
  28. if(file_exists('engine/config/dbconfig.php') == true) {
  29. echo '<div class="mainname">Предупреждение</div>';
  30. echo '<div style="color:red" class="mainpost">Вы уже установили систему SHCMS Engine.<br/>Для повторной установки удалите файл <b><i>engine/config/dbconfig.php</i></b></div>';
  31. echo engine::home(array('Назад','/index.php'));
  32. exit;
  33. }
  34. echo '<div class="mainname">SHCMS Engine Version: 5.5</div>';
  35. echo '<div class="mainpost">';
  36. echo '<div class="subpost">Добро пожаловать в систему установки SHCMS Engine. Мастер установки проведет вас через весь процесс установки.</div>';
  37. echo '<div class="subpost">';
  38. echo '<b>Системные требования</b>';
  39. echo '<table class="table table-normal table-bordered"><tbody>';
  40. $status = phpversion() < '5.2' ? '<font color=red><b>Не доступно</b></font>' : '<font color=green><b>Доступно</b></font>';
  41.  
  42. echo "<tr>
  43. <td><img src='engine/template/icons/install/php.png'> PHP</td>
  44. <td>v5.2.1 или выше</td>
  45. <td colspan=2>$status</td>
  46. </tr>";
  47. $status = function_exists('mysqli_connect') ? '<font color=green><b>Доступно</b></font>' : '<font color=red><b>Не доступно</b></font>';;
  48.  
  49. echo "<tr>
  50. <td><img src='engine/template/icons/install/sql.png'> SQL</td>
  51. <td>Поддержка базы MYSQLI</td>
  52. <td colspan=2>$status</td>
  53. </tr>";
  54. $status = function_exists('iconv') ? '<font color=green><b>Имеется</b></font>' : '<font color=red><b>Не доступно</b></font>';;
  55.  
  56. echo"<tr>
  57. <td><img src='engine/template/icons/install/iconv.png'> ICONV</td>
  58. <td>Поддержка iconv</td>
  59. <td colspan=2>$status</td>
  60. </tr>";
  61. $status = function_exists('ini_set') ? '<font color=green><b>Имеется</b></font>' : '<font color=red><b>Не доступно</b></font>';;
  62.  
  63. echo"<tr>
  64. <td><img src='engine/template/icons/install/ini.png'> INI_SET</td>
  65. <td>Поддержка ini_set</td>
  66. <td colspan=2>$status</td>
  67. </tr>";
  68. $status = ini_get('file_uploads') ? '<font color=green><b>Доступно</b></font>' : '<font color=red><b>Не доступно</b></font>';;
  69.  
  70. echo"<tr>
  71. <td><img src='engine/template/icons/install/upload.png'> Upload</td>
  72. <td>Загрузка файлов</td>
  73. <td colspan=2>$status</td>
  74. </tr>";
  75.  
  76. $status = ini_get('register_globals') ? '<font color=red><b>Включено</b></font>' : '<font color=green><b>Отключено</b></font>';;
  77.  
  78. echo "<tr>
  79. <td><img src='engine/template/icons/install/global.png'> Globals</td>
  80. <td>Register Globals</td>
  81. <td>$status</td>
  82. </tr>";
  83.  
  84. $status = ini_get('session.auto_start') ? '<font color=red><b>Включено</b></font>' : '<font color=green><b>Отключено</b></font>';;
  85.  
  86. echo"<tr>
  87. <td><img src='engine/template/icons/install/session.png'> Session</td>
  88. <td>Session auto start</td>
  89. <td>$status</td>
  90. </tr>";
  91. echo '<tr>
  92. <td colspan="3"><br><img src="engine/template/icons/install/warning.png"> Если указанные вами пункты будут выделены <font color="red";>красным цветом</font>,
  93. то пожалуйста выполните действия для исправления положения.
  94. В случае несоблюдения минимальных требований возможна его некорректная работа в системе.
  95. <br><br></td></tr></tbody></table>';
  96. echo '</div>';
  97. echo '<a style="color:green;" class="Button_secondary" href="?do=eula">Далее &rarr;</a><br/>';
  98. echo '</div>';
  99. break;
  100. case 'eula':
  101.  
  102. echo <<<HTML
  103. <form id="check-eula" method="post" action="?do=application">
  104. <script language='javascript'>
  105. check_eula = function()
  106. {
  107. if( document.getElementById( 'eula' ).checked == true )
  108. {
  109. return true;
  110. }
  111. else
  112. {
  113. alert( 'Пожалуйста, прочитайте все пункты Пользовательского Соглашения.' );
  114. return false;
  115. }
  116. }
  117. document.getElementById( 'check-eula' ).onsubmit = check_eula;
  118. </script>
  119. <div class="mainname">Установшик SHCMS Engine: Соглашение</div>
  120. <div class="mainpost">
  121. <div class="subpost">Пожалуйста, прочитайте все пункты Пользовательского Соглашения.</div>
  122. <div style="height: 300px; border: 1px solid #000000; background-color: #f7f7f7; padding: 5px; overflow: auto;"><b>Пользовательское лицензионное соглашение на использование системы "SHCMS Engine"</b><br><br>SHCMS Engine .inc <br>Система управление сайтом <br>Лицензионное соглашение конечного пользователя (версия 5.x) <br>Автор системы: Shamsik (Шамсик Сердеров)<br><br><br><b>Предмет лицензионного соглашения</b><br><br>Предметом настоящего лицензионного соглашения является право использования <b>SHCMS Engine</b>, в&nbsp;порядке и&nbsp;на&nbsp;условиях, установленных настоящим соглашением.<br><br><br> <br><br>Мы оставляем за&nbsp;собой право публиковать списки избранных пользователей своих программных продуктов.Мы оставляем изменять условия данного договора, но&nbsp;данные действия не&nbsp;имеют обратной силы. Изменения данного договора будут разосланы пользователям по&nbsp;электронной почте на&nbsp;адреса, указанные при&nbsp;приобретении системы.<br><br><br><b>Запрещается</b><br>Запрещается продавать код SHCMS-Engine. <br>Запрещается использовать код SHCMS Engine на других cms проектах не относящиеся с SHCMS Engine. <br> <br><b>Ограничение гарантийных обязательств</b><br><br>Название <b>SHCMS Engine</b>, а&nbsp;также входящие в&nbsp;данный продукт скрипты являются собственностью <b>SHCMS Engine</b>, за&nbsp;исключением случаев, когда для&nbsp;компонента системы применяется другой тип лицензии. Программный продукт защищен законом об&nbsp;авторских правах. Любые публикуемые оригинальные материалы, создаваемые в&nbsp;результате использования нашего скрипта, и&nbsp;связанные с&nbsp;этим права на&nbsp;них, являются собственностью пользователя и&nbsp;защищены законом. SHCMS Engine не&nbsp;несет никакойответственности за&nbsp;содержание сайтов.<br><br><b>Запрещается</b><br>- Запрещается продавать код SHCMS-Engine. <br>- Запрещается использовать код SHCMS Engine на других cms проектах не относящиеся с SHCMS Engine. <br> <br>- Копирайт снимать запрещено.<br><br></div>
  123. <br/><input type="checkbox" name="eula" id="eula"><strong><label for="eula"> Я согласен с Пользовательским Соглашением</label></strong>
  124. <input type=hidden name=action value="function_check"><br/><input class="Button_secondary" type=submit value=" Дальше &rarr;">
  125. <br>
  126. </div></form>
  127. HTML;
  128. break;
  129. case 'application':
  130. echo '<div class="mainname">Установшик SHCMS Engine: Приложения</div>';
  131. echo '<div class="mainpost">';
  132. echo engine::success('Выбранные модули для установки');
  133. echo '<div class="mainname">Модули по-умолчанию</div>';
  134. echo '<div class="mainpost">
  135. <div class="row"><img src="engine/template/icons/install/system.png"> Системные: <span style="color:green;">от SHCMS Engine, inc</span><br/>
  136. <div style="color:#777;font-size:12px;">Управление глобальными настройками системы</div> </div>
  137. <div class="row"><img src="engine/template/icons/install/chat.png"> Мини-чат: <span style="color:green;">от SHCMS Engine, inc</span><br/>
  138. <div style="color:#777;font-size:12px;">Управление настройками общего чата</div> </div>
  139. <div class="row"><img src="engine/template/icons/install/forum.png"> Форум: <span style="color:green;">от SHCMS Engine, inc</span><br/>
  140. <div style="color:#777;font-size:12px;">Управление настройками форума</div> </div>
  141. <div class="row"><img src="engine/template/icons/install/news.png"> Новости: <span style="color:green;">от SHCMS Engine, inc</span><br/>
  142. <div style="color:#777;font-size:12px;">Управление настройками новостей</div> </div>
  143. <div class="row"><img src="engine/template/icons/install/users.png"> Пользователи: <span style="color:green;">от SHCMS Engine, inc</span><br/>
  144. <div style="color:#777;font-size:12px;">Модуль управления настройками пользователей</div> </div>
  145. </div>';
  146. echo '<a style="color:green;" class="Button_secondary" href="?do=chmod">Далее &rarr;</a><br/>';
  147. echo '</div>';
  148. break;
  149. case 'chmod':
  150. echo '<div class="mainname">Проверка на запись</div>';
  151. echo '<div class="mainpost">';
  152. echo <<<HTML
  153. <table class="table table-normal table-bordered">
  154. HTML;
  155.  
  156. echo"<thead><tr>
  157. <td>Папок</td>
  158. <td width=\"100\">Права</td>
  159. <td width=\"100\">Статус</td></tr></thead><tbody>";
  160. $important_files = array(
  161. './engine/sql/',
  162. './upload/',
  163. './upload/download/',
  164. './upload/download/files/',
  165. './upload/download/screen/',
  166. './upload/forum/',
  167. './upload/forum/files/',
  168. './templates/',
  169. './templates/wap_default/',
  170. './templates/web_default/',
  171. );
  172.  
  173.  
  174. $chmod_errors = 0;
  175. $not_found_errors = 0;
  176. foreach($important_files as $file){
  177.  
  178. if(!file_exists($file)){
  179. $file_status = "<img title='НЕ Найден' src='engine/template/icons/install/no.png'>";
  180. $not_found_errors ++;
  181. }
  182. elseif(is_writable($file)){
  183. $file_status = "<img title='Доступно' src='engine/template/icons/install/check.png'>";
  184. }
  185. else{
  186. @chmod($file, 0777);
  187. if(is_writable($file)){
  188. $file_status = "<img title='Доступно' src='engine/template/icons/install/check.png'>";
  189. }else{
  190. @chmod($file, 0755);
  191. if(is_writable($file)){
  192. $file_status = "<img title='Доступно' src='engine/template/icons/install/check.png'>";
  193. }else{
  194. $file_status = "<img title='НЕ Доступно' src='engine/template/icons/install/no.png'>";
  195. $chmod_errors ++;
  196. }
  197. }
  198. }
  199. $chmod_value = @decoct(@fileperms($file)) % 1000;
  200.  
  201. echo"<tr>
  202. <td>$file</td>
  203. <td>$chmod_value</td>
  204. <td>$file_status</td>
  205. </tr>";
  206. }
  207. if($chmod_errors == 0 and $not_found_errors == 0){
  208. $status_report = '<div class="success">Все установлено правильно, Можете продолжить</div>';
  209. }else{
  210. if($chmod_errors > 0){
  211. $status_report = "<img src='engine/template/icons/install/warning.png'> <font color='red'>Внимание!!!</font><br /><br />Во время проверки найдены ошибки: <b>$chmod_errors</b>. Запрещена запись в файл.<br />Вы должны выставить для папок CHMOD 777, для файлов CHMOD 666, используя ФТП-клиент.<br /><br /><img src='engine/template/icons/install/warning.png'> <font color=red><b>Настоятельно не рекомендуется</b></font> продолжать установку, пока не будут произведены изменения.<br />";
  212. }
  213. if($not_found_errors > 0){
  214. $status_report .= "<img src='engine/template/icons/install/warning.png'> <font color='red'>Внимание!!!</font><br />Во время проверки обнаружены ошибки: <b>$not_found_errors</b>. Файлы не найдены!<br /><br /><img src='engine/template/icons/install/warning.png'> <font color=red><b>Не рекомендуется</b></font> продолжать установку, пока не будут произведены изменения.<br />";
  215. }
  216. }
  217.  
  218. echo"<tr><td height=\"25\" colspan=3>&nbsp;&nbsp;<b>Состояние системы</b></td></tr><tr><td style=\"padding: 5px\" colspan=3>$status_report</td></tr>";
  219.  
  220. echo <<<HTML
  221. </tbody></table>
  222. HTML;
  223. echo '<a style="color:green;" class="Button_secondary" href="?do=config">Далее &rarr;</a><br/>';
  224. echo '</div>';
  225. break;
  226. case 'config':
  227. if($_POST['submit'] == true){
  228. $host = $_POST['host'];
  229. $dbname = $_POST['dbname'];
  230. $dbuser = $_POST['dbuser'];
  231. $dbpass = $_POST['dbpass'];
  232. if(empty($host) or empty($dbname) or empty($dbuser) or empty($dbpass)) {
  233. echo engine::error('Заполните все поля');
  234. echo engine::home(array('Назад','/install.php?do=config')); //Переадресация
  235. exit;
  236. }
  237. $host = str_replace ('"', '\"', str_replace ("$", "\\$", $host) );
  238. $dbname = str_replace ('"', '\"', str_replace ("$", "\\$", $dbname) );
  239. $dbuser = str_replace ('"', '\"', str_replace ("$", "\\$", $dbuser) );
  240. $dbpass = str_replace ('"', '\"', str_replace ("$", "\\$", $dbpass) );
  241. $link = @mysqli_connect($host,$dbuser,$dbpass,$dbname);
  242. if(!$link) {
  243. echo engine::error('Соединение с базой не установлено!','Проверьте правильность подключений');
  244. echo engine::home(array('Назад','/install.php?do=config')); //Переадресация
  245. exit;
  246. }else {
  247. $dbconfig = <<<HTML
  248. <?PHP
  249.  
  250. define ("DBHOST", "{$host}");
  251.  
  252. define ("DBNAME", "{$dbname}");
  253.  
  254. define ("DBUSER", "{$dbuser}");
  255.  
  256. define ("DBPASS", "{$dbpass}");
  257.  
  258. define ("COLLATE", "utf8");
  259.  
  260. define ("SHCMS_PROJECT", "SHCMS Engine (version: 5.x)");
  261. \$db = new db;
  262. ?>
  263. HTML;
  264. $con_file = fopen("engine/config/dbconfig.php", "w+") or die("Невозможно создать файл <b>.engine/config/dbconfig.php</b>.<br />Проверьте правильность проставленного CHMOD!");
  265. fwrite($con_file, $dbconfig);
  266. fclose($con_file);
  267. @chmod("engine/config/dbconfig.php", 0666);
  268. echo '<div class="mainname">Соединение установлено</div>';
  269. echo '<div class="mainpost">';
  270. echo engine::success('Соединение с базой MYSQLi прошла успешно');
  271. echo '<a class="Button_secondary" href="install.php?do=all_table">Далее &rarr;</a>';
  272. echo '</div>';
  273. exit;
  274. }
  275. }
  276. echo '<div class="mainname">Информация о базе данных</div>';
  277. echo '<div class="mainpost">';
  278. echo '<div class="subpost">Необходимо создать базу данных перед продолжением.</div>';
  279. echo '<div class="subpost">';
  280. $form = new form('?do=config');
  281. $form->input2('<img src="engine/template/icons/install/type_base.png"> Тип Базы','type','text','MYSQLi','disabled="disabled"');
  282. $form->input('<img src="engine/template/icons/install/server.png"> Сервер MYSQL','host','text','Localhost');
  283. $form->input('<img src="engine/template/icons/install/dbname.png"> Название базы данных','dbname','text');
  284. $form->input('<img src="engine/template/icons/install/dbname.png"> Имя пользователя','dbuser');
  285. $form->input('<img src="engine/template/icons/install/dbpass.png"> Пароль','dbpass');
  286. $form->submit('Подключить','submit');
  287. $form->display();
  288. echo '</div></div>';
  289. break;
  290. case 'all_table':
  291. include_once(H.'engine/classes/mysqli.class.php');
  292. include_once(H.'engine/config/dbconfig.php');
  293. if(isset($_POST['submit'])) {
  294. $res = $db->query("SHOW TABLES");
  295. while($cRow = $db->get_array($res)){
  296. $query = "DROP TABLE `".$cRow[0]."`";
  297. $db->query($query);
  298. }
  299. function split_sql($sql) {
  300. $sql = trim($sql);
  301. $sql = ereg_replace("\n#[^\n]*\n", "\n", $sql);
  302. $buffer = array();
  303. $ret = array();
  304. $in_string = false;
  305. for ($i = 0; $i < strlen($sql) - 1; $i++) {
  306. if ($sql[$i] == ";" && !$in_string) {
  307. $ret[] = substr($sql, 0, $i);
  308. $sql = substr($sql, $i + 1);
  309. $i = 0;
  310. }
  311. if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\") {
  312. $in_string = false;
  313. }
  314. elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset ($buffer[0]) || $buffer[0] != "\\")) {
  315. $in_string = $sql[$i];
  316. }
  317. if (isset ($buffer[1])) {
  318. $buffer[0] = $buffer[1];
  319. }
  320. $buffer[1] = $sql[$i];
  321. }
  322. if (!empty ($sql)) {
  323. $ret[] = $sql;
  324. }
  325. return ($ret);
  326. }
  327. $error = '';
  328. @ set_magic_quotes_runtime(0);
  329. $query = fread(fopen('shcms.sql', 'r'), filesize('shcms.sql'));
  330. $pieces = split_sql($query);
  331. for ($i = 0; $i < count($pieces); $i++) {
  332. $pieces[$i] = trim($pieces[$i]);
  333. //$db->query("SET NAMES 'utf8'");
  334. //echo '<pre>'.$pieces[$i].'</pre>';
  335. if (!empty ($pieces[$i]) && $pieces[$i] != "#") {
  336. if (!$db->query($pieces[$i])) {
  337. $error = $error . error_sql() . '<br />'; } }}
  338. if (empty ($error)) {
  339. echo '<div class="mainname">Успешная установка таблиц</div>';
  340. echo '<div class="mainpost">';
  341. echo engine::success('Таблицы созданы и готовы к работе');
  342. echo '<a class="Button_secondary" href="?do=admin">Далее &rarr;</a>';
  343. echo '</div>';
  344. }
  345. else {
  346. echo $error;
  347. echo '<br /><span class="red">Ошибка!</span><br />В процессе установки данных возникли ошибки.<br />';
  348. }
  349. }else {
  350. echo '<div class="mainname">Установка таблиц в базу</div>';
  351. echo '<div class="mainpost">';
  352. echo '<div class="row"><img src="engine/template/icons/install/warning.png"> Нажмите "Далее" чтобы загрузить все таблицы в базу данных, без них система не будет работать!</div>';
  353. echo '<div class="row">';
  354. $form = new form('?do=all_table');
  355. $form->submit('Далее','submit');
  356. $form->display();
  357. echo '</div></div>';
  358. }
  359. break;
  360. case 'admin':
  361. include_once(H.'engine/classes/mysqli.class.php');
  362. include_once(H.'engine/config/dbconfig.php');
  363. echo '<div class="mainname">Учетная запись администратора</div>';
  364. echo '<div class="mainpost">';
  365. if(isset($_POST['submit'])) {
  366. //Из $_POST превращаем в обычные переменные и убираем слэши
  367. $nick = isset($_POST['nick']) ? engine::trim($_POST['nick']) : '';
  368. $pass = isset($_POST['password']) ? engine::trim($_POST['password']) : '';
  369. $pass1 = isset($_POST['password1']) ? engine::trim($_POST['password1']) : '';
  370. $mail = isset($_POST['email']) ? engine::trim($_POST['email']) : '';
  371. //Проверяем Логин
  372. if(empty($nick)) {
  373. echo engine::error('Не введен логин');
  374. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  375. exit;
  376. }elseif(mb_strlen($nick) < 2 || mb_strlen($nick) > 30) {
  377. echo engine::error('Недопустимая длина логина');
  378. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  379. exit;
  380. }
  381. //Если есть запрещенные символы то выводит ошибку
  382. if($nick != $db->safesql($nick)) {
  383. echo engine::error('В Имени содержатся запрещенные символы');
  384. exit;
  385. }
  386. //Проверяем пароль
  387. if(empty($pass)) {
  388. echo engine::error('Не введен пароль');
  389. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  390. exit;
  391. }elseif(mb_strlen($pass) < 2 || mb_strlen($pass) > 30) {
  392. echo engine::error('Недопустимая длина пароля');
  393. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  394. exit;
  395. }
  396. if(empty($pass1)) {
  397. echo engine::error('Не введен пароль');
  398. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  399. exit;
  400. }elseif(mb_strlen($pass1) < 2 || mb_strlen($pass1) > 30) {
  401. echo engine::error('Недопустимая длина пароля');
  402. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  403. exit;
  404. }
  405. //Проверка пароля на допустимость символов
  406. if (preg_match("/[^\da-zA-Z_]+/", $pass)){
  407. echo engine::error('В пароле присутствуют недопустимые символы');
  408. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  409. exit;
  410. }
  411. //Проверка на совпадение паролей $pass $pass2
  412. if($pass != $pass1) {
  413. echo engine::error('Пароли не совпадают');
  414. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  415. exit;
  416. }
  417. //Проверяем правильно ли введен Email
  418. $valid_email = filter_var($mail, FILTER_VALIDATE_EMAIL);
  419. if($valid_email === false) {
  420. echo engine::error('Некорректный E-mail адрес');
  421. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  422. exit;
  423. }
  424. $shgen = engine::shgen($pass);
  425.  
  426. $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)."')");
  427. if($mysql == true) {
  428. echo engine::success('Учетная запись администратора успешно создана');
  429. echo '<a class="Button_secondary" href="?do=start">Далее &rarr;</a>';
  430. echo '</div>';
  431. exit;
  432. }else {
  433. echo engine::error('Ошибка при создании администратора');
  434. echo engine::home(array('Назад','install.php?do=admin')); //Переадресация
  435. echo '</div>';
  436. exit;
  437. }
  438. }
  439. echo '<div class="subpost">Внимательно заполните форму.<br/>
  440. Данные введенные здесь используются для доступа к администраторским функциям системы.</div>';
  441. $form = new form('?do=admin');
  442. $form->text('<div class="row">');
  443. $form->input('<img src="engine/template/icons/install/name.png"> Имя пользователя','nick','text');
  444. $form->text('<div style="color:#777;" class="desc">Вводите ник администратора</div></div><div class="row">');
  445. $form->input('<img src="engine/template/icons/install/key.png"> Пароль','password','text');
  446. $form->text('<div style="color:#777;" class="desc">Вводите надежный пароль</div></div><div class="row">');
  447. $form->input('<img src="engine/template/icons/install/key.png"> Подтвердите пароль','password1','text');
  448. $form->text('<div style="color:#777;" class="desc">Повторите надежный пароль</div></div><div class="row">');
  449. $form->input('<img src="engine/template/icons/install/email.png"> E-mail адрес','email','text');
  450. $form->text('<div style="color:#777;" class="desc">Вводите ваш E-mail</div></div><div class="row">');
  451. $form->submit('Создать','submit');
  452. $form->text('</div>');
  453. $form->display();
  454. echo '</div>';
  455. break;
  456. case 'start':
  457. include_once(H.'engine/classes/time.class.php');
  458. $theme = array();
  459. $dir = './templates/';
  460. $cdir = scandir($dir);
  461. foreach ($cdir as $key => $value) {
  462. if (!in_array($value,array(".",".."))) {
  463. if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) {
  464. $theme[$value] = $value;
  465. }
  466. }
  467. }
  468. if(isset($_POST['submit'])) {
  469. echo '<div class="mainname"><center style="font-weight:bold;"><img src="./engine/template/icons/install/load.png"> Идет установка системы ...</center></div>';
  470. echo '<div class="mainpost">
  471. <div class="row"><img src="./engine/template/icons/install/install.png"> <b>Установка:</b> Все модули успешно установлены<span class="time">'.date::make_date(time()).'</span><br/>
  472. <div style="color:green;" class="desc">Новости, Мини-чат, Пользователи, Новости, Администраторская, Загрузки</div>
  473. </div>
  474. <div class="row"><img src="./engine/template/icons/install/module.png"> <b>Модули:</b> Добавлена авторизации, регистрации и восстановление <span class="time">'.date::make_date(time()).'</span></div>
  475. <div class="row"><img src="./engine/template/icons/install/settings.png"> <b>Настройки:</b> Все глобальные и пользовательские настройки добавлены <span class="time">'.date::make_date(time()).'</span></div>';
  476. 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">';
  477. foreach($theme as $themeKey => $themeData) {
  478. echo $themeKey.',';
  479. $fstat = filectime($_SERVER['DOCUMENT_ROOT']."/templates/$themeKey"); // Время создание папок
  480. }
  481. echo '</div></div>';
  482. echo '<div class="row"><img src="./engine/template/icons/install/templates.png"> <b>Шаблоны:</b> Стандартные шаблоны успешно применены <span class="time">'.date::make_date(time()).'</span></div>
  483. <div class="row"><img src="./engine/template/icons/install/locale.png"> <b>Язык:</b> Добавлен Русский язык <span class="time">'.date::make_date(time()).'</span></div>
  484. <div class="row"><img src="./engine/template/icons/install/locale.png"> <b>Язык:</b> Русский язык установлен и применен <span class="time">'.date::make_date(time()).'</span></div>
  485. <div class="row"><img src="./engine/template/icons/install/bb.png"> <b>Тэги:</b> Добавлены и установлены доступные bbcode <span class="time">'.date::make_date(time()).'</span></div>
  486. <div class="row"><img src="./engine/template/icons/install/error.png"> <b>Отсутствует:</b> Гостей в системе временно не будет введено<span class="time">'.date::make_date(time()).'</span><br/>
  487. <div style="color:green;" class="desc">Причиной служит нагрузка лишняя</div></div>
  488. <div class="row"><img src="./engine/template/icons/install/error.png"> <b>Отсутствует:</b> Сохранение кэша в системе</div>
  489. <div class="row"><img src="./engine/template/icons/install/update.png"> <b>Временно отсутствует:</b> Автоматическое обновление</div>
  490. <div class="row"><img src="./engine/template/icons/install/other.png"> <b>Другие данные:</b> Добавлены огромное количество нужных параметров</div>
  491. <div class="row"><img src="./engine/template/icons/install/copyright.png"> <b>Автор SHCMS Engine:</b> Shamsik (Шамсик Сердеров)
  492. <div style="color:green;font-size:14px;" class="desc"><a href="http://shcms.ru">Официальный сайт SHCMS Engine</a></div></div>
  493. <div class="row"><a class="Button_secondary" href="?do=stop_install">Закончить установку &rarr;</a></div>
  494. </div>';
  495. }else {
  496. echo '<div class="mainname">Начала установки SHCMS Engine</div>';
  497. echo '<div class="mainpost"><div class="row"><img src="engine/template/icons/install/install.png"> Вы готовы начать установку системы SHCMS Engine</div>';
  498. $form = new form('?do=start');
  499. $form->text('<div class="row">');
  500. $form->submit('Запустить установку','submit');
  501. $form->text('</div>');
  502. $form->display();
  503. echo '</div>';
  504. }
  505. break;
  506. case 'stop_install':
  507. echo '<div class="mainname">Успешное завершение установки SHCMS Engine</div>';
  508. echo '<div class="mainpost">';
  509. if($_POST['submit'] == true) {
  510. unlink('install.php');
  511. echo '<div class="row"><a class="Button_secondary" href="index.php">Перейти на главную страницу</a></div>';
  512. }else {
  513. echo '<div class="row"><img src="./engine/template/icons/install/check.png"> Поздравляем вас с успешной установкой системы SHCMS Engine. Если желаете настроить систему под вас то перейдите из личного кабинета в администраторскую панель!</div>
  514. <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>';
  515. echo '<div class="row">';
  516. $form = new form('?do=stop_install');
  517. $form->submit('Удалить install.php','submit',true,'Button_secondary');
  518. $form->display();
  519. echo '</div>';
  520. }
  521. echo '</div>';
  522. break;
  523. endswitch;
  524. ?>