View file adm_panel/menu.php

File size: 7.1Kb
<?
include_once '../sys/inc/start.php';
include_once '../sys/inc/compress.php';
include_once '../sys/inc/sess.php';
include_once '../sys/inc/home.php';
include_once '../sys/inc/settings.php';
include_once '../sys/inc/db_connect.php';
include_once '../sys/inc/ipua.php';
include_once '../sys/inc/fnc.php';
include_once '../sys/inc/adm_check.php';
include_once '../sys/inc/user.php';
include_once '../sys/inc/main_menu.php'; // главное меню

user_access('adm_menu',null,'index.php?'.SID);
adm_check();
$set['title']='Главное меню';
include_once '../sys/inc/thead.php';
title();


 // загружаем список иконок
$icon_list=glob(H.ICONS_MENU.'*.png');foreach ($icon_list as $key=>$value)$icon_list[$key]=str_replace(H.ICONS_MENU, NULL, $value);


$menu=main_menu(false); // загрузка меню



if (isset($_POST['add']) && isset($_POST['icon']) && isset($_POST['name']) && $_POST['name'] && isset($_POST['counter']) && isset($_POST['type']) && ($_POST['type']=='razd' || $_POST['type']=='link'))
{

if (isset($menu[$_POST['name']]))$err[]='Пункт меню с таким названием уже существует';
else {
$menu_item=&$menu[$_POST['name']];
$menu_item['type']=esc($_POST['type']);
$menu_item['name']=esc($_POST['name']);
$menu_item['url']=esc($_POST['url']);
$menu_item['counter']=esc($_POST['counter']);
$menu_item['icon']=esc($_POST['icon']);
if (main_menu_save($menu))
{
msg('Пункт меню успешно добавлен');
$menu=main_menu(false);
}


}
}



if (isset($_POST['change']) && isset($_GET['name']) && isset($_POST['name']) && $_POST['name']!=NULL && isset($_POST['url']) && isset($_POST['counter']) && isset($menu[$_GET['name']]))
{
$menu_item=&$menu[$_GET['name']];
$menu_item['name']=esc($_POST['name']);
$menu_item['url']=esc($_POST['url']);
$menu_item['counter']=esc($_POST['counter']);
$menu_item['icon']=esc($_POST['icon']);
$menu_item['type']=esc($_POST['type']);
if (main_menu_save($menu))
{
msg('Пункт меню успешно изменен');
$menu=main_menu(false);
}

}

if (isset($_GET['name']) && isset($_GET['act']) && isset($menu[$_GET['name']]))
{

if ($_GET['act']=='up')
{
if (main_menu_item_up($menu,$_GET['name']))
{
msg('Пункт меню успешно сдвинут вверх');
$menu=main_menu(false);
}
}

if ($_GET['act']=='down')
{
if (main_menu_item_down($menu,$_GET['name']))
{
msg('Пункт меню успешно сдвинут вниз');
$menu=main_menu(false);
}
}

if ($_GET['act']=='del')
{
if (main_menu_item_delete($menu,$_GET['name']))
{
msg('Пункт меню успешно удален');
$menu=main_menu(false);
}
}

}



err();
aut();



