<?php
    @session_start();
    
    set_time_limit(0);

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

	if (empty($page)) header("Location: index.php");

	if ($_POST) {

		include "config/imagem.php";

		$table = "";
		if (isset($param[1])) $table = trim($param[1]);

		if ( $table == "mensagem" ) {

			$id = trim($_POST["id"]);

			if ( ( empty ( $id ) ) and ( empty ( $_FILES["arquivo"]["name"] ) ) ) {

				echo "<script>alert('Selecione um arquivo para importar');history.back();</script>";
				exit;

			}

			echo "<br><br><br><br><div class='container well'>";

			$a = $e = "";

			$titulo = trim ( $_POST["titulo"] );
			$assunto = trim ( $_POST["assunto"] );
			$data = trim ( $_POST["data"] );
			$parceiro = trim ( $_POST["parceiro"] );
			$assunto = trim ( $_POST["assunto"] );
			$mensagem = trim ( $_POST["mensagem"] );
			$ativo = "Sim";

			$data = explode("/",$data);
			$data = $data[2]."-".$data[1]."-".$data[0];

			if ( empty ( $id ) ) {

				$sql = "insert into mensagem values(NULL, ?, ?, ?, ?, ?, ?)";
				$consulta = $db->prepare($sql);
				$consulta->bindParam(1, $titulo);
				$consulta->bindParam(2, $parceiro);
				$consulta->bindParam(3, $assunto);
				$consulta->bindParam(4, $mensagem);
				$consulta->bindParam(5, $data);
				$consulta->bindParam(6, $ativo);

				if ( !$consulta->execute() ) {

					echo "<div class='alert alert-danger'>Erro ao salvar Mensagem: ".$consulta->errorInfo()[2]."</div>";

				} else {

					if ( empty ( $id ) ) $id = $db->lastInsertId();


					if ( !isset($_FILES["arquivo"]["name"]) )  {

			            echo "<div class='alert alert-danger'>Selecione um arquivo para enviar</div>";

			        } else {

			            $size = $_FILES["arquivo"]["size"] / 1000;
			            $extensao = pathinfo($_FILES["arquivo"]["name"]);
			            $extensao = $extensao['extension'];

			        }

			        if ($extensao != "csv" ) {

			            echo "<div class='alert alert-danger'>O arquivo deve ser CSV. Arquivo enviado: $extensao</div>";

			        } else {

			        	$e1 = $e2 = 0;

			        	$handle = fopen($_FILES['arquivo']['tmp_name'], "r");
			            $i = 0;
			            //$hoje = "15/".date("m")."/".date("Y");

			            while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
			            	
		               			$cnpj = $data[2];
		               			$vencimento = trim($data[4]);
		               			$v = $pagamento = $data[7];

		               			$pagamento = str_replace("." , "", $pagamento);
		               			$pagamento = str_replace("," , ".", $pagamento);

		               			//if ( ( $hoje == $vencimento ) and ( $pagamento <= 0 ) ) {
		               			if ( $pagamento <= 0 ) {

		               				//echo "<p>$hoje $vencimento</p>";
			               			if ( strlen($cnpj) > 10 ) $cnpj = str_pad($cnpj, 14, "0", STR_PAD_LEFT);
				                    else $cnpj = str_pad($cnpj, 11, "0", STR_PAD_LEFT);

			               			$sql2 = "select * from cliente where cnpj = '$cnpj' limit 1";
			               			$consulta2 = $db->prepare($sql2);
			                    	$consulta2->execute();
			                    	$dados2 = $consulta2->fetch(PDO::FETCH_OBJ);

			                    	if ( empty ( $dados2->email ) ) {

			                    		$e1++;
			                    		$e .= "<p class='alert alert-danger'>Cliente $cnpj ".$data[3]." não encontrado na lista.</p>";

			                    	} else {

			                    		$cliente = $dados2->id;

			                    		$sql4 = "select * from email_mensagem where email_id = ? and cliente_id = ? limit 1";
			                    		$consulta4 = $db->prepare($sql4);
										$consulta4->bindParam(1, $id);
										$consulta4->bindParam(2, $cliente);
										$consulta4->execute();

										$d = $consulta4->fetch(PDO::FETCH_OBJ);

										if ( empty ( $d->email_id ) ) {

				                    		$sql3 = "insert into email_mensagem values ( ?, ? ) ";
				                    		$consulta3 = $db->prepare($sql3);
											$consulta3->bindParam(1, $id);
											$consulta3->bindParam(2, $cliente);
											if ( $consulta3->execute() ) {

												$e2++;

												$a .= "<p class='alert alert-success'>Cliente do documento $cnpj (".$data[3].") adicionado. Valor pago: R$ $v.</p>";

											} else {

												$e .= "<p class='alert alert-danger'>Erro ao inserir $cnpj ".$data[3]." ".$consulta3->errorInfo()[2]." !</p>";

											}
										}

			                    		
			                    	}
			               			
			               			$i++;
				               	}
								
				            
				            
				        }
  
			            echo "<p id='msg'><img src='images/load.gif'> Aguarde... salvando lista.</p><p>$i clientes lidos.</p><p>$e1 clientes não encontrados na base</p><p>$e2 clientes adicionados a lista de e-mails</p>" . $e . $a."</div>";

			            echo "<script>$('#msg').html(\"<a href='cadastro/enviarAviso/$id' class='btn btn-success'>Verificar e Enviar Mensagem!</a>\");</script>";
			        }
			    }

			} else {

				$sql = "update mensagem set titulo = ?, parceiro_id = ?, assunto = ?, mensagem = ?, data = ?, ativo = ? where id = ? limit 1";
				$consulta = $db->prepare($sql);
				$consulta->bindParam(1, $titulo);
				$consulta->bindParam(2, $parceiro);
				$consulta->bindParam(3, $assunto);
				$consulta->bindParam(4, $mensagem);
				$consulta->bindParam(5, $data);
				$consulta->bindParam(6, $ativo);
				$consulta->bindParam(7, $id);

				if ( $consulta->execute() ) {

					echo "<div class='alert alert-success'>Registro alterdo com sucesso!</div>
					<p><a href='cadastro/enviarAviso/$id' class='btn btn-success'>Verificar e Enviar Mensagem!</a></p>";


					if (!empty($_FILES["arquivo"]["name"])) {
						if ( !isset($_FILES["arquivo"]["name"]) )  {

				            echo "<div class='alert alert-danger'>Selecione um arquivo para enviar</div>";

				        } else {

				            $size = $_FILES["arquivo"]["size"] / 1000;
				            $extensao = pathinfo($_FILES["arquivo"]["name"]);
				            $extensao = $extensao['extension'];

				        }

				        if ($extensao != "csv" ) {

				            echo "<div class='alert alert-danger'>O arquivo deve ser CSV. Arquivo enviado: $extensao</div>";

				        } else {



				        	$e1 = $e2 = 0;

				        	$handle = fopen($_FILES['arquivo']['tmp_name'], "r");
				            $i = 0;
				            //$hoje = "15/".date("m")."/".date("Y");

				            while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
				            	
			               			$cnpj = $data[2];
			               			$vencimento = trim($data[4]);
			               			$v = $pagamento = $data[7];

			               			$pagamento = str_replace("." , "", $pagamento);
			               			$pagamento = str_replace("," , ".", $pagamento);

			               			//if ( ( $hoje == $vencimento ) and ( $pagamento <= 0 ) ) {
			               			if ( $pagamento <= 0 ) {

			               				//echo "<p>$hoje $vencimento</p>";
				               			if ( strlen($cnpj) > 10 ) $cnpj = str_pad($cnpj, 14, "0", STR_PAD_LEFT);
					                    else $cnpj = str_pad($cnpj, 11, "0", STR_PAD_LEFT);

				               			$sql2 = "select * from cliente where cnpj = '$cnpj' limit 1";
				               			$consulta2 = $db->prepare($sql2);
				                    	$consulta2->execute();
				                    	$dados2 = $consulta2->fetch(PDO::FETCH_OBJ);

				                    	if ( empty ( $dados2->email ) ) {

				                    		$e1++;
				                    		$e .= "<p class='alert alert-danger'>Cliente $cnpj ".$data[3]." não encontrado na lista.</p>";

				                    	} else {

				                    		$cliente = $dados2->id;

				                    		$sql4 = "select * from email_mensagem where email_id = ? and cliente_id = ? limit 1";
				                    		$consulta4 = $db->prepare($sql4);
											$consulta4->bindParam(1, $id);
											$consulta4->bindParam(2, $cliente);
											$consulta4->execute();

											$d = $consulta4->fetch(PDO::FETCH_OBJ);

											if ( empty ( $d->email_id ) ) {

					                    		$sql3 = "insert into email_mensagem values ( ?, ? ) ";
					                    		$consulta3 = $db->prepare($sql3);
												$consulta3->bindParam(1, $id);
												$consulta3->bindParam(2, $cliente);
												if ( $consulta3->execute() ) {

													$e2++;

													$a .= "<p class='alert alert-success'>Cliente do documento $cnpj (".$data[3].") adicionado. Valor pago: R$ $v.</p>";

												} else {

													$e .= "<p class='alert alert-danger'>Erro ao inserir $cnpj ".$data[3]." ".$consulta3->errorInfo()[2]." !</p>";

												}
											}

				                    		
				                    	}
				               			
				               			$i++;
					               	}
									
					            
					            
					        }
					    }

					    echo $a . $e;
	  
				    }  

				} else {

					echo "<div class='alert alert-danger'>Erro ao salvar mensagem: ".$consulta->errorInfo()[2]." !</div>";

				}

			}
			
		} else {

			//pegar os campos da tabela do banco de dados
			$sql = "select TABLE_NAME,COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,COLUMN_KEY,EXTRA,COLUMN_COMMENT
				from COLUMNS where TABLE_SCHEMA = ? AND TABLE_NAME = ?";
			
			$consulta = $is->prepare($sql); 
			$consulta->bindParam(1, $banco); 
			$consulta->bindParam(2, $table); 
			$consulta->execute();

			//iniciar as variaveis com vazio
			$values = $valor = 	$val = "";


			while ($r = $consulta->fetch(PDO::FETCH_OBJ)) {
				//recuperar os dados da tabela
				$key = $r->COLUMN_KEY;
				$coluna = $r->COLUMN_NAME;
				$dado = $r->DATA_TYPE;
				$extra = $r->EXTRA;
				$com = $r->COLUMN_COMMENT;

				//quebrando os comentários
				$c = explode(",",$com);

				if ($extra == "auto_increment") {
					
					if (empty($_POST[$coluna])) {
						$values = "$coluna";
						$valor = "NULL"; 
						
					}                        
					
				} else if (@$c[1] == "file") {
					
					if (@$c[2] == "imagem") {
						
						if (!empty($_FILES[$coluna]['tmp_name'])) {
					
							if (!copy($_FILES[$coluna]['tmp_name'],"$pastaFotos/".$_FILES[$coluna]['name'])) {
								echo "<script>alert('Erro ao enviar arquivo para o servidor');</script>";
								exit;
							} else {

								//echo "$pastaFotos/".$_FILES[$coluna]['name'];
								$nome = time();
								
								LoadImg("$pastaFotos/".$_FILES[$coluna]['name'],$nome,$pastaFotos);
								
								$_POST[$coluna] = $nome;
								
								$values .= ",$coluna";
								$valor .= ",'".$_POST[$coluna]."'"; 
								if (empty($val))
									$val = " $coluna ='".$_POST[$coluna]."' ";
								else
									$val .= " , $coluna ='".$_POST[$coluna]."' ";
							}
							
						}
					}  else {
						//echo "<hr>";
						$n1 = $_FILES[$coluna]['name'];
						$tipo = $_FILES[$coluna]['type'];
						//echo "<hr>".$_FILES[$coluna]['tmp_name'];
						//echo "<hr>";
						$arquivo = pathinfo($_FILES[$coluna]['name']);
						$ext = $arquivo['extension'];

						if (!empty($n1)) {
							
							if (( $ext == "pdf") or ( $ext == "PDF")) {

								$narquivo = explode("_",$_FILES[$coluna]['name']);
								$n = count($narquivo);
								$tipo = $narquivo[0];

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

								$empresa = $narquivo[1];
								$cnpj = $narquivo[2];
								$mes = $narquivo[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";

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

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

								//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);

								if ( ! isset ( $dados->id ) ) {

									echo "<script>alert('Não foi encontrado cliente com o CNPJ $cnpj cadastrado no sistema');history.back();</script>";
									exit;

								} else {

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

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

										
										
										if ( !copy($_FILES[$coluna]['tmp_name'],"$dir/" . $nome)) {
											echo "<script>alert('Erro ao copiar arquivo $nome para o sistema');history.back();</script>";
											exit;
										} 

										$_POST[$coluna] = $nome;
										
										$values .= ",$coluna";
										$valor .= ",'".$_POST[$coluna]."'"; 
										if (empty($val))
											$val = " $coluna ='".$_POST[$coluna]."' ";
										else
											$val .= " , $coluna ='".$_POST[$coluna]."' ";
									}
								}
							} else {

								$nome = time() . "." . $ext;
								
								if (!copy($_FILES[$coluna]['tmp_name'],"$pastaFotos/" . $nome )) {
									echo "<script>alert('Erro ao enviar arquivo para o servidor');</script>";
									exit;
								} else {

									echo "<script>alert('Arquivo copiado');</script>";
									
									$_POST[$coluna] = $nome;
									
									$values .= ",$coluna";
									$valor .= ",'".$_POST[$coluna]."'"; 
									if (empty($val))
										$val = " $coluna ='".$_POST[$coluna]."' ";
									else
										$val .= " , $coluna ='".$_POST[$coluna]."' ";
								}
							}
							
						}
						
					}
					//echo "$pastaFotos/" . $nome;
					//exit;
					
				} else if (@$c['0'] == "nn") {
				
					if (empty($_POST[$coluna])) {
						echo "<script>alert('Preencha o campo $coluna corretamente');history.back();</script>";
						exit;
					} else {
					
						$values .= ",$coluna"; 
						$valor .= ",'".$_POST[$coluna]."'";
						
						if (empty($val))
							$val = " $coluna ='".$_POST[$coluna]."' ";
						else
							$val .= " , $coluna ='".$_POST[$coluna]."' ";
					}
				
				} else if (@$c[1] == "senha") {

					if ( !empty ( $_POST[$coluna] ) ) {

						$values .= ",$coluna"; 
						$valor .= ",'".$_POST[$coluna]."'";

						if (empty($val))
							$val = " $coluna ='".md5($_POST[$coluna])."' ";
						else
							$val .= " , $coluna ='".md5($_POST[$coluna])."' ";

					}

				} else if (@$c[1] == "fk") {
				
					if ((@$c[2] == "nn") AND ($_POST[$coluna] == "")) {
						echo "<script>alert('Preencha o campo $coluna corretamente');top.document.getElementById('$coluna').focus();</script>";
						exit;
					} 
					
					if (!empty($_POST[$coluna])) {
					
						$values .= ",$coluna"; 
						$valor .= ",".$_POST[$coluna];
					
						if (empty($val))
							$val = " $coluna ='".$_POST[$coluna]."' ";
						else
							$val .= " , $coluna ='".$_POST[$coluna]."' ";
					}
					
				} else if (@$c[2] == "valor") {
					
					$dado = str_replace(".", "", $_POST[$coluna]);
					$dado = str_replace(",", ".", $dado);

					if ( empty ( $dado ) ) $dado = 0;
					$_POST[$coluna] = $dado;
					
					$values .= ",$coluna"; 
					$valor .= ",'".$_POST[$coluna]."'";
				
					if (empty($val))
						$val = " $coluna ='".$_POST[$coluna]."' ";
					else
						$val .= " , $coluna ='".$_POST[$coluna]."' ";
					
				} else if (@$c[2] == "data") {
					
					$dado = explode("/",$_POST[$coluna]);
					$_POST[$coluna] = $dado[2]."-".$dado[1]."-".$dado[0];
					
					$values .= ",$coluna"; 
					$valor .= ",'".$_POST[$coluna]."'";
				
					if (empty($val))
						$val = " $coluna ='".$_POST[$coluna]."' ";
					else
						$val .= " , $coluna ='".$_POST[$coluna]."' ";
					
				} else if (@$c[2] == "datahora") {

					$data = explode(" ",$_POST[$coluna]);
					
					$dado = explode("/",$data[0]);
					$_POST[$coluna] = $dado[2]."-".$dado[1]."-".$dado[0]." ".$data[1];
					
					$values .= ",$coluna"; 
					$valor .= ",'".$_POST[$coluna]."'";
				
					if (empty($val))
						$val = " $coluna ='".$_POST[$coluna]."' ";
					else
						$val .= " , $coluna ='".$_POST[$coluna]."' ";
					
				} else {
				
					$values .= ",$coluna";
					$valor .= ",'".$_POST[$coluna]."'"; 
					if (empty($val))
						$val = " $coluna ='".$_POST[$coluna]."' ";
					else
						$val .= " , $coluna ='".$_POST[$coluna]."' ";
				
				}
					   

			} //fim do while $r
		
			//montar o SQL
			if (empty($_POST['id'])) {
				
				if ($table == "objeto_fase") {
					$values = substr($values, 1,200);
					$valor = substr($valor, 1,200);
				}
				$sql = "insert into $table ($values) values ($valor)";
				
			} else {
			
				$sql = "update $table set $val where id = ".(int)$_POST['id']." limit 1";
			
			}
			//echo "<br><pre>".$sql."</pre>";
			//executar o sql
			$stmt = $db->prepare($sql);
			if ($stmt->execute()) {
				$msg = 'Registro Salvo com Sucesso!';
				$id = $db->lastInsertId();
			} else {
				$msg = 'Erro ao salvar, verifique todos os dados e tente novamente ';
			}


			if (empty($op)) {
				include "pages/cadastro.php";
			}
		
			unset($_POST);
		}

	}//POST
?>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">X</span></button>
        <h4 class="modal-title" id="myModalLabel"><i class="glyphicon glyphicon-info-sign"></i> Aviso</h4>
      </div>
      <div class="modal-body">
        <p id='msgModal'></p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal"><i class="glyphicon glyphicon-ok"></i> OK</button>
      </div>
    </div>
  </div>
</div>



<?php
	if (!empty($msg)) {
		echo "<script>
			$('#myModal').modal('show');
			$('#msgModal').html('$msg');
		</script>";
	}
?>	
