Файл: soc-set/panel/user.php
Строк: 123
<?php
require_once('../core/start.php');
check_auth();
head('Управление пользователями');
echo DIV_TITLE . 'Управление пользователем' . CLOSE_DIV;
$id = num($_GET['id']);
$page = DB::$dbs->queryFetch("SELECT * FROM ".USERS." WHERE `user_id` = ?",array($id));
if (empty($page)) {
    $err .= 'Пользователь не найден<br />';       
}
 
if ($err) {
    echo DIV_ERROR . $err . CLOSE_DIV;
} else {
    
    switch ($select) {
        
        default:
        
        break;
        
        case 'edit':
        if (privilegy('anceta_update', $id)) {
            if ($_POST) {
                $surname = html($_POST['surname']);
                $name = html($_POST['name']);
                $gender = num($_POST['gender']);
                $age = num($_POST['age']);
                $level = num($_POST['level']);
                        
                if (empty($surname) || empty($name)) {
                    $err .= 'Заполните все поля<br />';
                }
                        
                if (strlen($surname) < 2) {
                    $err .= 'Слишком короткая фамилия. [Min. 2 символа]<br />';
                }
                        
                if (strlen($name) < 2) {
                    $err .= 'Слишком короткое имя. [Min. 2 символа]<br />';
                }
                        
                if ($age > 75 || 10 > $age) {
                    $err .= 'Не верный возраст<br />';
                }
                
                if ($err) {
                    echo DIV_ERROR . $err . CLOSE_DIV;
                } else {
                    DB::$dbs->query("UPDATE ".USERS." SET `surname` = ?, `name` = ?, `gender` = ?, `age` = ?, `level` = ? WHERE `user_id` = ?",array($surname, $name, $gender, $age, $level, $page['user_id']));
                    echo DIV_MSG . 'Данные успешно обновлены' . CLOSE_DIV;
                }
                                
            }
            
            echo DIV_BLOCK;
            echo '<form action="#" method="POST">';
            echo 'Фамилия:<br /><input type="text" name="surname" value="'.$page['surname'].'" /><br /><br />';
            echo 'Имя:<br /><input type="text" name="name" value="'.$page['name'].'" /><br /><br />';
            echo 'Пол:<br /><input type="radio" name="gender" value="0" '.($page['gender'] == 0 ? 'checked="checked"' : NULL).' /> Женский<br /><input type="radio" name="gender" value="1" '.($page['gender'] == 1 ? 'checked="checked"' : NULL).' /> Мужской<br /><br />';
                    
            echo 'Возраст:<br /><select name="age">';
            $i = 10;
            while ($i <= 75) {
                echo ' <option value="'.$i.'" '.($i == $page['age'] ? 'selected="selected"' : NULL).' ">'.$i.'</option>';
                ++$i;
            }
            echo '</select><br /><br />';
                    
            echo 'Уровень:<br /><select name="level">';
            echo '<option value="0" '.((0 || NULL) == $page['level'] ? 'selected="selected"' : NULL).' ">Стажер</option>';
            
            $sql = DB::$dbs->query("SELECT * FROM ".POSITIONS."");
            while($pos = $sql -> fetch()) {
                echo '<option value="'.$pos['id'].'" '.($pos['id'] == $page['level'] ? 'selected="selected"' : NULL).' ">'.$pos['position'].'</option>';
            }   
            echo '</select><br /><br />';
                    
            echo '<input type="submit" value="Сохранить" />';
            echo '</form><br /><br />';
            echo CLOSE_DIV;
        } else {
            echo DIV_BLOCK . 'Ошибка доступа' . CLOSE_DIV;
        }
        echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/panel">Панель управления</a> / <b>Редактирование анкеты</b>' . CLOSE_DIV; 
        break;
        
        case 'delete':
        if (privilegy('anceta_delete', $id)) {
            if (empty($_GET['go'])) {
                echo DIV_BLOCK . 'Вы уверены что хотите удалить <b>'.$page['name'].'</b>?' . CLOSE_DIV;
                echo DIV_LI . '<a href="'.HOME.'/panel/user/delete/'.$page['user_id'].'?go=yes">Да</a> | <a href="'.HOME.'/panel/user/edit/'.$page['user_id'].'">Нет</a>' . CLOSE_DIV;
            } else {
                DB::$dbs->query("DELETE FROM ".USERS." WHERE `user_id` = ?",array($page['user_id']));
                echo DIV_MSG . 'Пользователь успешно удален' . CLOSE_DIV;
            }
        } else {
            echo DIV_BLOCK . 'Ошибка доступа' . CLOSE_DIV;
        }
        echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/panel">Панель управления</a> / <b>Удаление пользователя</b>' . CLOSE_DIV; 
        break;
        
        case 'bann':
        if (privilegy('anceta_bann', $id)) {
            if ($_POST) {
                $arr = array(0 => 0, 1 => 300, 2 => 600, 3 => 900, 4 => 1800, 5 => 3600, 6 => 7200, 7 => 21600, 8 => 43200, 9 => 86400, 10 => 259200, 11 => 604800,
                             12 => 864000, 13 => 1209600, 14 => 2592000, 15 => 7776000, 16 => 15552000);
                
                $bann_time = num($_POST['bann_time']);
                $prich = html($_POST['prich']);
                $uip = num($_POST['uip']);
                
                $time = time() + $arr[$bann_time];
                
                if (empty($prich)) {
                    $err .= 'Укажите причину';
                }
                
                if ($err) {
                    echo DIV_ERROR . $err . CLOSE_DIV;
                } else {
                    DB::$dbs->query("INSERT INTO ".BANN." (`user_id`, `moder`, `time_bann`, `prich`, `time`) VALUES (?, ?, ?, ?, ?)", array($page['user_id'], $user['user_id'], $time, $prich, time()));
                    
                    if ($uip == TRUE) {
                        DB::$dbs->query("INSERT INTO ".BLACKLIST." (`ua`, `ip`) VALUES (?, ?)", array($page['browser'], $page['ip']));
                    }
                    
                    echo DIV_MSG . 'Пользователь успешно забанен' . CLOSE_DIV;
                }
            }
                
            echo DIV_BLOCK;
            echo '<form action="#" method="POST">
            <b>Заблокировать доступ к сайту, на:</b><br /><select name="bann_time">
            <option value="0"">На всегда</option>
            <option value="1">5 мин.</option>
            <option value="2">10 мин.</option>
            <option value="3">15 мин.</option>
            <option value="4">30 мин.</option>
            <option value="5">1 ч.</option>
            <option value="6">2 ч.</option>
            <option value="7">6 ч.</option>
            <option value="8">12 ч.</option>
            <option value="9">1 ст.</option>
            <option value="10">3 ст.</option>
            <option value="11">1 нед.</option>
            <option value="12">10 ст.</option>
            <option value="13">2 нед.</option>
            <option value="14">1 мес.</option>
            <option value="15">2 мес.</option>
            <option value="15">6 мес.</option>
            <option value="16">1 год.</option>
            </select><br /><br />';
                
            echo 'Добавить User Agent и IP в черный список: <input type="checkbox" name="uip" value="1" /><br /><br />';
                
            echo 'Причина:<br /><input type="text" name="prich" /><br /><br />';
                    
            echo '<input type="submit" value="Забаннить" />';
            echo '</form>';
            echo CLOSE_DIV;   
        } else {
            echo DIV_BLOCK . 'Ошибка доступа' . CLOSE_DIV;
        }    
        echo DIV_GO . '<a href="'.HOME.'/">Главная</a> / <a href="'.HOME.'/panel">Панель управления</a> / <b>Банн пользователя</b>' . CLOSE_DIV;  
        break;
    
    }
}
require_once('../core/stop.php');
?>