Вход Регистрация
Файл: core/admin/static.php
Строк: 153
<?php

if (!defined('CMS')) { die('Access Denied!'); }

$error = '';

$no_add_pages = array('index','admin','smiles','code','stat','category','comments','reg','login','forgot','feedbsck','country','cite');

if (
is_admin(array(101))) {

    if (!empty(
$_REQUEST['del'])) {

        
$del = intar($_REQUEST['del']);

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (
is_array($del)) {

                
$del = implode(',', $del);

                
$db->query("DELETE FROM ?_pages WHERE `id` IN (" . $del . ");");

                
$inSes->addMessage('Выбранные страницы успешно удалены!', 'ok');
            }
            else {

                
$db->query("DELETE FROM ?_pages WHERE `id` = ? LIMIT 1;", $del);

                
$inSes->addMessage('Страница успешно удалена!', 'ok');
            }

            
$db->query("OPTIMIZE TABLE ?_pages");

            
del_vars('static_pages');

        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    if (!empty(
$_POST['add'])) {

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            
$name   = !empty($_POST['name'])   ? check($_POST['name']) : '';
            
$title  = !empty($_POST['title'])  ? check($_POST['title']) : '';
            
$text   = !empty($_POST['text'])   ? check($_POST['text']) : '';
            
$active = !empty($_POST['active']) ? 1 : 0;
            
$allow  = !empty($_POST['allow'])  ? 1 : 0;

            if (!empty(
$name) && !empty($title)) {

                if (!empty(
$text)) {

                    
$is_page = (int) $db->selectCell("SELECT * FROM ?_pages WHERE `name` = ? LIMIT 1", $name );

                    if ( 
$is_page < 1 && !in_array($name,$no_add_pages)) {

                        
$thisdate = date( 'Y-m-d H:i:s', time() );
    
                        
$last_id = (int) $db->query( "INSERT INTO ?_pages SET `name` = ?, `title` = ?, `text` = ?, `date` = ?, `active` = ?, `allow_br` = ?", $name, $title, $text, $thisdate, $active, $allow );
    
                        if (
$last_id > 0) {

                            
$inSes->addMessage('Страница успешно добавлена!', 'ok');
                            
del_vars('static_index');
                            
del_vars('static_pages');
                            
redirect( '?m=static' );
                        }
                        else 
$error = 'Ошибка! В данный момент не удалось создать страницу!';
                    }
                    else 
$error = 'Ошибка! Страница с таким названием уже есть в базе!';
                }
                else 
$error = 'Ошибка! Вы не ввели текст страницы!';
            }
            else 
$error = 'Ошибка! Вы не ввели заголовок страницы!';
        }
        else 
$error = 'Неверный идентификатор сессии, повторите действие!';

        if (!empty(
$error)) $inSes->addMessage($error,'error');
    }

    if (!empty(
$_POST['edit'])) {

        
$id = !empty($_GET['edit_page']) ? num($_GET['edit_page']) : 0;

        
$row = $db->selectRow( "SELECT * FROM ?_pages WHERE `id` = ? LIMIT 1", $id );

        if (!empty(
$row)) {

            if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                
$name   = !empty($_POST['name'])    ? check($_POST['name'])  : $row['name'];
                
$title  = !empty($_POST['title'])   ? check($_POST['title']) : $row['title'];
                
$text   = !empty($_POST['text'])    ? check($_POST['text'])  : $row['text'];

                
$keys   = !empty($_POST['keys'])    ? $_POST['keys']  : genKeywords($title . ' ' . $row['text']);
                
$desc   = !empty($_POST['desc'])    ? $_POST['desc']  : genDescription($row['text']);

                
$active = !empty($_POST['active'])  ? 1 : 0;
                
$index  = !empty($_POST['index'])   ? 1 : 0;
                
$allow  = !empty($_POST['allow'])   ? 1 : 0;
                
$views  = !empty($_POST['views'])   ? 0 : $row['views'];
                
$date   = !empty($_POST['date'])    ? date('Y-m-d H:i:s', time()) : $row['date'];

                if (!empty(
$name) && !empty($title)) {

                    if (!empty(
$text)) {

                        if (!
in_array($name,$no_add_pages)) {

                            
$q = (bool) $db->query("UPDATE ?_pages SET `name` = ?, `title` = ?, `text` = ?, `keys` = ?, `desc` = ?, `active` = ?, `is_index` = ?, `allow_br` = ?, `date` = ?, `views` = ? WHERE `id` = ?", $name, $title, $text, $keys, $desc, $active, $index, $allow, $date, $views, $id );

                            if ( !
$q ) {

                                
$inSes->addMessage('Ошибка! Вы не чего не изменили или БД не доступна!');
                            }
                            else {

                                
del_vars('static_index');
                                
del_vars('static_pages');

                                
$inSes->addMessage('Страница успешна изменёна!', 'ok');
                            }

                            
redirect('?m=static');
                        }
                        else 
$error = 'Ошибка! Такая страница уже есть!';
                    }
                    else 
$error = 'Ошибка! Вы не ввели текст страницы!';
                }
                else 
$error = 'Ошибка! Вы не ввели заголовок страницы!';
            }
            else 
$error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
        }
        else 
$error = 'Ошибка! Редактируемая страница не найдена!';

        if (!empty(
$error)) $inSes->addMessage($error,'error');
    }

    
