Вход Регистрация
Файл: 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']) ? 0;
            
$allow  = !empty($_POST['allow'])  ? 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 && !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'])  ? 0;
                
$index  = !empty($_POST['index'])   ? 0;
                
$allow  = !empty($_POST['allow'])   ? 0;
                
$views  = !empty($_POST['views'])   ? $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 ) {

        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);
}

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