Вход Регистрация
Файл: admin/modules/pages.php
Строк: 246
<?php
defined
('CAFE') or die (header ('Location: /'));

$_POST clear_input ($_POST);
$_GET  clear_input ($_GET);

check_error ();

// если ошибок нет, выполняем нужные операции
if (empty ($error)) {

    
// сохраняем позиции страниц в меню
    
if ($_POST['save_position']) {

        
$menu_item_count count ($_POST['id']); // определяем количество пунктов меню

        // для каждого пункта заносим номер позиции в БД
        
for ($i 0$i <= $menu_item_count$i++) {
            
$id $_POST['id'][$i];
            
$position $_POST['position'][$i];
            
$update "UPDATE `" DB_PREFIX "_pages` SET `position` = '$position' WHERE `id` = '$id'";

            
make_query ($update'pos');
        }
    }

    
// добавляем новую страницу
    
if (isset($_POST['add'])) {

        
clear_html ($_POST, array ($_POST['text']));
        
translit   ($_POST['url'], $_POST['title']);
        
timestamp  ($_POST['date']);

        
$add_pages "INSERT `" DB_PREFIX "_pages` (
            `date`,
            `url`, 
            `title`,
            `text`,
            `keywords`,
            `description`,
            `pid`) 
        VALUES ( 
            '" 
$date "', 
            '" 
$url "',  
            '" 
$_POST['title'] . "', 
            '" 
$_POST['text'] . "',
            '" 
$_POST['keywords'] . "',
            '" 
$_POST['description'] . "',
            '" 
$_POST['pid'] . "'
            )"
;

        
make_query ($add_pages'add');
    }

    
// сохраняем измененную страницу
    
if (isset($_POST['update'])) {

        
clear_html ($_POST, array ($_POST['text']));
        
translit   ($_POST['url'], $_POST['title']);
        
timestamp  ($_POST['date']);

        
$update_pages "UPDATE `" DB_PREFIX "_pages` SET
            `date`        = '" 
$date "', 
            `url`         = '" 
$url "', 
            `title`       = '" 
$_POST['title'] . "', 
            `text`        = '" 
$_POST['text'] . "',
            `keywords`    = '" 
$_POST['keywords'] . "', 
            `description` = '" 
$_POST['description'] . "',
            `pid`         = '" 
$_POST['pid'] . "' 
        WHERE `id`        = '" 
$_POST['id'] . "'";

        
make_query ($update_pages'upd');
    }

    
// удаление страницы
    
if ($action == 'delete'terminator ();
}
?>

    <div class="module-menu">
        <a href="/admin/index.php?section=pages&amp;action=list" title="Список созданных страниц">Список страниц</a>
        <a href="/admin/index.php?section=pages&amp;action=add&amp;editor=1"  title="Добавить новую страницу">Добавить новую страницу</a>
    </div>

    <div class="module-messages">
        <?php
        print_message 
();
        if (!empty (
$error)) print_error ($error);
        
?>
    </div>

    <div class="module-content">
    <?php
    
// выводим список страниц
    
