Файл: admin/speedpass.php
Строк: 87
<?php
$title = 'Восстановление паролей';
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if ($adm_id == 1) {
echo '<div class="title">Восстановление паролей</div>';
$num_f = $connect->prepare("select count(*) from `speedpass` where `uid` = ?");
$num_u = $connect->prepare("select count(*) from `speedpass` where `id` = ?");
$strow = $connect->prepare("select * from `speedpass` where `id` = ?");
if (isset($_GET['del'])) {
$num_u->execute(array($_GET['del']));
if ($num_u->fetchColumn()) {
if (isset($_POST['ok'])) {
$stmt = $connect->prepare("delete from `speedpass` where `id` = ?");
if ($stmt->execute(array($_GET['del']))) {
header('Location: /adm/speedpass');
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['cancel'])) {
header('Location: /adm/speedpass');
}
echo '<div class="menu">
<form action="" method="POST">
<input type="submit" name="ok" value="Удалить ('.intval($_GET['del']).')"/>
<input type="submit" name="cancel" value="Отмена"/>
</form></div>';
} else {
header('Location: /adm/speedpass');
}
}
elseif (isset($_GET['key'])) {
$num_u->execute(array($_GET['key']));
if ($num_u->fetchColumn()) {
$strow->execute(array($_GET['key']));
$row = $strow->fetch(PDO::FETCH_LAZY);
if (isset($_POST['ok'])) {
$key = bin2hex(random_bytes($sys['system']['spkey']));
$stmt = $connect->prepare("update `speedpass` set `time` = ?, `key` = ? where `id` = ?");
if ($stmt->execute(array(time(), md5(md5($key)), $_GET['key']))) {
echo '<div class="menu">
Ссылка:<br/><input type="text" value="'.ROOT.'/sp/'.$key.'"><br/>
<div class="chi">Передайте эту ссылку пользователю.</div>
</div>';
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
elseif (isset($_POST['cancel'])) {
header('Location: /adm/speedpass');
} else {
echo '<div class="menu">
<form action="" method="POST">
<input type="submit" name="ok" value="Обновить ключ ('.intval($_GET['key']).')"/>
<input type="submit" name="cancel" value="Отмена"/><br/>
<div class="chi">После обновления ключа старая ссылка перестанет работать!</div>
</form></div>';
}
} else {
header('Location: /adm/speedpass');
}
}
if ($count_sp == 0) {
echo '<div class="menu">NONE</div>';
} else {
$page = new Pagination($count_sp, 10);
$data = $connect->prepare("select * from `speedpass` order by `id` desc limit :start, 10");
$data->bindValue(':start', $page->start, PDO::PARAM_INT);
$data->execute();
$sql = $data->fetchAll();
foreach ($sql as $row) {
echo '<div class="menu">
Пользователь: '.profileLink($row['uid']).'<br/>
Дата: '.daytime($row['time']).'
<div class="danger">До удаления ссылки осталось: '.restime($row['time'] - time() + 3600 * $sys['system']['hsp']).'</div>
<div class="butt2">
<a href="?del='.$row['id'].'">Удалить</a>
<a href="?key='.$row['id'].'">Обновить ключ</a>
</div>
</div>';
}
$page->navigation();
}
echo '<div class="title">Новая ссылка</div>';
if (isset($_POST['submit'])) {
$row_u = user($_POST['user'], 1);
$num_f->execute(array($row_u['id']));
$error = '';
if (empty($_POST['user'])) {
$error.= 'Введите логин пользователя!<br/>';
}
elseif (!$row_u) {
$error.= 'Пользователь с таким логином не найден в системе!<br/>';
}
elseif ($num_f->fetchColumn()) {
$error.= 'Ссылка для этого пользователя уже есть!<br/>';
}
if ($error) {
echo '<div class="menu">'.$error.'</div>';
} else {
$key = bin2hex(random_bytes($sys['system']['spkey']));
$stmt = $connect->prepare("insert into `speedpass` set `time` = ?, `uid` = ?, `key` = ?");
if ($stmt->execute(array(time(), $row_u['id'], md5(md5($key))))) {
echo '<div class="menu">
Ссылка:<br/><input type="text" value="'.ROOT.'/sp/'.$key.'"><br/>
<div class="chi">Передайте эту ссылку пользователю.</div>
</div>';
} else {
echo '<div class="menu">Произошла ошибка!</div>';
}
}
}
echo '<div class="menu">
<form action="" method="POST">
Пользователь:<br/><input type="text" name="user"><br/>
<input type="submit" name="submit" value="Продолжить">
</form></div>';
} else {
header('location: /');
}
require($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>