Файл: mob-lave.ru/admin/accesses.php
Строк: 122
<?
require_once '../core/set.php';
user_access('users_prava',null,'index.php?');
// ------------ Новые права ---------------- //
if(isset($_GET['new'])){
    $set['title'] = 'Новые права';
     require_once H.'core/head.php';
    require_once  H.'core/panel.php';    
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a> '.$z.'<a href="/admin/accesses.php">Должности</a>'.$z. $set['title'].'</div>';
    if(isset($_POST['type']) && isset($_POST['opis'])){
        $type = check($_POST['type']);
        $opis = check($_POST['opis']);
        if (strlen($type) < 3 or strlen($type) > 50) $err = 'Тип прав должен быть в пределах 3 - 50 символов';
        if (strlen($opis) < 3 or strlen($opis) > 150) $err = 'Описание прав должено быть в пределах 3 - 150 символов';
        err();
        if(!isset($err)){
            mysql_query("INSERT INTO `$system[perfix]_all_accesses` SET `type` = '$type', `name` = '$opis'");
            header('Location: /admin/accesses.php');
            msg('Привилегии успешно изменены');
        }
    }
    
    echo '<form method="post">
        Тип прав (max 50)<br/><input type="text" name="type"/><br/>    
        Описание (max 150)<br/><textarea name="opis"></textarea><br/>
        <input type="submit" value="Создать"/>
    </form>';
    
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a> '.$z.'<a href="/admin/accesses.php">Должности</a>'.$z. $set['title'].'</div>';
    require_once H.'core/foot.php';
    exit();
}
if (isset($_GET['id_group']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `$system[perfix]_user_group` WHERE `id` = '".num($_GET['id_group'])."'"), 0)){
    $group=mysql_fetch_assoc(mysql_query("SELECT * FROM `$system[perfix]_user_group` WHERE `id` = '".num($_GET['id_group'])."'"));
    $set['title'] = 'Уровни доступа'; // заголовок страницы
    require_once H.'core/head.php';
    require_once H.'core/panel.php';
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">В панель управления</a>'.$z.'<a href="/admin/accesses.php">Должности</a>'.$z. $set['title'].'</div>';
    
    if (isset($_POST['accesses'])){
        mysql_query("DELETE FROM `$system[perfix]_user_group_access` WHERE `id_group` = '$group[id]'");
        $q=mysql_query("SELECT * FROM `$system[perfix]_all_accesses`");
        while ($post = mysql_fetch_assoc($q)){
            $type = check($post['type']);
            if (isset($_POST[$type]) && $_POST[$type]==1)
            mysql_query("INSERT INTO `$system[perfix]_user_group_access` (`id_group`, `id_access`) VALUES ('$group[id]', '$post[type]')");
        }
        msg('Привилегии успешно изменены');
    }
    echo "<form method='post' action='?id_group=$group[id]'>n";
    $q=mysql_query("SELECT * FROM `$system[perfix]_all_accesses` ORDER BY `name` ASC");
    while ($post = mysql_fetch_assoc($q)){
        echo "<label>";
        echo "<input type='checkbox'".(mysql_result(mysql_query("SELECT COUNT(*) FROM `$system[perfix]_user_group_access` WHERE `id_group` = '$group[id]' AND `id_access` = '$post[type]' LIMIT 1"),0)==1?" checked='checked'":null)." name='$post[type]' value='1' />";
        echo $post['name'];
        echo "</label><br />n";
    }
    echo "<input value='Применить' name='accesses' type='submit' />n";    echo '<a href="/admin/accesses.php?new">Новые права</a>';
    echo "</form>n";
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">В панель управления</a>'.$z.'<a href="/admin/accesses.php">Должности</a>'.$z. $set['title'].'</div>';
    require_once H.'core/foot.php';    exit();
}
$set['title']='Должности'; // заголовок страницы
require_once H.'core/head.php';
require_once H.'core/panel.php';    
echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a>'.$z. $set['title'].'</div>';
// --------- Новая должность -------- //
if(isset($_GET['new_dol'])){
    if(isset($_POST['id']) && isset($_POST['level']) && isset($_POST['name'])){
        $id = num($_POST['id']);
        $level = num($_POST['level']);
        $name = check($_POST['name']);
        
        if(strlen($id) > 15) $err = 'Права болше 15';
        if(strlen($level) > 4) $err = 'Уровень болше 4';
        
        err();
        
        if(!isset($err)){
            mysql_query("INSERT INTO `$system[perfix]_user_group` SET `id` = '$id', `level` = '$level', `name` = '$name'");
            $_SESSION['message'] = 'Новая должность создана';
            header('Location: /admin/accesses.php');
        }
    }
        
    echo '<form method="post"> 
        Права (0 - 15) <br /><input type="text" name="id" /><br />
        Уровень (0 - 4)<br /><input type="text" name="level" /><br />
        Должность (2 - 30)<br /><input type="text" name="name" /><br />
        <input type="submit" value="Создать" /> <a href="/admin/accesses.php">Отмена</a>
    </form>';
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a>'.$z. $set['title'].'</div>';
    require_once H.'core/foot.php';
    exit();
}
    
// ---------- Ред должность --------- //
if(isset($_GET['edit'])){
    $edit = num($_GET['edit']);
    $test = mysql_fetch_assoc(mysql_query("SELECT * FROM `$system[perfix]_user_group` WHERE `id` = '$edit'"));
    
    if(isset($_POST['id']) && isset($_POST['level']) && isset($_POST['name'])){
        $id = num($_POST['id']);
        $level = num($_POST['level']);
        $name = check($_POST['name']);
        
        if(strlen($id) > 15) $err = 'Права болше 15';
        if(strlen($level) > 4) $err = 'Уровень болше 4';
        
        err();
        
        if(!isset($err)){
            mysql_query("UPDATE `$system[perfix]_user_group` SET `id` = '$id', `level` = '$level', `name` = '$name' WHERE `id` = '$id'");
            $_SESSION['message'] = 'Обновлено';
            header('Location: /admin/accesses.php');
        }
    }
    
    echo '<form method="post">
        Права (0 - 15) <br /><input type="text" name="id" value="'.num($test['id']).'" /><br />
        Уровень (0 - 4)<br /><input type="text" name="level"  value="'.num($test['level']).'" /><br />
        Должность (2 - 30)<br /><input type="text" name="name" value="'.htmlspecialchars($test['name']).'"  /><br />
        <input type="submit" value="Создать" /> <a href="/admin/accesses.php">Отмена</a>
    </form>';
    echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a>'.$z. $set['title'].'</div>';
    require_once H.'core/foot.php';
    exit();
}
$accesses=mysql_query("SELECT * FROM `$system[perfix]_user_group`");
while ($res = mysql_fetch_assoc($accesses)){
    echo '<div>';
    echo '<table width="100%" cellspacing="0" cellpadding="0"><tr>';
    echo "<td class='mess'><a href='?id_group=$res[id]'>".htmlspecialchars($res['name'])." (id$res[id], L$res[level], ".mysql_result(mysql_query("SELECT COUNT(*) FROM `$system[perfix]_user_group_access` WHERE `id_group` = '$res[id]'"),0).")</a></td>";
    echo '<td class="mess" width="20px" align="right"><a href="/admin/accesses.php?edit='.$res['id'].'"><div id="dark" class="icon-pencil"></div></a></td>';
    echo '</tr></table></div>';
}
echo '<div class="navig"><div id="dark" class="icon-plus"></div> <a href="/admin/accesses.php?new_dol">Новая должность</a></div>';
echo '<div class="navig">'.$home. $z.'<a href="/admin/">Панель управления</a>'.$z. $set['title'].'</div>';
require_once H.'core/foot.php';
?>