View file install/index.php

File size: 5.85Kb
<?php
// by Mike O. (mides), coolcms.org

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 = '4.3';

//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="../styles/edward/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('Подключение к БД');
		
		echo '<div class="body">';

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

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

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

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

		if (!is_writable('../includes/db.php')) {
			echo 'Установите chmod 666 на файл /system/db.php<br />';
			$error = 1;
		}
		
		if (isset($error)) {
			echo 'Продолжение установки невозможно. Исправьте ошибки выше.';
		} else {
			echo '<form name="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 '<div class="body">';
			echo 'Логин(max12):<br /><input name="username" type="text" maxlength="12" /><br />
			Пароль(max20):<br /><input name="password" type="text" maxlength="20" /><br />
			E-mail(max50):<br /><input name="email" type="text" maxlength="50" /><br />
			<input type="submit" value="Установка"/>
			</form>';
		}
		echo '</div><div class="tail"><a href="http://coolcms.org">&copy; coolcms</a> 2010-13</div>';
	break;
	
	case 'do':
		// the installation in process, showing results
		if ($_POST['dbhost'] and $_POST['dbname'] and $_POST['dbuser'] and $_POST['username'] and $_POST['password'] and $_POST['email']) {
			$dbhost = htmlspecialchars(trim($_POST['dbhost']));
			$dbname = htmlspecialchars(trim($_POST['dbname']));
			$dbuser = htmlspecialchars(trim($_POST['dbuser']));
			$dbpass = htmlspecialchars(trim($_POST['dbpass']));
			
			$username = htmlspecialchars(trim($_POST['username']));
			$email = htmlspecialchars(trim($_POST['email']));
			$password = htmlspecialchars(trim($_POST['password']));
			
			$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 `username` = '$username', `password` = '".md5(md5($password))."', `access` = 4, `email` = '$email', `regtime` = '".time()."', `style` = 'default', `onpage` = 10, `ok` = 1");
					mysql_query("INSERT INTO `news`(`name`,`text`,`time`) VALUES('CoolCMS v$v', 'Если вы читаете эту новость, CoolCMS v$v успешно установлен! :) Скачать его можно на официальном сайте http://coolcms.org', '".time()."')");
					
					$dbfile = "<?php
define ('DBHOST', '$dbhost');
define ('DBNAME', '$dbname');
define ('DBUSER', '$dbuser');
define ('DBPASS', '$dbpass');
?>";
					file_put_contents('../includes/db.php', $dbfile);
					chmod('../includes/db.php', 0664);
					
					tp('Информация');
					echo '<div class="body">';
					echo 'Установка прошла успешно.<br /><b>Удалите папку install</b><br /><br />
					Вы зарегистрированы.<br />
					Логин: '.$username.'<br />
					Пароль: '.$password.'<br />
					Автологин:<br /><input name="auto" type="text" value="http://'.$_SERVER['HTTP_HOST'].'/a.php?l='.$username.'&amp;p='.$password.'" /><br />
					<a href="../a.php?l='.$username.'&amp;p='.$password.'">Ввойти по автологину</a>';
				} else {
					error('CoolCMS уже установлена.');
				}
				nav_main();
			} else {
				error('Невозможно подключиться к БД, указаны неверные данные.');
				nav('?');
			}
		} else {
			error('Все поля должны быть заполнены.');
			nav('?');
		}
	break;
}

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