if (empty($action) || $action == 'list') {
    
?>
        <p class="section-title">Список страниц</p>

<?php
        page_limit 
('15');// высчитываем начальную и конечную запись для вывода

        // поля разрешенные для сортировки
        
(!in_array ($_GET['order'], array ('date''title''position'))) ? $order 'position' $order $_GET['order'];

        
$page_list mysql_query ("SELECT * FROM `" DB_PREFIX "_pages` ORDER BY `" $order "` LIMIT " $start_page ", " $end_page);

        
// если еще не создана ни одна страница, выводим сообщение
        
if (mysql_num_rows ($page_list) < '1') {
            echo 
'<p style="margin-right:20px">Не создано ни одной страницы. Вы можете сделать это 
            прямо сейчас. <a href="/admin/index.php?section=pages&amp;action=add&amp;editor=1">Создать страницу?</a></p>'
;
        } else {
?>
        <p>
            Сортировка: 
            <a href="/admin/index.php?section=pages&amp;action=list&amp;order=date">по дате</a> 
            <a href="/admin/index.php?section=pages&amp;action=list&amp;order=title">по алфавиту</a> 
            <a href="/admin/index.php?section=pages&amp;action=list&amp;order=position">без сортировки</a>
        </p>
        
        <div class="item-list">
            <script type="text/javascript">
                function position(change,name){
                    document.menu_list.elements["q"+name].value=(document.menu_list.elements["q"+name].value*1)+change
                    if(document.menu_list.elements["q"+name].value<0){
                        document.menu_list.elements["q"+name].value=0
                    }
                }
            </script>
            <form name="menu_list" action="/admin/index.php?section=pages" method="post">
<?php
            
while ($rows mysql_fetch_array ($page_list)) {
                
$data[] = array (
                    
'id'       => $rows['id'], 
                    
'pid'      => $rows['pid'], 
                    
'title'    => $rows['title'], 
                    
'position' => $rows['position'], 
                    
'url'      => $rows['url']);
            }

            
// TODO переделать попроще
            
$tree = array ();
            foreach (
$data as $row) {
                
$tree[(int) $row['pid']][] = $row;
            }

            function 
treePrint ($tree$pid=0) {
                if (empty (
$tree[$pid])) return;
                echo 
'                <ul>';

                foreach (
$tree[$pid] as $k => $row) {
                    echo 
'
                    <li class="item-list-tree">
                        <div class="item-list-row">
                            <div class="item-list-title">
                                <a '
;
                                if (
$row['position'] < "1") {echo 'style="color:#aaa"';}
                                echo 
'href="/admin/index.php?section=pages&amp;action=view&amp;id=' $row['id'] . '">' $row['title'] . '</a>
                            </div>
                            <div class="item-list-events">'
;
                                if (
$_SESSION['status'] == '1') {
                                    echo 
'
                                <a href="/admin/index.php?section=pages&amp;action=delete&amp;id=' 
$row['id'] . '">удалить</a> ';
                                }
                                echo 
'
                                <a href="/admin/index.php?section=pages&amp;action=edit&amp;editor=1&amp;id=' 
$row['id'] . '&amp;pid=' $row['pid'] . '">изменить</a>
                                <input type="hidden" name="id[]" value="' 
$row['id'] . '">';
                                echo 
"<input class="item-list-number" type="button" value=" " onclick="position(-1,'" . $row['id'] . "')">
                                <input class="
item-list-number" id="q" . $row['id'] . "" name="position[]" type="text" value="" . $row['position'] . "">
                                <input class="
item-list-number" type="button" value=" " onclick="position(1,'" . $row['id'] . "')">
                            </div>
                        </div>"
;
                    if (isset (
$tree[$row['id']]))
                        
treePrint ($tree$row['id']);
                    echo 
'
                    </li>'
;
                }

                echo 
'
                </ul>'
;
            }

            
treePrint ($tree);
?>
                <p style="float:right"><input type="submit" name="save_position" value="сохранить"></p>
            </form>
<?
            
// вывод пагинатора
            
pager (ceil (mysql_num_rows (mysql_query ("SELECT id FROM `" DB_PREFIX "_pages`")) / $end_page));
        }
    }

// просмотр страницы
if ($action == 'view' && isset ($_GET['id']) && empty ($error)) {
    
$view_pages mysql_query ("SELECT * FROM `" DB_PREFIX "_pages` WHERE `id` = " $_GET['id'] . " LIMIT 1");
    
$view_row mysql_fetch_array ($view_pagesMYSQL_ASSOC);
    echo 
'
    <a href="/admin/index.php?section=pages&amp;action=delete&amp;id=' 
$view_row['id'] . '">удалить</a> 
    <a href="/admin/index.php?section=pages&amp;action=edit&amp;editor=1&amp;id=' 
$view_row['id'] . '">изменить</a> 
    <h1>' 
$view_row['title'] . '</h1>
    <p>Дата размещения: ' 
date ("j.m.Y H:i"$view_row['date']) . $view_row['text'];
}

