<?php
include_once("c_debug.php");
//include_once(_DIR_EXT.'/aspmo_rmt/i_mrt.php') ;
class c_page_cab_debug_parse_JSON extends c_page_cab_debug
{
  public $h1='Разбор JSON' ;

  function block_main()
  { $this->page_title() ;
    $this->panel_upload_promt() ;
  }

  function panel_upload_promt()
  { ?><div id="panel_upload_promt"><form action="" method="POST" enctype="multipart/form-data"><input type="hidden" name="cmd" value="upload_file">
       <p>Загрузите файл JSON:
       <div class=buttons><input name="upload_file[]" type="file" size="50"><input type="submit" value="Загрузить файл" class=button_green></div>
     </form></div><?

        if (_sizeof($_FILES))
        { $recs_files=conver_FILES_to_recs($_FILES['upload_file']) ;
          if (_sizeof($recs_files[0]))
            { //if ($recs_files[0]['type']=='application/vnd.ms-excel')
              { ?><h2>Загружаем данные из файла "<?echo $recs_files[0]['name']?>"</h2><?
                $file_name=_DIR_TO_ROOT.'/temp/'.$recs_files[0]['name'] ;
                if (file_exists($file_name)) unlink($file_name) ;
                move_uploaded_file($recs_files[0]['tmp_name'],$file_name) ;
                $JSON_source=file_get_contents($file_name) ;
                $data=$this->load_json_utf8($JSON_source) ;
                damp_array($data,1,-1) ;


                if ($data['args']['photo']['alco'])
                {   $mo_session_id=rand(1,10000) ;
                    $this->save_send_photo($data['args']['photo']['alco'],$mo_session_id.'_alco.jpg') ;
                    echo  $data['args']['photo']['alco'].'<br>' ;
                    echo 'Размер сохраннего файла: '.filesize(_DIR_TO_ROOT.'/temp/'.$mo_session_id.'_alco.jpg').' байт<br>' ;
                }

                //echo $text ;


                return(array('type'=>'success','no_default_panel'=>1)) ;
              }
              //else return(array('type'=>'error','code'=>'failed_type','text'=>'Неверный тип файла. Загрузите файл в формате Excel.')) ;
            }
          else return(array('type'=>'error','code'=>'not_uploaded_file','text'=>'Не был выбран файл')) ;
        }
        else return(array('type'=>'error','code'=>'not_uploaded_file','text'=>'Не был выбран файл')) ;
      }


    function load_json_utf8($content_str)
      {  $bom = chr(0xEF).chr(0xBB).chr(0xBF);
          if(substr_compare($bom, $content_str, 0, strlen($bom)) == 0) $content_str = substr($content_str, strlen($bom));
          return json_decode($content_str,true);
      }

    function save_send_photo(&$data,$img_name)
        { $arr=explode(';',$data) ; damp_array($arr,1,-1) ; // ([0] => data:image/png [1] => base64,iVBOR......==)
          if (_sizeof($arr)==1) $img_string=base64_decode($data) ;  //echo $img_string ;
          else
          { $arr2=explode(',',$arr[1]) ; // ([0] => base64 [1] => iVBOR......==)
            $img_string=base64_decode($arr2[1]) ;
          }

          $img_dir='/temp/'.$img_name ;
          file_put_contents(_DIR_TO_ROOT.$img_dir,$img_string) ;

          $data="<img width=150 zoom src='"._MAIN_PROTOCOL._MAIN_DOMAIN.$img_dir."'>" ; // ддя сохранения в журнале
        }
}



?>
