ACC SHELL

Path : /srv/www/vhosts/profias/inc/
File Upload :
Current File : /srv/www/vhosts/profias/inc/pages-tree.php

<?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&amp;c=4&amp;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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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('&amp;', '&', 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&amp;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