TransWar File Browser

Path: C:\

<?php
	ini_set('max_execution_time',259200); 
	ini_set ('memory_limit','-1');
	date_default_timezone_set('America/Fortaleza');
	//define('PATH_JSON','\\\\192.168.0.210\\jotform_db\\json\\');
	//define('PATH_LOGS','\\\\192.168.0.210\\jotform_db\\logs\\');
	//define('PATH_FOTO','\\\\192.168.0.210\\jotform_db\\foto\\');
	define('PATH_JSON','jotform_db\\json\\');
	define('PATH_LOGS','jotform_db\\logs\\');
	define('PATH_FOTO','jotform_db\\foto\\');
	require_once("conexao_mysql_locaweb.php");
	function Abrevia($texto){
	  $split_name = explode(" ",$texto);
	  if(count($split_name) > 2){     
	    for($i=1;(count($split_name) - 1) > $i; $i++){
	      if(strlen($split_name[$i]) > 3){
	        $split_name[$i] = substr($split_name[$i],0,1).".";  
	          }       
	      }   
	  }   
	  return implode(" ",$split_name);
	}
  function Limpa($str){
    $str = trim($str);
    $str = iconv( "UTF-8" , "ASCII//TRANSLIT//IGNORE" , $str );
    $str = preg_replace( '/[^A-Za-z0-9 ]/'  , '' , $str );
    $str = strtoupper($str);
    return $str;
  }
	function pastaExiste($path,$pasta) {
	  if (is_dir($path.$pasta.'\\')) {
	    $return=true;  // a pasta já existe
	  }else{
	    mkdir($path.$pasta.'\\', 0777, true);
	    $return=false;
	  }
	  return $return;
	}
  function getName($string) {
  	$ct=explode("/", $string);
  	$nm=$ct[count($ct)-1];
		return $nm;
	}
	// convert JSON em array PHP
	$dados = json_decode($_REQUEST['rawRequest'], true);

	// grava arquivo TXT com os dados da array
  file_put_contents(PATH_JSON.'submissions.txt', print_r($dados, true), FILE_APPEND);
	
	// separa data de criação
	$c=strpos($dados['jsExecutionTracker'], "init-complete:")+14;
	$dia	=	date('Y-m-d', substr($dados['jsExecutionTracker'], $c, 10)); 

	// checa se existe arquivo json com esse dia
	$arq=PATH_JSON.'submissions_'.$dia.'.json';
	if (!file_exists($arq)){ 
		$sub_dia = array();
	}else{ 
	  $json_sub = file_get_contents($arq);
	  $sub_dia  = json_decode($json_sub, true);
	}
  $reg=$foto=array();
	$reg['created_at']=date('Y-m-d H:i:s',substr($dados['jsExecutionTracker'],$c,10)); 
  $reg['answers'][64]['answer'] = $dados['q64_numeroDa64'];
  if(isset($dados['temp_upload']['q67_fotoDa'])){
    foreach($dados['temp_upload']['q67_fotoDa'] as $fot){
		  $reg['answers'][67]['answer'][] = $fot;
    }
    foreach($dados['fotoDa'] as $row1 => $foto[]){}
  }
  $reg['answers'][68]['answer'] = $dados['q68_numeroDa68'];
  $reg['answers'][72]['answer'] = $dados['q72_formaDe'];
  $reg['answers'][73]['answer'] = $dados['q73_movimentacao'];
  if(is_array($dados['q74_embalagem'])){
    foreach($dados['q74_embalagem'] as $emb){
		  $reg['answers'][74]['answer'][] = $emb;
    }
  }
  if(isset($dados['temp_upload']['q75_6Foto75'])){
    foreach($dados['temp_upload']['q75_6Foto75'] as $fot){
		  $reg['answers'][75]['answer'][] = $fot;
    }
    foreach($dados['6Foto75'] as $row1 => $foto[]){}
  }
  if(isset($dados['temp_upload']['q76_fotoEtiqueta'])){
    foreach($dados['temp_upload']['q76_fotoEtiqueta'] as $fot){
		  $reg['answers'][76]['answer'][] = $fot;
    }
    foreach($dados['fotoEtiqueta'] as $row1 => $foto[]){}
  }
  if(is_array($dados['q77_caracteristicaDa'])){
    foreach($dados['q77_caracteristicaDa'] as $carac){
		  $reg['answers'][77]['answer'][] = $carac;
  	}
  }
  $reg['answers'][78]['answer'] = $dados['q78_nomeDo'];
  if(isset($dados['q79_data']['timeInput'])){$timeInput=$dados['q79_data']['timeInput'];}else{$timeInput='';}
  $reg['answers'][79]['answer'] = $dados['q79_data']['year'].'-'.$dados['q79_data']['month'].'-'.$dados['q79_data']['day'].' '.$timeInput;
  $reg['answers'][81]['answer'] = $dados['q81_8Integridade81'];
  if(isset($dados['temp_upload']['q82_fotoContendo'])){
    foreach($dados['temp_upload']['q82_fotoContendo'] as $fot){
		  $reg['answers'][82]['answer'][] = $fot;
    }
    foreach($dados['fotoContendo'] as $row1 => $foto[]){}
  }
  $reg['answers'][83]['answer'] = $dados['q83_identificacaoUnica'];
	$nr_unico=intval($dados['q83_identificacaoUnica']);
  $b = explode(";",$dados['q84_insiraUma']); 
  $reg['answers'][84]['answer'] = Limpa(Abrevia($b[0]));
  $reg['answers'][85]['answer'] = $dados['q85_documentoFiscal'];
  $reg['answers'][86]['answer'] = $dados['q86_onuE'];
  if(is_array($dados['q88_quimicoNao'])){
    foreach($dados['q88_quimicoNao'] as $quim => $qui){
		  $reg['answers'][88]['answer'][$quim] = $qui;
    }
  }
  $reg['answers'][89]['answer'] = $dados['q89_possuiSujidades'];
  $reg['answers'][90]['answer'] = $dados['q90_numeroDa'];
	$nr_etiqueta=intval($dados['q90_numeroDa']);
  if(isset($dados['temp_upload']['q92_fotografarA'])){
    foreach($dados['temp_upload']['q92_fotografarA'] as $cont){
		  $reg['answers'][92]['answer'][] = $cont;
    }
    foreach($dados['fotografarA'] as $row1 => $foto[]){}
  }
  if(isset($dados['temp_upload']['q93_identificarAvaria93'])){
    foreach($dados['temp_upload']['q93_identificarAvaria93'] as $avar){
		  $reg['answers'][93]['answer'][] = $avar;
    }
    foreach($dados['identificarAvaria93'] as $row1 => $foto[]){}
  }
  $reg['answers'][95]['answer'] = $dados['q95_motivoDa'];
  $reg['answers'][96]['answer'] = $dados['q96_tipoDe'];
  $reg['answers'][98]['answer'] = $dados['q98_nfPossui'];
  $reg['answers'][99]['answer'] = $dados['q99_direcionamentoInterno'];
  $reg['answers'][100]['answer'] = $dados['q100_condicoesAnteriores'];
  $reg['answers'][101]['answer'] = $dados['q101_numeroDa101'];
  $reg['answers'][103]['answer'] = $dados['q103_aCarga'];
  $reg['answers'][104]['answer'] = $dados['q104_carregamentoPor'];

  // inclúi novo registro no início da array
	array_unshift($sub_dia, $reg);
	
	// checa se existe a pasta do dia e copia fotos na pasta
	pastaExiste(PATH_FOTO,$dia);
	$fopen_logs  = fopen(PATH_LOGS.'fotos.txt','a');
	foreach($foto as $row1 => $fot){
		$nome = getName($fot);
		$imgurl = $fot;
		if( !@copy( $imgurl, PATH_FOTO.$dia.'\\'.$nome ) ) {
	    $errors= error_get_last();
			$logs="COPY ERROR: ".$dia."; tipo: ".$errors['type']."; menssagem: ".$errors['message'];
			$fwrite = fwrite($fopen_logs,$logs.PHP_EOL);
		}
	}
	fclose($fopen_logs);

	// grava registro no banco de dados MySql
	$fopen_log_mysql  = fopen(PATH_LOGS.'mysql.txt','a');
	$sql="INSERT INTO jotform_HMC_Dev (nr_etiqueta,dt_pasta,nr_unico) VALUES (".$nr_etiqueta.",'".$dia."',".$nr_unico.")";
	if (!mysqli_query($conn, $sql)) { 
		$log_mysql="MYSQL ERROR: ".$dia."; menssagem: ".mysqli_error($conn);
		$fwrite = fwrite($fopen_log_mysql,$log_mysql.PHP_EOL);
	}
	fclose($fopen_log_mysql);

	// regrava arquivo json com novo registro
	$json		= json_encode($sub_dia);
	$fopen  = fopen($arq,'w');
	$fwrite = fwrite($fopen,$json);
	fclose($fopen);
?>