function loginbypost() { global $LU, $attempt; $post_get = new GetVarClass(); $email = $post_get->getemail("email"); $pw = $post_get->getvar("pw"); if (!$email || !$pw) { return 0; } $subquery = "u.email='{$email}'"; $attempt = 1; $sql = "SELECT u.id,u.pw\n\t\tFROM " . PREF . "users AS u\n\t\tWHERE {$subquery} AND (u.pwhash=MD5('{$pw}') OR '{$LU["moderid"]}'<>0) AND u.active\n\t\tLIMIT 1"; $result = query($sql); $rows = num_rows($result); if ($rows) { list($LU["id"], $knownpw) = fetch_row($result); if (!ALLOWMULTISESSIONS) { dropallsessions($LU["id"]); } } return $rows; }
<?php include "../include/config.php"; $post_get = new GetVarClass(); $email = $post_get->getemail("email"); if (!$email) { die("Редактирование взноса невозможно: введите корректный e-mail. "); } $editorid = loginbycookie(); if (!isAdmin($editorid)) { die("У вас недостаточно прав доступа, чтобы изменить состояние взноса {$email}. "); } $payment = $post_get->getvar("payment", 1, 0); $sql = "UPDATE " . PREF . "users\n SET payment_royal_wedding={$payment}\n WHERE email='{$email}'\n LIMIT 1"; query($sql);
<?php include "../include/config.php"; $post_get = new GetVarClass(); $email = $post_get->getemail("email"); if (!$email) { die("Редактирование заявки невозможно: введите корректный e-mail. "); } $editorid = loginbycookie(); if (!canEdit($editorid, $email)) { die("У вас недостаточно прав доступа, чтобы редактировать заявку {$email}. "); } $userid = emailToId($email); $name = $post_get->getvar("name"); $nick = $post_get->getvar("nick"); $city = $post_get->getvar("city"); $age = $post_get->getadate("age"); $contacts = $post_get->getvar("contacts"); $contraindication = $post_get->getvar("contraindication"); $chronicdesease = $post_get->getvar("chronicdesease"); $wishes = $post_get->getvar("wishes"); $publicity = $post_get->getenumkeys("publicity", $langPublicities); $character_name = $post_get->getvar("character_name"); $character_age = $post_get->getadate("character_age"); $country = $post_get->getenumkeys("country", $langCountries); $birth = $post_get->getenumkeys("birth", $langBirthes); $rank = $post_get->getenumkeys("rank", $langRanks); $quota = $post_get->getenumkeys("quota", $langQuotas); $quenta = $post_get->getvar("quenta"); $wishes2 = $post_get->getvar("wishes2"); $go_royal_wedding = $post_get->getvar("go_royal_wedding", "0|1", "0");
<?php include "../include/config.php"; $post_get = new GetVarClass(); $email = $post_get->getemail("email"); $password = trim($post_get->getvar("password")); if (!$email) { die("Введите корректный e-mail, чтобы войти или восстановить пароль. "); } $userid = emailToId($email); if (!$userid) { $text = <<<EOT E-mail {$email} не зарегистрирован. <br /> Воспользуйтесь <a href="/#register">формой регистрации</a> на главной странице. <br /> По техническим вопросам обращайтесь к Бодигриму (andrew.lelechenko@gmail.com, skype bodigrim). EOT; echo $text; die; } $hash = bcrypt($password); $sql = "SELECT id\n\tFROM " . PREF . "users\n\tWHERE id={$userid} AND pwhash='{$hash}'\n\tLIMIT 1"; $rows = (int) db_result00($sql); if (!$rows) { $text = <<<EOT Не удалось войти, поскольку пароль не подходит. На всякий случай мы отправили вам ваш пароль на почту еще раз. <br /> Воспользуйтесь <a href="/#register">формой входа</a> на главной странице еще раз. <br /> По техническим вопросам обращайтесь к Бодигриму (andrew.lelechenko@gmail.com, skype bodigrim).
<?php include "include/config.php"; $post_get = new GetVarClass("_GET"); $email = $post_get->getemail("email"); $justUpdated = $post_get->getvar("justUpdated"); if (!$email) { die("Редактирование заявки невозможно: введите корректный e-mail. "); } $editorid = loginbycookie(); if (!canEdit($editorid, $email)) { die("У вас недостаточно прав доступа, чтобы редактировать заявку {$email}. "); } $sql = "SELECT *\n\tFROM " . PREF . "users\n\tWHERE email='{$email}'\n\tLIMIT 1"; $result = query($sql); $userData = fetch_assoc($result); $photoname = photoFileName($email); $userid = (int) emailToId($email); if (isAdmin($editorid)) { unmarkUpdated($userid); unmarkUnread($userid); } $sql = "SELECT m.id, u.name, m.message\n\tFROM " . PREF . "messages AS m\n\tLEFT JOIN " . PREF . "users AS u ON m.authorid=u.id\n\tWHERE m.userid={$userid}\n\tORDER BY m.id"; $result = query($sql); $messages = fetch_assocs($result); $render_data = $userData + ["justUpdated" => (bool) $justUpdated, "isAdmin" => (bool) isAdmin($editorid), "publicities" => $langPublicities, "countries" => $langCountries, "birthes" => $langBirthes, "ranks" => $langRanks, "quotas" => $langQuotas, "goRoyalWeddings" => $langYesNo, "photo" => file_exists("photos/{$photoname}.jpg") ? "{$photoname}.jpg" : "", "messages" => $messages]; $ret = constructTwig()->render("edit.twig", $render_data); echo $ret;
function loginbycookie() { $cookie_get = new GetVarClass("_COOKIE"); $email = $cookie_get->getvar("email"); $session = $cookie_get->getvar("session"); if (!$email || !$session) { return 0; } $sql = "SELECT u.id\n\t\tFROM " . PREF . "sessions AS s\n\t\tINNER JOIN " . PREF . "users AS u ON u.id=s.userid\n\t\tWHERE u.email='{$email}' AND s.name='{$session}' AND s.pwhash=u.pwhash\n\t\t\tAND s.valid>NOW() AND u.active='1'\n\t\tLIMIT 1"; $result = query($sql); $userid = (int) db_result00($sql); if (rand(0, 100) == 0) { $sql = "DELETE FROM " . PREF . "sessions\n\t\t\tWHERE valid<NOW()"; query($sql); } return $userid; }
<?php include "../include/config.php"; $post_get = new GetVarClass(); $email = $post_get->getemail("email"); if (!$email) { die("Отправить сообщение невозможно: введите корректный e-mail. "); } $editorid = loginbycookie(); if (!canEdit($editorid, $email)) { die("У вас недостаточно прав доступа, чтобы отправить сообщение {$email}. "); } $userid = (int) emailToId($email); $message = $post_get->getvar("message"); $sql = "INSERT INTO " . PREF . "messages (userid, authorid)\n\tVALUE ({$userid}, {$editorid})"; query($sql); $message_id = insert_id(); $sql = "UPDATE " . PREF . "messages\n\tSET message='{$message}'\n\tWHERE id={$message_id}\n\tLIMIT 1"; query($sql); $message_out = nl2br(db_unescape($message)); $link = $_SERVER["HTTP_HOST"] . "/edit.php?" . http_build_query(["email" => $email]); if ($editorid == $userid) { markUnread($userid); // send_mail_to_admin("$name написал сообщение", "$message_out <br /><a href=\"$link\">Ответить</a>"); } else { send_mail_by_userid($userid, "Мастер написал сообщение", "{$message_out} <br /><a href=\"{$link}\">Ответить</a>"); }
<?php include "../include/config.php"; function randomPassword() { $n = mt_rand(); $hash = antispamhash($n); $ret = substr(preg_replace("/[^a-zA-Z0-9]/", "", $hash), 0, 8); return $ret; } $post_get = new GetVarClass(); $email = $post_get->getemail("email"); $c = $post_get->getint("c"); $chash = $post_get->getvar("chash"); if (!$email) { die("Регистрация невозможна: введите корректный e-mail. "); } if (antispamhash($c) != $chash) { die("Регистрация невозможна: анти-спам тест не пройден. "); } $userid = emailToId($email); if ($userid) { $text = <<<EOT E-mail {$email} уже зарегистрирован. На всякий случай мы отправили вам ваш пароль на почту еще раз. <br /> Воспользуйтесь <a href="/#login">формой входа</a> на главной странице. <br /> По техническим вопросам обращайтесь к Бодигриму (andrew.lelechenko@gmail.com, skype bodigrim). EOT; echo $text; remindPassword($userid);