View file install.php

File size: 10.19Kb
<?php
error_reporting(E_ALL & ~E_NOTICE);
define('SKRIPT_DIR', $_SERVER['DOCUMENT_ROOT']);
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="themes/light/style.css">
<title>WBCAT v2.4.0 repuck by bodja v 1.0.0</title></head>
<html><body>
<div class="menu">
<div class="head"><img src="images/logo.png" alt="logo"/></div>';
echo '<div class="zag2">WBCAT v2.4.0 repuck by bodja v 1.0.0</div>';
switch($_GET['act']) {
case 'set' :
        ////////////////////////////////////////////////////////////
        // Создание таблиц в базе данных MySQL                    //
        ////////////////////////////////////////////////////////////
        echo '<div class="zag"><img src="images/green.png" alt="on"/> Установка каталога</div>';
        require_once ("inc/db.php");
$dbcnx = mysql_connect($db_host,$db_user,$db_pass);
if (!$dbcnx) {
	exit ("Сервер базы данных не доступен");
}
if (!mysql_select_db($db_name , $dbcnx)){
	exit ("База данных не доступна");
}   
        mysql_query("SET NAMES 'utf8'", $dbcnx);
         $sql = parse_sql('install.sql');
                if (!empty($sql)) {
					echo '<br /><div class="error"><img src="images/red.png" alt="off"/>Error!<br />При создании таблиц возникла ошибка.<br />Продолжение невозможно.</div>';
                    foreach ($sql as $val) echo $val . '<br />';
                    echo '</body></html>';
                    exit;
                }
            echo '<div class="success"><img src="images/green.png" alt="on"/> - Таблицы созданы</div>';
			
			// Профиль админа
			############################
				$admin = mysql_real_escape_string($_POST['admin']);
				$pass = mysql_real_escape_string($_POST['pass']);
				$email = mysql_real_escape_string($_POST['email']);


				$array = array('admin' => $admin,'pass' => $pass,'email' => $email);
				$ser = serialize($array);
				mysql_query("UPDATE `modules` SET `set` = '$ser' WHERE `name` = 'logon'") or die('Ошибка настройки администратора');
			############################
			
			// Общие настройки
			############################
			  	$url = mysql_real_escape_string($_POST['home']);
				$reg = 'mod';
				$on_page = 5;
				$rate = 1;
				$review = 1;
				$search = 1;
				$news = 1;
				$captcha = 1;
				$correct_url = 1;
                                $rate_log_status = 1;
                                $auth_log_status = 1;

				$array = array('url' => $url,'reg' => $reg,'on_page' => $on_page, 'rate' => $rate,'review' => $review,'search' => $search,'news' => $news,'captcha' => $captcha,
                                    'correct_url' => $correct_url,'rate_log_status' => $rate_log_status,'auth_log_status' => $auth_log_status);
				$ser = serialize($array);
				mysql_query("UPDATE `modules` SET `set` = '$ser' WHERE `name` = 'system'")or die('Ошибка настройки "Общих настроек"');
			############################
			
            echo '<div class="success"><img src="images/green.png" alt="on"/> - Профиль администратора НАСТРОЕН<br/>';
			echo '<img src="images/green.png" alt="on"/> - Общие настройки системы НАСТРОЕНЫ<br/>';
            echo '<img src="images/green.png" alt="on"/> Установка каталога <b>WBCAT (v2.0.0RC)</b> завершена</div>';
			echo '<div class="error"><b>УДАЛИТЕ ФАЙЛ install.php !</b></div>';
			echo '<div class="func"><a href="logon.php">Вход в админ-панель</a></div>';

break;
case 'admin' :
        ////////////////////////////////////////////////////////////
        // Настройки сайта и Администратора                       //
        ////////////////////////////////////////////////////////////
        $dblocation = trim($_POST['host']);
        $duser = trim($_POST['user']);
        $dpasswd = trim($_POST['pass']);
        $dname = trim($_POST['name']);
		
		$error = false;
		$dbcnx = mysql_connect($dblocation,$duser,$dpasswd);
		if (!$dbcnx) {
			$error = true;
		}
		if (!mysql_select_db($dname , $dbcnx)){
			$error = true;
		}
		
		if ($error) {
			echo '<div class="error"><img src="images/red.png" alt="off"/> Ошибка соединения с базой данных . Проверьте правильность настроек (название базы,пароль и т.д)</div>';
			echo '<div class="main"><a href="install.php">Повторить</a></div>';
			echo "<div class='foot'>(c) wapweb</div>";
			echo '</div>';
			echo '</body></html>';
			exit;
		}
		
		if (decoct(fileperms('inc/')) % 1000  == 777 && decoct(fileperms('images/')) % 1000  == 777 && decoct(fileperms('images/captcha/')) % 1000  == 777)
		{
        $text = "<?php\r\n". "$" . "db_host=\"$dblocation\";\r\n" . "$" . "db_user=\"$duser\";\r\n" . "$" . "db_pass=\"$dpasswd\";\r\n" . "$" . "db_name=\"$dname\";\r\n"
        . "\r\n?>";
        $fp = @ fopen("inc/db.php", "w");
        fputs($fp, $text);
        fclose($fp);
		}
		else {
		echo '<div class="error"><img src="images/red.png" alt="off"/> Установите права доступа <b>777</b> на папку <b>inc/</b><br/>
									<img src="images/red.png" alt="off"/> Установите права доступа <b>777</b> на папку <b>images/</b><br/>
									<img src="images/red.png" alt="off"/> Установите права доступа <b>777</b> на папку <b>images/captcha</b></div>';
		echo '<div class="main"><a href="install.php">Повторить</a></div>';
		echo "<div class='foot'>(c) wapweb</div>";
		echo '</div>';
		echo '</body></html>';		
		exit;
		}
        echo '<div class="zag">Профиль администратора</div>';
        echo '<div class="title"><form method="post" action="install.php?act=set">';
        echo '<b>Логин</b><br/><input name="admin" maxlength="50" value="Admin" /><br />';
        echo '<b>Пароль</b><br/><input name="pass" maxlength="50" value="password" /><br />';
		echo '<b>E-mail</b><br/><input name="email" maxlength="50" value="[email protected]" /><br />';
        echo '<b>Адрес где установлен скрипт</b> без слэша в конце<br/><input name="home" maxlength="100" value="http://' . $_SERVER["SERVER_NAME"] . '" /><br/>';
        echo '<input value="Продолжить" type="submit" class="button" /></form></div>';
break;
default :
        ////////////////////////////////////////////////////////////
        // Настройка соединения с MySQL                           //
        ////////////////////////////////////////////////////////////
		$dirname=str_replace('/install.php','',$_SERVER['SCRIPT_FILENAME']);
		if($dirname==SKRIPT_DIR){
		
        echo '<div class="success">Установка каталога WBCAT<br/> <b>#1.</b> Ниже вы должны ввести настройки соединения с базой данных MySQL.<br />Если вы не уверенны в них, свяжитесь с вашим хостинг-провайдером.</div>';
        echo '<div class="title"><form action="install.php?act=admin" method="post"><b>Адрес сервера</b><br /><input type="text" name="host" value="localhost"/><br/>';
        echo '<b>Название базы</b><br /><input type="text" name="name" value=""/><br/>';
        echo '<b>Имя пользователя</b><br /><input type="text" name="user" value=""/><br/>';
        echo '<b>MySQL пароль</b><br /><input type="text" name="pass"/><br/>';
        echo '<input type="submit" class="button" value="Продолжить"/></form></div>';
        echo '<div class="main"><a href="index.html">На главную</a></div>';
		}else{
		echo '<div class="error"><img src="images/red.png" alt="off"/> <b>Каталог можно установить только в корень сайта </b></div>
		Нынешняя папка: <b>'.$dirname.'</b><br />
		Необходимая папка: <b>'.SKRIPT_DIR.'</b><br />
		Исправьте это тогда инстоляция продолжится
		';

		}
        break;

}
function parse_sql($file = false)
    {
        $errors = array();
        if ($file && file_exists($file)) {
            $query = fread(fopen($file, 'r'), filesize($file));
            $query = trim($query);
            $query = preg_replace("/\n\#[^\n]*/", '', "\n" . $query);
            $buffer = array();
            $ret = array();
            $in_string = false;
            for ($i = 0; $i < strlen($query) - 1; $i++) {
                if ($query[$i] == ";" && !$in_string) {
                    $ret[] = substr($query, 0, $i);
                    $query = substr($query, $i + 1);
                    $i = 0;
                }
                if ($in_string && ($query[$i] == $in_string) && $buffer[1] != "\\") {
                    $in_string = false;
                } elseif (!$in_string && ($query[$i] == '"' || $query[$i] == "'") && (!isset($buffer[0]) || $buffer[0] != "\\")) {
                    $in_string = $query[$i];
                }
                if (isset($buffer[1])) {
                    $buffer[0] = $buffer[1];
                }
                $buffer[1] = $query[$i];
            }
            if (!empty($query)) {
                $ret[] = $query;
            }
            for ($i = 0; $i < count($ret); $i++) {
                $ret[$i] = trim($ret[$i]);
                if (!empty($ret[$i]) && $ret[$i] != "#") {
                    if (!mysql_query($ret[$i])) {
                        $errors[] = mysql_error();
                    }
                }
            }
        } else {
            $errors[] = 'Fatal error!';
        }
        return $errors;
    }
echo "<div class='foot'>(c) wapweb</div>";
echo '</div>';
echo '</body></html>';
?>