<?php

    $_table = 'admins';

    if(file_exists('_backend/internals/admins/l18n/'.$cfg['admin']['language'].'.php')) {
        require_once('_backend/internals/admins/l18n/'.$cfg['admin']['language'].'.php');
    }
    $table_config = array(
        'table' => 'admins',
        'multiSelect' => true,    
        'idField'=>'admId',
    );
    $table_fields = array(
        'admId' => array(
            'type' => 'id', 
            'default_list' => true,           
        ),  
        'admName' => array (
            'type' => 'text',
            'size' => 300,
            'length' => 200,
            'default_list' => true
        ),
        'admEmail' => array(
            'type' => 'text',
            'size' => '200',
            'length' => '100',
            'default_list' => true,   
        ),  
        'admPassword' => array(
            'type' => 'password',            
        ), 
        'admTabAppearance' => array(
            'type' => 'tab',
            'title' => _t('Appearance'),
        ),
        'admAppHeader' => array(
            'type' => 'select',
            'labels'=>array(_t('Light'), _t('Dark')),
            'values'=>array('', ' navbar-inverse'),
            'default_list' => true,   
        ),  
        'admAppAlertsError' => array (
            'type' => 'checkbox',
        ),           
        'admAppAlertsSuccess' => array (
            'type' => 'checkbox',
        ),  
                        
    );


    ///if($_POST['action']=='new_record' || $_POST['action']=='update_record') {

       // print_r($_POST);
       // exit;
        
        //mysqli_query($db, "DELETE FROM tablePrefixes WHERE prefix='$_record_previous[tabPrefix]'");
        //mysqli_query($db, "INSERT INTO tablePrefixes (`table`, `prefix`) VALUES ('table_".$_POST[tabName]."', '$_POST[tabPrefix]')"); 
        
       // echo "INSERT INTO tablePrefixes (`table`, `prefix`) VALUES ('$_POST[tabName]', '$_POST[tabPrefix]')";
        //echo "INSERT INTO tablePrefixes (table, prefix) VALUES ('$_POST[table]', '$_POST[tabPrefix]')";
        //print_r($_record_previous);
        //echo 'teraz';
        //echo $_POST['tabPrefix'];
  //  }
    //print_r($_SESSION['admin']);
    if(!$_SESSION['admin']['admRoot']) $admins_sql="AND admRoot!='1'";

    require_once('_backend/grid.php');


    function xprint_header() {
        global $_url, $cfg;
        echo '<h4>'._t('moduleName').'</h4>';
        if(!$_url[2]) $_url[2]='view';
        $active[$_url[2]]=' class="active"';
        echo '<ul class="nav nav-tabs">';
        
        echo '<li'.$active['view'].perm_display('admins','view').'><a href="/'.$_url[0].'/'.$_url[1].'/view"><span class="glyphicon glyphicon-eye-open"></span> Przeglądaj</a></li>';
        echo '<li'.$active['add'].perm_display('admins','add').'><a href="/'.$_url[0].'/'.$_url[1].'/add"><span class="glyphicon glyphicon-plus"></span> Dodaj</a></li>';
        echo '<li'.$active['structure'].perm_display('admins','structure').'><a href="/'.$_url[0].'/'.$_url[1].'/structure"><span class="glyphicon glyphicon-list"></span> Struktura</a></li>';
      
        
        if($_url[2]=='edit') echo '<li class="active"><a href="#"><span class="glyphicon glyphicon-edit"></span> Edycja #'.$_GET['id'].'</a></li>';
        if($_url[2]=='permissions') echo '<li class="active"><a href="#"><span class="glyphicon glyphicon-ok-circle"></span> Uprawnienia #'.$_GET['uid'].'</a></li>';
        
        
        renderHeaderSearch('admins');
        if($_url[2]=='view') renderSorting('admins');
           echo '</ul><div class="nice_bar"></div>';
   
    }
    
    function print_header() {
        global $_url, $cfg, $table, $table_config;
        if(!$_GET['modal_viewx']) {
            echo '<h4>'._t('moduleName');            
            foreach((array)$_SESSION['search'][$table['tabName']] as $key=>$item) {
                echo '<div class="label label-warning filter-item" style="float: right;">'.$item.' <span class="glyphicon glyphicon glyphicon-remove-circle remove-filter-item" phrase="'.$key.'"></span></div>';
            }
            
            echo '</h4>';
        }
       // echo '';
        //echo '<div class="clear"></div>';
        
        

        if(!$_url[2]) $_url[2]='view';
        $active[$_url[2]]=' class="active"';
        echo '<ul class="nav nav-tabs">';
        if(!$_GET['modal_viewx']) {
        echo '<li'.$active['view'].'><a href="/'.$_url[0].'/'.$_url[1].'/view/?tid='.$table['tabId'].'"><i class="fa fa-eye"></i> Przeglądaj</a></li>
        <li'.$active['add'].'><a href="/'.$_url[0].'/'.$_url[1].'/add/?tid='.$table['tabId'].'"><i class="fa fa-plus"></i> Dodaj</a></li>';

        if($_url[2]=='edit') echo '<li class="active"><a href="#"><i class="fa fa-edit"></i> Edycja #'.$_GET['id'].'</a></li>';
        } else {
            echo '<li><h4 style="display: block; float: right; margin-left: 10px;">'._t('moduleName').'</h4> <button aria-hidden="true" data-dismiss="modal" class="close" type="button">×</button></li>';
        }
        echo '<li'.$active['adjust'].'><a href="/'.$_url[0].'/'.$_url[1].'/adjust?tid='.$table['tabId'].'"><i class="fa fa-adjust"></i> Widok</a></li>';        

        
                    
        
        /*
        if($_url[2]!='structure') {
            renderHeaderSearch($table_config['admins']);
            renderEditLanguage();
        }
        if($_url[2]=='view') {
            renderFilters($table_config['admins']);
            renderSorting($table_config['admins']);
        }
        */
        echo '</ul><div class="nice_bar"></div>';
   
    }
    

    function action_index() {  
        global $table_config, $_url, $admins_sql; 
        echo $admin_sql;        
        grid_view($table_config['table'], $admins_sql, array(
                array('url'=>'/'.$_url[0].'/admins/permissions?uid={id}',
                      'class'=>'warning',
                      'icon'=>'glyphicon-ok-circle',
                      'label'=>_t('permissions'),
                      'perm'=>'permissions',
                )
            )       
        );            
    }
    
    function action_view() {
        action_index();
         
    }    
    
    function action_structure() {
        global $table_config;  
        grid_structure($table_config['table']);
          
    }     
    
    function action_edit() { 
        global $table_config;  
        grid_record($table_config['table'], true);
    }
    
    function action_add() { 
        global $table_config;  
        grid_record($table_config['table'], false);
    }    
    
    function action_permissions() {
        global $_perm_table, $_t, $cfg, $db;
        perm_check_exit('admins','permissions');
        //print_r($_t);
        $items=null;
        $elems=null;
        $__t=$_t;
        
        
        // internals
        if ($handle = opendir('_backend/internals')) {
    
            while (false !== ($entry = readdir($handle))) {
                if($entry!='.' && $entry!='..') {
                    $_t=null; 
                    if(file_exists('_backend/internals/'.$entry.'/permissions.php')) {
                        require_once('_backend/internals/'.$entry.'/permissions.php');                     
                        if(file_exists('_backend/internals/'.$entry.'/l18n/'.$cfg['admin']['language'].'.php')) {
                  
                            require_once('_backend/internals/'.$entry.'/l18n/'.$cfg['admin']['language'].'.php');
                            if($entry=='admins') $_t=$__t;
                            $elems[$entry]['title']=_t('moduleName');
                            $elems[$entry]['items']=$_perm_table[$entry];
                            
                        }                           
                        foreach($_perm_table[$entry] as $key=>$item) {
                            $items[$entry][$item]['title']=_t('perm_'.$item);
                        }                                    
                    }
                }    
            }                
            closedir($handle);
        }
        asort($elems);
        
        
        
        
        // moduly
        /*
        $elems['tab_modules']['title']='Moduły';         
        $res=mysqli_query($db, "SELECT modModule, modName, `modTitle@".$cfg['admin']['language']."` as title FROM modules ORDER BY title ASC");
        while($rek=mysqli_fetch_assoc($res)) {
            $elems['module_'.$rek['modName']]=array('title'=>$rek['title'], 'items'=>array('settings'));
           // print_r($rek);
        }
        $items['modules']['settings']['title']=_t('perm_settings');
        */        
        
        
        
        
        
        

        // tabele
        $elems['tab_tables']['title']='Tabele';         
        $res=mysqli_query($db, "SELECT tabName, `tabTitle@".$cfg['admin']['language']."` as title FROM tables WHERE tabInternal!='1' ORDER BY title ASC");
        while($rek=mysqli_fetch_assoc($res)) {
            $elems[$rek['tabName']]=array('title'=>$rek['title'], 'items'=>array('view', 'add', 'select', 'remove', 'edit', 'structure'));
           // print_r($rek);
        }
        $items['tables']['select']['title']=_t('perm_select');
        
        
        
        //print_r($elems);


        $all_items=array();
        foreach($items as $key=>$item) {

            $all_items=array_merge($all_items, $item);
        }
        $_t=$__t;
        
        $_perms=mysqli_fetch_assoc(mysqli_query($db, "SELECT * FROM admins WHERE admId='".$_GET['uid']."'"));
        $_perms=json_decode($_perms['admPermissions'], true);
      
        
        //echo '<pre>';
        //print_r($all_items);
        //print_r($elems);
        //exit;        
        
        require_once('views/permissions.php');
    }   
  
    function action_adjust() {
        global $table_config, $table_fields;
        grid_adjust($table_config['table']);
    }
        
     

?>