Файл: masteram_us/admin/gazeta.php
Строк: 59
<?
require'../shaxty.php'; // waphp.ru - закрытый клуб вап мастеров!
check_login();
$title = 'Газета';
$align = 'left';
$head = 'ГАЗЕТА.MASTERAM.US<br />Самые свежие и интересные новости!';
include_once (H.'shaxty/head.php');
levels(8);
echo "<div class='c1'><b>Управление</b></div>";
    $action = isset ($_REQUEST['action'])     ? check($_REQUEST['action']) : '';
    $id1     = isset ($_REQUEST['id1'])         ? abs((int)$_REQUEST['id1']) : '';
    if(isset($_GET['delr']))         echo 'Раздел и все статьи в нем успешно удалены!<br/>';
    if(isset($_GET['err_delr']))     echo 'Произошла ошибка при удалении раздела!<br/>';
    if(isset($_GET['dels']))         echo 'Статья успешно удалена!<br/>';
    if(isset($_GET['err_dels']))     echo 'Произошла ошибка при удалении статьи!<br/>';
    if(isset($_GET['edits']))         echo 'Статья успешно изменена!<br/>';
    if(isset($_GET['err_edits']))     echo 'Произошла ошибка при изменении статьи!<br/>';
    if(isset($_GET['addr']))         echo 'Раздел успешно создан!<br/>';
    if(isset($_GET['err_addr']))     echo 'Произошла ошибка при создании раздела!<br/>';
    if(isset($_GET['err_add_r']))     echo 'Ошибка, раздел с таким именем уже существует!<br/>';
switch($mod) {
    default:
        switch($_GET['act']){
            default:
                $q = DB::$dbh->query("SELECT * FROM `gazetar` ORDER BY `pos`");
                if ($q -> rowCount() == 0) echo "Разделов нет!!!<br/>";
                while($arr = $q -> fetch()) {
                    $g = DB::$dbh->querySingle("SELECT COUNT(id) FROM gazeta WHERE idr=?",array($arr['id']));
                    echo '<div class="c2"> ';
                    echo '<a href="?mod=razdel&id='.$arr['id'].'"><b>'.$arr['name'].'</b></a> ('.$g.') ';
                    echo '<a href="?act=del&id='.$arr['id'].'">[удал]</a>';
                    echo '</div>';
                }
                echo '<br /><a href="?mod=add">Добавить раздел</a><br />';
            break;
            case 'del':
                /* --------------------------------------------------------------
                    удаляем сначала все статьи в разделе, затем уже сам раздел
                -------------------------------------------------------------- */
                $r = DB::$dbh->query("SELECT * FROM `gazeta` WHERE `idr`=? LIMIT 1",array($id));
                if($r -> rowCount() > 0){
                    while($gazeta = $r -> fetch()){
                        DB::$dbh->query("DELETE FROM `gazeta` WHERE `id`=? LIMIT 1",array($gazeta['id']));
                    }
                }
                if(DB::$dbh->query("DELETE FROM `gazetar` WHERE `id`=? LIMIT 1",array($id)))
                    header("Location: ?delr");
                else header("Location: ?err_delr");
            break;
        }
    break;
    case 'razdel':
        $q = DB::$dbh->query("SELECT * FROM `gazeta` WHERE `idr`=? ORDER BY `id` DESC",array($id));
        if ($q -> rowCount() == 0){
            echo "Статей нет!!!<br/>";
        } else {
            switch($_GET['act']){
                default:
                    while($arr = $q -> fetch()) {
                        echo '<div class="c2"> ';
                        echo '<b>'.$arr['name'].'</b>('.times($arr['time']).') ';
                        echo '<a href="?mod=razdel&act=del&id='.$id.'&id1='.$arr['id'].'">[удал]</a>';
                        echo ' | <a href="?mod=razdel&act=edit&id='.$id.'&id1='.$arr['id'].'">[ред.]</a>';
                        echo '</div>';
                        echo text($arr['text']).'<br/><dt></dt>';
                        echo 'Автор статьи: <a href="/'.$arr['user'].'">'.nik($arr['user']).'</a><br />';
                    }
                break;
                case 'del':
                    /*
                    не знаю почему, но тут стояло удаление раздела, хотя должна удаляться статья
                    */
                    if(DB::$dbh->query("DELETE FROM `gazeta` WHERE `id`=? LIMIT 1",array($id1)))
                        header("Location: ?mod=razdel&id={$id}&dels");
                    else header("Location: ?mod=razdel&id={$id}&err_dels");
                break;
                case 'edit':
                    $arr = DB::$dbh->queryFetch("SELECT * FROM `gazeta` WHERE `id`=? LIMIT 1",array($id1));
                    if($arr['id']){
                        if(empty($_POST['run'])) {
                            echo "Статья:<br/>";
                            echo "<form method='post' action='?mod=razdel&act=edit&id={$arr['id']}&id1={$id1}' name='auth'>";
                            echo'<textarea cols="'.$user['pole2'].'" rows="'.$user['pole1'].'" name="text" >'.nl2br($arr['text']).'</textarea><br />';
                            echo '<input type="submit" class="ibutton" value="Изменить" name="run"/></form><br/>';
                        } else {
                            if (DB::$dbh->query("UPDATE `gazeta` SET `text`=? WHERE `id`=? LIMIT 1;",array($text,$id1))){
                                header("Location:?mod=razdel&id={$id}&edits");
                            } else header("Location:?mod=razdel&id={$id}&err_edits");
                        }
                    }
                break;
            }
        }
    break;
    case 'add':
        if(empty($_POST['run'])) {
            echo '<form action="?mod=add" method="post">';
            echo 'Имя:<br/>';
            echo '<input type="text" name="name" maxlength="50" title="Имя"/><br/>';
            $k = DB::$dbh->querySingle("SELECT COUNT(id) FROM `gazetar`");
            echo 'Положение:<br/>';
            echo '<input type="text" name="pos" value="'.($k+1).'" maxlength="50" title="Положение"/><br/>';
            echo '<br /><input name="run" type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
        } else {
            $name     = check($_POST['name']);
            $pos     = abs((int)$_POST['pos']);
            $p = DB::$dbh->queryFetch("SELECT name FROM `gazetar` WHERE name=? LIMIT 1",array($name));
                if ($name != $p['name']) {
                    if(DB::$dbh->query("INSERT INTO gazetar VALUES(?,?,?,?);",array(0,$name,$pos,time()))) {
                        header("Location: ?addr");
                    } else {
                        header("Location: ?err_addr");
                    }
                } else {
                    header("Location: ?err_add_r");
                }
        }
    break;
}
echo '<br />';
include_once (H.'shaxty/foot.php');
/* by -=ШАХТЕР=- (waphp.ru - качай только тут) */ ?>