Esempio n. 1
0
<?php

namespace Gallery;

use Gallery\Views\Page;
use Gallery\Database\DB;
use Gallery\Utilities\UserState;
use Gallery\Utilities\Redirect;
$r = new Redirect();
$db = new DB();
if ($db->checkUser($_POST['login'], $_POST['password'])) {
    $state = new UserState();
    $state->setState("authorized", $_POST['login']);
    $r->with();
} else {
    $r->with(['msg' => "Неправильное имя пользователя или пароль."]);
}
Esempio n. 2
0
<?php

namespace Gallery;

use Gallery\Utilities\UserState;
use Gallery\Utilities\Redirect;
$state = new UserState();
$state->unsetState('authorized');
Redirect::toRoot();
Esempio n. 3
0
<?php

namespace Gallery;

use Gallery\Database\DB;
use Gallery\Utilities\UserState;
use Gallery\Utilities\Parameters;
use Gallery\Utilities\Redirect;
$r = new Redirect();
$state = new UserState();
if ($state->isState('authorized')) {
    $login = $state->getState('authorized');
    $db = new DB();
    $images = $db->getImagesByUser($login);
    $db->deleteUser($login);
    $param = new Parameters();
    $path = $param->imagesPath . $login;
    foreach ($images as $img) {
        unlink($path . DIRECTORY_SEPARATOR . $img . '.jpg');
        unlink($path . DIRECTORY_SEPARATOR . $img . $param->previewSuffix . '.jpg');
    }
    rmdir($path);
    $state->unsetState('authorized');
    $r->with(['msg' => "Аккаунт удален."]);
} else {
    Redirect::toRoot();
}
Esempio n. 4
0
                    } else {
                        if (preg_match('([^a-zA-Z0-9_])', $pswd)) {
                            $r->with(['msg' => "Пароль может содержать только латинские буквы, цифры\r\n            и символ подчеркивания."]);
                        } else {
                            if ($pswd !== $pswd2) {
                                $r->with(['msg' => "Пароли не совпадают."]);
                            } else {
                                // данные корректны, отправляем письмо для проверка email:
                                $tag = md5($email + time());
                                $state = new UserState();
                                $state->setState("verifyMailTag", $tag);
                                $state->setState("login", $login);
                                $state->setState("email", $email);
                                $state->setState("password", password_hash($pswd, PASSWORD_DEFAULT));
                                $subject = 'Подтверждение регистрации';
                                $param = new Parameters();
                                $link = $param->hostname . "/verifymail.php?tag={$tag}";
                                $message = "<html>\r\n    <head>\r\n      <title>Подтверждение регистрации</title>\r\n    </head>\r\n    <body>\r\n      Для подтверждения регистрации в галерее картинок пройдите по ссылке:<br>\r\n      <a href={$link}>{$link}</a>\r\n    </body>\r\n    </html>\r\n    ";
                                $headers = 'MIME-Version: 1.0' . "\r\n";
                                $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
                                mail($email, $subject, $message, $headers);
                                $r = new Redirect('verifymail');
                                $r->with(['email' => $email]);
                            }
                        }
                    }
                }
            }
        }
    }
}