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