Оптимизация кода

This commit is contained in:
Igor Barkov [iwork] 2018-11-01 13:19:07 +02:00
parent 25011bd254
commit 1205dfc2ad
2 changed files with 35 additions and 44 deletions

View File

@ -1,31 +1,27 @@
<?php <?php
if ($_SESSION['uid'] == null) header("Location: index.php"); if (empty($_SESSION['uid'])) header("Location: index.php");
$m = mysql_fetch_array(mysql_query("SELECT `id`,`align`,`married`,`login` FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;")); $u1 = filter_input(INPUT_POST, 'target');
$w = mysql_fetch_array(mysql_query("SELECT `id`,`align`,`married`,`login` FROM `users` WHERE `login` = '{$_POST['target1']}' LIMIT 1;")); $u2 = filter_input(INPUT_POST, 'target1');
$muzh = mysql_real_escape_string($_POST['target']);
$zhena = mysql_real_escape_string($_POST['target1']); $u1Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u1)->fetch_assoc();
if ($m['id'] and $w['id']) { $u2Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u2)->fetch_assoc();
if ($m['married']) {
echo "<font color=red><b>Персонаж " . $_POST['target'] . " уже состоит в браке!<b></font>"; if ($u1Row['id'] and $u2Row['id']) {
} elseif ($w['married']) { if ($u1Row['married']) {
echo "<font color=red><b>Персонаж " . $_POST['target1'] . " уже состоит в браке!<b></font>"; $status = "Персонаж {$u1Row['login']} уже состоит в браке!";
} elseif ($u2Row['married']) {
$status = "Персонаж {$u2Row['login']} уже состоит в браке!";
} else { } else {
if (($user['align'] > '2' && $user['align'] < '3') || ($user['align'] > '1.6' && $user['align'] < '2')) { if ($user['align'] > '1.6' && $user['align'] < '2') {
if (mysql_query("UPDATE `users` SET `married`='{$_POST['target1']}' WHERE `id` = '{$m['id']}' LIMIT 1;") && mysql_query("UPDATE `users` SET `married`='{$_POST['target']}' WHERE `id` = '{$w['id']}' LIMIT 1;")) { db::c()->query('UPDATE `users` SET `married`= "?s" WHERE `id` = ?i', $u2Row['login'], $u1Row['id']);
$mess = "Регистрация брака между &quot;$muzh&quot; и &quot;$zhena&quot;, регистратор &quot;{$user['login']}&quot;."; db::c()->query('UPDATE `users` SET `married`= "?s" WHERE `id` = ?i', $u1Row['login'], $u2Row['id']);
mysql_query("INSERT INTO `lichka`(`pers`,`text`,`date`) VALUES ('" . $m['id'] . "','$mess','" . time() . "');"); $status = "Регистрация брака между «{$u1Row['login']}» и «{$u2Row['login']}», регистратор «{$user['login']}».";
mysql_query("INSERT INTO `lichka`(`pers`,`text`,`date`) VALUES ('" . $w['id'] . "','$mess','" . time() . "');");
mysql_query("INSERT INTO `paldelo`(`author`,`text`,`date`) VALUES ('" . $_SESSION['uid'] . "','$mess','" . time() . "');");
echo "<font color=red><b>Успешно зарегистрирован брак между \"$muzh\" и \"$zhena\"!</b></font>";
} else {
echo "<font color=red><b>Произошла ошибка!<b></font>";
}
} else { } else {
echo "<font color=red><b>Вы не можете зарегистрировать брак!<b></font>"; $status = "Вы не можете зарегистрировать брак!";
} }
} }
} else { } else {
echo "<font color=red><b>Персонаж \"$muzh\" или \"$zhena\" не существует!<b></font>"; $status = "Ошибка! Персонаж {$u1} или {$u2} не существует!";
} }
?> if (!empty($status)) err($status);

View File

@ -1,30 +1,25 @@
<?php <?php
if ($_SESSION['uid'] == null) header("Location: index.php"); if (empty($_SESSION['uid'])) header("Location: index.php");
$m = mysql_fetch_array(mysql_query("SELECT `id`,`align`,`married`,`login` FROM `users` WHERE `login` = '{$_POST['target']}' LIMIT 1;")); $u1 = filter_input(INPUT_POST, 'target');
$w = mysql_fetch_array(mysql_query("SELECT `id`,`align`,`married`,`login` FROM `users` WHERE `login` = '{$_POST['target1']}' LIMIT 1;")); $u2 = filter_input(INPUT_POST, 'target1');
if ($m['id'] and $w['id']) { $u1Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u1)->fetch_assoc();
if ($m['married'] != $_POST['target1']) { $u2Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u2)->fetch_assoc();
echo "<font color=red><b>Персонаж " . $_POST['target'] . " не состоит в браке с " . $_POST['target1'] . "!<b></font>";
} elseif ($w['married'] != $_POST['target']) { if ($u1Row['id'] and $u2Row['id']) {
echo "<font color=red><b>Персонаж " . $_POST['target1'] . " не состоит в браке с " . $_POST['target'] . "!<b></font>"; if (($u1Row['married'] != $u2Row['login']) OR ($u2Row['married'] != $u1Row['login'])) {
$status = "Персонажи {$u1Row['login']} и {$u2Row['login']} не состоят в браке друг с другом!";
} else { } else {
if (($user['align'] > '2' && $user['align'] < '3') || ($user['align'] > '1.6' && $user['align'] < '2')) { if ($user['align'] > '1.6' && $user['align'] < '2') {
if (mysql_query("UPDATE `users` SET `married`='' WHERE `id` = '{$m['id']}' LIMIT 1;") && mysql_query("UPDATE `users` SET `married`='' WHERE `id` = '{$w['id']}' LIMIT 1;")) { db::c()->query('UPDATE `users` SET `married`= 0 WHERE `id` = ?i', $u1Row['id']);
$mess = "Расторжение брака между &quot;{$m['login']}&quot; и &quot;{$w['login']}&quot;, регистратор &quot;{$user['login']}&quot;."; db::c()->query('UPDATE `users` SET `married`= 0 WHERE `id` = ?i', $u2Row['id']);
mysql_query("INSERT INTO `lichka`(`id`,`pers`,`text`,`date`) VALUES ('','" . $m['id'] . "','$mess','" . time() . "');"); $status = "Расторжение брака между «{$u1Row['login']}» и «{$u2Row['login']}», регистратор «{$user['login']}».";
mysql_query("INSERT INTO `lichka`(`id`,`pers`,`text`,`date`) VALUES ('','" . $w['id'] . "','$mess','" . time() . "');");
mysql_query("INSERT INTO `paldelo`(`id`,`author`,`text`,`date`) VALUES ('','" . $_SESSION['uid'] . "','$mess','" . time() . "');");
echo "<font color=red><b>Успешно расторгнут брак между \"$muzh\" и \"$zhena\"!</b></font>";
} else {
echo "<font color=red><b>Произошла ошибка!<b></font>";
}
} else { } else {
echo "<font color=red><b>Вы не можете расторгнуть брак!<b></font>"; $status = "Вы не можете расторгнуть брак!";
} }
} }
} else { } else {
echo "<font color=red><b>Персонаж \"$muzh\" или \"$zhena\" не существует!<b></font>"; $status = "Ошибка! Персонаж {$u1} или {$u2} не существует!";
} }
?> if (!empty($status)) err($status);