Файл: moduls/panelka.php
Строк: 515
<?php
include_once'../system/xcms_core.php';$title='Админка';
if($_COOKIE['style']=='web')require_once '../system/web_head.php'; else require_once '../system/head.php';
if($user['level']){
    switch($act){
        case 'user':
        if($user['level']==6){
            $k_post=$db->query("select `id` from `user`")->rowCount();
            $k_page=k_page($k_post,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
            $query = $db->query("select * from `user` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
            if($k_post>0){
                while($row=$query->fetch(PDO::FETCH_ASSOC)){
                    if($row['ban']=='1')$link_ban='разбан.'; else $link_ban='бан.';
                    echo '<div class="menu"><a href="profile'.$row['id'].'">'.$row['login'].'</a> <b>'.$row['balans'].'</b> баллов.
                    '.right('<a href="/moduls/delete.php?act=1&id='.$row['id'].'">Удалить</a>
                    <a href="?act=users&id='.$row['id'].'">Изменить</a>
                    <a href="/moduls/edit.php?act=1&id='.$row['id'].'">'.$link_ban.'</a>').'</div>';
                }
                if ($k_page>1)str('/admin?act=user&',$k_page,$page); // Вывод страниц
            }else{echo'<div class="menu">Пользователей еще нет</div>';}
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'users':
        if($user['level']==6){
            $site=$db->query("select * from `user` where `id`='$id'")->fetch(PDO::FETCH_ASSOC);
            if(!empty($_POST['login'])){
                if(!empty($_POST['login']))$plogin=protect($_POST['login']); else $plogin=0;
                if(!empty($_POST['mail']))$pmail=protect($_POST['mail']); else $pmail=0;
                if(!empty($_POST['names']))$pnames=protect($_POST['names']); else $pnames=0;
                if(!empty($_POST['icq']))$picq=protect(intval($_POST['icq'])); else $picq=0;
                if(!empty($_POST['city']))$pcity=protect($_POST['city']); else $pcity=0;
                if(!empty($_POST['inf']))$pinf=protect($_POST['inf']); else $pinf=0;
                if(!empty($_POST['balans']))$pbalans=protect($_POST['balans']); else $pbalans=0;
                if(!empty($_POST['access']))$access=protect(intval($_POST['access']));else $access=0;
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> изменил информацию юзера <a href="/profile$id">$site[login]</a>'");
                $db->prepare("update `user` set `login`='$plogin', `mail`='$pmail', `names`='$pnames', `icq`='$picq',
                `city`='$pcity', `inf`='$pinf', `level`='$access', `balans`='$pbalans' where `id`='$id'")->execute();
                echo'<div class="menu">Отредактировали -> <a href="/profile'.$id.'">Далее</a></div>';
            }else{
                echo '<div class="menu"><form action="#" method="post">
                Логин:<br/><input type="text" name="login" value="'.$site['login'].'"/><br />
                E-mail:<br/><input type="text" name="mail" value="'.$site['mail'].'"/><br />
                Имя:<br/><input type="text" name="names" value="'.$site['names'].'"/><br />
                ICQ:<br/><input type="text" name="icq" value="'.$site['icq'].'"/><br />
                Город:<br/><input type="text" name="city" value="'.$site['city'].'"/><br />
                О себе:<br/><textarea type="text" name="inf" rows="5" cols="30">'.$site['inf'].'</textarea><br />
                Права:<br /><select name="access">
                <option value="1">Модератор чата</option>
                <option value="2">Модератор форума</option>
                <option value="3">Модератор обменника</option>
                <option value="4">Модератор загруз-центра</option>
                <option value="5">Администратор</option>
                <option value="6">Супер-администратор</option>
                </select><br />
                Баланс:<br /><input type="text" name="balans" value="'.$site['balans'].'"/><br />
                <input type="submit" value="Редактировать"/>
                </form></div>';
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'news':
        if($user['level']==5 or $user['level']==6){
            if(!empty($_POST['name']) and !empty($_POST['msg'])){
                $name=protect($_POST['name']);
                $text=nl2br(smiles(bb_code(protect($_POST['msg']))));
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> добавил новость <b>$name</b>'");
                $db->query("insert into `news` set `nazv`='$name', `msg`='$text', `time`='$time'");
                echo'<div class="menu">Создали -> <a href="/admin">Далее</a></div>';
            }else{
                echo'<form action="#" method="post"><div class="menu">
                Название:<br /><input type="text" name="name"><br />
                Текст:<br /><textarea name="msg"></textarea><br />
                <input type="submit" value="Создать">
                </div></form>';
                $k_post=$db->query("select `id` from `news`")->rowCount();
                $k_page=k_page($k_post,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
                $query = $db->query("select * from `news` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
                if($k_post>0){
                    while($row=$query->fetch(PDO::FETCH_ASSOC))
                        echo '<div class="menu"><b>'.$row['nazv'].'</b> ['.clock($row['time']).'] '.right('<a href="/moduls/edit.php?act=3&id='.$row['id'].'">Изменить</a> <a href="/moduls/delete.php?act=12&id='.$row['id'].'">Удалить</a>').'<br />
                        '.nl2br($row['msg']).'</div>';
                    if ($k_page>1)str('/admin?act=news&',$k_page,$page); // Вывод страниц
                }else{echo'<div class="menu">Новостей еще нет</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'forum':
        if($user['level']==2 or $user['level']==5 or $user['level']==6){
            if(!empty($_POST['name1']) or !empty($_POST['name2'])){
                if(!empty($_POST['name1'])){
                    if(!empty($_POST['desc']))$desc=protect($_POST['desc']);else $desc=0;
                    $db->query("insert into `logs` set `time`='$time', 
                    `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал раздел форума'");
                    $db->query("insert into `razdel` set `name`='".protect($_POST['name1'])."', `desc`='$desc'");
                }
                elseif(!empty($_POST['name2'])){
                    $db->query("insert into `logs` set `time`='$time', 
                    `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал подраздел форума'");
                    $db->query("insert into `forum` set `name`='".protect($_POST['name2'])."', `razdel`='".intval($_POST['cat'])."'");
                }
                echo'<div class="menu">Создали → <a href="/admin">Далее</a></div>';
            }else{
                $total=$db->query("select `id` from `razdel`")->rowCount();
                echo'<form action="#" method="post">
                <div class="menu">
                <b>Создать раздел:</b><br />
                Название:<br /><input type="text" name="name1"><br />
                Описание:(Необязательно)<br /><textarea name="desc"></textarea><br /><input type="submit" value="Создать"><br /><br />
                <b>Создать подраздел:</b><br />';
                if($total){
                    echo'Название:<br /><input type="text" name="name2"><br />
                    Каталог:<br /><select name="cat">';
                    $sql=$db->query("select * from `razdel` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC))echo'<option value="'.$res['id'].'">'.$res['name'].'</option>';
                    echo'</select><input type="submit" value="Создать">';
                }else{echo' Нельзя создать раздел';}
                echo'</form></div>';
                if($total){
                    $sql=$db->query("select * from `razdel` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC)){
                        $total2=$db->query("select * from `forum` where `razdel`='$res[id]'")->rowCount();;
                        echo '<div class="menu"><b>'.$res['name'].'</b> <a href="/moduls/delete.php?act=6&id='.$res['id'].'" style="float:right;">Удалить</a></div>';
                        if($total2){
                            $sql2=$db->query("select * from `forum` where `razdel`='$res[id]'");
                            while($res2=$sql2->fetch(PDO::FETCH_ASSOC)){
                                echo '<div class="citatka">'.$res2['name'].' '.right('<a href="/moduls/delete.php?act=7&id='.$res2['id'].'" style="float:right;">Удалить</a>').'</div>';
                            }
                        }else{echo'<div class="menu">Подразделы еще не созданы</div>';}
                    }
                }else{echo'<div class="menu">Разделы еще не созданы</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'design':
        if($user['level']>4){
            if(!empty($_POST['name']) and !empty($_POST['link'])){
                $name=protect($_POST['name']);
                $link=protect($_POST['link']);
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> добавил стиль <b>$name</b>'");
                $db->query("insert into `design` set `name`='$name', `link`='$link'");
                echo'<div class="menu">Добавили → <a href="/admin">Далее</a></div>';
            }else{
                echo'<div class="menu">
                <b>Добавляем стиль:</b><br />
                <form action="#" method="post">
                Название:<br /><input type="text" name="name"><br />
                Ссылка:<b>(/styles/..)</b><br /><input type="text" name="link"><br />
                <input type="submit" value="Добавить">
                </form></div>';
                $total=$db->query("select * from `design`")->rowCount();;
                if($total){
                    $sql=$db->query("select * from `design` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC))
                        echo '<div class="menu">- '.$res['name'].' <span style="float:right;"><a href="/moduls/delete.php?act=11&id='.$res['id'].'">Удалить</a> <a href="/moduls/edit.php?act=7&id='.$res['id'].'">Изменить</a></span></div>';
                }else{echo'<div class="menu">Дизайны не добавлены</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'zc':
        if($user['level']>3){
            if(!empty($_POST['name1']) or !empty($_POST['name2'])){
                if(!empty($_POST['name1'])){
                    $db->query("insert into `logs` set `time`='$time', 
                    `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал раздел загруз-центра'");
                    $db->query("insert into `cat` set `name`='".protect($_POST['name1'])."'");
                }
                elseif(!empty($_POST['name2'])){
                    $db->query("insert into `logs` set `time`='$time', 
                    `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал подраздел загруз-центра'");
                    $db->query("insert into `podcat` set `name`='".protect($_POST['name2'])."', `cat`='".intval($_POST['cat'])."'");
                }
                echo'<div class="menu">Создали → <a href="/admin">Далее</a></div>';
            }else{
                $total=$db->query("select `id` from `cat`")->rowCount();;
                echo'<form action="#" method="post">
                <div class="menu">
                <b>Создать раздел:</b><br />
                Название:<input type="text" name="name1"><input type="submit" value="Создать"><br /><br />
                <b>Создать подраздел:</b><br />';
                if($total){
                    echo'Название:<br /><input type="text" name="name2"><br />
                    Каталог:<br /><select name="cat">';
                    $sql=$db->query("select * from `cat` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC))echo'<option value="'.$res['id'].'">'.$res['name'].'</option>';
                    echo'</select><input type="submit" value="Создать">';
                }else{echo' Нельзя создать раздел';}
                echo'</form></div>';
                if($total){
                    $sql=$db->query("select * from `cat` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC)){
                        $total2=$db->query("select * from `podcat` where `cat`='$res[id]'")->rowCount();;
                        echo '<div class="menu"><b>'.$res['name'].'</b> <a href="/moduls/delete.php?act=3&id='.$res['id'].'" style="float:right;">Удалить</a></div>';
                        if($total2){
                            $sql2=$db->query("select * from `podcat` where `cat`='$res[id]'");
                            while($res2=$sql2->fetch(PDO::FETCH_ASSOC)){
                                echo '<div class="citatka">'.$res2['name'].' <a href="/moduls/delete.php?act=4&id='.$res2['id'].'" style="float:right;padding:6px;">Удалить</a></div>';
                            }
                        }else{echo'<span style="margin:5px;">Подразделы еще не созданы</span>';}
                    }
                }else{echo'<div class="menu">Разделы еще не созданы</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'link':
        if($user['level']==6){
            if(isset($_POST['link']) and !empty($_POST['link'])){
                $link = protect($_POST['link']);
                $pozic = protect($_POST['pozic']);
                $name = protect($_POST['name']);
                $day=protect(intval($_POST['day'])); $day2=time()+(86400*$day);
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> добавил рекламную ссылку'");
                $db->query("insert into `ads` set `link`='$link', `pozic`='$pozic', `time`='$time', `name`='$name', `srok`='$day2'");
                echo '<div class="menu">Ссылка добавлена → <a href="/admin">Далее</a></div>';
            }else{
                echo '<div class="menu"><form action="#" method="post">
                Ссылка:<br/><textarea type="text" name="link"  rows="1" cols="20"></textarea><br />
                Название:<br/><textarea type="text" name="name"  rows="1" cols="20"></textarea><br />
                Количество дней:<br /><textarea type="text" name="day"  rows="1" cols="20"></textarea><br />
                Позиция :<br/>
                <select name="pozic">
                <option value="Верх">Верх</option>
                <option value="Низ">Низ</option>
                </select>
                <input type="submit" value="Добавить"/>
                </form></div>';
                $total=$db->query("select * from `ads`")->rowCount();;
                if($total){
                    $sql=$db->query("select * from `ads` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC)){
                        echo'<div class="menu"><b>'.$res['name'].' ('.$res['link'].')</b> <a href="/moduls/delete.php?act=2&id='.$res['id'].'" style="float:right;">Удалить</a><br />
                        Добавлена: '.clock($res['time']).'<br />
                        Истекает: '.clock($res['srok']).'<br />
                        Переходов: '.$res['oute'].'<br /></div>';
                    }
                }else{echo'<div class="menu">Ссылок еще нет</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'setup':
        if($user['level']>4){
            $set = $db->query("SELECT * FROM `setting`")->fetch(PDO::FETCH_ASSOC);
            if (!empty($_POST['head'])){
                if(!empty($_POST['head']))$head=protect($_POST['head']);else $head=0;
                if(!empty($_POST['copy']))$copy=protect($_POST['copy']);else $copy=0;
                if(!empty($_POST['rega']))$rega=protect(intval($_POST['rega']));else $rega=0;
                if(!empty($_POST['design']))$design=protect($_POST['design']);else $design=0;
                if(!empty($_POST['flood']))$flood=protect(intval($_POST['flood']));else $flood=0;
                if(!empty($_POST['min']))$min=protect(intval($_POST['min']));else $min=0;
                if(!empty($_POST['online']))$onln=protect(intval($_POST['online']));else $onln=0;
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> обновил настройки сайта'");
                $db->prepare("UPDATE `setting` SET `copy`='$copy', `head`='$head', `rega`='$rega', `design`='$design',`flood`='$flood',`min_simb`='$min', `time_online`='$onln'")->execute();
                echo '<div class="menu">Настройки сохранены → <a href="/admin">Далее</a></div>';
            }
            echo '<div class="menu"><form action="#" method="post" name="form">
            <B>Верх страниц(Макс.50 символов):</b><br><input name="head" value="'.$set['head'].'" type="text" size="30"><br/ >
            <B>Низ страниц(Макс.50 символов):</b><br><input name="copy" value="'.$set['copy'].'" type="text" size="30"><br/ >
            <b>Время антифлуда (в сек.):</b><br /><input type="text" name="flood" value="'.$set['flood'].'" size="3"><br />
            <b>Время в течение которого юзер онлайн (в сек.):</b><br /><input type="text" name="online" value="'.$set['time_online'].'" size="4"><br />
            <b>Мин. длина текста:</b><br /><input type="text" name="min" value="'.$set['min_simb'].'" size="3"><br />
            <b>Регистрация:</b><br/><select name="rega">
            <option value="1">Открыта</option>
            <option value="2">Закрыта</option>
            </select><br />
            Дизайн:<br/><select name="design">';
            $sef = $db->query("select * from `design` order by `id`");
            while($ff=$sef->fetch(PDO::FETCH_ASSOC))echo '<option value="'.$ff['link'].'">'.$ff['name'].'</option>';
            echo '</select><br />
            <input name="submit" type="submit" value="Сохранить"></div>';
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'cms':
        echo file_get_contents('http://x-cms.ga/for_cms.php?limit=50');
        back('/admin');
        break;
        
        case 'obmen':
        if($user['level']==3 or $user['level']>4){
            if(!empty($_POST['name'])){
                $name=protect($_POST['name']);
                if(!empty($_POST['desc']))$desc=protect($_POST['desc']);else $desc=0;
                $db->query("insert into `obmen_cat` set `name`='$name', `desc`='$desc'");
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал раздел обменника'");
                echo '<div class="menu">Каталог создан -> <a href="/admin?act=obmen">Далее</a></div>';
            }else{
                echo'<form action="#" method="post"><div class="menu">
                Название: <input type="text" name="name"><br />
                Описание:<br /><textarea name="desc" placeholder="Не обязательно"></textarea><br />
                <input type="submit" value="Создать">
                </div></form>';
            }
            $total=$db->query("select `id` from `obmen_cat`")->rowCount();
            if($total){
                $sql=$db->query("select * from `obmen_cat` order by `id` asc");
                while($res=$sql->fetch(PDO::FETCH_ASSOC)){
                    echo'<div class="menu">'.$res['name'].' '.right('Удалить');
                    if($res['desc'])echo'<br />'.$res['desc'];
                    echo'</div>';
                }
            }else{echo'<div class="menu">Категории не созданы</div>';}
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        break;
        
        case 'logs':
        if($user['level']==6){
            $k_post=$db->query("select `id` from `logs`")->rowCount();
            $k_page=k_page($k_post,$set['p_str']);$page=page($k_page);$start=$set['p_str']*$page-$set['p_str'];
            $query = $db->query("select * from `logs` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
            if($k_post>0){
                while($row=$query->fetch(PDO::FETCH_ASSOC)){
                    echo'<div class="menu">'.$row['text'].'<br />'.clock($row['time']).'</div>';
                }
                if ($k_page>1)str('/admin?act=logs&',$k_page,$page); // Вывод страниц
            }else{echo'<div class="menu">Логи пусты</div>';}
            back('/admin');
        }else{echo'<div class="menu">У вас недостаточно прав для просмотра этой страницы</div>';}
        break;
        
        case 'chat':
        if($user['level']==1 or $user['level']>4){
            if(!empty($_POST['name'])){
                $name=$db->quote(protect($_POST['name']));
                $db->query("insert into `logs` set `time`='$time', 
                `text`='Пользователь <a href="/profile$user[id]">$user[login]</a> создал комнату в чате <b>$name</b>'");
                $db->query("insert into `chat_room` set `name`=$name");
                echo '<div class="menu">Создали комнату → <a href="/admin">Далее</a></div>';
            }else{
                echo'<form action="#" method="post">
                <div class="menu">
                Название: <input type="text" name="name"><input type="submit" value="Создать">
                </div></form>';
                $total=$db->query("select `id` from `chat_room`")->rowCount();
                if($total){
                    $sql=$db->query("select * from `chat_room` order by `id`");
                    while($res=$sql->fetch(PDO::FETCH_ASSOC)){
                        echo'<div class="menu">'.$res['name'].' '.right('<a href="/moduls/delete.php?act=14&id='.$res['id'].'">Удалить</a>').'</div>';
                    }
                }else{echo'<div class="menu">Комнат еще нет</div>';}
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        back('/admin');
        break;
        
        case 'costs':
        if($user['level']>4){
            if(!empty($_POST['login']) and !empty($_POST['unban']) and !empty($_POST['adv_v']) and !empty($_POST['adv_n'])){
                $login=intval(protect($_POST['login']));
                $unban=intval(protect($_POST['unban']));
                $adv_v=intval(protect($_POST['adv_v']));
                $adv_n=intval(protect($_POST['adv_n']));
                $db->prepare("update `setting` set `cost_login`='$login', `cost_unban`='$unban', `cost_adv_v`='$adv_v', `cost_adv_n`='$adv_n'")->execute();
                echo'<div class="menu">Цены обновлены → <a href="/admin">Далее</a></div>';
            }else{
                echo'<form action="#" method="post"><div class="menu">
                Смена логина:<br /><input type="text" name="login" value="'.$da['cost_login'].'" size="5"><br />
                Разбан:<br /><input type="text" name="unban" value="'.$da['cost_unban'].'" size="5"><br />
                Реклама(ВЕРХ):<br /><input type="text" name="adv_v" value="'.$da['cost_adv_v'].'" size="5"><br />
                Реклама(НИЗ):<br /><input type="text" name="adv_n" value="'.$da['cost_adv_n'].'" size="5"><br />
                <input type="submit" value="Обновить цены">
                </div></form>';
            }
        }else{echo'<div class="menu">Ошибка доступа</div>';}
        break;
        
        default:
        echo file_get_contents('http://x-cms.ga/for_cms.php?limit=1');
        echo'<div class="touch">
        <div class="menu"><a href="/admin?act=chat">Управление чатом '.right('[LVL 1,5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=forum">Управление форумом '.right('[LVL 2,5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=obmen">Управление обменником '.right('[LVL 3]').'</a></div>
        <div class="menu"><a href="/admin?act=zc">Управление загруз-центром '.right('[LVL 4]').'</a></div>
        <div class="menu"><a href="/admin?act=news">Управление новостями '.right('[LVL 5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=setup">Настройки сайта '.right('[LVL 5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=costs">Настройки цен '.right('[LVL 5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=design">Управление дизайнами '.right('[LVL 5-6]').'</a></div>
        <div class="menu"><a href="/admin?act=user">Управление юзерами '.right('[LVL 6]').'</a></div>
        <div class="menu"><a href="/admin?act=link">Управление рекламой '.right('[LVL 6]').'</a></div>
        <div class="menu"><a href="/admin?act=logs">Логи администрации '.right('[LVL 6]').'</a></div>
        <div class="menu"><a href="/admin?act=cms">Новости CMS '.right('[LVL 1-6]').'</a></div>
        <div class="menu"><a href="/info/stat">Статистика сайта '.right('[LVL 1-6]').'</a></div>
        </div>';
        back('/');
    }
}
if($_COOKIE['style']=='web')require_once '../system/web_foot.php'; else require_once '../system/foot.php';
?>