ACC SHELL
<?php
function menu_node($node, $childern=array(), $conf = array('active', 'delete', 'in_menu', 'order'))
{
$result='<li>';
if (in_array('order', $conf)){
$result.='<a href="?up='.$node['id'].get_params($_GET, array('up')).'" class="tree-admin-icon admin-icon-up"><!-- --></a>
';
$result.='<a href="?down='.$node['id'].get_params($_GET, array('down')).'" class="tree-admin-icon admin-icon-down"><!-- --></a>
';
}
if (in_array('active', $conf)){
if ('Y'==$node['active'])
{
$result.='<a href="?deactive='.$node['id'].get_params($_GET, array('deactive')).'" class="tree-admin-icon admin-icon-active"><!-- --></a>
';
}
else
{
$result.='<a href="?active='.$node['id'].get_params($_GET, array('active')).'" class="tree-admin-icon admin-icon-deactive"><!-- --></a>
';
}
}
if (in_array('delete', $conf)){
$result.='<a href="pages.php?actionsys_page=delete&idsys_page='.$node['id'].'" class="tree-admin-icon admin-icon-delete"><!-- --></a>
';
}
if (in_array('in_menu', $conf)){
if ('Y'==$node['in_menu'])
{
$result.='<a href="?notinmenu='.$node['id'].get_params($_GET, array('notinmenu')).'" class="tree-admin-icon admin-icon-folder"><!-- --></a>
';
}
else
{
$result.='<a href="?inmenu='.$node['id'].get_params($_GET, array('inmenu')).'" class="tree-admin-icon admin-icon-folder-inactive"><!-- --></a>
';
}
}
$result.='
<a href="'.$GLOBALS['http_root'].'admin/pages.php?actionsys_page=edit&c=4&idsys_page='.$node['id'].'#heresys_page">'.$node['name'].'</a>
<div class="clear_both"><!-- --></div>
';
$submenu_str='';
for ($i=0; $i<count($childern[$node['id']]); $i++)
{
$submenu_str.=menu_node($childern[$node['id']][$i], $childern, $conf);
}
if (TRUE==$submenu_str)
{
$result.='
<ul>
'.$submenu_str.'
</ul>
';
}
$result.='</li>';
return $result;
}
if (TRUE==$_GET['inmenu'])
{
$db->queryN('UPDATE sys_pages SET in_menu=\'Y\' WHERE id='.(int)$_GET['inmenu']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('inmenu'))));
die();
}
if (TRUE==$_GET['notinmenu'])
{
$db->queryN('UPDATE sys_pages SET in_menu=\'N\' WHERE id='.(int)$_GET['notinmenu']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('notinmenu'))));
die();
}
if (TRUE==$_GET['start'])
{
$db->queryN('UPDATE sys_pages SET start=\'N\'');
$db->queryN('UPDATE sys_pages SET start=\'Y\' WHERE id='.(int)$_GET['start']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('start'))));
die();
}
if (TRUE==$_GET['unstart'])
{
$db->queryN('UPDATE sys_pages SET start=\'N\' WHERE id='.(int)$_GET['unstart']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('unstart'))));
die();
}
if (TRUE==$_GET['active'])
{
$db->queryN('UPDATE sys_pages SET active=\'Y\' WHERE id='.(int)$_GET['active']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('active'))));
die();
}
if (TRUE==$_GET['deactive'])
{
$db->queryN('UPDATE sys_pages SET active=\'N\' WHERE id='.(int)$_GET['deactive']);
header('location: ?'.str_replace('&', '&', get_params($_GET, array('deactive'))));
die();
}
if (TRUE==$_GET['up'])
{
$tmp=$db->select('id_parent, list', 'sys_pages', 'id='.(int)$_GET['up'], '1');
$tmp2=$db->select('MAX(list) AS list', 'sys_pages', 'list<'.(int)$tmp['list'].' AND id_parent='.(int)$tmp['id_parent'], '1');
if (TRUE==$tmp2['list'])
{
$db->queryN('UPDATE sys_pages SET list=999999 WHERE list='.(int)$tmp['list']);
$db->queryN('UPDATE sys_pages SET list='.(int)$tmp['list'].' WHERE list='.(int)$tmp2['list']);
$db->queryN('UPDATE sys_pages SET list='.(int)$tmp2['list'].' WHERE list=999999');
}
header('location: ?'.str_replace('&', '&', get_params($_GET, array('up'))));
die();
}
if (TRUE==$_GET['down'])
{
$tmp=$db->select('id_parent, list', 'sys_pages', 'id='.(int)$_GET['down'], '1');
$tmp2=$db->select('MIN(list) AS list', 'sys_pages', 'list>'.(int)$tmp['list'].' AND id_parent='.(int)$tmp['id_parent'], '1');
if (TRUE==$tmp2['list'])
{
$db->queryN('UPDATE sys_pages SET list=999999 WHERE list='.(int)$tmp['list']);
$db->queryN('UPDATE sys_pages SET list='.(int)$tmp['list'].' WHERE list='.(int)$tmp2['list']);
$db->queryN('UPDATE sys_pages SET list='.(int)$tmp2['list'].' WHERE list=999999');
}
header('location: ?'.str_replace('&', '&', get_params($_GET, array('down'))));
die();
}
$output=$output2='';
$tmp=$db->select('p.*, pl.name, pl.path', 'sys_pages AS p LEFT JOIN sys_pages_languages AS pl ON (p.id=pl.id_page)', 'pl.id_language=1 AND p.in_menu="Y" ', '', 'p.list');
$tmp2=$db->select('p.*, pl.name, pl.path', 'sys_pages AS p LEFT JOIN sys_pages_languages AS pl ON (p.id=pl.id_page)', 'pl.id_language=1 AND (p.in_menu="N" OR p.in_menu = false)', '', 'p.list');
for ($i=0; $i<count($tmp); $i++)
{
$childern[(int)$tmp[$i]['id_parent']][]=$tmp[$i];
}
for ($i=0; $i<count($tmp2); $i++)
{
$childern2[(int)$tmp2[$i]['id_parent']][]=$tmp2[$i];
}
for ($i=0; $i<count($childern[0]); $i++)
{
$output.=menu_node($childern[0][$i], $childern);
}
for ($i=0; $i<count($childern2[0]); $i++)
{
$output2.=menu_node($childern2[0][$i], $childern2, array('in_menu', 'active', 'delete'));
}
if (TRUE==$output)
{
$output='
<hr class="no_css">
<a class="admin-icon-new new-page" href="pages.php?actionsys_page=add&parent=0">Přidat stránku</a><br />
<strong>Stránky v menu</strong>
<ul class="pages-tree">
<li><a href="?root=true">Kořen</a>
<ul>
'.$output.'
</ul>
</li>
</ul>
';
}
if (TRUE==$output2)
{
$output2='
<hr class="no_css">
<br /><br />
<strong>Ostatní stránky</strong>
<ul class="pages-tree">
<li>
<ul>
'.$output2.'
</ul>
</li>
</ul>
';
}
echo $output.$output2;
?>
ACC SHELL 2018