public function passwordResetAction() { if (isset(Request::getUri()[0])) { $model = new PageModel(); if ($model->recoveryHashExist(Request::getUri()[0])) { $this->view->success = false; if (isPost()) { $post = allPost(); if (isset($post['email']) && isset($post['password']) && isset($post['password2'])) { if ($post['password'] == $post['password2']) { if (checkLenght($post['password'], 6, 20)) { if ($model->recoveryHashExist(Request::getUri()[0], $post['email'])) { if ($model->resetPassword($post['email'], $post['password'])) { $this->view->msg = "You have successfully changed password."; $this->view->success = true; $message = "Dear,<br/>Your account password at <a href=\"" . SITE_URL . "\">" . SITE_NAME . "</a> was changed.<br/>" . "New password is " . $post['password'] . "<br/>" . "Please do not share him!" . "<br/><br/>" . "Thanks for using our service,<br/>" . "Best regards,<br/>Administration."; $headers = "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset=utf-8\r\n"; if (mail($post['email'], "Password Reset", $message, $headers)) { $this->view->msg .= " Notification about password reset was sent to your email."; } } else { $this->view->msg = "Something wrong. Please try again later."; } } else { $this->view->msg = "Wrong email. Please check entered data"; } } else { $this->view->msg = "Allowed password length may be from 6 to 20 characters."; } } else { $this->view->msg = "Passwords aren't similar! Try again"; } } else { $this->view->msg = "You must fill all fields! Try again"; } } $model->deleteOldRecovery(); $this->view->langPars = true; $this->view->hash = Request::getUri()[0]; $this->view->title = Lang::translate("PASSWORD_RESET_TITLE"); } else { setMyCookie('error', "Wrong password recovery code.", time() + 5); redirect(url('page', 'recovery')); } } else { redirect(url()); } }
function validateInputtedValue($db, $fieldValue, $fieldCateg) { $err = array(); if ($fieldCateg == 'authorName') { //check for lenght if (!checkLenght($fieldValue, 3, 250)) { $err[] = "Дължината на автора трябва да е между 3 и 250 символа."; } // check for exists $authorName[] = $fieldValue; if (isNameExistsInTable($db, $authorName, 'authors', 'author_name')) { $err[] = "Автор с това име вече съществува, моля пробвайте с друго име."; } } if ($fieldCateg == 'bookName') { //check for lenght if (!checkLenght($fieldValue, 3, 250)) { $err[] = "Заглавието на книгата може да бъде между 3 и 250 символа."; } // check for exists $booksName[] = $fieldValue; if (isNameExistsInTable($db, $booksName, 'books', 'book_title')) { $err[] = "Книгата вече съществува, моля пробвайте с друго заглавие."; } } if ($fieldCateg == 'userName') { //check for lenght if (!checkLenght($fieldValue, 3, 15)) { $err[] = "Дължината на потребителското име трябва да е между 3 и 15 символа."; } } if ($fieldCateg == 'bookNotes') { //check for lenght if (!checkLenght($fieldValue, 0, 1000)) { $err[] = "Дължината на забележката трябва да е между 0 и 1000 символа."; } } if ($fieldCateg == 'newUserName') { // check for exists $userName[] = $fieldValue; if (isNameExistsInTable($db, $userName, 'users', 'user_name')) { $err[] = "Потребителското име вече съществува, моля пробвайте с друго име."; } } if ($fieldCateg == 'userPass') { //check for lenght if (!checkLenght($fieldValue, 3, 15)) { $err[] = "Дължината на потребителската парола трябва да е между 3 и 15 символа."; } } if ($fieldCateg == 'msgTitle') { //check for lenght if (!checkLenght($fieldValue, 1, 50)) { $err[] = "Заглавието на съобщението трябва да съдържа от 1 до 50 символа."; } } if ($fieldCateg == 'msgText') { //check for lenght if (!checkLenght($fieldValue, 1, 250)) { $err[] = "Съдържанието на съобщението трябва да съдържа от 1 до 250 символа."; } } return $err; }