예제 #1
0
파일: model.photo.php 프로젝트: ygres/sblog
 public static function checkPostErrors($post)
 {
     if (empty($post["title"])) {
         system::registerEvent("error", "title", "Заголовок не может быть пустым", "Заголовок поста");
     }
     if (system::checkErrors()) {
         return false;
     }
     return true;
 }
예제 #2
0
파일: model.news.php 프로젝트: ygres/sblog
 public static function checkPostErrors($post)
 {
     if (empty($post["title"])) {
         system::registerEvent("error", "title", "Заголовок не может быть пустым", "Заголовок поста");
     }
     if (empty($post["categories"])) {
         system::registerEvent("error", "categories", "Необходимо выбрать категорию(ии)", "Категории");
     }
     if (empty($post["short"])) {
         system::registerEvent("error", "short", "У новости должен быть анонос текста", "Анонс текста");
     }
     if (isset($post["short"]) && mb_strlen($post["short"]) > 140) {
         system::registerEvent("error", "short", "Количество символов в анонсе текста превышет 140 символов.", "Анонс текста слишком длинный");
     }
     if (system::checkErrors()) {
         return false;
     }
     return true;
 }
예제 #3
0
 public static function initialVerify($ignoreExistingPost = false)
 {
     if (!empty($_POST["slug"])) {
         $_POST["slug"] = blog::handlePostName($_POST["slug"]);
     } else {
         if (!empty($_POST["title"])) {
             $_POST["slug"] = blog::handlePostName($_POST["title"]);
         }
     }
     if (!$ignoreExistingPost && self::postExist("slug", $_POST["slug"])) {
         system::registerEvent("error", "slug", "Такой адрес объекта уже занят", "URL");
     }
     if (empty($_POST["title"])) {
         system::registerEvent("error", "title", "Заголовок не может быть пустым", "Заголовок объекта");
     }
     if (isset($_FILES["picRealUpload"]) && $_FILES["picRealUpload"]["error"] === 0) {
         system::registerEvent("error", "picUpld", "Ошибка при загрузке файла", "Файл картинки");
     }
     if (system::checkErrors()) {
         return false;
     }
     return true;
 }
예제 #4
0
파일: user.php 프로젝트: ygres/sblog
 function controlpanel()
 {
     if (!isset($_SESSION["user"])) {
         return system::redirect('/');
     }
     system::setParam("page", "userProfile");
     $cacheID = "USERPANEL|user_" . $_SESSION["user"]["userID"];
     $this->smarty->setCacheID($cacheID);
     if ($_POST) {
         system::checkFields(array("email" => "E-mail", "nick" => "Имя"));
         if (!system::checkErrors()) {
             $post = array_map("htmlspecialchars", $_POST);
             $post = array_map("trim", $post);
             if (!isset($_POST["showEmail"]) || !$_POST["showEmail"]) {
                 $post["showEmail"] = "N";
             }
             $filtredPost = $post;
             if (!empty($post["password1"]) && empty($post["password2"])) {
                 system::registerEvent("error", "password1", "Введите проверочный пароль", "Проверочный пароль");
             } else {
                 if (!empty($post["password2"]) && empty($post["password1"])) {
                     system::registerEvent("error", "password2", "Введите пароль", "Пароль");
                 }
             }
             if (!empty($post["password1"]) && !empty($post["password2"]) && $_SESSION["user"]["source"] == "direct") {
                 unset($filtredPost["password1"], $filtredPost["password2"]);
                 if ($post["password2"] == $post["password1"]) {
                     $filtredPost["password"] = md5(md5($post["password1"]));
                 } else {
                     system::registerEvent("error", "password2", "Пароли не совпадают", "Проверочный пароль");
                     system::registerEvent("error", "password1", "Пароли не совпадают", "Проверочный пароль");
                 }
             }
             if (isset($filtredPost["password1"])) {
                 unset($filtredPost["password1"]);
             }
             if (isset($filtredPost["password2"])) {
                 unset($filtredPost["password2"]);
             }
             if (isset($_FILES["avatar"]) && $_FILES["avatar"]["error"] === 0 && $_SESSION["user"]["source"] == "direct") {
                 $expectedPics = user::processAvatar($_SESSION["user"]["userID"]);
                 $filtredPost["avatar"] = $expectedPics["avatar"]["big"];
                 $filtredPost["avatar_small"] = $expectedPics["avatar"]["small"];
             }
             $_SESSION["user"] = array_merge($_SESSION["user"], $filtredPost);
             foreach ($filtredPost as $k => $v) {
                 if (!$v) {
                     unset($filtredPost[$k]);
                 }
             }
             $this->db->updateTable("users", $filtredPost, "userID", $_SESSION["user"]["userID"]);
             $this->smarty->clearCache(null, "USERPROFILE|USERPANEL|user_" . $_SESSION["user"]["userID"]);
         }
         $this->smarty->clearCurrentCache();
         $this->smarty->clearBrowserCache();
     }
     if (isset($_GET["delUserAvatar"]) && $_GET["delUserAvatar"] == "true") {
         $this->smarty->clearCurrentCache();
         $this->smarty->clearBrowserCache();
     }
     if (isset($_GET["delUserAvatar"]) && $_GET["delUserAvatar"] == "true") {
         if (!$user["avatar"]) {
             unlink(CONTENT_PATH . "/avatars/" . $user["avatar"]);
         }
         if (!$user["avatar_small"]) {
             unlink(CONTENT_PATH . "/avatars/" . $user["avatar_small"]);
         }
         $this->db->updateTable("users", array("avatar" => "", "avatar_small" => ""), "userID", intval($_SESSION["user"]["userID"]));
         $_SESSION["user"]["avatar"] = $_SESSION["user"]["avatar_small"] = "";
         system::redirect("/{$this->controllerCall}/controlpanel");
     }
     if (!$this->smarty->isCached()) {
         $user = $this->db->query("SELECT * FROM `users` WHERE `userID`=?", $_SESSION["user"]["userID"])->fetch();
         $this->smarty->assign("fill", $user);
     }
 }
예제 #5
0
파일: model.user.php 프로젝트: ygres/sblog
 public static function processRequestCode($code)
 {
     self::$smarty->assign("code", $code);
     $passwordReady = true;
     $findCode = self::$db->query("SELECT * FROM `password_recovery` WHERE `code`='?' AND `add_date`>=DATE(DATE_SUB(NOW(), INTERVAL 3 DAY))", $code);
     if ($findCode->num_rows == 0) {
         $passwordReady = false;
         system::registerEvent("error", "password1", "Ваш запрос не найден в системе или просрочен.", "Ошибка");
     }
     self::$smarty->assign("passwordReady", $passwordReady);
     system::checkFields(array("password1" => "Пароль", "password2" => "Проверочный пароль"));
     if (isset($_POST["password1"]) && isset($_POST["password2"]) && $_POST["password1"] != $_POST["password2"]) {
         system::registerEvent("error", "password2", "Пароли не совпадают.", "Пароль");
         system::registerEvent("error", "password1", "Пароли не совпадают.", "Проверочный пароль");
     }
     if (isset($_POST["password1"]) && isset($_POST["password2"])) {
         if (!system::checkErrors()) {
             $user = $findCode->fetch();
             self::$db->query("UPDATE `users` SET `password`=md5(md5('?')) WHERE `userID`=?", trim($_POST["password1"]), $user["userID"]);
             self::$db->query("DELETE FROM `password_recovery` WHERE `id`=?", $user["id"]);
             system::redirect('/', 5, "Ваш пароль успешно изменён.");
         }
     }
 }