View file install/index.php

File size: 5.32Kb
<?php
// by mides, coolcms.mobi

error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', true);
ini_set('error_reporting', E_ALL);

require_once 'sys.php';
$v = '2.4';

header('Cache-control: no-cache');
echo '<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="shortcut icon" href="favicon.ico"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<title>Установка CoolCMS v'.$v.'</title>
</head>
<body>
<div class="header">Установка CoolCMS v'.$v.'</div>
';

$act = isset($_GET['act']) ? htmlspecialchars($_GET['act']) : '';

switch ($act) {
	// the beginning of the installation, entering data
	default:
		tp('Подключение к БД');

		if (!is_writable('../inc/gallery/')) {
			echo '<span style="color:#ff0000">Установите chmod 777 на папку /system/gallery/</span><br />';
			$error = 1;
		}

		if (!is_writable('../inc/loads/')) {
			echo '<span style="color:#ff0000">Установите chmod 777 на папку /system/loads/</span><br />';
			$error = 1;
		}

		if (!is_writable('../inc/smiles/')) {
			echo '<span style="color:#ff0000">Установите chmod 777 на папку /system/smiles/</span><br />';
			$error = 1;
		}

		if (!is_writable('../inc/templates/')) {
			echo '<span style="color:#ff0000">Установите chmod 777 на папку /system/templates/</span><br />';
			$error = 1;
		}

		if (!is_writable('../system/db.php')) {
			echo 'Установите chmod 666 на файл /system/db.php<br />';
			$error = 1;
		}
		
		if (isset($error)) {
			echo 'Продолжение установки невозможно. Исправьте ошибки выше.';
		} else {
			echo '<form action="?act=do" method="post">
			Сервер MySQL:<br /><input name="dbhost" value="localhost" /><br />
			Имя базы данных:<br /><input name="dbname" /><br />
			Имя пользователя:<br /><input name="dbuser" /><br />
			Пароль:<br /><input name="dbpass" /><br />
			</div>';
			tp('Создание администратора');
			echo 'Логин(max12):<br /><input name="login" type="text" maxlength="8" /><br />
			E-mail(max50):<br /><input name="email" type="text" maxlength="50" /><br />
			<input type="submit" value="Установка"/>
			</form>';
		}
		echo '</div><div class="navigation">(c) by <a href="http://1da.su">mides</a> 2012</div>';
	break;
	
	case 'do':
		// the installation in process, showing results
		if ($_POST['dbhost'] and $_POST['dbname'] and $_POST['dbuser'] and $_POST['login'] and $_POST['email']) {
			$dbhost = htmlspecialchars(trim($_POST['dbhost']));
			$dbname = htmlspecialchars(trim($_POST['dbname']));
			$dbuser = htmlspecialchars(trim($_POST['dbuser']));
			$dbpass = htmlspecialchars(trim($_POST['dbpass']));
			
			$login = htmlspecialchars(trim($_POST['login']));
			$email = htmlspecialchars(trim($_POST['email']));
			$pass = generate(5);
			
			$connect = @mysql_connect($dbhost, $dbuser, $dbpass);
			$connect2 = @mysql_select_db($dbname, $connect);
			
			if ($connect == TRUE and $connect2 == TRUE) {
				mysql_query('SET NAMES `utf8`', $connect);
				$query = file_get_contents('cc.sql');
				$pieces = split_sql($query);
	
				for ($i = 0; $i < count($pieces); $i++) {
					$pieces[$i] = trim($pieces[$i]);
					if (!empty ($pieces[$i]) && $pieces[$i] != "#") {
						mysql_query($pieces[$i]);
					} 
				}
				
				if (!mysql_num_rows(mysql_query("SELECT `id` FROM `users` WHERE `id` = 1"))) {
				
					mysql_query("INSERT INTO `users` SET `login` = '$login', `pass` = '".md5(md5($pass))."', `access` = 3, `email` = '$email', `regtime` = '".time()."', `style` = 'default', `onpage` = 10");
					mysql_query("INSERT INTO `news`(`title`,`text`,`time`) VALUES('CoolCMS v$v', 'Если вы читаете эту новость, CoolCMS v$v успешно установлен! :) Скачать его можно на официальном сайте http://coolcms.mobi', '".time()."')");
					
					$dbfile = "<?php
define ('DBHOST', '$dbhost');
define ('DBNAME', '$dbname');
define ('DBUSER', '$dbuser');
define ('DBPASS', '$dbpass');
?>";
					file_put_contents('../system/db.php', $dbfile);
					chmod('../system/db.php', 0664);
					
					tp('Информация');
					echo 'Установка прошла успешно.<br /><b>Удалите папку install</b><br /><br />
					Вы зарегистрированы.<br />
					Логин: '.$login.'<br />
					Пароль: '.$pass.'<br />
					Автологин:<br /><input name="auto" type="text" value="http://'.$_SERVER['HTTP_HOST'].'/a.php?l='.$login.'&amp;p='.$pass.'" /><br />
					<a href="../a.php?l='.$login.'&amp;p='.$pass.'">Ввойти по автологину</a>';
				} else {
					error('CoolCMS уже установлена.');
				}
				nav_main();
			} else {
				error('Невозможно подключиться к БД, указаны неверные данные.');
				nav('?');
			}
		} else {
			error('Все поля должны быть заполнены.');
			nav('?');
		}
	break;
}

echo '</body>';
echo '</html>';
?>