From 9ee788b2a903eb3b2986aaa85340b0b0bf00055c Mon Sep 17 00:00:00 2001 From: Eriksen Costa Paixão Date: Thu, 9 Apr 2009 20:08:25 +0000 Subject: [PATCH] r5@erik: eriksen | 2009-03-24 14:48:45 -0300 Página inicial usa caminho relativo e é script PHP; bug do logout corrigido (ticket #5) r6@erik: eriksen | 2009-03-24 14:49:24 -0300 Cópia da GPLv2 incluída na distribuição r7@erik: eriksen | 2009-03-24 14:51:25 -0300 Página inicial com caminhos relativos no frame e como script PHP r8@erik: eriksen | 2009-03-24 15:07:00 -0300 Ação de suspender cliente estava com SQL inválido (ticket #7) r9@erik: eriksen | 2009-03-24 15:10:07 -0300 Opções do select de tipo de cliente estavam duplicadas (ticket #8) r10@erik: eriksen | 2009-03-24 18:46:19 -0300 Hora da ocorrência não gravava quando a mesma era editada (ticket #11) r11@erik: eriksen | 2009-03-24 19:34:51 -0300 Dispensa de disciplina não funcionava (ticket #12) r12@erik: eriksen | 2009-03-26 14:59:48 -0300 Código usa o último IP do header HTTP_X_FORWARDED_FOR, evitando erro de SQL (ticket #13) r18@erik: eriksen | 2009-04-06 12:11:02 -0300 Licença GPL v2 não tem valor legal para projetos nesse portal r23@erik: eriksen | 2009-04-09 16:47:29 -0300 #13 by Eriksen: Corrigido erro no login quando usuário tinha múltiplos endereços IPs --- ieducar/index.html | 14 -------------- ieducar/index.php | 42 ++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/educar_cliente_det.php | 62 +++++++++++++++++++++++++++++++------------------------------- ieducar/intranet/educar_cliente_lst.php | 52 +++++++++++++++++++++++++--------------------------- ieducar/intranet/educar_cliente_tipo_xml.php | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- ieducar/intranet/educar_define_status_cliente_cad.php | 83 +++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- ieducar/intranet/educar_dispensa_disciplina_cad.php | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- ieducar/intranet/educar_matricula_ocorrencia_disciplinar_cad.php | 29 +++++++++++++++-------------- ieducar/intranet/educar_matricula_ocorrencia_disciplinar_det.php | 64 +++++++++++++++++++++++++++++++++------------------------------- ieducar/intranet/include/clsBase.inc.php | 72 +++++++++++++++++++++++++++++++++++++----------------------------------- ieducar/intranet/include/clsControlador.inc.php | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------- ieducar/intranet/include/funcoes.inc.php | 82 ++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- ieducar/intranet/include/pmieducar/clsPmieducarCliente.inc.php | 71 +++++++++++++++++++++++++++++++++++++++-------------------------------- ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php | 68 ++++++++++++++++++++++++++++++++++---------------------------------- ieducar/intranet/include/pmieducar/clsPmieducarMatriculaOcorrenciaDisciplinar.inc.php | 60 ++++++++++++++++++++++++++++-------------------------------- ieducar/intranet/logof.php | 71 +++++++++++++++++++++++++++++++++-------------------------------------- 16 files changed, 603 insertions(+), 534 deletions(-) delete mode 100755 ieducar/index.html create mode 100644 ieducar/index.php diff --git a/ieducar/index.html b/ieducar/index.html deleted file mode 100755 index d216440..0000000 --- a/ieducar/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - Prefeitura Municipal - - - - --> - - - <body> - </body> - - - diff --git a/ieducar/index.php b/ieducar/index.php new file mode 100644 index 0000000..98a7a23 --- /dev/null +++ b/ieducar/index.php @@ -0,0 +1,42 @@ + + + +Sistema de gestão escolar | i-Educar + + + + --> + + + <body> + </body> + + + diff --git a/ieducar/intranet/educar_cliente_det.php b/ieducar/intranet/educar_cliente_det.php index d3cdf7b..cd26dca 100644 --- a/ieducar/intranet/educar_cliente_det.php +++ b/ieducar/intranet/educar_cliente_det.php @@ -1,29 +1,30 @@ cod_cliente = $_GET["cod_cliente"]; $this->ref_cod_biblioteca = $_GET["ref_cod_biblioteca"]; -// die($this->ref_cod_biblioteca); -//echo "
"; print_r($_GET); die();
+
 		$tmp_obj = new clsPmieducarCliente( $this->cod_cliente );
 		$registro = $tmp_obj->lista( $this->cod_cliente, null, null, null, null, null, null, null, null, null, null, null, null, $this->ref_cod_biblioteca );
 
@@ -115,7 +115,7 @@ class indice extends clsDetalhe
 					else
 						$this->addDetalhe( array( "Status", "Regular" ) );
 						
-					$tipo_cliente = $obj_banco->CampoUnico("SELECT nm_tipo FROM pmieducar.cliente_tipo WHERE ref_cod_biblioteca IN (SELECT ref_cod_biblioteca FROM pmieducar.biblioteca_usuario WHERE ref_cod_usuario = '$this->pessoa_logada') AND cod_cliente_tipo = (SELECT ref_cod_cliente_tipo FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = '$this->cod_cliente'  AND ref_cod_biblioteca = {$this->ref_cod_biblioteca})");
+					$tipo_cliente = $obj_banco->CampoUnico("SELECT nm_tipo FROM pmieducar.cliente_tipo WHERE ref_cod_biblioteca IN (SELECT ref_cod_biblioteca FROM pmieducar.biblioteca_usuario WHERE ref_cod_usuario = '$this->pessoa_logada') AND cod_cliente_tipo = (SELECT ref_cod_cliente_tipo FROM pmieducar.cliente_tipo_cliente WHERE ref_cod_cliente = '$this->cod_cliente'  AND ref_cod_biblioteca = '$this->ref_cod_biblioteca')");
 					if(is_string($tipo_cliente))
 					{
 						$this->addDetalhe(array("Tipo", $tipo_cliente));
@@ -134,11 +134,11 @@ class indice extends clsDetalhe
 			$this->url_editar 	   = "educar_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}";
 			if ( is_numeric( $this->suspenso ) ) {
 				$this->array_botao     = array( "Liberar" );
-				$this->array_botao_url = array( "educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&status=liberar" );
+				$this->array_botao_url = array( "educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}&status=liberar" );
 			}
 			else {
 				$this->array_botao     = array( "Suspender" );
-				$this->array_botao_url = array( "educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&status=suspender" );
+				$this->array_botao_url = array( "educar_define_status_cliente_cad.php?cod_cliente={$cliente["cod_cliente"]}&ref_cod_biblioteca={$this->ref_cod_biblioteca}&status=suspender" );
 			}
 		}
 
@@ -155,4 +155,4 @@ $miolo = new indice();
 $pagina->addForm( $miolo );
 // gera o html
 $pagina->MakeAll();
-?>
\ No newline at end of file
+?>
diff --git a/ieducar/intranet/educar_cliente_lst.php b/ieducar/intranet/educar_cliente_lst.php
index 68bcb09..1f3aed7 100644
--- a/ieducar/intranet/educar_cliente_lst.php
+++ b/ieducar/intranet/educar_cliente_lst.php
@@ -1,32 +1,30 @@
 addForm( $miolo );
 // gera o html
 $pagina->MakeAll();
-?>
\ No newline at end of file
+?>
diff --git a/ieducar/intranet/educar_cliente_tipo_xml.php b/ieducar/intranet/educar_cliente_tipo_xml.php
index 9ac2a2e..f5fcb8f 100644
--- a/ieducar/intranet/educar_cliente_tipo_xml.php
+++ b/ieducar/intranet/educar_cliente_tipo_xml.php
@@ -1,56 +1,75 @@
 \n\n";
-	if( is_numeric( $_GET["bib"] ) )
-	{
-		$db = new clsBanco();
-		$db->Consulta( "
-			SELECT
-				cod_cliente_tipo
-				, nm_tipo
-				, dias_emprestimo
-			FROM
-				pmieducar.cliente_tipo LEFT OUTER JOIN pmieducar.cliente_tipo_exemplar_tipo ON ( cod_cliente_tipo = ref_cod_cliente_tipo )
-			WHERE
-				ref_cod_biblioteca = {$_GET["bib"]}
-				AND ativo = 1
-			ORDER BY
-				nm_tipo ASC
-			" );
-
-		while ( $db->ProximoRegistro() )
-		{
-			list( $cod, $nome, $dias_emprestimo ) = $db->Tupla();
-			echo "	{$nome}\n";
-		}
-	}
-	echo "";
-?>
\ No newline at end of file
+/**
+ *
+ * @version SVN: $Id$
+ * @author  Prefeitura Municipal de Itajaí
+ * @updated 29/03/2007
+ * Pacote: i-PLB Software Público Livre e Brasileiro
+ *
+ * Copyright (C) 2006	PMI - Prefeitura Municipal de Itajaí
+ *					ctima@itajai.sc.gov.br
+ *
+ * Este  programa  é  software livre, você pode redistribuí-lo e/ou
+ * modificá-lo sob os termos da Licença Pública Geral GNU, conforme
+ * publicada pela Free  Software  Foundation,  tanto  a versão 2 da
+ * Licença   como  (a  seu  critério)  qualquer  versão  mais  nova.
+ *
+ * Este programa  é distribuído na expectativa de ser útil, mas SEM
+ * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-
+ * ZAÇÃO  ou  de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-
+ * sulte  a  Licença  Pública  Geral  GNU para obter mais detalhes.
+ *
+ * Você  deve  ter  recebido uma cópia da Licença Pública Geral GNU
+ * junto  com  este  programa. Se não, escreva para a Free Software
+ * Foundation,  Inc.,  59  Temple  Place,  Suite  330,  Boston,  MA
+ * 02111-1307, USA.
+ *
+ */
+
+header('Content-type: text/xml; charset=iso-8859-1');
+
+require_once('include/clsBanco.inc.php');
+require_once('include/funcoes.inc.php');
+
+print '' . PHP_EOL;
+print '' . PHP_EOL;
+
+if (is_numeric($_GET['bib']))
+{
+  $db = new clsBanco();
+  $sql = "
+    SELECT
+      DISTINCT(cod_cliente_tipo),
+      nm_tipo,
+      dias_emprestimo
+    FROM
+      pmieducar.cliente_tipo LEFT JOIN pmieducar.cliente_tipo_exemplar_tipo ON (cod_cliente_tipo = ref_cod_cliente_tipo)
+    WHERE
+      ref_cod_biblioteca = %s AND
+      ativo = 1
+    ORDER BY
+      nm_tipo ASC";
+
+  $sql = sprintf($sql, $_GET['bib']);
+  $db->Consulta($sql);
+
+  // Array com os códigos do resultado do SELECT
+  $codigos = array();
+
+  while ($db->ProximoRegistro())
+  {
+    list($cod, $nome, $dias_emprestimo) = $db->Tupla();
+
+    // Se o código já foi utilizado, vai para o próximo resultado
+    if (isset($codigos[$cod]))
+      continue;
+
+    $cliente_tag = '%s';
+    print sprintf($cliente_tag, $cod, $dias_emprestimo, $nome) . PHP_EOL;
+
+    // Evita que se imprima o mesmo código novamente
+    $codigos[$cod] = TRUE;
+  }
+}
+
+print '';
diff --git a/ieducar/intranet/educar_define_status_cliente_cad.php b/ieducar/intranet/educar_define_status_cliente_cad.php
index edc61c5..f53801c 100644
--- a/ieducar/intranet/educar_define_status_cliente_cad.php
+++ b/ieducar/intranet/educar_define_status_cliente_cad.php
@@ -1,29 +1,30 @@
 pessoa_logada = $_SESSION['id_pessoa'];
 		@session_write_close();
 
-		$this->cod_cliente	 = $_GET["cod_cliente"];
-		$this->acao_status	 = $_GET["status"];
+		$this->cod_cliente	      = $_GET["cod_cliente"];
+		$this->acao_status	      = $_GET["status"];
+		$this->ref_cod_biblioteca = $_GET["ref_cod_biblioteca"];
 
 		$obj_permissoes = new clsPermissoes();
 		$obj_permissoes->permissao_cadastra( 603, $this->pessoa_logada, 11,  "educar_cliente_det.php" );
@@ -106,8 +108,9 @@ class indice extends clsCadastro
 	{
 		if ( $this->acao_status == "suspender" ) {
 
-			$this->campoOculto( "cod_cliente", $this->cod_cliente );
-
+			$this->campoOculto("cod_cliente", $this->cod_cliente);
+			$this->campoOculto("ref_cod_biblioteca", $this->ref_cod_biblioteca);
+			
 			if ( $this->ref_idpes ) {
 
 				$objTemp = new clsPessoaFisica( $this->ref_idpes );
@@ -169,28 +172,32 @@ class indice extends clsCadastro
 		elseif ( $this->acao_status == "liberar" ) {
 			$db 	   		  = new clsBanco();
 			$this->sequencial = $db->CampoUnico( "SELECT MAX( sequencial ) FROM pmieducar.cliente_suspensao WHERE ref_cod_cliente = {$this->cod_cliente} AND data_liberacao IS NULL" );
-			$this->campoOculto( "sequencial", $this->sequencial );
-			$this->campoOculto( "cod_cliente", $this->cod_cliente );
+			$this->campoOculto("sequencial", $this->sequencial );
+
 			$this->Editar();
 		}
 	}
 
 	function Novo()
 	{
-		@session_start();
-		 $this->pessoa_logada = $_SESSION['id_pessoa'];
-		@session_write_close();
+		session_start();
+		$this->pessoa_logada = $_SESSION['id_pessoa'];
+		session_write_close();
 
 		$obj_permissoes = new clsPermissoes();
 		$obj_permissoes->permissao_cadastra( 603, $this->pessoa_logada, 11,  "educar_cliente_lst.php" );
 
 		$obj = new clsPmieducarClienteSuspensao( null, $this->cod_cliente, $this->cod_motivo_suspensao, null, $this->pessoa_logada, $this->dias, null, null );
-		if( $obj->cadastra() ) {
+		
+		// Caso suspensão tenha sido efetuada, envia para página de detalhes
+		if ($obj->cadastra()) 
+		{
 			$this->mensagem .= "Suspensão efetuada com sucesso.
"; - header( "Location: educar_cliente_det.php?cod_cliente={$this->cod_cliente}" ); + header("Location: educar_cliente_det.php?cod_cliente={$this->cod_cliente}&ref_cod_biblioteca={$this->ref_cod_biblioteca}"); die(); return true; } + $this->mensagem = "Suspensão não realizada.
"; echo ""; return false; @@ -259,4 +266,4 @@ var ref_cod_motivo_suspensao = document.getElementById( 'cod_motivo_suspensao' ) ref_cod_motivo_suspensao.onchange = function() { getDescricao(); }; - \ No newline at end of file + diff --git a/ieducar/intranet/educar_dispensa_disciplina_cad.php b/ieducar/intranet/educar_dispensa_disciplina_cad.php index 895b016..ae77906 100644 --- a/ieducar/intranet/educar_dispensa_disciplina_cad.php +++ b/ieducar/intranet/educar_dispensa_disciplina_cad.php @@ -1,33 +1,35 @@ pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); - $this->ref_cod_disciplina=$_GET["ref_cod_disciplina"]; - $this->ref_cod_matricula = $_GET['ref_cod_matricula']; + $this->ref_cod_disciplina = $_GET["ref_cod_disciplina"]; + $this->ref_cod_matricula = $_GET['ref_cod_matricula']; $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_ref_cod_matricula={$this->ref_cod_matricula}" ); - if(is_numeric($this->ref_cod_matricula)) + if (is_numeric($this->ref_cod_matricula)) { $obj_matricula = new clsPmieducarMatricula($this->ref_cod_matricula,null,null,null,null,null,null,null,null,null,1); $det_matricula = $obj_matricula->detalhe(); @@ -92,35 +94,38 @@ class indice extends clsCadastro { header("location: educar_matricula_lst.php"); die; - } $this->ref_cod_escola = $det_matricula['ref_ref_cod_escola']; $this->ref_cod_serie = $det_matricula['ref_ref_cod_serie']; - }else + } + else { header("location: educar_matricula_lst.php"); die; } - if( is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) ) + + if (is_numeric( $this->ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) ) { - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina ); $registro = $obj->detalhe(); - if( $registro ) + if ($registro) { - foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto - $this->$campo = $val; + foreach ($registro as $campo => $val) // passa todos os valores obtidos no registro para atributos do objeto + { + $this->$campo = $val; + } - $obj_permissoes = new clsPermissoes(); - if( $obj_permissoes->permissao_excluir( 578, $this->pessoa_logada, 7 ) ) - { - $this->fexcluir = true; - } + $obj_permissoes = new clsPermissoes(); + if ($obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7)) + { + $this->fexcluir = true; + } $retorno = "Editar"; } } + $this->url_cancelar = ($retorno == "Editar") ? "educar_dispensa_disciplina_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_serie={$registro["ref_cod_serie"]}&ref_cod_escola={$registro["ref_cod_escola"]}&ref_cod_disciplina={$registro["ref_cod_disciplina"]}" : "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}"; $this->nome_url_cancelar = "Cancelar"; return $retorno; @@ -251,6 +256,9 @@ class indice extends clsCadastro $db = new clsBanco(); $max_cod_dispensa = $db->CampoUnico($sql); + // Caso não exista nenhuma dispensa, atribui o código 1, tabela não utiliza sequences + $max_cod_dispensa = $max_cod_dispensa > 0 ? $max_cod_dispensa : 1; + $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, null, $this->pessoa_logada, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao, $max_cod_dispensa ); if($obj->existe()) { @@ -283,7 +291,7 @@ class indice extends clsCadastro $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_dispensa_disciplina_lst.php?ref_cod_matricula={$this->ref_cod_matricula}" ); - $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao ); + $obj = new clsPmieducarDispensaDisciplina( $this->ref_cod_matricula, $this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_disciplina, $this->pessoa_logada, null, $this->ref_cod_tipo_dispensa, null, null, 1, $this->observacao); $editou = $obj->edita(); if( $editou ) { @@ -343,4 +351,4 @@ campoTurma.onchange = function(){ campoDisciplina.options[campoDisciplina.length] = new Option(disciplina[ct][2],disciplina[ct][1],false,false); } }; - \ No newline at end of file + diff --git a/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_cad.php b/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_cad.php index 0fd3063..56df7f8 100644 --- a/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_cad.php +++ b/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_cad.php @@ -91,25 +91,25 @@ class indice extends clsCadastro $this->ref_cod_matricula=$_GET["ref_cod_matricula"]; $this->ref_cod_tipo_ocorrencia_disciplinar=$_GET["ref_cod_tipo_ocorrencia_disciplinar"]; - if( is_numeric( $this->ref_cod_matricula ) && is_numeric($this->ref_cod_tipo_ocorrencia_disciplinar) && is_numeric($this->sequencial)) + if (is_numeric($this->ref_cod_matricula) && + is_numeric($this->ref_cod_tipo_ocorrencia_disciplinar) && + is_numeric($this->sequencial)) { - - $obj = new clsPmieducarMatriculaOcorrenciaDisciplinar( $this->ref_cod_matricula, $this->ref_cod_tipo_ocorrencia_disciplinar, $this->sequencial ); - $registro = $obj->detalhe(); - if( $registro ) + $obj = new clsPmieducarMatriculaOcorrenciaDisciplinar($this->ref_cod_matricula, $this->ref_cod_tipo_ocorrencia_disciplinar, $this->sequencial); + $registro = $obj->detalhe(); + if ($registro) { foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto $this->$campo = $val; - $this->hora_cadastro = dataFromPgToBr($this->data_cadastro,'h:i'); + $this->hora_cadastro = dataFromPgToBr($this->data_cadastro,'H:i'); $this->data_cadastro = dataFromPgToBr($this->data_cadastro); - - $obj_permissoes = new clsPermissoes(); - if( $obj_permissoes->permissao_excluir( 578, $this->pessoa_logada, 7 ) ) - { - $this->fexcluir = true; - } + $obj_permissoes = new clsPermissoes(); + if( $obj_permissoes->permissao_excluir( 578, $this->pessoa_logada, 7 ) ) + { + $this->fexcluir = true; + } $retorno = "Editar"; } @@ -265,7 +265,8 @@ class indice extends clsCadastro $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_matricula_ocorrencia_disciplinar_lst.php" ); - + $this->data_cadastro = "{$this->data_cadastro} {$this->hora_cadastro}"; + $obj = new clsPmieducarMatriculaOcorrenciaDisciplinar($this->ref_cod_matricula, $this->ref_cod_tipo_ocorrencia_disciplinar, $this->sequencial, $this->pessoa_logada, $this->pessoa_logada, $this->observacao, $this->data_cadastro, $this->data_exclusao, $this->ativo); $editou = $obj->edita(); if( $editou ) @@ -315,4 +316,4 @@ $miolo = new indice(); $pagina->addForm( $miolo ); // gera o html $pagina->MakeAll(); -?> \ No newline at end of file +?> diff --git a/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_det.php b/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_det.php index b8564bc..45a874f 100644 --- a/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_det.php +++ b/ieducar/intranet/educar_matricula_ocorrencia_disciplinar_det.php @@ -1,33 +1,35 @@ addDetalhe( array( "Hora Ocorrência", $hora )); $this->addDetalhe( array( "Data Ocorrência", dataFromPgToBr("{$registro["data_cadastro"]}",'d/m/Y') )); } @@ -209,4 +211,4 @@ $miolo = new indice(); $pagina->addForm( $miolo ); // gera o html $pagina->MakeAll(); -?> \ No newline at end of file +?> diff --git a/ieducar/intranet/include/clsBase.inc.php b/ieducar/intranet/include/clsBase.inc.php index 8ee5bb7..10ef083 100755 --- a/ieducar/intranet/include/clsBase.inc.php +++ b/ieducar/intranet/include/clsBase.inc.php @@ -1,39 +1,41 @@ logado; } - function Logar($acao) - { + public function Logar($acao) { if ($acao) { - -// $login = ereg_replace( "^0+([0-9]+)\$", "\\1",@$_POST['login'] ); $login = @$_POST['login']; $senha = md5( @$_POST['senha'] ); $db = new clsBanco(); - $db->Consulta( "SELECT ref_cod_pessoa_fj FROM funcionario WHERE matricula = '{$login}'" ); + $db->Consulta("SELECT ref_cod_pessoa_fj FROM funcionario WHERE matricula = '{$login}'"); if ($db->ProximoRegistro()) { list($idpes) = $db->Tupla(); - // padrao: meia hora atraz - - $intervalo = date("Y-m-d H:i", time() - ( 60 * 1 ) ); + // padrao: meia hora atrás + $intervalo = date("Y-m-d H:i", time() - (60 * 1 )); // se houve o ultimo login bem sucedido foi em menos de meia hora, conta somente dali para a frente $db->consulta("SELECT data_hora FROM acesso WHERE cod_pessoa = '{$idpes}' AND data_hora > '{$intervalo}' AND sucesso = 't' ORDER BY data_hora DESC LIMIT 1" ); - if( $db->Num_Linhas() ) + if ($db->Num_Linhas()) { $db->ProximoRegistro(); list( $intervalo ) = $db->Tupla(); } $tentativas = $db->CampoUnico("SELECT COUNT(0) FROM acesso WHERE cod_pessoa = '{$idpes}' AND data_hora > '{$intervalo}' AND sucesso = 'f'" ); - if( $tentativas > 5 ) + if ($tentativas > 5) { $hora_ultima_tentativa = $db->CampoUnico("SELECT data_hora FROM acesso WHERE cod_pessoa = '{$idpes}' ORDER BY data_hora DESC LIMIT 1 OFFSET 4" ); $hora_ultima_tentativa = explode(".",$hora_ultima_tentativa); @@ -126,40 +119,43 @@ class clsControlador $db->Consulta( "SELECT ref_cod_pessoa_fj, opcao_menu, ativo, tempo_expira_senha, tempo_expira_conta, data_troca_senha, data_reativa_conta, proibido, ref_cod_setor_new, tipo_menu FROM funcionario WHERE ref_cod_pessoa_fj = '{$idpes}' AND senha = '{$senha}'" ); if ($db->ProximoRegistro()) { - list ($id_pessoa, $opcaomenu, $ativo, $tempo_senha, $tempo_conta, $data_senha, $data_conta, $proibido, $setor_new, $tipo_menu ) = $db->Tupla(); - if( ! $proibido ) + list($id_pessoa, $opcaomenu, $ativo, $tempo_senha, $tempo_conta, $data_senha, $data_conta, $proibido, $setor_new, $tipo_menu ) = $db->Tupla(); + if (!$proibido) { - if( $ativo ) + if ($ativo) { // usuario ativo, vamos ver se nao expirou a conta dele $expirada = false; - if( ! empty( $tempo_conta ) && !empty( $data_conta ) ) + if (!empty($tempo_conta) && !empty($data_conta)) { - if( time() - strtotime( $data_conta ) > $tempo_conta * 60 * 60 * 24 ) + if (time() - strtotime($data_conta) > $tempo_conta * 60 * 60 * 24) { // conta expirada, avisa a falar com admin - $db->Consulta( "UPDATE funcionario SET ativo='0' WHERE ref_cod_pessoa_fj = '$id_pessoa'" ); - die( "" ); + $db->Consulta("UPDATE funcionario SET ativo='0' WHERE ref_cod_pessoa_fj = '$id_pessoa'"); + die(""); } } // vendo se a senha nao expirou - if( ! empty( $tempo_senha ) && ! empty( $data_senha ) ) + if (!empty($tempo_senha) && ! empty($data_senha)) { - if( time() - strtotime( $data_senha ) > $tempo_senha * 60 * 60 * 24 ) + if (time() - strtotime($data_senha) > $tempo_senha * 60 * 60 * 24) { // senha expirada, manda pra mudanca de senha die( "
" ); } } - //verificação do ip da máquina - if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) - { - $ip_maquina = $_SERVER['HTTP_X_FORWARDED_FOR']; - } - else - $ip_maquina = $_SERVER['REMOTE_ADDR']; - + // Pega o endereço IP do host, primeiro com HTTP_X_FORWARDED_FOR (para pegar o IP real + // caso o host esteja atrás de um proxy) + if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') { + // No caso de múltiplos IPs, pega o último da lista + $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); + $ip_maquina = trim(array_pop($ip)); + } + else { + $ip_maquina = $_SERVER['REMOTE_ADDR']; + } + $sql = "SELECT ip_logado, data_login FROM funcionario WHERE ref_cod_pessoa_fj = {$id_pessoa}"; $db2 = new clsBanco(); $db2->Consulta($sql); @@ -224,12 +220,19 @@ class clsControlador } else { - $ip = empty($_SERVER['REMOTE_ADDR']) ? "NULL" : $_SERVER['REMOTE_ADDR']; - $ip_de_rede = empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? "NULL" : $_SERVER['HTTP_X_FORWARDED_FOR']; - $db->Consulta( "INSERT INTO acesso (data_hora, ip_externo, ip_interno, cod_pessoa, sucesso) VALUES (now(), '{$ip}', '{$ip_de_rede}', {$idpes}, 'f')" ); + if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '') { + // No caso de múltiplos IPs, pega o último da lista + $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); + $ip_de_rede = trim(array_pop($ip)); + } + + $ip = empty($_SERVER['REMOTE_ADDR']) ? 'NULL' : $_SERVER['REMOTE_ADDR']; + $ip_de_rede = empty($ip_de_rede) ? 'NULL' : $ip_de_rede; + + $db->Consulta("INSERT INTO acesso (data_hora, ip_externo, ip_interno, cod_pessoa, sucesso) VALUES (now(), '{$ip}', '{$ip_de_rede}', {$idpes}, 'f')"); - $this->erroMsg = "Login ou Senha incorretos."; - $this->logado = false; + $this->erroMsg = 'Login ou Senha incorretos.'; + $this->logado = FALSE; } } else @@ -247,10 +250,8 @@ class clsControlador { $strArquivo = str_replace( "", $this->erroMsg, $strArquivo ); } - fclose ($ptrTpl); - //echo $strArquivo; - //print_r( $_SESSION ); - die( $strArquivo ); + fclose($ptrTpl); + die($strArquivo); } } @@ -266,4 +267,3 @@ class clsControlador } } } -?> diff --git a/ieducar/intranet/include/funcoes.inc.php b/ieducar/intranet/include/funcoes.inc.php index 0cb7e86..1eacf5a 100755 --- a/ieducar/intranet/include/funcoes.inc.php +++ b/ieducar/intranet/include/funcoes.inc.php @@ -1,29 +1,31 @@ \ No newline at end of file +?> diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarCliente.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarCliente.inc.php index 528d8c1..ec62854 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarCliente.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarCliente.inc.php @@ -1,34 +1,33 @@ cs.ref_cod_cliente"; + } $sql1 = "SELECT c.cod_cliente, c.ref_idpes, @@ -985,4 +992,4 @@ class clsPmieducarCliente } } -?> \ No newline at end of file +?> diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php index a726438..32bd8db 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarDispensaDisciplina.inc.php @@ -1,36 +1,32 @@ ref_cod_matricula ) && is_numeric( $this->ref_cod_serie ) && is_numeric( $this->ref_cod_escola ) && is_numeric( $this->ref_cod_disciplina ) && is_numeric( $this->ref_usuario_cad ) && is_numeric( $this->ref_cod_tipo_dispensa ) && is_numeric($this->cod_dispensa) ) + if (is_numeric($this->ref_cod_matricula) && is_numeric($this->ref_cod_serie) && + is_numeric($this->ref_cod_escola) && is_numeric($this->ref_cod_disciplina) && + is_numeric($this->ref_usuario_cad) && is_numeric($this->ref_cod_tipo_dispensa) && + is_numeric($this->cod_dispensa)) { $db = new clsBanco(); @@ -361,7 +360,8 @@ class clsPmieducarDispensaDisciplina $gruda = ", "; } - $db->Consulta( "INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )" ); + $sql = "INSERT INTO {$this->_tabela} ($campos) VALUES($valores)"; + $db->Consulta($sql); return true; } return false; @@ -679,4 +679,4 @@ class clsPmieducarDispensaDisciplina } } -?> \ No newline at end of file +?> diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarMatriculaOcorrenciaDisciplinar.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarMatriculaOcorrenciaDisciplinar.inc.php index 96298e7..84226ea 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarMatriculaOcorrenciaDisciplinar.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarMatriculaOcorrenciaDisciplinar.inc.php @@ -1,36 +1,32 @@ \ No newline at end of file +?> diff --git a/ieducar/intranet/logof.php b/ieducar/intranet/logof.php index 9fb33fe..1c79ba6 100755 --- a/ieducar/intranet/logof.php +++ b/ieducar/intranet/logof.php @@ -1,41 +1,36 @@ +// Redireciona para página de login +header('Location: ./index.php'); + +exit(0); -- libgit2 0.21.2