示例#1
0
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;
}
示例#2
0
<?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);
示例#3
0
<?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");
示例#4
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).
示例#5
0
<?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}. ");
}
$status = $post_get->getenumkeys("status", $langStatuses);
if (!$status) {
    die("Редактирование заявки невозможно: введите корректный статус.");
}
$sql = "UPDATE " . PREF . "users\n\tSET status='{$status}'\n\tWHERE email='{$email}'\n\tLIMIT 1";
query($sql);
$updated = (bool) affected_rows();
if ($updated) {
    $status_out = $langStatuses[$status];
    $link = $_SERVER["HTTP_HOST"] . "/edit.php?" . http_build_query(["email" => $email]);
    send_mail_by_userid(emailToId($email), "Мастер изменил статус вашей заявки на " . $status_out, "<a href=\"{$link}\">Просмотреть</a>");
}
示例#6
0
<?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;
示例#7
0
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;
}
示例#8
0
<?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>");
}
示例#9
0
<?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}. ");
}
$sql = "DELETE FROM " . PREF . "users\n\tWHERE email='{$email}'\n\tLIMIT 1";
query($sql);
redirect(isAdmin($editorid) ? "/table.php#{$email}" : "/actions/logout.php");
示例#10
0
<?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);