if (isset($_GET['act']) && $_GET['act']=='edit' && isset($_GET['name']) && isset($menu[$_GET['name']]))
{
$menu_item=$menu[$_GET['name']];
$smarty = new Smarty_conf();
$smarty->assign('form_title','Пункт меню &quot;'.$_GET['name'].'&quot;');
$smarty->assign('method','POST');
$smarty->assign('cancel',"?$passgen");
$smarty->assign('action',"?name=".urlencode($_GET['name'])."&amp;$passgen");
$elements=array();
$elements[]=array('type'=>'select', 'title'=>'Тип', 'br'=>1, 'info'=>array('name' => 'type','options' => array(array('link','Ссылка (1)',$menu_item['type']=='link'),array('razd','Раздел (2)',$menu_item['type']=='razd'))));

$elements[]=array('type'=>'input_text', 'title'=>'Название (1,2)', 'br'=>1, 'info'=>array('name' => 'name','value' => $_GET['name']));
$elements[]=array('type'=>'input_text', 'title'=>'Ссылка (1)', 'br'=>1, 'info'=>array('name' => 'url','value' => $menu_item['url']));
$elements[]=array('type'=>'input_text', 'title'=>'Счетчик (1,2)', 'br'=>1, 'info'=>array('name' => 'counter','value' => $menu_item['counter']));

$options_icon=array();
foreach ($icon_list as $key=>$value) {
$options_icon[]=array($value,$value,$menu_item['icon']==$value);
}

$elements[]=array('type'=>'select', 'title'=>'Иконка (1)', 'br'=>1, 'info'=>array('name' => 'icon','options' => $options_icon));

$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'change', 'value'=>'Применить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

$smarty = new Smarty_conf();
$smarty->assign('menu_title','Навигация');
$menu=array();
$menu[]=array('?'.$passgen,'Меню');
$menu[]=array('.','Админка');
$smarty->assign('menu',$menu);
$smarty->display('links.path.tpl');
}
else
{

$listing = new Smarty_conf();
$posts=array();

$i=1;
foreach ($menu as $name => $post) {
$icon=array('size'=>'small','src'=>$post['type']=='link'?ICONS_MENU.$post['icon']:ICONS_COMMON.'module.png');
if ($post['type']!='link')$title="$i. [<a href='?name=".urlencode($name)."&amp;act=edit&amp;$passgen'>$name</a>]";
else $title="$i. &quot;<a href='?name=".urlencode($name)."&amp;act=edit&amp;$passgen'>$name</a>&quot; ($post[url])";
$post_post=$post['type']=='link'?"Счетчик: ".($post['counter']==null?'отсутствует':$post['counter'])."<br />\n":null;
$post_post.="<a href='?name=".urlencode($name)."&amp;act=up&amp;$passgen'>Выше</a> | <a href='?name=".urlencode($name)."&amp;act=down&amp;$passgen'>Ниже</a>";
$posts[]=array('icon'=>$icon,'title'=>$title,'post'=>$post_post,'delete'=>"?name=".urlencode($name)."&amp;act=del&amp;$passgen");

$i++;
}


if (!$posts)$posts[]=array('title' => 'Главное меню пусто');
$listing->assign('post',$posts);
$listing->display('body.conlentlist.tpl');



if (isset($_GET['add'])){

$smarty = new Smarty_conf();
$smarty->assign('form_title','Новый пункт меню');
$smarty->assign('method','POST');
$smarty->assign('cancel',"?$passgen");
$smarty->assign('action',"?add=$passgen");
$elements=array();
$elements[]=array('type'=>'select', 'title'=>'Тип', 'br'=>1, 'info'=>array('name' => 'type','options' => array(array('link','Ссылка (1)'),array('razd','Раздел (2)'))));

$elements[]=array('type'=>'input_text', 'title'=>'Название (1,2)', 'br'=>1, 'info'=>array('name' => 'name'));
$elements[]=array('type'=>'input_text', 'title'=>'Ссылка (1)', 'br'=>1, 'info'=>array('name' => 'url'));
$elements[]=array('type'=>'input_text', 'title'=>'Счетчик (1,2)', 'br'=>1, 'info'=>array('name' => 'counter'));

$options_icon=array();
foreach ($icon_list as $key=>$value) {
$options_icon[]=array($value,$value,$value=='default.png');
}

$elements[]=array('type'=>'select', 'title'=>'Иконка (1)', 'br'=>1, 'info'=>array('name' => 'icon','options' => $options_icon));

$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'add', 'value'=>'Добавить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

}
else
{
$smarty = new Smarty_conf();
$smarty->assign('menu_title','Управление');
$menu=array();
$menu[]=array('?add='.$passgen,'Добавить новый пункт');
$smarty->assign('menu',$menu);
$smarty->display('links.actions.tpl');

}


$smarty = new Smarty_conf();
$smarty->assign('menu_title','Навигация');
$menu=array();
$menu[]=array('.','Админка');
$smarty->assign('menu',$menu);
$smarty->display('links.path.tpl');
}



include_once '../sys/inc/tfoot.php';
?>