Вход Регистрация
Файл: adm_panel/menu.php
Строк: 229
<?php
require( '../sys/inc/core.php' );

user_access( 'adm_menu', null, 'index.php?' . SID );

$set[ 'title' ] = 'Главное меню';

$opendiricon = opendir( H.'style/icons' );
while ( 
$icons = readdir( $opendiricon ) ) {
    if ( 
preg_match( '#^.|default.png#', $icons ) )
        continue;
    
$icon[ ] = $icons;
}
closedir( $opendiricon );
if ( isset( 
$_POST[ 'add' ] ) && isset( $_POST[ 'name' ] ) && $_POST[ 'name' ] != NULL && isset( $_POST[ 'url' ] ) && $_POST[ 'url' ] != NULL && isset( $_POST[ 'counter' ] ) ) {
    
$name    = esc( stripcslashes( htmlspecialchars( $_POST[ 'name' ] ) ) );
    
$url     = esc( stripcslashes( htmlspecialchars( $_POST[ 'url' ] ) ) );
    
$counter = esc( stripcslashes( htmlspecialchars( $_POST[ 'counter' ] ) ) );
    
$pos     = db::count("SELECT MAX(`pos`) FROM `menu`") + 1;
    
$icon    = preg_replace( '#[^a-z0-9 _-.]#i', null, $_POST[ 'icon' ] );
    
db::query("INSERT INTO `menu` (`name`, `url`, `counter`, `pos`, `icon`) VALUES ('$name', '$url', '$counter', '$pos', '$icon')");
    
msg( 'Ссылка успешно добавлена' );
}
if ( isset( 
$_POST[ 'add' ] ) && isset( $_POST[ 'name' ] ) && $_POST[ 'name' ] != NULL && isset( $_POST[ 'counter' ] ) && isset( $_POST[ 'type' ] ) && $_POST[ 'type' ] == 'razd' ) {
    
$name    = esc( stripcslashes( htmlspecialchars( $_POST[ 'name' ] ) ) );
    
$url     = esc( stripcslashes( htmlspecialchars( $_POST[ 'url' ] ) ) );
    
$counter = esc( stripcslashes( htmlspecialchars( $_POST[ 'counter' ] ) ) );
    
$pos     = db::count("SELECT MAX(`pos`) FROM `menu`") + 1;
    
$icon    = preg_replace( '#[^a-z0-9 _-.]#i', null, $_POST[ 'icon' ] );
    
db::query("INSERT INTO `menu` (`type`, `name`, `url`, `counter`, `pos`, `icon`) VALUES ('razd', '$name', '$url', '$counter', '$pos', '$icon')");
    
msg( 'Ссылка успешно добавлена' );
}
if ( isset( 
$_POST[ 'change' ] ) && isset( $_GET[ 'id' ] ) && isset( $_POST[ 'name' ] ) && $_POST[ 'name' ] != NULL && isset( $_POST[ 'url' ] ) && isset( $_POST[ 'counter' ] ) ) {
    
$id      = intval( $_GET[ 'id' ] );
    
$name    = esc( stripcslashes( htmlspecialchars( $_POST[ 'name' ] ) ) );
    
$url     = esc( stripcslashes( htmlspecialchars( $_POST[ 'url' ] ) ) );
    
$counter = esc( stripcslashes( htmlspecialchars( $_POST[ 'counter' ] ) ) );
    
$icon    = preg_replace( '#[^a-z0-9 _-.]#i', null, $_POST[ 'icon' ] );
    
db::query("UPDATE `menu` SET `name` = '$name', `url` = '$url', `counter` = '$counter', `icon` = '$icon' WHERE `id` = '$id' LIMIT 1");
    
msg( 'Пункт меню успешно изменен' );
}
if ( isset( 
$_GET[ 'id' ] ) && isset( $_GET[ 'act' ] ) && db::count("SELECT COUNT(*) FROM `menu` WHERE `id` = '" . intval( $_GET[ 'id' ] ) . "'") ) {
    
$menu = db::fetch("SELECT * FROM `menu` WHERE `id` = '" . intval( $_GET[ 'id' ] ) . "' LIMIT 1", ARRAY_A);
    if ( 
$_GET[ 'act' ] == 'up' ) {
        
db::query("UPDATE `menu` SET `pos` = '" . ( $menu[ 'pos' ] ) . "' WHERE `pos` = '" . ( $menu[ 'pos' ] - 1 ) . "' LIMIT 1");
        
db::query("UPDATE `menu` SET `pos` = '" . ( $menu[ 'pos' ] - 1 ) . "' WHERE `id` = '" . intval( $_GET[ 'id' ] ) . "' LIMIT 1");
        
msg( 'Пункт меню сдвинут на позицию вверх' );
    }
    if ( 
$_GET[ 'act' ] == 'down' ) {
        
db::query("UPDATE `menu` SET `pos` = '" . ( $menu[ 'pos' ] ) . "' WHERE `pos` = '" . ( $menu[ 'pos' ] + 1 ) . "' LIMIT 1");
        
db::query("UPDATE `menu` SET `pos` = '" . ( $menu[ 'pos' ] + 1 ) . "' WHERE `id` = '" . intval( $_GET[ 'id' ] ) . "' LIMIT 1");
        
msg( 'Пункт меню сдвинут на позицию вниз' );
    }
    if ( 
$_GET[ 'act' ] == 'del' ) {
        
db::query("DELETE FROM `menu` WHERE `id` = '" . intval( $_GET[ 'id' ] ) . "' LIMIT 1");
        
msg( 'Пункт меню удален' );
    }
}
get_header_admin(); 
echo 
"<table class='post'>n";
$q = db::query("SELECT * FROM `menu` ORDER BY `pos` ASC");
while ( 
$post =  $q->fetch_assoc() ) {
    echo 
"   <tr>n";
    if ( !isset( 
$post[ 'icon' ] ) )
        
db::query('ALTER TABLE `menu` ADD `icon` VARCHAR( 32 ) NULL DEFAULT NULL');
    if ( !isset( 
$post[ 'type' ] ) )
        
db::query("ALTER TABLE  `menu` ADD  `type` ENUM('link', 'razd') NOT NULL DEFAULT 'link' AFTER `id`");
    echo 
"  <td class='p_t'>n";
    echo 
"$post[pos]) $post[name] " . ( $post[ 'type' ] == 'link' ? "($post[url])" : null );
    echo 
"  </td>n";
    echo 
"   </tr>n";
    echo 
"   <tr>n";
    echo 
"  <td class='p_m'>n";
    if ( isset( 
$_GET[ 'id' ] ) && $_GET[ 'id' ] == $post[ 'id' ] && isset( $_GET[ 'act' ] ) && $_GET[ 'act' ] == 'edit' ) {
        echo 
"<form action="?id=$post[id]" method="post">";
        echo 
"Тип: " . ( $post[ 'type' ] == 'link' ? 'Ссылка' : 'Разделитель' ) . "<br />n";
        echo 
"Название:<br />n";
        echo 
"<input type='text' name='name' value="$post[name]" /><br />n";
        if ( 
$post[ 'type' ] == 'link' ) {
            echo 
"Ссылка:<br />n";
            echo 
"<input type='text' name='url' value='$post[url]' /><br />n";
        } else
            echo 
"<input type='hidden' name='url' value='' />n";
        echo 
"Счетчик:<br />n";
        echo 
"<input type='text' name='counter' value='$post[counter]' /><br />n";
        if ( 
$post[ 'type' ] == 'link' ) {
            echo 
"Иконка:<br />n";
            echo 
"<select name='icon'>n";
            echo 
"<option value='default.png'>По умолчанию</option>n";
            for ( 
$i = 0; $i < sizeof( $icon ); $i++ ) {
                echo 
"<option value='$icon[$i]'" . ( $post[ 'icon' ] == $icon[ $i ] ? " selected='selected'" : null ) . ">$icon[$i]</option>n";
            }
            echo 
"</select><br />n";
        } else
            echo 
"<input type='hidden' name='icon' value='$post[icon]' />n";
        echo 
"<input class="submit" name="change" type="submit" value="Изменить" /><br />n";
        echo 
"</form>";
        echo 
"<a href='?'>Отмена</a><br />";
    } else {
        echo 
"Счетчик: " . ( $post[ 'counter' ] == null ? 'отсутствует' : $post[ 'counter' ] ) . "<br />n";
        echo 
"<a href='?id=$post[id]&amp;act=up'>Выше</a> | ";
        echo 
"<a href='?id=$post[id]&amp;act=down'>Ниже</a> | ";
        echo 
"<a href='?id=$post[id]&amp;act=del'>Удалить </a><br />";
        echo 
"<a href='?id=$post[id]&amp;act=edit'>Редактировать </a><br />";
    }
    echo 
"  </td>n";
    echo 
"   </tr>n";
}
echo 
"</table>n";
if ( isset( 
$_GET[ 'add' ] ) ) {
    echo 
"<form action='?add=' method="post">";
    echo 
"Тип:<br />n";
    echo 
"<select name='type'>n";
    echo 
"<option value='link'>Ссылка (1)</option>n";
    echo 
"<option value='razd'>Раздел (2)</option>n";
    echo 
"</select><br />n";
    echo 
"Название (1,2):<br />n";
    echo 
"<input type="text" name="name" value=""/><br />n";
    echo 
"Ссылка(1):<br />n";
    echo 
"<input type="text" name="url" value=""/><br />n";
    echo 
"Счетчик (1,2):<br />n";
    echo 
"<input type="text" name="counter" value=""/><br />n";
    echo 
"Иконка (1):<br />n";
    echo 
"<select name='icon'>n";
    echo 
"<option value='default.png'>По умолчанию</option>n";
    for ( 
$i = 0; $i < sizeof( $icon ); $i++ ) {
        echo 
"<option value='$icon[$i]'>$icon[$i]</option>n";
    }
    echo 
"</select><br />n";
    echo 
"<input class='submit' name='add' type='submit' value='Добавить' /><br />n";
    echo 
"<a href='?'>Отмена</a><br />n";
    echo 
"</form>";
} else
    echo 
"<div class='foot'><a href='?add='>Добавить пункт</a></div>n";
if ( 
user_access( 'adm_panel_show' ) ) {
    echo 
"<div class='foot'>n";
    echo 
"&laquo;<a href='/adm_panel/'>В админку</a><br />n";
    echo 
"</div>n";
}
get_footer_admin();
Онлайн: 2
Реклама