<?php
include_once '../sys/inc/start.php';
dpanel::check_access();
$doc = new document(5);
$doc -> title = 'Виджеты главного меню';


$vid = new vidgets('all');
$vid_main = new vidgets('main');






if (isset($_GET['vidget']))
{
$v=(string)$_GET['vidget'];
if (!isset($vid->ini[$v]))
{
header('Refresh: 1; url=?');
$doc->ret('Вернуться','?');
$doc->err('Выбранный виджет не существует');
exit;
}
else
{
$vidget=$vid->ini[$v];
$doc->title='Виджет: '.((isset($vidget['name']) && $vidget['name'])?output_text($vidget['name']):'Без названия');


if (isset($_GET['up']))
{
if ($vid_main->up($v))
$doc->msg('Виджет успешно поднят');
else
$doc->err('Ошибка при перемещении виджета');

header('Refresh: 1; url=?');


$doc->ret('Вернуться','?');
exit;
}
if (isset($_GET['down']))
{
if ($vid_main->down($v))
$doc->msg('Виджет успешно опущен');
else
$doc->err('Ошибка при перемещении виджета');

header('Refresh: 1; url=?');
$doc->ret('Вернуться','?');
exit;
}



if (isset($_POST['delete']))
{
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']){$design->err('Проверочное число введено неверно');}
else
{

if ($vid_main->delete($v))
$doc->msg('Виджет успешно удален с главного меню');
else
$doc->err('Ошибка при удалении виджета');

header('Refresh: 1; url=?');
$doc->ret('Вернуться','?');
exit;
}

}


echo "<img src='/sys/vidgets/$v/screen.png' alt='$v' /><br />";

if (!empty($vidget['autor']))echo 'Автор: '.for_value($vidget['autor'])."<br />";
if (!empty($vidget['version']))echo 'Версия: '.for_value($vidget['version'])."<br />";



if (isset($_GET['delete']))
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action','?vidget='.$v.'&amp;'.passgen());
$elements=array();
$elements[]=array('type'=>'captcha','br'=>1);
$elements[]=array('type'=>'text','value'=>'* Виджет будет удален только с главного меню','br'=>1);
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'delete', 'value'=>'Удалить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}


$doc->ret('Главное меню','?');
$doc->ret('Админка','./');
exit;
}
}


if (isset($_POST['add']) && !empty($_POST['vidget']))
{
$add_vidget = (string)$_POST['vidget'];
if (!isset($vid->ini[$add_vidget]))$doc->err('Выбранный виджет недоступен');
else
{
$ini_install['info'] = $vid->ini[$add_vidget];
$ini_install['install']['name'] = $add_vidget;

if ($vid_main->install($ini_install))
{
$doc->msg('Виджет "'.$add_vidget.'" успешно добавлен');
}
else
{
$doc->msg('Ошибка при добавлении виджета');
}


}

}



$posts = array();
$i=1;
$count=count($vid_main->ini);
foreach ($vid_main->ini as $name=>$data) {
$t="<a href='?vidget=$name'>".((isset($data['name']) && $data['name'])?output_text($data['name']):'Без названия')." ($name)</a>";
$icon=array('size'=>'small', 'src'=>'/sys/images/icons/vidget.png');
$act=array();
$p=null;
if ($i!=1)$act[]=array('up',"?vidget=$name&amp;up");
if ($i!=$count)$act[]=array('down',"?vidget=$name&amp;down");
$act[]=array('delete',"?vidget=$name&amp;delete");

if (!empty($data['autor']))$p.= 'Автор: '.for_value($data['autor'])."<br />";
if (!empty($data['version']))$p.=  'Версия: '.for_value($data['version'])."<br />";


$posts[]=array('title'=>$t, 'icon'=>$icon, 'act'=>$act,'post'=>$p);
$i++;
}
if (!$posts)$posts[]=array('icon'=>array('size'=>'small','src'=>'/sys/images/icons/empty.png'),'title'=>'Нет виджетов в главном меню');
$show = new design();
$show->assign('post',$posts);
$show->display('design.listing.tpl');


if (isset($_GET['add']))
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('files',1);
$smarty->assign('action','?'.passgen());
$elements=array();

foreach ($vid->ini as $name=>$data) 
$options[]=array($name,$data['name'],false);
$elements[]=array('type'=>'select', 'title' => 'Виджет', 'br'=>1, 'info'=>array('name' => 'vidget','options'=>$options));


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


$doc->act('Добавить виджет','?add');

$doc->ret('Админка','./');
?>
