Вход Регистрация
Файл: install/index.php
Строк: 104
<?php
# Author: Oleg Kulaga (Cyber_Shot);
# Package: WGame Engine;
# Version: 0.1;

define("APP"true);
define("HOME""wgame");                    # Domain;
define("DS"DIRECTORY_SEPARATOR);          # Directory separator;

ini_set('error_reporting'E_ALL);
ini_set('display_errors'1);
ini_set('display_startup_errors'1);

session_start();
ob_start();


require_once (
'../app/functions/data.func.php');
require_once (
'../app/functions/view.func.php');
require_once (
'functions/config.func.php');

$step = isset($_GET['step']) ? data_out($_GET['step']) : null;
?> 

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<link rel="stylesheet" type="text/css" href="<?=DS.HOME?>/public/styles/default.css"> 
<title> Установка WGame Engine </title> 
</head> 
<body>

<?php 
switch ($step
{
    default: 
    
    if (
version_compare(phpversion(), '5.6.0''<')) 
    {
        
?> 

<div class="block"> 
    Для работы нужна версия php 5.6.0 или выше.
</div> 

        <?php
    

    else if (!
class_exists(PDO::class)) 
    {
        
?> 
        
<div class="block"> 
    Для работы нужна поддержка PDO.
</div> 
        
        <?php
    

    else if (
ini_get('register_globals')) 
    {
        
?> 
        
<div class="block"> 
    Для повышение безопасности необходимо отключить: "register_globals".
</div> 
        
        <?php
    

    else
    {
        
?> 

<div class="block" style="text-align: center;"> 
    Ошибок не обнаружено
</div> 
<div class="block">
    <a href="?step=1" class="touchLink"> Продолжить</a> 
</div>

        <?php
    

    break;

    
# Install db;
    
case 1
    
view_notifierDisplay();

    if (
filter_has_var(INPUT_POST"tryDb")) 
    {
        
$data           $_POST;
        
$data['dbhost'] = data_in($data['dbhost']);
        
$data['dbport'] = data_in($data['dbport']);
        
$data['dbname'] = data_in($data['dbname']);
        
$data['dbuser'] = data_in($data['dbuser']);
        
$data['dbpass'] = data_in($data['dbpass']); 

        
# Error handler;
        
if (empty($data['dbhost'])) 
        {
            
view_notifierAdd('Введите хост.''#');
            exit();
        } 
        else if (empty(
$data['dbport'])) 
        {
            
view_notifierAdd('Введите порт.''#');
            exit();
        } 
        else if (empty(
$data['dbname'])) 
        {
            
view_notifierAdd('Введите имя бд.''#');
            exit();
        } 
        else if (empty(
$data['dbuser'])) 
        {
            
view_notifierAdd('Введите имя пользователя.''#');
            exit();
        } 
        else 
        {
            try {
                
$pdo = new PDO('mysql:host=' $data['dbhost'] . ';port=' $data['dbport'] . ';dbname=' $data['dbname'], $data['dbuser'], $data['dbpass'],
                    [
                        
PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                        
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                        
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'",
                        
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,
                    ]
                );
            } catch (
PDOException $e) {
                
$pdo_error $e->getMessage();

                if (
stristr($pdo_error'no such host')) 
                {
                    
view_notifierAdd('Неверный хост.''#');
                    exit();
                } 
                elseif (
stristr($pdo_error'access denied for user')) 
                {
                    
view_notifierAdd('Неверный пользователь.''#');
                    exit();
                } 
                elseif (
stristr($pdo_error'unknown database')) 
                {
                    
view_notifierAdd('Неверная бд.''#');
                    exit();
                } else {
                    
view_notifierAdd('Ошибка: '$pdo_error'#');
                    exit();
                }
            } 

            
$config = [
                
"dbhost" => $data['dbhost'], 
                
"dbport" => $data['dbport'], 
                
"dbname" => $data['dbname'], 
                
"dbuser" => $data['dbuser'], 
                
"dbpass" => $data['dbpass']];
            
$dbfile "<?phpnn if (!defined('APP')) die('Access Denied');nn" 'return ' var_export($configtrue) . ";n";
            
$file   '../app/db.param.php'
            
file_put_contents($file$dbfile);
            
config_parseSql('wgame.sql'$pdo);
            
view_notifierAdd('Установка завершена.'DS.HOME.DS.'wgame.index');
            exit();
        }
    } 
    
?> 

<div class="block" style="text-align: center;">
    Подключение к базе данных.
</div> 

<div class="block"> 
    <form method="POST"> 
        <b>Хост:</b><br/> 
        <input type="text" name="dbhost" value="localhost"><br/>
        <b>Порт:</b><br/> 
        <input type="text" name="dbport" value="3306"><br/> 
        <b>Имя базы данных:</b><br/> 
        <input type="text" name="dbname" value="wgame"><br/> 
        <b>Пользователь бд:</b><br/> 
        <input type="text" name="dbuser" value="root"><br/> 
        <b>Пароль бд:</b><br/> 
        <input type="text" name="dbpass" value=""><br/> 
        <input type="submit" name="tryDb" value="Подключиться">
    </form>
</div> 

    <?php
}
Онлайн: 2
Реклама