Вход Регистрация
Файл: pages/apanel/user_edit.php
Строк: 91
<?

$link 
false;
if (isset(
$urlType[2])) {
    
$link $urlType[2];
}
$us $sql->fetch("SELECT * FROM `users` where `link` = ? ", [$link]);

if ((
$user['id_level'] <= $us['id_level']) or ($user['id'] == $us['id']) OR !$us) {
    exit(
header("Location: /"));
}
$us['login'] = output($us['login']);
$us['email'] = output($us['email']);

$PageConfig = [
    
'title' => 'Редактирование - '$us['login'],
];
PageConfig($PageConfig);

?><div class="title">
    <a class="title" style="color:#5ca0c1;" href="/apanel/users/">
        Пользователи
    </a> /
    <?=$PageConfig['title']?> 
</div><?

if (isset($_POST['login'])) {
    
$login $_POST['login'];
    
$email $_POST['email'];
    
$id_level $_POST['id_level'];
    
    
$status $_POST['status'];
    
$newlink $_POST['link'];
    
$newlink translit($newlink,1,1);
    
    if (
FileSystem::TextStrlen($newlink) < 3) {
        
$err[] = ('Персональная ссылка слишком короткая');
    }
    if (
FileSystem::TextStrlen($login) > 16) {
        
$err[] = ('Логин слишком длинный');
    }
    if (
FileSystem::TextStrlen($login) < 3) {
        
$err[] = ('Логин слишком короткий');
    }
    if (
FileSystem::TextStrlen($email) > 32) {
        
$err[] = ('Email слишком длинный');
    }
    if (
FileSystem::TextStrlen($email) < 6) {
        
$err[] = ('Email слишком короткий');
    }
    if (!
preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:.?[a-z0-9]+)?.[a-z]{2,5})$/i"$email)) {
        
$err[] = ('Ошибка в поле email');
    }
    if(!
preg_match("/^p{L}[p{L}d-_ ]+$/ui"$login)) {
        
$err[] = ('В нике присутствуют запрещенные символы');
    }
    if (
preg_match("#[a-z]+#ui"$login) && preg_match("#[а-я]+#ui"$login)) {
        
$err[] = ('Разрешается использовать символы только русского или только английского алфавита');
    }
    
$checklogin $sql->rowCount("SELECT * FROM `users` where `login` = ? ", [$login]);
    if (
$checklogin == AND $login != $us['login']) {
        
$err[] = ('Логин уже занят');
    }
    
$checkemail $sql->rowCount("SELECT * FROM `users` where `email` = ? ", [$email]);
    if (
$checkemail == AND $email != $us['email']) {
        
$err[] = 'Email уже занят';
    }
    
$password false;
    if (isset(
$_POST['password_3']) AND FileSystem::TextStrlen($_POST['password_3'])) {
        
$password $_POST['password_3'];
        if (
stripos(file_get_contents(H.'core/config/if_password.txt'), $password) !== false || $password == $login || is_numeric($password)) {
            
$err[] = 'Пароль слишком простой';
        }
        if (
FileSystem::TextStrlen($password) < 6) {
            
$err[] = ('Пароль слишком короткий');
        }
        
        if (!isset(
$err)) {
            
$password shif($password);
            
$password ", `password` = '{$password}'";
        }
    }
    
    if (!isset(
$err)) {
        
$sql->query("UPDATE `users` SET `link` = ?,    `login` = ?, `email` = ?, `id_level` = ?, `status` = ?  {$password} WHERE `id` = '{$us['id']}';",
            [
$newlink$login$email$id_level$status]
        );
        
CacheDelete::user($us['id']);
        
redirection('/apanel/user_edit/'$newlink .'/','Успешно');
    }
}
if (isset(
$err)) {
    
err($err);
}
?>
    <form method="post" name="message" action="">
        <div class="post_title_3">Логин</div>
        <input class="form-input" type="text" name="login" value="<?=($us['login'])?>">
        
        <div class="post_title_3">Email</div>
        <input class="form-input" type="text" name="email" value="<?=($us['email'])?>">        

        <? if ($user['id_level'] >= 2) : ?>
        <div class="post_title_3">Права доступа</div>
            <div class="select">
                <select name="id_level">
                    <option value="0" <?=($us['id_level'] ==  ?" selected='selected'":'')?>>Пользователь (level 0)</option>
                    <option value="1" <?=($us['id_level'] ==  ?" selected='selected'":'')?>>Модератор (level 1)</option>
                    <option value="2" <?=($us['id_level'] ==  ?" selected='selected'":'')?>>Администратор (level 2)</option>
                    <option value="3" disabled='disabled'>Системный администратор (level 3)</option>
                </select>
            </div>
        <? endif ?>

        <div class="post_title_3">Новый пароль</div>
        <input class="form-input" type="text" name="password_3" value="">
        
        <div class="post_title_3">Персональная ссылка</div>
        <input class="form-input" type="text" name="link" value="<?=($us['link'])?>">        

        <div class="post_title_3">Статус</div>
        <textarea name="status"><?=output($us['status'],'html')?></textarea><br />
        
        <input value="Сохранить" type="submit">
    </form>    
    <br/>    
<?
Онлайн: 1
Реклама