Beispiel #1
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();
}
Beispiel #2
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' => "Неправильное имя пользователя или пароль."]);
}
Beispiel #3
0
<?php

namespace Gallery;

use Gallery\Database\DB;
use Gallery\Utilities\UserState;
use Gallery\Utilities\Parameters;
use Gallery\Utilities\Redirect;
$login = $_POST['login'];
$email = $_POST['email'];
$pswd = $_POST['password'];
$pswd2 = $_POST['repeat-password'];
$db = new DB();
$r = new Redirect('registration');
if (strlen($login) < 6) {
    $r->with(['msg' => "Логин не должен быть меньше 6 символов."]);
} else {
    if (preg_match('([^a-zA-Z0-9_])', $login)) {
        $r->with(['msg' => "Логин может содержать только латинские буквы, цифры\r\n            и символ подчеркивания."]);
    } else {
        if ($db->checkLogin($login)) {
            $r->with(['msg' => "Логин занят."]);
        } else {
            if (!preg_match('(@)', $email)) {
                $r->with(['msg' => "Некорректный почтовый адрес."]);
            } else {
                if ($db->checkEMail($email)) {
                    $r->with(['msg' => "EMail занят."]);
                } else {
                    if (strlen($pswd) < 6) {
                        $r->with(['msg' => "Пароль не должен быть меньше 6 символов."]);
Beispiel #4
0
if ($state->isState('authorized')) {
    $login = $state->getState('authorized');
    if ($_FILES['image']['error'] !== 0) {
        error("Ошибка при загрузке изображения.");
    } else {
        if ($_FILES['image']['size'] === 0) {
            error("Файл не выбран.");
        } else {
            $tmpImage = $_FILES['image']['tmp_name'];
            $size = getimagesize($tmpImage);
            $typeToImgCreateFuncs = ['image/gif' => 'imagecreatefromgif', 'image/jpeg' => 'imagecreatefromjpeg', 'image/png' => 'imagecreatefrompng', 'image/bmp' => 'imagecreatefrombmp'];
            if (!$size || !in_array($size['mime'], array_keys($typeToImgCreateFuncs))) {
                error("Некорректный формат изображения.");
            } else {
                $param = new Parameters();
                $db = new DB();
                $id = $db->addImage($login);
                $image = call_user_func($typeToImgCreateFuncs[$size['mime']], $tmpImage);
                $imagePath = $param->imagesPath . $login . DIRECTORY_SEPARATOR;
                $ratio = $size[1] / $size[0];
                $size = $param->previewSize;
                $scaled = imagescale($image, $size['width'], $size['height'] * $ratio);
                imagejpeg($image, $imagePath . $id . '.jpg', 100);
                imagejpeg($scaled, $imagePath . $id . $param->previewSuffix . '.jpg');
                imagedestroy($image);
                imagedestroy($scaled);
                echo "success";
            }
        }
    }
}
Beispiel #5
0
<?php

namespace Gallery;

use Gallery\Database\DB;
use Gallery\Utilities\Parameters;
use Gallery\Utilities\UserState;
$state = new UserState();
if ($state->isState('authorized')) {
    $db = new DB();
    $param = new Parameters();
    $login = $state->getState('authorized');
    $images = $db->getImagesByUser($login);
    $path = $param->imagesPath . $login . DIRECTORY_SEPARATOR;
    $imgPaths = array_map(function ($x) use($path) {
        return $path . $x . '.jpg';
    }, $images);
    $prevImgPaths = array_map(function ($x) use($path, $param) {
        return $path . $x . $param->previewSuffix . '.jpg';
    }, $images);
    echo json_encode(array_map(null, $imgPaths, $prevImgPaths, $images));
}
Beispiel #6
0
<?php

namespace Gallery;

use Gallery\Views\Page;
use Gallery\Data\SimpleData as Data;
use Gallery\Utilities\UserState;
use Gallery\Utilities\Redirect;
use Gallery\Database\DB;
use Gallery\Utilities\Parameters;
$state = new UserState();
if ($state->isState('verifyMailTag')) {
    $tag = isset($_GET['tag']) ? $_GET['tag'] : "";
    if ($state->getState('verifyMailTag') === $_GET['tag']) {
        $login = $state->getState("login");
        $email = $state->getState("email");
        $pswd = $state->getState("password");
        $db = new DB();
        $db->addUser($login, $email, $pswd);
        $param = new Parameters();
        mkdir($param->imagesPath . $login);
        $state->setState("authorized", $login);
        $state->unsetState("verifyMailTag");
        $state->unsetState("login");
        $state->unsetState("email");
        $state->unsetState("password");
        Redirect::toRoot();
    }
}
$page = new Page('VerifyMail', new Data(['email' => $_GET['email']]));
$page->render();
Beispiel #7
0
<?php

namespace Gallery;

use Gallery\Utilities\Parameters;
use Gallery\Database\DB;
use Gallery\Utilities\UserState;
$state = new UserState();
if ($state->isState('authorized')) {
    $img = $_GET['img'];
    $login = $state->getState("authorized");
    $param = new Parameters();
    $path = $param->imagesPath . $login . DIRECTORY_SEPARATOR;
    $db = new DB();
    $db->deleteImage($img);
    unlink($path . $img . '.jpg');
    unlink($path . $img . $param->previewSuffix . '.jpg');
}