// выводим форму добавления новой страницы, если выбрано добавление страницы или ее изменение
if (($action == 'add' || $action == 'edit') && empty ($error)) {
    
// если выбрано изменение страницы, делаем дополнительный запрос
    
if ($action == 'edit' && isset ($_GET['id']) && empty ($error)) {
        
$sql_list = @mysql_query ("SELECT * FROM `" DB_PREFIX "_pages` WHERE `id` = " $_GET['id'] . " LIMIT 1");
        
$row mysql_fetch_array ($sql_listMYSQL_ASSOC);
    }
?>
        <div>
            <p class="section-title">Добавление новой страницы</p>
            <form action="/admin/index.php?section=pages" method="post">
                <p><input type="hidden" name="id"<?php if (isset ($row['id'])) {echo ' value="' $row['id'] . '"';} ?>></p>
                <div>
                    <p class="form-title">Заголовок страницы: <br>
                    <input type="text" name="title" id="title" size="50"<?php if (isset ($row['title'])) {echo ' value="' $row['title'] . '"';} ?>></p>
                    <p class="form-pid">Родительский раздел: <br>
                    <select size="1" name="pid">
                        <option selected value="0">/</option>
                        <?php
                        $sql_list_tree 
mysql_query ("SELECT * FROM `" DB_PREFIX "_pages` ORDER BY `position`");

                        while (
$treerows mysql_fetch_array ($sql_list_tree)) {
                        
$data[] = array (
                                
'id'    => $treerows['id'], 
                                
'pid'   => $treerows['pid'], 
                                
'title' => $treerows['title']
                                );
                        }
                        
$tree = array();
                        foreach (
$data as $treerow) {
                            
$tree[(int) $treerow['pid']][] = $treerow;
                        }
                        function 
treePrint ($tree$pid=0) {
                            if (empty (
$tree[$pid]))
                                return;

                            foreach (
$tree[$pid] as $k => $treerow) {
                                if (
$treerow['id'] != $_GET['id']) {
                                    echo 
'<option ';
                                    if (
$_GET['pid'] == $treerow['id']) {echo 'selected ';}
                                    echo 
'value="' $treerow['id'] . '">' $treerow['title'] . '</option>';
                                }
                                if (isset (
$tree[$treerow['id']]))
                                    
treePrint ($tree$treerow['id']);
                            }
                            echo 
'</ul>';
                        }
                        
treePrint($tree);
                        
?>
                    </select></p>
                </div>
                <p>Содержимое страницы:<br>
                <textarea name="text" cols=60 rows=10 id="editor"><?php echo $row['text']; ?></textarea></p>
                <script type="text/javascript">
                    var ckeditor = CKEDITOR.replace('editor', {
                        skin : 'office2003',
                        toolbar : [['Bold','Italic','Strike','-','Subscript','Superscript'],
                                  ['Undo','Redo'],
                                  ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
                                  ['JustifyLeft','JustifyCenter','JustifyRight'],
                                  ['Link','Unlink'],
                                  ['Maximize','ShowBlocks','Preview','Source'],'/',
                                  ['Format','Font','FontSize'],
                                  ['TextColor','BGColor'],
                                  ['Image','Table','HorizontalRule','Smiley','SpecialChar']]
                    });
                    AjexFileManager.init ( {
                        returnTo: 'ckeditor',
                        editor: ckeditor,
                        skin: 'light'
                    } );
                </script>
                <div id="fields">
                    <a style="cursor:pointer" 
                    onclick="if (document.getElementById ('addfields').style.display == 'none') {
                        document.getElementById ('addfields').style.display = 'block';
                        document.getElementById ('fields').style.display = 'none';
                    } else {
                        document.getElementById ('addfields').style.display = 'none';
                        document.getElementById ('fields').style.display = 'block';
                    }">Показать дополнительные поля</a>
                </div>
                <div style="display:none" id="addfields">
                    <a style="cursor:pointer" 
                    onclick="if (document.getElementById ('addfields').style.display == 'none') {
                        document.getElementById ('addfields').style.display = 'block';
                        document.getElementById ('fields').style.display = 'none';
                    } else {
                        document.getElementById ('addfields').style.display = 'none';
                        document.getElementById ('fields').style.display = 'block';
                    }">Скрыть дополнительные поля</a>
                    <p>Адрес страницы: <br>
                    <input type="text" name="url" id="url" size="60"<?php if (isset ($row['url'])) {echo ' value="' $row['url'] . '"';} ?>> <a style="cursor:pointer" onclick="translit()"> автозаполнение</a></p>

                    <p>Дата добавления: <br>
                    <input type="text" name="date"<?php if (isset ($row['date'])) {echo ' value="' date('H:i:s d.m.Y'$row['date']) . '"';} else {echo ' value="' date ('H:i:s d.m.Y') . '"';} ?>></p>

                    <p>Ключевые слова: <br>
                    <input type="text" name="keywords" size="60"<?php if (isset ($row['keywords'])) {echo ' value="' $row['keywords'] . '"';} ?>></p>

                    <p>Описание страницы: <br>
                    <input type="text" name="description" size="60"<?php if (isset ($row['description'])) {echo ' value="' $row['description'] . '"';} ?>></p>
                </div>
                <p>
                <?php
                
($action == 'edit') ? $name="update" $name="add";
                echo 
'<input type="submit" name="' $name '" value="сохранить">';
                
?>
                </p>
            </form>
        </div>
<?php
    
}
?>
        </div>
Онлайн: 1
Реклама