вроде есть исполнение кода,помогите разобраться как его исполнить
Код:
<?php
$admin_old_login = 'superadmin';
$url_in = preg_replace('/^http:\/\/(.+)\/?/',"$1", trim($_POST['url']));
$url_in = rtrim($url_in, '/');
$msg = '';
if (isset($_POST['url'])) {$url_in = 'http://'.$url_in; $u = 0;} else {$url_in = 'http://site.ru'; $u = 1;}
if (isset($_POST['email'])) {$email_in = $_POST['email']; $e = 0;} else {$email_in = 'name@email.ru'; $e = 1;}
if (isset($_POST['db'])) {$db = $_POST['db']; $d = 0;} else {$db = 'database'; $d = 1;}
if (isset($_POST['db_user'])) {$db_user = $_POST['db_user']; $du = 0;} else {$db_user = 'username'; $du = 1;}
if (isset($_POST['db_pas'])) {$db_pas = $_POST['db_pas']; $dp = 0;} else {$db_pas = 'password'; $dp = 1;}
if (isset($_POST['host'])) {$host = $_POST['host']; $h = 0;} else {$host = 'localhost'; $h = 1;}
if (isset($_POST['prefix'])) {$prefix = $_POST['prefix']; $p = 0;} else {$prefix = 'eb_'; $p = 1;}
if (isset($_POST['adm_new_login'])) {$admin_new_login = $_POST['adm_new_login']; $al = 0;} else {$admin_new_login = 'superadmin'; $al = 1;}
if (isset($_POST['adm_new_password'])) {$admin_new_password = $_POST['adm_new_password']; $ap = 0;} else {$admin_new_password = 'NclCyAuw'; $ap = 1;}
if ($_GET['del'] == 1)
{
@unlink ('updater.php');
header('Location: index.php');
}
if (isset($_POST['Submit']))
{
if (!isset($_GET['step']) OR $_GET['step'] == 1)
{
$file = file_get_contents('wp-config.php');
if ($file == '')
{
$msg .= '<p style="color:red;">— Не удалось открыть файл wp-config.php. Установите права 777 на файл wp-config.php.</p>';
}
$file = preg_replace("/(define\('DB_NAME', ')(.+)('\);)/u", '${1}'.str_replace('\\','\\\\',$db).'${3}', $file);
$file = preg_replace("/(define\('DB_USER', ')(.+)('\);)/u", '${1}'.str_replace('\\','\\\\',$db_user).'${3}', $file);
$file = preg_replace("/(define\('DB_PASSWORD', ')(.+)('\);)/u", '${1}'.str_replace('\\','\\\\',$db_pas).'${3}', $file);
$file = preg_replace("/(define\('DB_HOST', ')(.+)('\);)/u", '${1}'.str_replace('\\','\\\\',$host).'${3}', $file);
$file = preg_replace("/($table_prefix = ')(.+)(';)/u", '${1}'.str_replace('\\','\\\\',$prefix).'${3}', $file);
if (!file_put_contents('wp-config.php',$file))
{
$msg .= '<p style="color:red;">— Не удалось перезаписать файл wp-config.php. Установите права 777 на файл wp-config.php.</p>';
}
else
{
header('Location: updater.php?step=2');
}
}
elseif ($_GET['step'] == 2)
{
$uploadfile = 'wp-content/uploads/'.basename($_FILES['dump_db']['name']);
if (!move_uploaded_file($_FILES['dump_db']['tmp_name'], $uploadfile))
{
$msg .= '<p style="color:red;">— Не удалось загрузить файл базы данных.</p>';
}
else
{
$file_sql = file($uploadfile); //var_dump($file_sql);
require_once 'wp-config.php';
global $wpdb;
foreach ($file_sql as $n => $l) if (substr($l,0,2)=='--') unset($file_sql[$n]);
$file_sql = explode(";\n",implode("\n",$file_sql));
unset($file_sql[count($file_sql)-1]);
foreach ($file_sql as $q) {if ($q) {$wpdb->query($q);}}
header('Location: updater.php?step=3');
}
}
else
{
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL, FILTER_FLAG_SCHEME_REQUIRED))
{
$msg .= '<p style="color:red;">— Неправильный формат E-mail</p>';
}
if ($msg == '')
{
require_once 'wp-config.php';
global $wpdb;
$admin_new_password_hash = wp_hash_password($admin_new_password);
$wpdb->query("UPDATE eb_options SET option_value = replace(option_value, '{$url_from}', '{$url_in}') WHERE option_name = 'home' OR option_name = 'siteurl';");
$wpdb->query("UPDATE eb_posts SET guid = replace(guid, '{$url_from}','{$url_in}');");
$wpdb->query("UPDATE eb_posts SET post_content = replace(post_content, '{$url_from}', '{$url_in}');");
$wpdb->query("UPDATE eb_options SET option_value = '{$email_in}' where option_value like '{$email_from}';");
$wpdb->query("update eb_users set user_email = '{$email_in}', user_login = '{$admin_new_login}', user_nicename = '{$admin_new_login}', user_pass = '{$admin_new_password_hash}' where user_email like '{$email_from}';");
$wpdb->query("update eb_usermeta set meta_value = '{$admin_new_login}' where meta_value like '{$admin_old_login}';");
/*$email_from = 's:' . strlen($email_from) . ':"' . $email_from . '"';
$email = 's:' . strlen($email_in) . ':"' . $email_in . '"';
$wpdb->query('update eb_contact_form_7 set mail = replace(mail,\'' . $email_from . '\',\'' . $email . '\') where mail like \'%' . $email_from . '%\';');
$wpdb->query('update eb_postmeta set meta_value = replace(meta_value,\'' . $email_from . '\',\'' . $email . '\') where meta_value like \'%' . $email_from . '%\';');*/
$msg .= '<p style="font-weight:bold;">Инсталяция завершена успешно.<br />
Внимание! Нажмите для <a href="updater.php?del=1">удаления инсталятора</a>.<br />
</p>';
}
}
}
?>
<!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" dir="ltr" lang="ru-RU" xml:lang="ru-RU">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Установка</title>
<link rel='stylesheet' id='buttons-css' href='wp-includes/css/buttons.min.css?ver=3.5' type='text/css' media='all' />
<link rel='stylesheet' id='install-css' href='wp-admin/css/install.min.css?ver=3.5' type='text/css' media='all' />
</head>
<body class="wp-core-ui">
<h1>Добро пожаловать</h1>
<p>Добро пожаловать в установку программного обеспечения!</p>
<form id="setup" method="post" enctype="multipart/form-data" action="updater.php<?if (isset($_GET['step']) AND in_array($_GET['step'],array(1,2,3))) {echo '?step='.$_GET['step'];}?>">
<?if (!isset($_GET['step']) OR $_GET['step'] == 1) {?>
<h1>Подключение к базе данных</h1>
<table class="form-table">
<tr>
<th scope="row"><label for="db">Имя базы данных</label></th>
<td>
<input name="db" type="text" id="db" size="25" value="<?php echo $db;?>"<?if ($d == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Имя базы данных, в которую вы хотите установить продукт.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="email">Имя пользователя</label></th>
<td>
<input name="db_user" type="text" id="db_user" size="25" value="<?php echo $db_user;?>"<?if ($du == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Имя пользователя MySQL.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="db_pas">Пароль</label></th>
<td>
<input name="db_pas" type="text" id="db_pas" size="25" value="<?php echo $db_pas;?>"<?if ($dp == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Пароль пользователя MySQL.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="host">Сервер базы данных</label></th>
<td>
<input name="host" type="text" id="host" size="25" value="<?php echo $host;?>"<?if ($h == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Если localhost не работает, нужно узнать правильный адрес в службе поддержки хостинг-провайдера.</p>
</td>
</tr>
<!--<tr>
<th scope="row"><label for="prefix">Префикс</label></th>
<td>
<input name="prefix" type="text" id="prefix" size="25" value="<?php echo $prefix;?>"<?if ($p == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Введите префикс таблиц, который используется в дампе базы данных. По-умолчанию используйте префик "eb_".</p>
</td>
</tr>-->
</table>
<p class="step"><input type="submit" name="Submit" value="Обновить конфиг" class="button button-large" /> <input type="button" name="next" value="Пропустить этот шаг" class="button button-large" onclick="document.location='updater.php?step=2';" /></p>
<p>Если доступы к базе данных уже введены вручную, пропустите этот шаг</p>
<?}
elseif ($_GET['step'] == 2)
{
?>
<h1>Импорт базы данных</h1>
<table class="form-table">
<tr>
<th scope="row"><label for="dump_db">Дамп базы данных</label></th>
<td>
<input name="dump_db" type="file" id="dump_db" size="25" />
<p>Выберете дамп базы данных с вашего компьютера для импорта.</p>
</td>
</tr>
</table>
<p class="step"><input type="submit" name="Submit" value="Импортировать базу данных" class="button button-large" /> <input type="button" name="last" value="Вернуться назад" class="button button-large" onclick="document.location='updater.php?step=1';" /> <input type="button" name="next" value="Пропустить этот шаг" class="button button-large" onclick="document.location='updater.php?step=3';" /></p>
<?
}
else
{?>
<h1>Требуется информация</h1>
<table class="form-table">
<tr>
<th scope="row"><label for="user_name">URL сайта</label></th>
<td>
<input name="url" type="text" id="url" size="25" value="<?php echo $url_in;?>"<?if ($u == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Укажите адрес вашего домена с http// или без. Аналогично примеру.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="email">Ваш e-mail</label></th>
<td>
<input name="email" type="text" id="email" size="25" value="<?php echo $email_in;?>"<?if ($e == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Укажите ваш электорнный адрес, на него будет приходить вся корреспонденция с сайта. Аналогично примеру.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="adm_new_login">Логин администратора</label></th>
<td>
<input name="adm_new_login" type="text" id="adm_new_login" size="25" value="<?php echo $admin_new_login;?>"<?if ($al == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Укажите логин администратора для входа в систему управления.</p>
</td>
</tr>
<tr>
<th scope="row"><label for="adm_new_password">Пароль администратора</label></th>
<td>
<input name="adm_new_password" type="text" id="adm_new_password" size="25" value="<?php echo $admin_new_password;?>"<?if ($ap == 1) {?> onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"<?}?> />
<p>Укажите пароль администратора для входа в систему.</p>
</td>
</tr>
</table>
<p class="step"><input type="submit" name="Submit" value="Установить" class="button button-large" /> <input type="button" name="last" value="Вернуться назад" class="button button-large" onclick="document.location='updater.php?step=2';" /></p>
<?}?>
<?php echo $msg;?>
</form>
</body>
</html>