<?php
include_once('c_mo_db.php') ;
class c_page_cab_mo_db_json extends c_page_cab_mo_db
{
 public $h1='Данные с терминалов' ;

 function block_main()
 { $this->page_title() ;
   $fname_ca='check_access_'.date('Y_m_d_H_i_s',$this->rec_mo['c_data']).'.html' ;
   $file_dir=_DIR_TO_ROOT.'/logs/'.$fname_ca ;
   if (file_exists($file_dir))
   { $cont=file_get_contents($file_dir) ;
     $arr_ca=json_decode($cont,true);
     $this->damp_array($arr_ca,1,-1) ;
   }
   $fname_er='examination_result_'.date('Y_m_d_H_i_s',$this->rec_mo['e_data']).'.html' ;
   $file_dir=_DIR_TO_ROOT.'/logs/'.$fname_er ;
   if (file_exists($file_dir))
   { $cont=file_get_contents($file_dir) ;
     $arr_ca=json_decode($cont,true);
     $this->damp_array($arr_ca,1,-1) ;
   }
   else
   {
       $fname_er='examination_result_'.date('Y_m_d_H_i_s',($this->rec_mo['e_data']-1)).'.html' ;
       $file_dir=_DIR_TO_ROOT.'/logs/'.$fname_er ;
       if (file_exists($file_dir))
       { $cont=file_get_contents($file_dir) ;
         $arr_ca=json_decode($cont,true);
         $this->damp_array($arr_ca,1,-1) ;
       }

   }

 }


    // $mode = 1: выводить массивы через 1x, =2: выводить массивы через 2x
    // damp_array($arr,1,-1) - вывести массив для любого IP без трассировки
    function damp_array($arr,$mode=1,$show_trace=1,$no_style=0)
    { if (_sizeof($arr))
      { ?><table class="left debug damp_array"><?
        if ((is_array($arr) or is_object($arr)) and _sizeof($arr))
        { // var_dump($arr) ;
            foreach ($arr as $key=>$value) if (!(is_object($value) and $key=='system'))
         { ?><tr><?
           if (!is_array($value) and !is_object($value)) { ?><td><? echo $key ; ?></td><td><?
                 //if (strlen($value)<=128) echo htmlentities($value) ;
                 if (strlen($value)<=128 or $key=='debug_db' or 1) echo ($value) ;
                 /*else if (base64_decode($value, true)) {?><img alt="" src="data:image/jpeg;base64,<?echo $value?>"  alt=""><?}
                 else {?><div class="short_view"><?
                     //echo htmlentities($value)
                     echo ($value)
                     ?></div><?}*/
               ?></td><? ; } // если значение не массив
     		else // значение - массив
     		{ list($key1,$value1)=each($value) ; // получаем первый элемент массива
             reset($value) ;
             if (!is_array($value1)) { ?><td><strong><? echo $key ; ?></strong></td><td><? $this->print_1x_arr($value) ; ?></td><? }  // если массив состоит из строк - выводим его
             else
             { list($key2,$value2)=each($value1) ; // получаем первый элемент дочернего массива
             	reset($value1) ;
              if (!is_array($value2)) { ?><td><strong><? echo $key ; ?></strong></td><td><? $this->print_1x_arr($value) ;?></td><? }
               else
               { ?><td><strong><? echo $key ; ?></strong></td><td><? $this->damp_array($value,$mode,-1) ; ?></td><? }
     		  }
   		}
   		?></tr><?
   	  }
         else
         {
           ?><tr><td><? echo $key ; ?></td><td><? if (is_object($value)) echo 'object "<strong>'.get_class($value).'"</strong>' ; ?></td></tr><? ;

         }

        }
    	 ?></table><?
      }
    }

    function print_1x_arr($arr=array())
    	{ if (_sizeof($arr))
          { /*?><table class="left debug"><tr class=td_header><td>key</td><td>value</td></tr><?*/
            ?><table class="left debug print_1x_arr"><?

            //trace() ;
            foreach ($arr as $fname=>$finfo)
             { ?><tr><td><? echo $fname?></td><td><?
                     if (is_array($finfo))
                     { $this->print_1x_arr($finfo) ;
                     }
                     else if (is_object($finfo)) { if (get_class($finfo)=='stdClass') damp_array($finfo,1,-1) ;
                                                   else echo 'Объект "'.get_class($finfo).'"'  ;/*else print_r($finfo) ;*/
                                                  }
                     else
                     {   //if (strlen($finfo)<=128) echo htmlentities($finfo) ;
                         if (strlen($finfo)<=128 or $fname=='debug_db') echo ($finfo) ;
                         /*else if (base64_decode($finfo, true)) {?><img alt="" src="data:image/jpeg;base64,<?echo $finfo?>"  alt=""><?}*/
                         else {?><div class="short_view"><?
                             //echo htmlentities($finfo)
                             echo ($finfo)
                             ?></div><?}
                     }
                ?></td></tr><?
             }
            ?></table><?
          } else echo 'array()<br/>';
    	}


}

?>
