<?php

	@session_start();
    if (!isset($_SESSION["admin"]["id"])) {
        echo "<script>location.href='index.php';</script>";
    }

    ini_set('display_errors',1);
	ini_set('display_startup_erros',1);
	error_reporting(E_ALL);

    include "config/conf.php";

	$name = $mes."_".date("Y");

	$dir = "../../downloads/".$name;

	$arq = $dir ."/boletosjulho.zip";

	exit;

    if ( !file_exists ( $arq ) ) { echo "erro"; exit; }

	$zip = new ZipArchive;
	$zip->open( $arq);
	if ( $zip->extractTo( $dir."/" ) ) {

		echo "<script>alert('Arquivos Descompactados com Sucesso!');</script>";
		@unlink( $arq );
		
		$zip->close();	
		$i = 0;

		if ($handle = opendir("$dir")) {
			while (false !== ($file = readdir($handle))) {
				
				if ( ( $file != "$mes.zip" ) and ( strlen($file) > 10 ) ) {
					$i++;
		        	
		        	$extensao = pathinfo($file);
					$extensao = $extensao['extension'];

					$dados = explode("_",$file);

					$n = count($dados);
					$tipo = $dados[0];

					if ($tipo == "BL") $tipo = "Boleto";
					else $tipo = "Nota Fiscal";

					$empresa = $dados[1];
					$cnpj = $dados[2];
					$mes = $dados[3];

					$mes = explode(".",$mes);
					$mes = $mes[0];

					if ($mes == "JANEIRO") $mes = "01";
					else if ($mes == "FEVEREIRO") $mes = "02";
					else if ($mes == "MARCO") $mes = "03";
					else if ($mes == "ABRIL") $mes = "04";
					else if ($mes == "MAIO") $mes = "05";
					else if ($mes == "JUNHO") $mes = "06";
					else if ($mes == "JULHO") $mes = "07";
					else if ($mes == "AGOSTO") $mes = "08";
					else if ($mes == "SETEMBRO") $mes = "09";
					else if ($mes == "OUTUBRO") $mes = "10";
					else if ($mes == "NOVEMBRO") $mes = "11";
					else $mes = "12";

					//pegar data e mudar nome do arquivo
					$data = date("Y-m-d");
					$nome = $dados->id."_".md5($cnpj)."_".$mes.date("Y").".".$extensao;

					//verificar se existe cliente
					$sql = "select * from cliente where cnpj = '$cnpj' limit 1";
					$consulta = $db->prepare($sql);
					$consulta->execute();
					$dados = $consulta->fetch(PDO::FETCH_OBJ);

					//se existe inserir o arquivo
					if ( !empty ( $dados->id ) ) {

						$novo = $name."/".$nome;
						@unlink( $dir."/".$nome );
						rename ( $dir."/".$file , $dir."/".$nome );

						//verifica se o arquivo já esta cadastrado
						$sql2 = "select * from arquivo where arquivo = ? limit 1";
			            $consulta2 = $db->prepare($sql2);
			            $consulta2->bindParam(1,$nome);
						$consulta2->execute();
						$dados2 = $consulta2->fetch(PDO::FETCH_OBJ);

						//se não existe arquivo cadastrado inserir
						if ( empty( $dados2->id ) ) {

							$sql = "insert into arquivo values(NULL,?,?,?,?,?)";
				            $consulta = $db->prepare($sql);
				            $consulta->bindParam(1, $tipo);
				            $consulta->bindParam(2, $dados->id);
				            $consulta->bindParam(3, $data);
				            $consulta->bindParam(4, $novo);
				            $consulta->bindParam(5, $dados->valor);
			            

							if ( $consulta->execute() ) {
								echo "<p class='alert alert-success'>Arquivo $nome enviado com sucesso - $dados->nome </p>";
								
							}
							else {
								echo "<p class='alert alert-danger'>Erro ao gravar $file para $dados->nome ".$consulta->errorInfo()[2]."</p>";
								$erro .= "<br>$file";
								
							}

						} else {

							//se existe arquivo cadastrado
							echo "<p class='alert alert-warning'>Arquivo $file já registrado $nome para $dados->nome</p>";

						}


					} else {

						echo "<p class='alert alert-danger'>Cliente do arquivo $cnpj - $file não encontrado na base.</p>";

					}


		        }
		    }
		    $id = $_SESSION["admin"]["i"];
			$data = date("Y-m-d H:i");

			$erro = echo "<p class='alert alert-info'>$i arquivos analisados.<br><br>Erro nos arquivos: $erro</p>";

			$sql = "insert into importacao values (NULL, ?, ?, ?,?)";
			$consulta = $db->prepare($sql);
            $consulta->bindParam(1, $data);
            $consulta->bindParam(2, $i);
            $consulta->bindParam(3, $id);
            $consulta->bindParam(4, $erro);
            if (!$consulta->execute()) 
            	echo "<p>Erro ao gravar importacao: ".$consulta->errorInfo()[2]."</p>";
            else
            	echo "<p>OK</p>";
		}
		echo $erro;
	}


	