show_header('Управление страницами');

    
$onpage = !empty($config['post_num']) ? (int) $config['post_num'] : 10;

    if (
$page > 1) $from = ($page - 1) * $onpage; else $from = 0;
        
    
$rows = $db->selectPage( $total, "SELECT * FROM ?_pages ORDER BY `id` DESC LIMIT ?d, ?d", $from, $onpage );

    if ( !empty(
$rows) && $total > 0 ) {

        echo 
'<form action="?m=static&amp;rnd=' . $_SESSION['token'] . '" method="post" name="mass">';

        
$i = $from + 1;
        foreach( 
$rows as $row ) {

            
$active = ($row['active'] == 1) ? '<span style="color:green;">[Вкл]</span>' : '<span style="color:red;">[Выкл]</span>';

            echo 
'<div class="bl">' . $i . '. <a href="/' . gen_uri($row['name']) . '">' . $row['title'] . '</a> ' . $active . '<br />';
            echo 
'Просмотров: <b>' . num($row['views']) . '</b><br />';
            echo 
'<input type="checkbox" name="del[]" value="' . $row['id'] . '" /> ';
            echo 
' <a href="?m=static&amp;edit_page=' . $row['id'] . '#form">Ред.</a> | ';
            echo 
'<a href="?m=static&amp;del=' . $row['id'] . '&amp;rnd=' . $_SESSION['token'] . '">Уд.</a></div>';
            
$i++;
        }

        echo 
'<div class="bl">';
        echo 
'<input type="checkbox" name="master_box" title="Отметить всё" onclick="javascript:ckeck_uncheck_all()"> ';
        echo 
'<input type="submit" class="btns" onclick="return confirm('Вы действительно хотите удалить выбранные страницы?')" value="Удалить выбранное" /></form></div>';

        echo 
show_pages('?m=static');
    }
    else {

        
show_error('Статических страниц пока не создано!');
    }

    if (!empty(
$_GET['add_page'])) {

        include_once( 
MODULES_PATH . 'bb_code.inc.php' );

        if (!empty(
$_GET['code'])) include( MODULES_PATH . 'code.inc.php' );
        else if (!empty(
$_GET['smiles'])) include( MODULES_PATH . 'smiles.inc.php' );

        
$form = new cmsForm('?m=static&amp;add_page=1&amp;rnd=' . $_SESSION['token'], 'post', ' name="form" id="form"');
        
$form->addText('Название страницы (a-z,A-Z,0-9):', 'name', request('name'));
        
$form->addText('Заголовок страницы:', 'title', request('title'));
        
$form->addCode('Текст страницы: <small>[<a href="?m=static&amp;smiles=1&amp;add_page=1">Смайлы</a>] ');
        
$form->addCode('[<a href="?m=static&amp;code=1&amp;add_page=1">ББ-коды</a>]</small>');
        
$form->addCode(' [<a href="#form" onclick="document.form.text.rows += 5;">+</a>]');
        
$form->addCode(' [<a href="#form" onclick="document.form.text.rows -= 5;">-</a>]');
        
$form->addTextarea('', 'text', request('text'), ' id="text" style="width:98%;"');
        
$form->addCode(quickpaste('text',1) . quicktags(1));
        
$form->addCheckBox(array('', ' - Опубликована'), 'active', request('active',1));
        
$form->addCheckBox(array('', ' - Автоперенос'), 'allow', request('allow',1));
        
$form->Submit('Создать', 'add');
        unset(
$form);
        echo 
'<div class="bl">' . blink('[?]') . ' Название страницы - т.е страница будет доступна по адресу:<br />' . $config['site_url'] . '/Название страницы.html<br />разрешенные символы (a-z,A-Z,0-9), первый <b>буква</b>, а не цифра...<br />' . blink('[?]') . ' Автоперенос - все &quot;n&quot; будут заменены на &lt;br /&gt;<br /></div>';

    }

    else if (!empty(
$_GET['edit_page'])) {

        
$id_page = num($_GET['edit_page']);

        
$row = $db->selectRow("SELECT * FROM ?_pages WHERE `id` = ? LIMIT 1", $id_page);

        if (!empty(
$row)) {

            include_once( 
MODULES_PATH . 'bb_code.inc.php' );

            if (!empty(
$_GET['code'])) include( MODULES_PATH . 'code.inc.php' );
            else if (!empty(
$_GET['smiles'])) include( MODULES_PATH . 'smiles.inc.php' );

            
$form = new cmsForm('?m=static&amp;edit_page=' . $id_page . '&amp;rnd=' . $_SESSION['token'], 'post', ' name="form" id="form"');
            
$form->addText('Название страницы (a-z,A-Z,0-9):', 'name', $row['name']);
            
$form->addText('Заголовок страницы:', 'title', $row['title']);
            
$form->addCode('Текст страницы: <small>[<a href="?m=static&amp;smiles=1&amp;edit_page=' . $id_page . '">Смайлы</a>] ');
            
$form->addCode('[<a href="?m=static&amp;code=1&amp;edit_page=' . $id_page . '">ББ-коды</a>]</small>');
            
$form->addCode(' [<a href="#form" onclick="document.form.text.rows += 5;">+</a>]');
            
$form->addCode(' [<a href="#form" onclick="document.form.text.rows -= 5;">-</a>]');
            
$form->addTextarea('', 'text', html_entity_decode($row['text'], ENT_QUOTES, 'UTF-8'), ' id="text" style="width:98%;"');
            
$form->addCode(quickpaste('text',1) . quicktags(1));
            
$form->addTextarea('Описание (description):', 'desc', $row['desc']);
            
$form->addTextarea('Ключевые слова (keywords через запятую):', 'keys', $row['keys']);
            
$form->addCheckBox(array('', ' - Опубликована'), 'active', $row['active']);
            
$form->addCheckBox(array('', ' - Автоперенос'), 'allow', $row['allow_br']);
            
$form->addCheckBox(array('', ' - Обновить дату'), 'date');
            
$form->addCheckBox(array('', ' - Обнулить просмотры'), 'view');
            
$form->Submit('Изменить', 'edit');
            unset(
$form);

            echo 
'<div class="bl">' . blink('[?]') . ' Описание и кл. слова можно оставить пустыми, 
                  тогда они будут сгенерированы автоматически из текста статьи.<br /></div>'
;
        }
        else 
show_error('Ошибка! Запрашиваемая страница не найдена!');
    }

    echo 
'<div class="bl">' . icon('add.png');
    echo 
' <a href="?m=static&amp;add_page=1#form">Создать новую страницу</a><br /></div>';

    echo 
'<div class="link"><a href="?' . RND . '">В админку</a></div>';

    echo <<<JSCRIPT

<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
    var frm = document.mass;
    if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
    for (var i=0;i<frm.elements.length;i++) {
        var elmnt = frm.elements[i];
        if (elmnt.type=='checkbox') {
            if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
        }
    }
}
-->
</script>

JSCRIPT;

}
else {

    
redirect('/?' . RND);
}

?>
Онлайн: 2
Реклама