<?php
    require_once('adodb/adodb.inc.php'); //biblioteca necessaria para trabalhar com adodb
	require_once('conexao.php');
	require_once('funcoes.php');
	require_once("fpdf/fpdf.php");
	$diaatual = date ('d/m/Y H:i');	
  	session_start();
	class cspadm_relatorio
	{
	  function cliente_filtra_grid($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $login, $situacao, $ordem, $subrevendedor, $idprofile){
		    $con = new conexao();
			$sql = "select csp_user.*, provedor.nome, provedor.clienteteste, profile.descricao as profile, provedor.idrevendedor, provedor.clienteteste, usuario.login as revendedor from csp_user, provedor, profile, usuario where csp_user.id = provedor.idprovedor and csp_user.idprofile = profile.idprofile and csp_user.idempresa='$acesso_idempresa' and provedor.gerarmensalidade = 1 and csp_user.del='NAO' and provedor.idrevendedor = usuario.idusuario";
			
			if ($idprofile <> "0"){
				$sql .= " and csp_user.idprofile = '$idprofile'";
			}
			
			if ($subrevendedor == "true"){
				$sql .= " and (usuario.idusuario = '$idrevendedor' or usuario.idrevendedor = '$idrevendedor')";
			} else {
				$sql .= " and (usuario.idusuario = '$idrevendedor')";
			}
			if ($login <> ""){
				$sql .= " and csp_user.name like '$login%'";
			}				
			if ($cspvalidoi <> "" && $cspvalidof <> ""){
				$cspvalidoI=ymd($cspvalidoi);
				$cspvalidoF=ymd($cspvalidof);
				$sql .= " and csp_user.expiredate between '$cspvalidoI' and '$cspvalidoF'";
			}
			if ($situacao <> "Todos"){
				$sql .= " and csp_user.enabled = '$situacao'";	
			}
			if ($ordem == "Nome"){
                $sql .= " order by usuario.idusuario, provedor.nome ASC";
            }
            if ($ordem == "Login"){
                $sql .= " order by usuario.idusuario, csp_user.name ASC";
            }
            if ($ordem == "Vencimento"){
                $sql .= " order by usuario.idusuario, csp_user.expiredate ASC";
            }
            if ($ordem == "Criacao"){
                $sql .= " order by usuario.idusuario, csp_user.criadoem ASC";
            }
			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			while($registro = $resultado->FetchNextObject()) {
				 if ($registro->CLIENTETESTE == "1"){
					 	$dados_bd['dados'][$i]['teste']      = "SIM";
				 }
 				 if ($registro->CLIENTETESTE == "0"){
					 	$dados_bd['dados'][$i]['teste']      = "NAO";
				 }
				 $dados_bd['dados'][$i]['id']         = $registro->ID;
				 $dados_bd['dados'][$i]['name']       = $registro->NAME;
				 $dados_bd['dados'][$i]['idprofile']  = $registro->IDPROFILE;
				 $dados_bd['dados'][$i]['profile']    = $registro->PROFILE;
				 $dados_bd['dados'][$i]['expiredate'] = $registro->EXPIREDATE;
				 $dados_bd['dados'][$i]['vencimento'] = dmy($registro->EXPIREDATE);
				 $dados_bd['dados'][$i]['enabled']    = $registro->ENABLED; 
				 $dados_bd['dados'][$i]['nome']       = $registro->NOME;
				 $dados_bd['dados'][$i]['maxconnections'] = $registro->MAXCONNECTIONS;
				 $dados_bd['dados'][$i]['criadoem'] = dmy(substr($registro->CRIADOEM,0,10));				 
				 $dados_bd['dados'][$i]['revendedor'] = $registro->REVENDEDOR;
				 $dados_bd['dados'][$i]['idrevendedor'] = $registro->IDREVENDEDOR;				
				 $i++;
			}			
			return $dados_bd;
	 }
	 
	  function filtra_sel_revendedor($acesso_idempresa, $acesso_idusuario, $admin, $idcliente){	
		    $con = new conexao();
			if ($idcliente == "0"){
/*				$sql = "select * from usuario where idempresa = '$acesso_idempresa' and situacao = 'Ativo' and del='NAO'";
				if ($admin == "0"){
					$sql .= " and idusuario = '$acesso_idusuario'";
				}
				$sql .= " order by login ASC ";
*/
				$niveln = $this->buscaNiveln($acesso_idempresa, $acesso_idusuario);
				$condicao = $this->buscaNivelnTabela($niveln);
				$sql = "select * from usuario where idempresa='$acesso_idempresa' and $condicao = '$acesso_idusuario' and del='NAO'";
			} else {
				$sql="select usuario.* from usuario, provedor where provedor.idrevendedor = usuario.idusuario and provedor.idprovedor='$idcliente' and provedor.del='NAO'";	
			}

			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			while($registro = $resultado->FetchNextObject()) {
				$revendedor = $this->montaUsuario($registro->IDUSUARIO, $registro->IDEMPRESA, $niveln);
				$dados_bd['dados'][$i]['idrevendedor'] = $registro->IDUSUARIO;
//				$dados_bd['dados'][$i]['revendedor']   = $registro->LOGIN;
				$dados_bd['dados'][$i]['revendedor']   = $revendedor;
				$dados_bd['dados'][$i]['niveln']   	= $registro->NIVELN;
				$i++;
			}
			return $dados_bd;
	 }

		  function filtra_sel_profile_usuario_acesso($acesso_idempresa, $acesso_idusuario){
			    $con = new conexao();
				$sql = "select profile.idprofile, profile.descricao, profile.profile from profile, usuario_profile where usuario_profile.idprofile = profile.idprofile and usuario_profile.idempresa='$acesso_idempresa' and usuario_profile.idusuario = '$acesso_idusuario' and profile.del='NAO'";
				$resultado = $con->banco->Execute($sql);
				$dados_bd['dados'] = "";
				$i = 0;
				while($registro = $resultado->FetchNextObject())
				{
					 $dados_bd['dados'][$i]['idprofile'] = $registro->IDPROFILE;
					 $dados_bd['dados'][$i]['profile']   = $registro->PROFILE;
					 $dados_bd['dados'][$i]['descricao'] = $registro->DESCRICAO;
					 $i++;
				}
				return $dados_bd;
		  }

	  function cliente_gerar_relatorio($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $login, $situacao, $ordem, $subrevendedor, $idprofile){	
		$dmyatual = date ('d/m/Y');	
		$d_dados=$this->cliente_filtra_grid($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $login, $situacao, $ordem, $subrevendedor, $idprofile);
		$pdf = new cliente_pdf('L'); 
		$pdf->Open();
    	$pdf->AddPage();						
    	$pdf->SetX(-10);
    	$pdf->line(10, 25, $pdf->GetX(), 25);
    	$pdf->SetXY(10, 27);
    	$pdf->SetFont('Arial', '', 10);
		$qtde_teste = 0; $qtde_ativo = 0; $qtde_inativo = 0; $qtde_vencido = 0; $qtde_bloqueado = 0; $n=1;
		$qtde_teste_revenda = 0; $qtde_ativo_revenda = 0; $qtde_vencido_revenda = 0; $qtde_bloqueado_revenda = 0; $qtde_inativo_revenda = 0;
		
		foreach ($d_dados as $value){
			foreach ($value as $dados){
				// Inicio do Relatorio
				$d1 = explode("-", $dados['expiredate']);
 			 	$val_qtde=$dados['maxconnections'];
				$dia1 = $d1[2];
				$mes1 = $d1[1];
				$ano1 = $d1[0];
				$dd1="$ano1$mes1$dia1";

				$d2 = explode("/", $dmyatual);
				$dia2 = $d2[0];
				$mes2 = $d2[1];
				$ano2 = $d2[2];
				$dd2="$ano2$mes2$dia2";
				if ($dados['teste'] == "SIM"){
					$teste = "SIM";
					$qtde_teste = $qtde_teste + $val_qtde;
					$qtde_teste_revenda = $qtde_teste_revenda + $val_qtde;
					$pdf->SetTextColor(100,100,0);
				} else {
					$teste = "NAO";
					if ($dados['enabled'] == "Inativo"){
						$pdf->SetTextColor(255,127,0);
						$qtde_inativo = $qtde_inativo + $val_qtde;
						$qtde_inativo_revenda = $qtde_inativo_revenda + $val_qtde;
					}
					if ($dados['enabled'] == "Bloqueado"){
						$pdf->SetTextColor(255,100,0);
						$qtde_bloqueado = $qtde_bloqueado + $val_qtde;
						$qte_bloqueado_revenda = $qtde_bloqueado_revenda + $val_qtde;
					}
					if ($dados['enabled'] == "Ativo") {
						$qtde_ativo = $qtde_ativo + $val_qtde;
						$qtde_ativo_revenda = $qtde_ativo_revenda + $val_qtde;
						if ($dd1 < $dd2){
							$pdf->SetTextColor(255,0,0);
						} else {
							$pdf->SetTextColor(0,0,139);
						}
					}
				}

				$validade	= dmy($dados['expiredate']);
				$criadoem = substr($dados['criadoem'],0,10);
				$situacao = $dados['enabled'];
				$revendedor = $dados['revendedor'];
				$nomecliente = substr($dados['nome'],0,35);
				if ($n == 1){
					$revendedor_anterior = $revendedor;
				}
				
		  		$qtde_total_revenda=$qtde_ativo_revenda + $qtde_inativo_revenda + $qtde_teste_revenda + $qtde_bloqueado_revenda;
				$total_ativo_revenda=$qtde_ativo_revenda + $qtde_vencido_revenda;
				
				if ($revendedor_anterior <> $revendedor){					
					$pdf->SetTextColor(255,69,0);
					$pdf->Cell(250, 5, "----------------------------------------------------------------------------------------------------", 0, 1);
					$pdf->Cell(250, 5, "Revendedor: $revendedor_anterior:   TOTAL: $qtde_total_revenda  |  ATIVO: $total_ativo_revenda  |  INATIVO: $qtde_inativo_revenda  |  BLOQUEADO: $qtde_bloqueado_revenda", 0, 1);
					$pdf->Cell(250, 5, "----------------------------------------------------------------------------------------------------", 0, 1);
					$total_ativo_revenda = 0; $qtde_total_revenda = 0; $total_ativo_revenda = 0; $qtde_inativo_revenda = 0; $qtde_bloqueado_revenda = 0;
					$pdf->SetTextColor(0,0,139);
					$revendedor_anterior = $revendedor;
				}
				
				$n++;				
				
				$pdf->Cell(80, 5, $nomecliente, 0, 0);			 
			 	$pdf->Cell(40, 5, $dados['name'], 0, 0);
			 	$pdf->Cell(30, 5, $dados['profile'], 0, 0);
			 	$pdf->Cell(30, 5, $criadoem, 0, 0); 
			 	$pdf->Cell(30, 5, $validade, 0, 0);
			 	$pdf->Cell(20, 5, $teste, 0, 0);
			 	$pdf->Cell(30, 5, $dados['enabled'], 0, 0);			 
				$pdf->Cell(30, 5, $revendedor, 0, 1);			 
				// final do Relatorio
			}
		}
		$pdf->SetTextColor(153,204,50);
 		$pdf->SetFont('Courier','B',16);
		$pdf->Cell(60, 5, "............ RESUMO .............", 0, 1);
  		$qtde_total=$qtde_ativo + $qtde_inativo + $qtde_teste + $qtde_bloqueado;
		$total_ativo=$qtde_ativo - $qtde_vencido;
		$pdf->Cell(60, 5, "Total de Clientes ........... $qtde_total", 0, 1);
		$pdf->Cell(60, 5, "Total de Clientes TESTE ..... $qtde_teste", 0, 1);
		$pdf->Cell(60, 5, "Total de Clientes ATIVO ..... $total_ativo", 0, 1); 
 		$pdf->Cell(60, 5, "Total de Clientes INATIVO ... $qtde_inativo", 0, 1); 
		$pdf->Cell(60, 5, "Total de Clientes BLOQUEADO . $qtde_bloqueado", 0, 1); 
      	$arquivo = "/tmp/relatorio_".session_id().".pdf";
		$arquivo_completo = dirname(__FILE__)."$arquivo";
		$pdf->Output( $arquivo_completo,'F' );
		return $arquivo;
	  }
	  function cliente_gerar_relatorio2($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $login, $idprofile, $sel_subrevendedor, $sel_teste, $sel_ativo, $sel_inativo, $sel_bloqueado, $sel_vencido, $nn){
		$dmyatual = date ('d/m/Y');
		$i=0;
		//$dados_tt['dados'][$i] = "";
		
		$pdf = new cliente_pdf('L'); 
		$pdf->Open();
    	$pdf->AddPage();						
    	$pdf->SetX(-10);
    	$pdf->line(10, 25, $pdf->GetX(), 25);
    	$pdf->SetXY(10, 27);
    	$pdf->SetFont('Courier', '', 8);
		$qtde_ativo = 0; $qtde_inativo = 0; $qtde_teste = 0; $qtde_vencido = 0; $qtde_bloqueado = 0; $n=1;
		
		// Definicao de temp-table
		$con = new conexao();
		$sql = "select * from usuario where idempresa='$acesso_idempresa' and del='NAO'";
		if ($sel_subrevendedor == "true"){
			$niveln = $this->buscaNiveln($acesso_idempresa, $idrevendedor);
			$condicao = $this->buscaNivelnTabela($niveln);
		} else {
			$condicao = "idusuario";
		}
		$sql .= " and $condicao = '$idrevendedor' order by admin, nrev, nsub1, nsub2, nsub3, nsub4, nsub5, nsub6, nsub7 ASC";
		
		$resultado = $con->banco->Execute($sql);
		while($registro = $resultado->FetchNextObject()){
			$val_idrevendedor = $registro->IDUSUARIO;
			$val_revendedor   = $this->montaUsuario($registro->IDUSUARIO,$acesso_idempresa, $niveln);;
			$pdf->SetFont('Courier', '', 14);			
			$pdf->Cell(80, 5, "", 0, 1);
			$pdf->SetTextColor(34,139,34);
			$pdf->Cell(80, 5, "-------------------------------------------------------", 0, 1);
			$pdf->Cell(80, 5, "--- REVENDEDOR: $val_revendedor * * * * * * * * * *", 0, 1);
			$pdf->Cell(80, 5, "-------------------------------------------------------", 0, 1);
			$pdf->SetFont('Courier', '', 8);
			$sql2 = "select profile.* from profile, usuario_profile where usuario_profile.idprofile = profile.idprofile and usuario_profile.idusuario = '$val_idrevendedor'";
			if ($idprofile <> "0"){
				$sql2 .= " and usuario_profile.idprofile = '$idprofile'";
			}
			$res2 = $con->banco->Execute($sql2);
			while($reg2 = $res2->FetchNextObject()) {
				$val_idprofile = $reg2->IDPROFILE;
				$val_profile   = $reg2->PROFILE;
				$val_descricao = $reg2->DESCRICAO;
					
				$d_dados = $this->cliente_filtra_grid2($acesso_idempresa, $val_idrevendedor, $cspvalidoi, $cspvalidof, $login, $val_idprofile, "false", $sel_teste, $sel_ativo, $sel_inativo, $sel_bloqueado, $sel_vencido, $niveln);

				foreach ($d_dados as $value){
					foreach ($value as $dados){
						$d1 = explode("-", $dados['expiredate']);
	 				 	$val_qtde=$dados['maxconnections'];
						$dia_expire = $d1[2]; $mes_expire = $d1[1]; $ano_expire = $d1[0];
						$ymd_expire ="$ano_expire$mes_expire$dia_expire";
						$ymd_atual  = date('Ymd');
						if ($dados['teste'] == "SIM"){
							$qtde_teste = $qtde_teste + $val_qtde;
							$pdf->SetFont('Courier', '', 8);
							$pdf->SetTextColor(100,100,0);
						} else {
							if ($dados['situacao'] == "Inativo"){
								$pdf->SetFont('Courier', '', 10);
								$pdf->SetTextColor(255,127,0);
								$qtde_inativo = $qtde_inativo + $val_qtde;
							}
							if ($dados['situacao'] == "Bloqueado"){
								$pdf->SetFont('Courier', '', 10);
								$pdf->SetTextColor(255,100,0);
								$qtde_bloqueado = $qtde_bloqueado + $val_qtde;
							}
							if ($dados['situacao'] == "Vencido") {
								$qtde_vencido = $qtde_vencido + $val_qtde;
								$qtde_ativo = $qtde_ativo + $val_qtde;
								$pdf->SetFont('Courier', 'I', 10);
								$pdf->SetTextColor(255,0,0);
							}
							if ($dados['situacao'] == "Ativo") {
								$qtde_ativo = $qtde_ativo + $val_qtde;
								$pdf->SetFont('Courier', '', 10);
								$pdf->SetTextColor(0,0,139);
							}
						}
						$validade	= dmy($dados['expiredate']);
						$criadoem = substr($dados['criadoem'],0,10);
						$revendedor = $dados['revendedor'];
						$maxconnections = $dados['maxconnections'];
						$nomecliente = substr($dados['nome'],0,35);
						$Login = "(". $dados['maxconnections'] . ")" . $dados['name'];					
						$pdf->Cell(80, 5, $nomecliente, 0, 0);
					 	$pdf->Cell(40, 5, $Login, 0, 0);
					 	$pdf->Cell(30, 5, $dados['profile'], 0, 0);
					 	$pdf->Cell(30, 5, $criadoem, 0, 0); 
					 	$pdf->Cell(30, 5, $validade, 0, 0);
			 			$pdf->Cell(20, 5, $dados['teste'], 0, 0);
					 	$pdf->Cell(30, 5, $dados['enabled'], 0, 1);
					}
				}
				$dados_tt['tt'][$i]['idrevendedor'] = $val_idrevendedor;
				$dados_tt['tt'][$i]['idprofile'] 	= $val_idprofile;
				$dados_tt['tt'][$i]['profile'] 		= $val_profile;
				$dados_tt['tt'][$i]['descricao'] 	= $val_profile;
				$dados_tt['tt'][$i]['ativo'] 		= $qtde_ativo;
				$dados_tt['tt'][$i]['inativo']		= $qtde_inativo;
				$dados_tt['tt'][$i]['teste'] 		= $qtde_teste;
				$dados_tt['tt'][$i]['vencido']		= $qtde_vencido;
				$dados_tt['tt'][$i]['bloqueado']	= $qtde_bloqueado;
				$i++;
				$qtde_ativo = 0; $qtde_inativo = 0; $qtde_teste = 0; $qtde_vencido = 0; $qtde_bloqueado = 0;
			}
			
			foreach ($dados_tt as $value_tt){
				foreach ($value_tt as $tt_dados){
					$VAL_idrevendedor = $tt_dados['idrevendedor'];
					if ($VAL_idrevendedor == $val_idrevendedor){
						$VAL_idprofile = $tt_dados['idprofile'];
						$VAL_profile   = $tt_dados['descricao'];
						$VAL_ativo     = $tt_dados['ativo'];
						$VAL_inativo   = $tt_dados['inativo'];
						$VAL_vencido   = $tt_dados['vencido'];
						$VAL_teste     = $tt_dados['teste'];
						$VAL_bloqueado = $tt_dados['bloqueado'];
						$pdf->SetFont('Courier', '', 12);
						$pdf->SetTextColor(0,0,0);
						if ($VAL_ativo > 0 || $VAL_vencido > 0 || $VAL_inativo > 0 || $VAL_bloqueado > 0 || $VAL_teste > 0){
							$pdf->Cell(80, 5, "************************************************", 0, 1);					
							$pdf->Cell(80, 5, "------------ ATIVO $val_revendedor: $VAL_profile: $VAL_ativo", 0, 1);
							$pdf->Cell(80, 5, "---------- VENCIDO $val_revendedor: $VAL_profile: $VAL_vencido", 0, 1);
							$pdf->Cell(80, 5, "---------- INATIVO $val_revendedor: $VAL_profile: $VAL_inativo", 0, 1);
							$pdf->Cell(80, 5, "-------- BLOQUEADO $val_revendedor: $VAL_profile: $VAL_bloqueado", 0, 1);
							$pdf->Cell(80, 5, "------------ TESTE $val_revendedor: $VAL_profile: $VAL_teste", 0, 1);	
							$pdf->Cell(80, 5, "", 0, 1);
						}
					}
				}
			}	
		}
		$sql = "select * from profile where idempresa='$acesso_idempresa'";
		$resultado = $con->banco->Execute($sql);
		while($registro = $resultado->FetchNextObject()){
			$val_idprofile = $registro->IDPROFILE;
			$val_profile   = $registro->PROFILE;
			$val_descricao = $registro->PROFILE;
			foreach ($dados_tt as $value_tt){
				foreach ($value_tt as $tt_dados){
					$VAL_idprofile = $tt_dados['idprofile'];
					$VAL_ativo     = $tt_dados['ativo'];
					$VAL_inativo   = $tt_dados['inativo'];
					$VAL_bloqueado = $tt_dados['bloqueado'];
					$VAL_vencido   = $tt_dados['vencido'];
					$VAL_teste     = $tt_dados['teste'];
					if ($VAL_idprofile == $val_idprofile){
						$qtde_ativo_profile = $qtde_ativo_profile + $VAL_ativo;
						$qtde_inativo_profile = $qtde_inativo_profile + $VAL_inativo;
						$qtde_teste_profile = $qtde_teste_profile + $VAL_teste;
						$qtde_bloqueado_profile = $qtde_bloqueado_profile + $VAL_bloqueado;
						$qtde_vencido_profile = $qtde_vencido_profile + $VAL_vencido;
					}
					
				}
			}
			if ($qtde_ativo_profile >0 || $qtde_vencido_profile >0 || $qtde_inativo_profile >0 || $qtde_bloqueado_profile >0 || $qtde_teste_profile > 0){
			$pdf->SetFont('Courier', '', 8);
			$pdf->SetTextColor(255,0,0);
			$pdf->Cell(80, 5, "PROFILE $val_profile ($val_descricao)", 0, 1);					
			$pdf->Cell(80, 5, "------------ ATIVO $val_profile: $qtde_ativo_profile", 0, 1);
			$pdf->Cell(80, 5, "---------- VENCIDO $val_profile: $qtde_vencido_profile", 0, 1);
			$pdf->Cell(80, 5, "---------- INATIVO $val_profile: $qtde_inativo_profile", 0, 1);
			$pdf->Cell(80, 5, "-------- BLOQUEADO $val_profile: $qtde_bloqueado_profile", 0, 1);
			$pdf->Cell(80, 5, "------------ TESTE $val_profile: $qtde_teste_profile", 0, 1);	
			$pdf->Cell(80, 5, "---------------------------------------------------", 0, 1);	
			$pdf->Cell(80, 5, "", 0, 1);
			$total_ativo = $total_ativo + $qtde_ativo_profile;
			$total_inativo = $total_inativo + $qtde_inativo_profile;
			$total_bloqueado = $total_bloqueado + $qtde_bloqueado_profile;
			$total_teste = $total_teste + $qtde_teste_profile;
			$total_vencido = $total_vencido + $qtde_vencido_profile;
			$qtde_ativo_profile = 0; $qtde_inativo_profile = 0; $qtde_bloqueado_profile = 0; $qtde_teste_profile = 0; $qtde_vencido_profile = 0;
			}
		}
			
		$total_cliente = $total_ativo + $total_inativo + $total_bloqueado + $total_teste;
		$pdf->SetTextColor(153,204,50);
 		$pdf->SetFont('Courier','B',16);
		$pdf->Cell(60, 5, "............ RESUMO .............", 0, 1);
		$total_ativov=$total_ativo - $total_vencido;
		
		$pdf->Cell(60, 5, "Total de Clientes ........... $total_cliente", 0, 1);
		$pdf->Cell(60, 5, "Total de Clientes TESTE ..... $total_teste", 0, 1);
		$pdf->Cell(60, 5, "Total de Clientes ATIVO ..... $total_ativo ($total_vencido) = $total_ativov", 0, 1); 
 		$pdf->Cell(60, 5, "Total de Clientes INATIVO ... $total_inativo", 0, 1);
		$pdf->Cell(60, 5, "Total de Clientes BLOQUEADO . $total_bloqueado", 0, 1);
		
      	$arquivo = "/tmp/relatorio_".session_id().".pdf";
		$arquivo_completo = dirname(__FILE__)."$arquivo";
		$pdf->Output( $arquivo_completo,'F' );
		return $arquivo;		
		// Final do Bloco
	}
	  
  	function financeiro_filtra_grid($acesso_idempresa, $idrevendedor, $tipo, $vctoi, $vctof, $nome, $situacao, $ordem, $idcliente){	
		    $con = new conexao();
			$sql = "select financeiro.*, provedor.nome, especie.cobranca from financeiro, provedor, especie where financeiro.idprovedor = provedor.idprovedor and financeiro.idempresa='$acesso_idempresa' and financeiro.idrevendedor='$idrevendedor' and financeiro.especie = especie.especie and financeiro.idempresa = especie.idempresa and financeiro.del='NAO'";
			if ($idcliente <> "0"){
				$sql .= " and financeiro.idprovedor = '$idcliente'";	
			}
			if ($nome <> ""){
				$sql .= " and provedor.nome like '$nome%'";
			}
			if ($vctoi <> "" && $vctof <> ""){
				$vctoI=ymd($vctoi);
				$vctoF=ymd($vctof);
				$sql .= " and financeiro.datavencimento between '$vctoI' and '$vctoF'";
			}
			if ($tipo <> "Todos"){
				$sql .= " and financeiro.tipo = '$tipo'";	
			}
			if ($situacao <> "Todos"){
				$sql .= " and financeiro.situacao = '$situacao'";	
			}
			if ($ordem == "Nome Cliente"){
				$sql .= " order by provedor.nome ASC";
			}

			if ($ordem == "Tipo"){
				$sql .= " order by financeiro.tipo ASC";
			}
			if ($ordem == "Vencimento"){
				$sql .= " order by financeiro.datavencimento ASC";
			}
			if ($ordem == "Emissao"){
				$sql .= " order by financeiro.dataemissao ASC";
			}

			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			while($registro = $resultado->FetchNextObject())
			{
				if ($registro->ESPECIE == "Boleto" && $registro->SITUACAO == "Pendente"){
					$nossonumero=$registro->NUMERO;
					$idbanco = $registro->IDBANCO;
					
					$sql_boleto="select boletophp.arquivo2, empresa.linkboleto from boletophp, banco, empresa where banco.boletophp = boletophp.boletophp and banco.idbanco = '$idbanco' and banco.idempresa=empresa.idempresa";
					$result = $con->banco->Execute($sql_boleto);
					$reg    = $result->FetchNextObject();
					$arquivophp=$reg->ARQUIVO2;
					$linkhost=$reg->LINKBOLETO;
					$link_boleto="boletophp/$arquivophp?idbanco=$idbanco&numero=$nossonumero";
				}
				 $dados_bd['dados'][$i]['id']			= $registro->IDFINANCEIRO;
				 $dados_bd['dados'][$i]['numero']		= $registro->NUMERO;
				 $dados_bd['dados'][$i]['tipo']			= $registro->TIPO;
				 $dados_bd['dados'][$i]['especie']		= $registro->ESPECIE;
				 $dados_bd['dados'][$i]['emissao']		= dmy($registro->DATAEMISSAO);
				 $dados_bd['dados'][$i]['vencimento']	= dmy($registro->DATAVENCIMENTO);
				 $dados_bd['dados'][$i]['situacao']		= $registro->SITUACAO; 
				 $dados_bd['dados'][$i]['valor']		= $registro->VALOR;
				 $dados_bd['dados'][$i]['nome']			= $registro->NOME;
 				 $dados_bd['dados'][$i]['databaixa']	= dmy($registro->DATABAIXA);
				 $dados_bd['dados'][$i]['valorbaixa']	= $registro->VALORBAIXA;
				 $dados_bd['dados'][$i]['cobranca']		= $registro->COBRANCA;
				 $dados_bd['dados'][$i]['idbanco']		= $registro->IDBANCO;
				 $dados_bd['dados'][$i]['boleto_bancario']	= $link_boleto;
				 $i++;
			}
			return $dados_bd;
	 }

	  function financeiro_gerar_relatorio($acesso_idempresa, $idrevendedor, $tipo, $vctoi, $vctof, $nome, $situacao, $ordem, $idcliente){
		  	$dmyatual = date ('d/m/Y');	
		    $con = new conexao();
			$sql = "select financeiro.*, provedor.nome, especie.cobranca from financeiro, provedor, especie where financeiro.idprovedor = provedor.idprovedor and financeiro.idempresa='$acesso_idempresa' and financeiro.idrevendedor='$idrevendedor' and financeiro.especie = especie.especie and financeiro.idempresa = especie.idempresa and financeiro.del='NAO'";
			if ($idcliente <> "0"){
				$sql .= " and financeiro.idprovedor = '$idcliente'";	
			}
			if ($nome <> ""){
				$sql .= " and provedor.nome like '$nome%'";
			}
			if ($vctoi <> "" && $vctof <> ""){
				$vctoI=ymd($vctoi);
				$vctoF=ymd($vctof);
				$sql .= " and financeiro.datavencimento between '$vctoI' and '$vctoF'";
			}
			if ($tipo <> "Todos"){
				$sql .= " and financeiro.tipo = '$tipo'";	
			}
			if ($situacao <> "Todos"){
				$sql .= " and financeiro.situacao = '$situacao'";	
			}
			if ($ordem == "Nome Cliente"){
				$sql .= " order by provedor.nome ASC";
			}

			if ($ordem == "Tipo"){
				$sql .= " order by financeiro.tipo ASC";
			}
			if ($ordem == "Vencimento"){
				$sql .= " order by financeiro.datavencimento ASC";
			}
			if ($ordem == "Emissao"){
				$sql .= " order by financeiro.dataemissao ASC";
			}

			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			
			$pdf = new financeiro_pdf('L'); 
			$pdf->Open();
      		$pdf->AddPage();						
      		$pdf->SetX(-10);
      		$pdf->line(10, 25, $pdf->GetX(), 25);
      		$pdf->SetXY(10, 27);
      		$pdf->SetFont('Arial', '', 10); 
			$totalCAR_pago = 0; $totalCAP_pago = 0;
			$totalCAR_pendente = 0; $totalCAP_pendente = 0;
			$totalCAR_cancelado = 0; $totalCAP_cancelado = 0;
			while($registro = $resultado->FetchNextObject())
			{	
				if ($registro->TIPO == "CAP"){
					if ($registro->SITUACAO == "Pago"){
						$pdf->SetTextColor(205,127,50);
						$totalCAP_pago = $totalCAP_pago + $registro->VALOR;
					}
					if ($registro->SITUACAO == "Pendente"){
						$pdf->SetTextColor(255,0,0);						
						$totalCAP_pendente = $totalCAP_pendente + $registro->VALOR;
					}
					if ($registro->SITUACAO == "Cancelado"){
						$pdf->SetTextColor(217,135,25);
						$totalCAP_cancelado = $totalCAP_cancelado + $registro->VALOR;
					}
				} else {
					if ($registro->SITUACAO == "Pago"){
						$pdf->SetTextColor(92,51,23);
						$totalCAR_pago = $totalCAR_pago + $registro->VALOR;
					}
					if ($registro->SITUACAO == "Pendente"){
						$pdf->SetTextColor(0,0,255);
						$totalCAR_pendente = $totalCAR_pendente + $registro->VALOR;
					}
					if ($registro->SITUACAO == "Cancelado"){
						$pdf->SetTextColor(217,135,25);
						$totalCAR_cancelado = $totalCAR_cancelado + $registro->VALOR;
					}
				}
				$nomecliente = substr($registro->NOME,0,21);
				$dtemissao = substr($registro->DATAEMISSAO,0,10);
				$dtemissao = dmy($dtemissao); 
				$dtvencimento = dmy($registro->DATAVENCIMENTO);
				$dtbaixa = dmy($registro->DATABAIXA);
				
			 $pdf->Cell(50, 5, $nomecliente, 0, 0);	
			 $pdf->Cell(10, 5, $registro->TIPO, 0, 0);
			 $pdf->Cell(20, 5, $registro->ESPECIE, 0, 0);
 			 $pdf->Cell(30, 5, $registro->NUMERO, 0, 0);
			 $pdf->Cell(30, 5, $dtemissao, 0, 0);
			 $pdf->Cell(30, 5, $dtvencimento, 0, 0);
			 $pdf->Cell(30, 5, $registro->VALOR, 0, 0); 
			 $pdf->Cell(25, 5, $registro->SITUACAO, 0, 0);
			 $pdf->Cell(30, 5, $dtbaixa, 0, 0);
			 $pdf->Cell(25, 5, $registro->VALORBAIXA, 0, 1);
			 $i++;
			}
			 $pdf->SetTextColor(153,204,50);
 			 $pdf->SetFont('Courier','B',16);
			 $pdf->Cell(60, 5, "............ RESUMO .............", 0, 1);
			 $pdf->SetTextColor(0,0,255);
			 $pdf->Cell(60, 5, "Total de CONTAS A RECEBER PENDENTE ........... $totalCAR_pendente", 0, 1);
  			 $pdf->SetTextColor(92,51,23);
			 $pdf->Cell(60, 5, "Total de CONTAS A RECEBER PAGO ............... $totalCAR_pago", 0, 1);
			 $pdf->SetTextColor(217,135,25);
			 $pdf->Cell(60, 5, "Total de CONTAS A RECEBER CANCELADO .......... $totalCAR_cancelado", 0, 1);
			 $pdf->SetTextColor(255,0,0);						
			 $pdf->Cell(60, 5, "Total de CONTAS A PAGAR PENDENTE ............. $totalCAP_pendente", 0, 1);
			 $pdf->SetTextColor(205,127,50);
			 $pdf->Cell(60, 5, "Total de CONTAS A PAGAR PAGO ................. $totalCAP_pago", 0, 1);
  			 $pdf->SetTextColor(217,135,25);
			 $pdf->Cell(60, 5, "Total de CONTAS A PAGAR CANCELADO ............ $totalCAP_cancelado", 0, 1);

      	$arquivo = "/tmp/relatorio_".session_id().".pdf";
		$arquivo_completo = dirname(__FILE__)."$arquivo";
		$pdf->Output( $arquivo_completo,'F' );
		return $arquivo;
//		return $sql;
	  }
	  
  	  function export_xml_filtra_grid($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $situacao){	
		    $con = new conexao();
			$sql = "select csp_user.*, profile.descricao as profile from csp_user, profile where csp_user.idempresa = '$acesso_idempresa' and csp_user.idprofile = profile.idprofile and csp_user.enabled = '$situacao' and csp_user.del='NAO' and csp_user.id in (select idprovedor from provedor where idempresa='$acesso_idempresa' and idrevendedor ='$idrevendedor')";
			if ($cspvalidoi <> "" && $cspvalidof <> "" ){
				$cspvalidoI = ymd($cspvalidoi);
				$cspvalidoF = ymd($cspvalidof);
				$sql .=  " and csp_user.expiredate between '$cspvalidoI' and '$cspvalidoF'";
			}
			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			while($registro = $resultado->FetchNextObject())
			{
				 $dados_bd['dados'][$i]['displayname']	= $registro->DISPLAYNAME;
				 $dados_bd['dados'][$i]['name']       	= $registro->NAME;
				 $dados_bd['dados'][$i]['password']    	= $registro->PASSWORD;
				 $dados_bd['dados'][$i]['profiles'] 	= $registro->PROFILE;
				 $dados_bd['dados'][$i]['expiredate'] 	= $registro->EXPIREDATE;
				 $dados_bd['dados'][$i]['admin']    	= "false"; 
				 $dados_bd['dados'][$i]['maxconnections'] 	= $registro->MAXCONNECTIONS;
				 $dados_bd['dados'][$i]['enabled'] 	= $registro->ENABLED;
				 $i++;
			}
			return $dados_bd;
	 }


  	  function export_xml_gerar_relatorio($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $situacao){	
		    $con = new conexao();
			$sql = "select csp_user.*, profile.descricao as profile from csp_user, profile where csp_user.idempresa = '$acesso_idempresa' and csp_user.idprofile = profile.idprofile and csp_user.enabled = '$situacao' and csp_user.del='NAO' and csp_user.id in (select idprovedor from provedor where idempresa='$acesso_idempresa' and idrevendedor ='$idrevendedor')";
			if ($cspvalidoi <> "" && $cspvalidof <> "" ){
				$cspvalidoI = ymd($cspvalidoi);
				$cspvalidoF = ymd($cspvalidof);
				$sql .=  " and csp_user.expiredate between '$cspvalidoI' and '$cspvalidoF'";
			}
			$resultado = $con->banco->Execute($sql);
			$arquivo = "/tmp/export_".session_id().".xml";
			$arquivo_completo = dirname(__FILE__)."$arquivo";
			
			

			//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)
			$ponteiro = fopen($arquivo_completo, "w");
			//ESCREVE NO ARQUIVO XML
			fwrite($ponteiro, "<xml-user-manager ver=\"1.0\">\n");


			// Criado em 30/08/12 para exportar em XML
//			$pdf = new exportxml_pdf('L'); 
//			$pdf->Open();
//     		$pdf->AddPage();						
//      		$pdf->SetX(-10);
//      		$pdf->line(10, 25, $pdf->GetX(), 25);
//      		$pdf->SetXY(10, 27);
//      		$pdf->SetFont('Arial', '', 10);
			// Final


			while($registro = $resultado->FetchNextObject()) {				
				if ($registro->EXPIREDATE <> ""){
					$csp_expi = dmy($registro->EXPIREDATE);	
				}
				if ($registro->NAME == "") :
					$name = "";
				else :
					$name = "name=\"".$registro->NAME."\" ";
				endif;
				if ($registro->PASSWORD == "") :
				$password = "";
				else :
					$password = "password=\"".$registro->PASSWORD."\" ";
				endif;
				if ($registro->DISPLAYNAME == "") :
					$displayname = "";
				else :
					$displayname = "display-name=\"".$registro->DISPLAYNAME."\" ";
				endif;
				if ($registro->PROFILE == "") :
					$profiles = "";
				else :
					$profiles = "profiles=\"".$registro->PROFILE."\" ";
				endif;
				if ($registro->MAXCONNECTIONS == "") :
					$maxconnections = "";
				else :
					$maxconnections = "max-connections=\"".$registro->MAXCONNECTIONS."\" ";
				endif;
				if ($registro->ENABLED == "Inativo") :
					$enabled = "enabled=\"false\" ";
				else :
					$enabled = "enabled=\"true\" ";
				endif;
				if ($registro->EXPIREDATE == "") :
					$expire = "";
				else :
					$expire = "expire-date=\"".$csp_expi."\" ";
				endif;
				
				 $conteudo = "<user $name$password$displayname$profiles$maxconnections$enabled$expire /> \n";
//				 $pdf->SetTextColor(0,0,0);	
// 				 $pdf->Cell(80, 5, $conteudo, 0, 1);
				 fwrite($ponteiro, $conteudo);
			}
			fwrite($ponteiro, "</xml-user-manager> \n");
			//FECHA O ARQUIVO
			fclose($ponteiro);
//   			$pdf->Output( $arquivo,'F' );
			return $arquivo;
	 }

	  function renovacoes_gerar_relatorio($acesso_idempresa, $idrevendedor, $nome, $email, $login, $cspvalidoi, $cspvalidof, $id){	
		  	$dmyatual = date ('d/m/Y');	
			$con = new conexao();
			$sql = "select csp_user.*, provedor.nome, profile.descricao as profile from csp_user, provedor, profile where csp_user.id = provedor.idprovedor and csp_user.idprofile = profile.idprofile and csp_user.idempresa = '$acesso_idempresa' and provedor.idrevendedor='$idrevendedor' and csp_user.del='NAO'";
			if ($nome <> ""){
				$sql .= " and provedor.nome like '$nome%'";
			}
			if ($email <> ""){
				$sql .=" and provedor.email like '$email%'";	
			}
			if ($login <> ""){
				$sql .= " and csp_user.name like '$login%'";
			}
			if ($cspvalidoi <> "" && $cspvalidof <> ""){
				$cspvalidoI=ymd($cspvalidoi);
				$cspvalidoF=ymd($cspvalidof);
				$sql .= " and csp_user.expiredate between '$cspvalidoI' and '$cspvalidoF'";
			}
			if ($id <> ""){
				$sql .= " and csp_user.id = '$id'";	
			}
			$sql .= " order by csp_user.name ASC";

			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			
			$pdf = new renovacoes_pdf('L'); 
			$pdf->Open();
      		$pdf->AddPage();						
      		$pdf->SetX(-10);
      		$pdf->line(10, 25, $pdf->GetX(), 25);
      		$pdf->SetXY(10, 27);
      		$pdf->SetFont('Arial', '', 10);
			while($registro = $resultado->FetchNextObject())
			{
				$renovacoes = explode(".", $registro->RENOVACOES);
				$validade	= dmy($registro->EXPIREDATE);
				$criadoem = substr($registro->CRIADOEM,0,10);
				$criadoem = dmy($criadoem);
				$situacao = $registro->ENABLED;
				$nomecliente = substr($registro->NOME,0,35);
				$pdf->SetTextColor(0,0,0);	
				$pdf->Cell(80, 5, $nomecliente, 0, 0);
			 	$pdf->Cell(40, 5, $registro->NAME, 0, 0);
				$pdf->Cell(30, 5, $criadoem, 0, 0); 
				$pdf->Cell(30, 5, $validade, 0, 0);
				$pdf->Cell(40, 5, $registro->PROFILE, 0, 0);
				$pdf->Cell(30, 5, $registro->SITUACAO, 0, 0);
				//Observações
				if ($registro->RENOVACOES <> ""){
					$pdf->Ln(5);
					$pdf->SetTextColor(255,127,0);
					$pdf->MultiCell(0,5,$registro->RENOVACOES,0,'J');
				}
				$pdf->Ln(5);
			}


      	$arquivo = "/tmp/relatorio_".session_id().".pdf";
		$arquivo_completo = dirname(__FILE__)."$arquivo";
		$pdf->Output( $arquivo_completo,'F' );
		return $arquivo;
	  }
  
   	  function transacao_filtra_grid($acesso_idempresa, $idrevendedor, $vctoi, $vctof, $idpedidoi, $idpedidof, $situacao, $ordem, $idcliente){	
		    $con = new conexao();
			$sql = "select transacoes.*, provedor.nome from transacoes, provedor where transacoes.idcliente = provedor.idprovedor and transacoes.idempresa = '$acesso_idempresa' and transacoes.idrevendedor='$idrevendedor' ";
			if ($idcliente <> "0"){
				$sql .= " and transacoes.idcliente = '$idcliente'";
			}
			if ($idpedidoi <> "" && $idpedidof <> ""){
				$sql .= " and transacoes.id_pedido between '$idpedidoi' and '$idpedidof'";
			}
			if ($vctoi <> "" && $vctof <> ""){
				$vctoI=ymd($vctoi);
				$vctoF=ymd($vctof);
				$sql .= " and transacoes.data_transacao between '$vctoI' and '$vctoF'";
			}
			if ($situacao <> "Todos"){
				if ($situacao == "Pendente") {
					$sql .= " and transacoes.produto_codigo in (select idfinanceiro from financeiro where idempresa='$acesso_idempresa' and situacao ='Pendente' and del='NAO')";
				}
				if ($situacao == "Pago") {
					$sql .= " and transacoes.produto_codigo in (select idfinanceiro from financeiro where idempresa='$acesso_idempresa' and situacao ='Pago' and del='NAO')";
				}
				if ($situacao == "Cancelado") {
					$sql .= " and transacoes.produto_codigo in (select idfinanceiro from financeiro where idempresa='$acesso_idempresa' and situacao ='Cancelado' and del='NAO')";
				}
			}
			if ($ordem == "Nome Cliente"){
				$sql .= " order by provedor.nome ASC";
			}

			if ($ordem == "Especie"){
				$sql .= " order by transacoes.especie ASC";
			}
			if ($ordem == "Emissao"){
				$sql .= " order by transacoes.data_transacao ASC";
			}

			$resultado = $con->banco->Execute($sql);
			$dados_bd['dados'][0] = "";
			$i = 0;
			while($registro = $resultado->FetchNextObject())
			{
				 $dados_bd['dados'][$i]['id_transacao']		= $registro->ID_TRANSACAO;
				 $dados_bd['dados'][$i]['cliente']			= $registro->NOME;
				 $dados_bd['dados'][$i]['data_transacao']	= dmy($registro->DATA_TRANSACAO);
				 $dados_bd['dados'][$i]['data_credito']		= dmy($registro->DATA_CREDITO);
				 $dados_bd['dados'][$i]['especie']			= $registro->ESPECIE;
				 $dados_bd['dados'][$i]['valor_total']		= $registro->VALOR_TOTAL;
				 $dados_bd['dados'][$i]['tipo_pagamento']	= $registro->TIPO_PAGAMENTO;
				 $dados_bd['dados'][$i]['status']			= $registro->STATUS; 
				 $dados_bd['dados'][$i]['id_pedido']		= $registro->ID_PEDIDO;
				 $dados_bd['dados'][$i]['produto_codigo']	= $registro->PRODUTO_CODIGO;
 				 $dados_bd['dados'][$i]['produto_descricao']= $registro->PRODUTO_DESCRICAO;
				 $dados_bd['dados'][$i]['produto_qtde']		= $registro->PRODUTO_QTDE;
				 $dados_bd['dados'][$i]['produto_valor']	= $registro->PRODUTO_VALOR;
				 $dados_bd['dados'][$i]['email_vendedor']	= $registro->EMAIL_VENDEDOR;
				 $data=substr($registro->DATAHORA,0,10);
				 $data=dmy($data);
				 $hora=substr($registro->DATAHORA,11,5);
				 $dados_bd['dados'][$i]['data']				= $data;
				 $dados_bd['dados'][$i]['hora']				= $hora;
				 $dados_bd['dados'][$i]['cliente_nome']		= $registro->CLIENTE_NOME;
				 $dados_bd['dados'][$i]['cliente_email']	= $registro->CLIENTE_EMAIL;
				 $i++;
			}
			return $dados_bd;
	 }
	 
	 function cliente_filtra_grid2($acesso_idempresa, $idrevendedor, $cspvalidoi, $cspvalidof, $login, $idprofile, $sel_subrevendedor, $sel_teste, $sel_ativo, $sel_inativo, $sel_bloqueado, $sel_vencido, $niveln){
		    $con = new conexao();
			$i = 0;
			$dados_bd['dados'][$i] = "";
			if ($sel_subrevendedor <> "1"){
				$sel_subrevendedor = "false";
			} else {
				$sel_subrevendedor = "true";
			}

			if ($sel_teste <> "1"){
				$sel_teste = "false";
			} else {
				$sel_teste = "true";	
			}
			if ($sel_ativo <> "1"){
				$sel_ativo = "false";
			} else {
				$sel_ativo = "true";	
			}
			if ($sel_inativo <> "1"){
				$sel_inativo = "false";
			} else {
				$sel_inativo = "true";	
			}
			if ($sel_bloqueado <> "1"){
				$sel_bloqueado = "false";
			} else {
				$sel_bloqueado = "true";	
			}
			if ($sel_vencido <> "1"){
				$sel_vencido = "false";
			} else {
				$sel_vencido = "true";	
			}
			
			if ($sel_subrevendedor == "false"){
				$Condicao = "idusuario";
			} else {
				if ($niveln == "0"){
					$Condicao = "nadmin";	
				}
				if ($niveln == "1"){
					$Condicao = "nrev";	
				}
				if ($niveln == "2"){
					$Condicao = "nsub1";	
				}
				if ($niveln == "3"){
					$Condicao = "nsub2";
				}
				if ($niveln == "4"){
					$Condicao = "nsub3";
				}
				if ($niveln == "5"){
					$Condicao = "nsub4";
				}
				if ($niveln == "6"){
					$Condicao = "nsub5";
				}
				if ($niveln == "7"){
					$Condicao = "nsub6";
				}
				if ($niveln == "8"){
					$Condicao = "nsub7";
				}
				if ($niveln == "9"){
					$Condicao = "nsub8";
				}
			}

			$sql_u = "select idusuario from usuario where $Condicao = '$idrevendedor' and del='NAO' order by nadmin, nrev, nsub1, nsub2, nsub3, nsub4, nsub5, nsub6, nsub7, nsub8";		
			$res_u = $con->banco->Execute($sql_u);			
			while($reg_u = $res_u->FetchNextObject()){
				$idUsuario = $reg_u->IDUSUARIO;
				$sqlCli = "select csp_user.*, provedor.nome, provedor.clienteteste, provedor.email, profile.profile as profile, provedor.idrevendedor from csp_user, provedor, profile where (csp_user.id = provedor.idprovedor) and (csp_user.idprofile = profile.idprofile) and (csp_user.idempresa='$acesso_idempresa') and (provedor.gerarmensalidade = 1) and (csp_user.del='NAO') and (provedor.idrevendedor = '$idUsuario')";
				if ($idprofile <> "0"){
					$sqlCli .= " and (csp_user.idprofile = '$idprofile')";
				}
				if ($login <> ""){
					$sqlCli .= " and (csp_user.name like '$login%')";
				}				
				if ($cspvalidoi <> "" && $cspvalidof <> ""){
					$cspvalidoI=ymd($cspvalidoi);
					$cspvalidoF=ymd($cspvalidof);
					$sqlCli .= " and (csp_user.expiredate between '$cspvalidoI' and '$cspvalidoF')";
				}
				$resultadoCli = $con->banco->Execute($sqlCli);
				while($registroCli = $resultadoCli->FetchNextObject()) {
					$mostra = "nao";
					$d1 = explode("-", $registroCli->EXPIREDATE);
					$dia_expire = $d1[2]; $mes_expire = $d1[1]; $ano_expire = $d1[0];
					$ymd_expire = "$ano_expire$mes_expire$dia_expire";
					$ymd_atual  = date('Ymd');
					
					 // Mostrar TESTE
					if (($registroCli->CLIENTETESTE == 1) && ($sel_teste == "true")){
						$mostra = "sim";
					}
					 // Mostrar BLOQUEADO
					if (($registroCli->SITUACAO == "Bloqueado") && ($sel_bloqueado == "true")){
						$mostra = "sim";
						$situacao = "Bloqueado";
					}
					// Mostrar INATIVO
					if (($registroCli->ENABLED == "Inativo") && ($sel_inativo == "true")){
						$mostra = "sim";
						$situacao = "Inativo";
					}

					if ($registroCli->ENABLED == "Ativo"){
						if ($ymd_expire < $ymd_atual){
							$vencido = "sim";
							$situacao = "Vencido";
						} else {
							$vencido = "nao";
							$situacao = "Ativo";
						}						
						
						if ($sel_ativo == "true"){
							if ($sel_vencido == "true"){
								$mostra = "sim";
							} else {
								if ($vencido == "sim"){
									$mostra = "nao";
								} else {
									$mostra = "sim";
								}
							}
						} else {
							if ($sel_vencido == "true"){
								if ($vencido == "sim"){
									$mostra = "sim";
								} else {
									$mostra = "nao";
								}
							} else {
								$mostra = "nao";
							}
						}
					}
					 
					if ($mostra == "sim"){
						if ($registroCli->CLIENTETESTE == "1"){
							$dados_bd['dados'][$i]['teste']      = "SIM";
						}
						if ($registroCli->CLIENTETESTE == "0"){
							$dados_bd['dados'][$i]['teste']      = "NAO";
						}
						$dados_bd['dados'][$i]['id']         = $registroCli->ID;
						$dados_bd['dados'][$i]['name']       = $registroCli->NAME;
						$dados_bd['dados'][$i]['email']      = $registroCli->EMAIL;
						$dados_bd['dados'][$i]['idprofile']  = $registroCli->IDPROFILE;
						$dados_bd['dados'][$i]['profile']    = $registroCli->PROFILE;
						$dados_bd['dados'][$i]['expiredate'] = $registroCli->EXPIREDATE;
						$dados_bd['dados'][$i]['vencimento'] = dmy($registroCli->EXPIREDATE);
						$dados_bd['dados'][$i]['enabled']    = $situacao; 
						$dados_bd['dados'][$i]['nome']       = $registroCli->NOME;
						$dados_bd['dados'][$i]['maxconnections'] = $registroCli->MAXCONNECTIONS;
						$dados_bd['dados'][$i]['criadoem']   = dmy(substr($registroCli->CRIADOEM,0,10));				 
						$dados_bd['dados'][$i]['idrevendedor'] = $registroCli->IDREVENDEDOR;
						$dados_bd['dados'][$i]['revendedor'] = $this->montaUsuario($idUsuario, $acesso_idempresa, $niveln);
						$dados_bd['dados'][$i]['situacao']   = $situacao;
						$i++;
					}
				}
			}
			return $dados_bd;
	 }	 
	 
	 function montaUsuario($idusuario, $idempresa, $niveln){
		$con = new conexao();
		$sqlU = "select * from usuario where idempresa='$idempresa' and idusuario='$idusuario'";
		$resU = $con->banco->Execute($sqlU);
		$regU = $resU->FetchNextObject();
		$nadmin = $regU->NADMIN;
		$nrev   = $regU->NREV;
		$nsub1	= $regU->NSUB1;
		$nsub2	= $regU->NSUB2;
		$nsub3	= $regU->NSUB3;
		$nsub4	= $regU->NSUB4;
		$nsub5	= $regU->NSUB5;
		$nsub6	= $regU->NSUB6;
		$nsub7	= $regU->NSUB7;
		$nsub8	= $regU->NSUB8;
		$retorno = "";
		if ($nadmin <> "0"){
			$s = "select login from usuario where idusuario='$nadmin'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln == 0){
				$retorno .= "$login";
			}
		}
		if ($nrev <> "0"){
			$s = "select login from usuario where idusuario='$nrev'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 1){
				$retorno .= "->$login";
			}
		}
		if ($nsub1 <> "0"){
			$s = "select login from usuario where idusuario='$nsub1'";
			$r= $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 2){
				$retorno .= "->$login";
			}
		}
		if ($nsub2 <> "0"){
			$s = "select login from usuario where idusuario='$nsub2'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 3){
				$retorno .= "->$login";
			}
		}
		if ($nsub3 <> "0"){
			$s = "select login from usuario where idusuario='$nsub3'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 4){
				$retorno .= "->$login";
			}
		}
		if ($nsub4 <> "0"){
			$s = "select login from usuario where idusuario='$nsub4'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 5){
				$retorno .= "->$login";
			}
		}
		if ($nsub5 <> "0"){
			$s = "select login from usuario where idusuario='$nsub5'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 6){
				$retorno .= "->$login";
			}
		}
		if ($nsub6 <> "0"){
			$s = "select login from usuario where idusuario='$nsub6'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 7){
				$retorno .= "->$login";
			}
		}
		if ($nsub7 <> "0"){
			$s = "select login from usuario where idusuario='$nsub7'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 8){
				$retorno .= "->$login";
			}
		}
		if ($nsub8 <> "0"){
			$s = "select login from usuario where idusuario='$nsub8'";
			$r = $con->banco->Execute($s);
			$re = $r->FetchNextObject();
			$login = $re->LOGIN;
			if ($niveln <= 9){
				$retorno .= "->$login";
			}
		}
		return $retorno;
	}
	
	function buscaNiveln($acesso_idempresa, $acesso_idusuario){
		$con = new conexao();
		$s = "select niveln from usuario where idempresa='$acesso_idempresa' and idusuario='$acesso_idusuario'";	
		$r = $con->banco->Execute($s);
		$re = $r->FetchNextObject();
		return $re->NIVELN;
	}
	
	function buscaNivelnTabela($niveln){
		if ($niveln == "0"){
			return "nadmin";	
		}
		if ($niveln == "1"){
			return "nrev";	
		}
		if ($niveln == "2"){
			return "nsub1";	
		}
		if ($niveln == "3"){
			return "nsub2";
		}
		if ($niveln == "4"){
			return "nsub3";
		}
		if ($niveln == "5"){
			return "nsub4";
		}
		if ($niveln == "6"){
			return "nsub5";
		}
		if ($niveln == "7"){
			return "nsub6";
		}
		if ($niveln == "8"){
			return "nsub7";
		}
		if ($niveln == "9"){
			return "nsub8";
		}	
	}


	  
	  
	 	  
}

