diff --git a/magic/marry.php b/magic/marry.php index f2c7765..1a0eb7a 100644 --- a/magic/marry.php +++ b/magic/marry.php @@ -1,31 +1,27 @@ Персонаж " . $_POST['target'] . " уже состоит в браке!"; - } elseif ($w['married']) { - echo "Персонаж " . $_POST['target1'] . " уже состоит в браке!"; +$u1 = filter_input(INPUT_POST, 'target'); +$u2 = filter_input(INPUT_POST, 'target1'); + +$u1Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u1)->fetch_assoc(); +$u2Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u2)->fetch_assoc(); + +if ($u1Row['id'] and $u2Row['id']) { + if ($u1Row['married']) { + $status = "Персонаж {$u1Row['login']} уже состоит в браке!"; + } elseif ($u2Row['married']) { + $status = "Персонаж {$u2Row['login']} уже состоит в браке!"; } else { - if (($user['align'] > '2' && $user['align'] < '3') || ($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;")) { - $mess = "Регистрация брака между "$muzh" и "$zhena", регистратор "{$user['login']}"."; - mysql_query("INSERT INTO `lichka`(`pers`,`text`,`date`) VALUES ('" . $m['id'] . "','$mess','" . time() . "');"); - 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 "Успешно зарегистрирован брак между \"$muzh\" и \"$zhena\"!"; - } else { - echo "Произошла ошибка!"; - } + if ($user['align'] > '1.6' && $user['align'] < '2') { + db::c()->query('UPDATE `users` SET `married`= "?s" WHERE `id` = ?i', $u2Row['login'], $u1Row['id']); + db::c()->query('UPDATE `users` SET `married`= "?s" WHERE `id` = ?i', $u1Row['login'], $u2Row['id']); + $status = "Регистрация брака между «{$u1Row['login']}» и «{$u2Row['login']}», регистратор «{$user['login']}»."; } else { - echo "Вы не можете зарегистрировать брак!"; + $status = "Вы не можете зарегистрировать брак!"; } } } else { - echo "Персонаж \"$muzh\" или \"$zhena\" не существует!"; + $status = "Ошибка! Персонаж {$u1} или {$u2} не существует!"; } -?> +if (!empty($status)) err($status); \ No newline at end of file diff --git a/magic/unmarry.php b/magic/unmarry.php index 27ff88c..7a46c5e 100644 --- a/magic/unmarry.php +++ b/magic/unmarry.php @@ -1,30 +1,25 @@ Персонаж " . $_POST['target'] . " не состоит в браке с " . $_POST['target1'] . "!"; - } elseif ($w['married'] != $_POST['target']) { - echo "Персонаж " . $_POST['target1'] . " не состоит в браке с " . $_POST['target'] . "!"; +$u1Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u1)->fetch_assoc(); +$u2Row = db::c()->query('SELECT `id`,`married`,`login` FROM `users` WHERE `login` = "?s"', $u2)->fetch_assoc(); + +if ($u1Row['id'] and $u2Row['id']) { + if (($u1Row['married'] != $u2Row['login']) OR ($u2Row['married'] != $u1Row['login'])) { + $status = "Персонажи {$u1Row['login']} и {$u2Row['login']} не состоят в браке друг с другом!"; } else { - if (($user['align'] > '2' && $user['align'] < '3') || ($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;")) { - $mess = "Расторжение брака между "{$m['login']}" и "{$w['login']}", регистратор "{$user['login']}"."; - mysql_query("INSERT INTO `lichka`(`id`,`pers`,`text`,`date`) VALUES ('','" . $m['id'] . "','$mess','" . time() . "');"); - 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 "Успешно расторгнут брак между \"$muzh\" и \"$zhena\"!"; - } else { - echo "Произошла ошибка!"; - } + if ($user['align'] > '1.6' && $user['align'] < '2') { + db::c()->query('UPDATE `users` SET `married`= 0 WHERE `id` = ?i', $u1Row['id']); + db::c()->query('UPDATE `users` SET `married`= 0 WHERE `id` = ?i', $u2Row['id']); + $status = "Расторжение брака между «{$u1Row['login']}» и «{$u2Row['login']}», регистратор «{$user['login']}»."; } else { - echo "Вы не можете расторгнуть брак!"; + $status = "Вы не можете расторгнуть брак!"; } } } else { - echo "Персонаж \"$muzh\" или \"$zhena\" не существует!"; + $status = "Ошибка! Персонаж {$u1} или {$u2} не существует!"; } -?> +if (!empty($status)) err($status); \ No newline at end of file