FIX: Видимость удаленного сайта

+ уберем валидацию из контроллеров (тестирование)
This commit is contained in:
Evg 2022-08-31 19:18:49 +03:00
parent 775ce7516a
commit 57b65c6ac6
5 changed files with 57 additions and 52 deletions

View file

@ -5,9 +5,9 @@ namespace App\Controllers\User;
use Hleb\Constructor\Handlers\Request;
use App\Controllers\Controller;
use App\Models\User\{SettingModel, UserModel};
use UploadImage, Validation, Meta, UserData, Img;
use UploadImage, Meta, UserData, Img;
use App\Validation\RulesEditSetting;
use App\Validate\RulesUserSetting;
class SettingController extends Controller
{
@ -53,7 +53,7 @@ class SettingController extends Controller
// Profile setup form
// Форма настройки профиля
function settingForm()
{
{
return $this->render(
'/user/setting/setting',
'base',
@ -70,7 +70,7 @@ class SettingController extends Controller
{
$data = Request::getPost();
RulesEditSetting::rules($data);
RulesUserSetting::rulesSetting($data);
$user = UserModel::getUser($this->user['id'], 'id');
@ -144,27 +144,11 @@ class SettingController extends Controller
function securityEdit()
{
$password = Request::getPost('password');
$password2 = Request::getPost('password2');
$password3 = Request::getPost('password3');
$data = Request::getPost();
RulesUserSetting::rulesSecurity($data, $this->user['email']);
$redirect = '/setting/security';
if ($password2 != $password3) {
is_return(__('msg.pass_match_err'), 'error', $redirect);
}
if (substr_count($password2, ' ') > 0) {
is_return(__('msg.password_spaces'), 'error', $redirect);
}
Validation::length($password2, 8, 32, 'password', $redirect);
$userInfo = UserModel::userInfo($this->user['email']);
if (!password_verify($password, $userInfo['password'])) {
is_return(__('msg.old_error'), 'error', $redirect);
}
$newpass = password_hash($password2, PASSWORD_BCRYPT);
$newpass = password_hash($data['password2'], PASSWORD_BCRYPT);
SettingModel::editPassword(['id' => $this->user['id'], 'password' => $newpass]);

View file

@ -39,15 +39,15 @@ class UserAreaModel extends \Hleb\Scheme\App\Models\MainModel
GROUP BY relation_item_id
) AS rel
ON rel.relation_item_id = item_id
WHERE item_user_id = :user_id ORDER BY item_id DESC
LIMIT :start, :limit ";
WHERE item_user_id = :user_id AND item_is_deleted = 0
ORDER BY item_id DESC LIMIT :start, :limit ";
return DB::run($sql, ['user_id' => $user_id, 'start' => $start, 'limit' => $limit])->fetchAll();
}
public static function getUserSitesCount($user_id)
{
$sql = "SELECT item_id, item_is_deleted FROM items WHERE item_user_id = :user_id ORDER BY item_id DESC";
$sql = "SELECT item_id, item_is_deleted FROM items WHERE item_user_id = :user_id AND item_is_deleted = 0 ORDER BY item_id DESC";
return DB::run($sql, ['user_id' => $user_id])->rowCount();
}

View file

@ -0,0 +1,44 @@
<?php
namespace App\Validate;
use App\Models\User\UserModel;
class RulesUserSetting extends Validator
{
public static function rulesSetting($data)
{
$redirect = url('setting');
self::length($data['name'], 5, 11, 'name', $redirect);
self::length($data['about'], 5, 255, 'about', $redirect);
if ($data['public_email']) {
self::email($data['public_email'], $redirect);
}
return true;
}
public static function rulesSecurity($data, $email)
{
$redirect = '/setting/security';
if ($data['password2'] != $data['password3']) {
is_return(__('msg.pass_match_err'), 'error', $redirect);
}
if (substr_count($data['password2'], ' ') > 0) {
is_return(__('msg.password_spaces'), 'error', $redirect);
}
self::length($data['password2'], 8, 32, 'password', $redirect);
$userInfo = UserModel::userInfo($email);
if (!password_verify($data['password'], $userInfo['password'])) {
is_return(__('msg.old_error'), 'error', $redirect);
}
return true;
}
}

View file

@ -1,10 +1,9 @@
<?php
namespace App\Validation;
namespace App\Validate;
class Validation
class Validator
{
// Validation::email
public static function email($email, $redirect)
{
if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
@ -13,7 +12,6 @@ class Validation
return true;
}
// Validation::url
public static function url($url, $redirect)
{
if (filter_var($url, FILTER_VALIDATE_URL) === false) {
@ -22,7 +20,6 @@ class Validation
return true;
}
// Validation::length
public static function length($content, $min, $max, $name, $redirect = '/')
{
if (self::getStrlen($content) < $min || self::getStrlen($content) > $max) {

View file

@ -1,20 +0,0 @@
<?php
namespace App\Validation;
class RulesEditSetting extends Validation
{
public static function rules($data)
{
$redirect = url('setting');
self::length($data['name'], 5, 11, 'name', $redirect);
self::length($data['about'], 5, 255, 'about', $redirect);
if ($data['public_email']) {
self::email($data['public_email'], $redirect);
}
return true;
}
}