class cliente_pdf extends FPDF
	{
		function Header()
		{			
			$this->SetFont('Courier','B',16);
			$this->SetTextColor(0,0,0);
			$this->Cell(0, 10, 'Relatorio de Clientes / Validade',0,1,'C');
      		$this->SetFont('Courier', 'B', 8);
			$this->SetTextColor(0,0,0);
			$this->Cell(80, 5, "NOME CLIENTE", 0, 0);
      		$this->Cell(40, 5, "LOGIN", 0, 0);
			$this->Cell(30, 5, "PROFILE", 0, 0);
			$this->Cell(30, 5, "CRIADO EM", 0, 0);
			$this->Cell(30, 5, "VALIDO ATE", 0, 0);
			$this->Cell(20, 5, "TESTE?", 0, 0);
			$this->Cell(30, 5, "SITUACAO", 0, 0);

			$this->Ln(20);
		}
		function Footer()
		{
			$this->SetY(-15);
			$this->SetFont('Arial','I',10);
			$this->SetTextColor(0,0,0);
			$this->Cell(0,10,'CSPADM 2.0 - Pagina '.$this->PageNo()." $diaatual ",0,0,'C');
		}
}

class financeiro_pdf extends FPDF
	{
		function Header()
		{	
			
			$this->SetFont('Arial','B',16);
			$this->Cell(0, 10, 'Relatorio - Financeiro',0,1,'C');
      		$this->SetFont('Arial', 'B', 10);
      		$this->Cell(50, 5, "CLIENTE", 0, 0);
			$this->Cell(10, 5, "TIPO", 0, 0);
			$this->Cell(20, 5, "ESPECIE", 0, 0);
			$this->Cell(30, 5, "NUMERO", 0, 0);
			$this->Cell(30, 5, "EMISSAO", 0, 0);
			$this->Cell(30, 5, "VENCIMENTO", 0, 0);
			$this->Cell(30, 5, "VALOR", 0, 0);
			$this->Cell(25, 5, "SITUACAO", 0, 0);
			$this->Cell(30, 5, "PAGO EM", 0, 0);
			$this->Cell(25, 5, "VLR PAGO", 0, 0);
			$this->Ln(20);
		}
		function Footer()
		{
			$this->SetY(-15);
			$this->SetFont('Arial','I',10);
			$this->Cell(0,10,'CSPADM 2.0 - Pagina '.$this->PageNo()." $diaatual ",0,0,'C');
		}
}

class renovacoes_pdf extends FPDF
	{
		function Header()
		{	

			$this->SetFont('Arial','B',16);
			$this->Cell(0, 10, 'Relatorio - RENOVACOES DE ACESSO',0,1,'C');
      		$this->SetFont('Arial', 'B', 10);
      		$this->Cell(80, 5, "CLIENTE", 0, 0);
			$this->Cell(40, 5, "LOGIN", 0, 0);
			$this->Cell(30, 5, "CRIADO EM", 0, 0);
			$this->Cell(30, 5, "VALIDO ATE", 0, 0);
			$this->Cell(40, 5, "PROFILE", 0, 0);
			$this->Cell(30, 5, "SITUACAO", 0, 0);
			$this->Ln(20);
		}
		function Footer()
		{
			$this->SetY(-15);
			$this->SetFont('Arial','I',10);
			$this->Cell(0,10,'CSPADM 2.0 - Pagina '.$this->PageNo()." $diaatual ",0,0,'C');
		}
}

class exportxml_pdf extends FPDF {
		function Header() {	
			$this->SetFont('Arial','B',16);
			$this->Cell(0, 10, 'Exportacao de usuario - XML',0,1,'C');
			$this->Ln(20);
		}
}



?>
