Файл: install.php
Строк: 149
<?php
error_reporting(E_ALL & ~E_NOTICE);
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</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</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 = "<?phprn". "$" . "db_host="$dblocation";rn" . "$" . "db_user="$duser";rn" . "$" . "db_pass="$dpasswd";rn" . "$" . "db_name="$dname";rn"
. "rn?>";
$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="example@mail.com" /><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 //
////////////////////////////////////////////////////////////
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="catalogs"/><br/>';
echo '<b>Имя пользователя</b><br /><input type="text" name="user" value="root"/><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>';
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>';
?>