Размер файла: 7.82Kb
<? 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/standart/style.css"> <title>Установка каталога</title></head> <div class="head"><img src="" alt="logo"/></div>' ; echo '<div class="title">Установка каталога</div>' ; echo '<div class="menu"' ; switch ( $_GET [ 'act' ]) { case 'set' : //////////////////////////////////////////////////////////// // Создание таблиц в базе данных MySQL // //////////////////////////////////////////////////////////// echo '<div class="link"><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 ); $error = '' ; @ set_magic_quotes_runtime ( 0 ); // Читаем SQL файл и заносим его в базу данных $query = fread ( fopen ( 'install.sql' , 'r' ), filesize ( 'install.sql' )); $pieces = split_sql ( $query ); for ( $i = 0 ; $i < count ( $pieces ); $i ++) { $pieces [ $i ] = trim ( $pieces [ $i ]); if (! empty ( $pieces [ $i ]) && $pieces [ $i ] != "#" ) { if (! mysql_query ( $pieces [ $i ])) { $error = $error . mysql_error () . '<br />' ; } } } if ( empty ( $error )) { echo '<div class="link">- Таблицы созданы</div>' ; // Принимаем данные из формы $log = trim ( $_POST [ 'wnickadmina' ]); $par = trim ( $_POST [ 'wpassadmina' ]); $hom = trim ( $_POST [ 'whome' ]); // Настройка администратора и общих настроек mysql_query ( "insert into `users` set `name`='" . mysql_real_escape_string ( $log ) . "', `level`='2', `pass`='" . md5 ( $par ). "';" ) or die ( 'Ошибка настройки администратора' ); mysql_query ( "UPDATE `set` SET `value` = '$hom' WHERE `name` = 'home'" ) or die ( 'Error' ); echo '<div class="link">- администратор настроен</div>' ; echo '<div class="link"> Установка скрипта WBLIB завершена !</div>' ; echo '<div class="error">УДАЛИТЕ ФАЙЛ install.php, install.sql ! <br/>Выставите права доступа 755 на папку inc/ , права доступа 644 на файл inc/db.php<br/> <a href="login.php">Войти в админку</a></div>' ; } else { // Если были ошибки, выводим их echo $error ; echo '<br /><div class="error">При создании таблиц возникла ошибка.<br />Продолжение невозможно.</div>' ; } break ; case 'admin' : //////////////////////////////////////////////////////////// // Настройки сайта и Администратора // //////////////////////////////////////////////////////////// $dblocation = trim ( $_POST [ 'host' ]); $duser = trim ( $_POST [ 'user' ]); $dpasswd = trim ( $_POST [ 'pass' ]); $dname = trim ( $_POST [ 'name' ]); if ( decoct ( fileperms ( 'inc/' )) % 1000 != 777 ) $error = 'Установите права на папку <b>inc/</b> 777<br/>' ; if ( decoct ( fileperms ( 'java/textfile.txt' )) % 1000 != 666 ) $error .= 'Установите права на файл <b>java/textfile.txt</b> 666<br/>' ; if ( decoct ( fileperms ( 'java/META-INF/MANIFEST.MF' )) % 1000 != 666 ) $error .= 'Установите права на файл <b>java/META-INF/MANIFEST.MF</b> 666<br/>' ; if ( decoct ( fileperms ( 'files/' )) % 1000 != 777 ) $error .= 'Установите права на папку <b>files/</b> 777<br/>' ; if ( decoct ( fileperms ( 'panel/temp_files/' )) % 1000 != 777 ) $error .= 'Установите права на папку <b>panel/temp_files/</b> 777<br/>' ; if ( decoct ( fileperms ( 'temp/' )) % 1000 != 777 ) $error .= 'Установите права на папку <b>temp/</b> 777' ; if ( $error ) { echo '<div class="error">' ; echo '<div class="stitle">Обнаружены ошибки</div>' ; echo $error ; echo '<br/><a href="install.php">Повторить</a>' ; echo '</div>' ; exit (); } $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); echo ' <div class = "link" > Создаем Администратора системы </div> '; echo ' <div class = "link" ><form method = "post" action = "install.php?act=set" > '; echo ' <b> Ваш ник </b><br/><input name = "wnickadmina" maxlength = "50" value = "Admin" /><br /> '; echo ' <b> Ваш пароль </b><br/><input name = "wpassadmina" maxlength = "50" value = "password" /><br /> '; echo ' <b> Адрес где установлен скрипт </b> без слэша в конце <br/><input name = "whome" maxlength = "100" value = "http://' . $_SERVER[" SERVER_NAME "] . '" /><br/> '; echo ' <input value = "Продолжить" type = "submit" class = "button" /></form></div> '; break; default : //////////////////////////////////////////////////////////// // Настройка соединения с MySQL // //////////////////////////////////////////////////////////// echo ' <div class = "link" > Ниже вы должны ввести настройки соединения с базой данных MySQL. <br /> Если вы не уверенны в них, свяжитесь с вашим хостинг-провайдером. </div> '; echo ' <div class = "link" ><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> '; break; } echo ' </div> '; function split_sql($sql) { $sql = trim($sql); $sql = ereg_replace("\n#[^\n]*\n", "\n", $sql); $buffer = array(); $ret = array(); $in_string = false; for ($i = 0; $i < strlen($sql) - 1; $i++) { if ($sql[$i] == ";" && !$in_string) { $ret[] = substr($sql, 0, $i); $sql = substr($sql, $i + 1); $i = 0; } if ($in_string && ($sql[$i] == $in_string) && $buffer[1] != "\\") { $in_string = false; } elseif (!$in_string && ($sql[$i] == '"' || $sql[$i] == "'") && (!isset ($buffer[0]) || $buffer[0] != "\\")) { $in_string = $sql[$i]; } if (isset ($buffer[1])) { $buffer[0] = $buffer[1]; } $buffer[1] = $sql[$i]; } if (!empty ($sql)) { $ret[] = $sql; } return ($ret); } echo " <div class = 'foot' > (c) wapweb </div> "; ?>