SetTitulo( "{$this->_instituicao} i-Educar - Obras" ); $this->processoAp = "598"; $this->addEstilo('localizacaoSistema'); } } class indice extends clsCadastro { /** * Referencia pega da session para o idpes do usuario atual * * @var int */ var $pessoa_logada; var $cod_acervo; var $ref_cod_exemplar_tipo; var $ref_cod_acervo; var $ref_usuario_exc; var $ref_usuario_cad; var $ref_cod_acervo_colecao; var $ref_cod_acervo_idioma; var $ref_cod_acervo_editora; var $titulo_livro; var $sub_titulo; var $cdu; var $cutter; var $volume; var $num_edicao; var $ano; var $num_paginas; var $isbn; var $data_cadastro; var $data_exclusao; var $ativo; var $ref_cod_biblioteca; var $ref_cod_instituicao; var $ref_cod_escola; var $checked; var $acervo_autor; var $ref_cod_acervo_autor; var $principal; var $incluir_autor; var $excluir_autor; var $colecao; var $editora; var $idioma; var $autor; protected function setSelectionFields() { } function Inicializar() { $retorno = "Novo"; @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $this->cod_acervo=$_GET["cod_acervo"]; $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 598, $this->pessoa_logada, 11, "educar_acervo_lst.php" ); if( is_numeric( $this->cod_acervo ) ) { $obj = new clsPmieducarAcervo( $this->cod_acervo ); $registro = $obj->detalhe(); if( $registro ) { foreach( $registro AS $campo => $val ) // passa todos os valores obtidos no registro para atributos do objeto $this->$campo = $val; $obj_biblioteca = new clsPmieducarBiblioteca($this->ref_cod_biblioteca); $obj_det = $obj_biblioteca->detalhe(); $this->ref_cod_instituicao = $obj_det["ref_cod_instituicao"]; $this->ref_cod_escola = $obj_det["ref_cod_escola"]; $obj_permissoes = new clsPermissoes(); if( $obj_permissoes->permissao_excluir( 598, $this->pessoa_logada, 11 ) ) { $this->fexcluir = true; } $retorno = "Editar"; } } $this->url_cancelar = ($retorno == "Editar") ? "educar_acervo_det.php?cod_acervo={$registro["cod_acervo"]}" : "educar_acervo_lst.php"; $this->nome_url_cancelar = "Cancelar"; $nomeMenu = $retorno == "Editar" ? $retorno : "Cadastrar"; $localizacao = new LocalizacaoSistema(); $localizacao->entradaCaminhos( array( $_SERVER['SERVER_NAME']."/intranet" => "Início", "educar_biblioteca_index.php" => "i-Educar - Biblioteca", "" => "{$nomeMenu} obra" )); $this->enviaLocalizacao($localizacao->montar()); return $retorno; } function Gerar() { if( $_POST ) { foreach( $_POST AS $campo => $val ) $this->$campo = ( $this->$campo ) ? $this->$campo : $val; } if(is_numeric($this->colecao)) { $this->ref_cod_acervo_colecao = $this->colecao; } if(is_numeric($this->editora)) { $this->ref_cod_acervo_editora = $this->editora; } if(is_numeric($this->idioma)) { $this->ref_cod_acervo_idioma = $this->idioma; } if(is_numeric($this->autor)) { $this->ref_cod_acervo_autor = $this->autor; } // primary keys $this->campoOculto( "cod_acervo", $this->cod_acervo ); $this->campoOculto( "colecao", "" ); $this->campoOculto( "editora", "" ); $this->campoOculto( "idioma", "" ); $this->campoOculto( "autor", "" ); $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'biblioteca', 'bibliotecaTipoExemplar')); // Obra referência $opcoes = array( "NULL" => "Selecione" ); if( $this->ref_cod_acervo && $this->ref_cod_acervo != "NULL") { $objTemp = new clsPmieducarAcervo($this->ref_cod_acervo); $detalhe = $objTemp->detalhe(); if ( $detalhe ) { $opcoes["{$detalhe['cod_acervo']}"] = "{$detalhe['titulo']}"; } } $this->campoLista("ref_cod_acervo","Obra Referência",$opcoes,$this->ref_cod_acervo,"",false,"","",false,false); // Coleção $opcoes = array( "" => "Selecione" ); if( class_exists( "clsPmieducarAcervoColecao" ) ) { $objTemp = new clsPmieducarAcervoColecao(); $lista = $objTemp->lista(); if ( is_array( $lista ) && count( $lista ) ) { foreach ( $lista as $registro ) { $opcoes["{$registro['cod_acervo_colecao']}"] = "{$registro['nm_colecao']}"; } } } else { echo ""; $opcoes = array( "" => "Erro na geracao" ); } $this->campoLista( "ref_cod_acervo_colecao", "Coleção", $opcoes, $this->ref_cod_acervo_colecao,"",false,"","",false,false ); // Idioma $opcoes = array( "" => "Selecione" ); if( class_exists( "clsPmieducarAcervoIdioma" ) ) { $objTemp = new clsPmieducarAcervoIdioma(); $lista = $objTemp->lista(); if ( is_array( $lista ) && count( $lista ) ) { foreach ( $lista as $registro ) { $opcoes["{$registro['cod_acervo_idioma']}"] = "{$registro['nm_idioma']}"; } } } else { echo ""; $opcoes = array( "" => "Erro na geracao" ); } $this->campoLista( "ref_cod_acervo_idioma", "Idioma", $opcoes, $this->ref_cod_acervo_idioma, "", false, "", "" ); $opcoes = array( "" => "Selecione" ); if( class_exists( "clsPmieducarAcervoEditora" ) ) { $objTemp = new clsPmieducarAcervoEditora(); $lista = $objTemp->lista(); if ( is_array( $lista ) && count( $lista ) ) { foreach ( $lista as $registro ) { $opcoes["{$registro['cod_acervo_editora']}"] = "{$registro['nm_editora']}"; } } } else { echo ""; $opcoes = array( "" => "Erro na geracao" ); } $this->campoLista( "ref_cod_acervo_editora", "Editora", $opcoes, $this->ref_cod_acervo_editora, "", false, "", "" ); //-----------------------INCLUI AUTOR------------------------// $this->campoQuebra(); if ( $_POST["acervo_autor"] ) $this->acervo_autor = unserialize( urldecode( $_POST["acervo_autor"] ) ); if( is_numeric( $this->cod_acervo ) && !$_POST ) { $obj = new clsPmieducarAcervoAcervoAutor(); $registros = $obj->lista( null, $this->cod_acervo ); if( $registros ) { foreach ( $registros AS $campo ) { $aux["ref_cod_acervo_autor_"]= $campo["ref_cod_acervo_autor"]; $aux["principal_"]= $campo["principal"]; $this->acervo_autor[] = $aux; } // verifica se ja existe um autor principal if ( is_array($this->acervo_autor) ) { foreach ($this->acervo_autor AS $autores) { if ($autores["principal_"] == 1) { $this->checked = 1; $this->campoOculto( "checked", $this->checked ); } } } } } unset($aux); if ( $_POST["ref_cod_acervo_autor"] ) { if ( $_POST["principal"] ) { $this->checked = 1; $this->campoOculto( "checked", $this->checked ); } $aux["ref_cod_acervo_autor_"] = $_POST["ref_cod_acervo_autor"]; $aux["principal_"] = $_POST["principal"]; $this->acervo_autor[] = $aux; // echo "
";print_r($this->acervo_autor);

			// verifica se ja existe um autor principal
			if ( is_array($this->acervo_autor) )
			{
				foreach ($this->acervo_autor AS $autores)
				{
					if ($autores["principal_"] == 'on')
					{
						$this->checked = 1;
						$this->campoOculto( "checked", $this->checked );
					}
				}
			}
			unset( $this->ref_cod_acervo_autor );
			unset( $this->principal );
		}

		$this->campoOculto( "excluir_autor", "" );
		unset($aux);

		if ( $this->acervo_autor )
		{
			foreach ( $this->acervo_autor as $key => $autor)
			{
				if ( $this->excluir_autor == $autor["ref_cod_acervo_autor_"] )
				{
					unset($this->acervo_autor[$key]);
					unset($this->excluir_autor);
				}
				else
				{
					$obj_acervo_autor = new clsPmieducarAcervoAutor($autor["ref_cod_acervo_autor_"]);
					$det_acervo_autor = $obj_acervo_autor->detalhe();
					$nm_autor = $det_acervo_autor["nm_autor"];
					$this->campoTextoInv( "ref_cod_exemplar_tipo_{$autor["ref_cod_acervo_autor_"]}", "", $nm_autor, 30, 255, false, false, true );
					$this->campoCheck( "principal_{$autor["ref_cod_acervo_autor_"]}", "", $autor['principal_'], "__nome}.submit();\">", false, false, false );
					$aux["ref_cod_acervo_autor_"] = $autor["ref_cod_acervo_autor_"];
					$aux["principal_"] = $autor['principal_'];
				}
			}
		}
		$this->campoOculto( "acervo_autor", serialize( $this->acervo_autor ) );

		if( class_exists( "clsPmieducarAcervoAutor" ) )
		{
			$opcoes = array( "" => "Selecione" );
			$objTemp = new clsPmieducarAcervoAutor();
			$objTemp->setOrderby("nm_autor ASC");
			$lista = $objTemp->lista(null,null,null,null,null,null,null,null,null,1);
			if ( is_array( $lista ) && count( $lista ) )
			{
				foreach ( $lista as $registro )
				{
					$opcoes["{$registro['cod_acervo_autor']}"] = "{$registro['nm_autor']}";
				}
			}
		}
		else
		{
			echo "";
			$opcoes = array( "" => "Erro na geração" );
		}
		if ( is_array($this->acervo_autor) )
		{
			$qtd_autor = count($this->acervo_autor);
		}
		// não existe um autor principal nem autor
		if ( ($this->checked != 1) && ( !$qtd_autor || ($qtd_autor == 0) ) )
		{
//			die("1");
			$this->campoLista( "ref_cod_acervo_autor", "Autor", $opcoes, $this->ref_cod_acervo_autor,null,true,"","",false,true );

		 	$this->campoCheck( "principal", "  ", $this->principal,"__nome}.submit();\">" );
		}
		// não existe um autor principal, mas existe um autor
		else if ( ($this->checked != 1) && ($qtd_autor > 0) )
		{
			$this->campoLista( "ref_cod_acervo_autor", "Autor", $opcoes, $this->ref_cod_acervo_autor,null,true,null, null,null,false);
		 	$this->campoCheck( "principal", "  ", $this->principal,"__nome}.submit();\">" );
		}
		// existe um autor principal
		else
		{
//			die("3");
			$this->campoLista( "ref_cod_acervo_autor", "Autor", $opcoes, $this->ref_cod_acervo_autor,"",false,"","  __nome}.submit();\">",false,false);
		}

		$this->campoOculto( "incluir_autor", "" );

		$this->campoQuebra();
		//-----------------------FIM AUTOR------------------------//

		// text
		$this->campoTexto( "titulo", "Título", $this->titulo, 40, 255, true );
		$this->campoTexto( "sub_titulo", "Subtítulo", $this->sub_titulo, 40, 255, false );
		$this->campoTexto( "estante", "Estante", $this->estante, 20, 15, false );
 		$helperOptions = array('objectName' => 'assuntos');
  	$options       = array('label' => 'Assuntos', 'size' => 50, 'required' => false,
                           'options' => array('value' => null));

 		$this->inputsHelper()->multipleSearchAssuntos('', $options, $helperOptions);		
		$this->campoTexto( "cdd", "CDD", $this->cdd, 20, 15, false );
		$this->campoTexto( "cdu", "CDU", $this->cdu, 20, 15, false );
		$this->campoTexto( "cutter", "Cutter", $this->cutter, 20, 15, false );
		$this->campoNumero( "volume", "Volume", $this->volume, 20, 255, true );
		$this->campoNumero( "num_edicao", "Número Edicão", $this->num_edicao, 20, 255, true );
		$this->campoNumero( "ano", "Ano", $this->ano, 5, 4, true );
		$this->campoNumero( "num_paginas", "Número Páginas", $this->num_paginas, 5, 255, true );
		$this->campoNumero( "isbn", "ISBN", $this->isbn, 20, 13, false );
	}

	function Novo()
	{
		@session_start();
		 $this->pessoa_logada = $_SESSION['id_pessoa'];
		@session_write_close();
		$obj_permissoes = new clsPermissoes();
		$obj_permissoes->permissao_cadastra( 598, $this->pessoa_logada, 11,  "educar_acervo_lst.php" );

		$this->acervo_autor = unserialize( urldecode( $this->acervo_autor ) );
		if ($this->acervo_autor)
		{
			$obj = new clsPmieducarAcervo( null, $this->ref_cod_exemplar_tipo, $this->ref_cod_acervo, null, $this->pessoa_logada, $this->ref_cod_acervo_colecao, $this->ref_cod_acervo_idioma, $this->ref_cod_acervo_editora, $this->titulo, $this->sub_titulo, $this->cdu, $this->cutter, $this->volume, $this->num_edicao, $this->ano, $this->num_paginas, $this->isbn, null, null, 1, $this->ref_cod_biblioteca, $this->cdd, $this->estante );
			$cadastrou = $obj->cadastra();
			if( $cadastrou )
			{
				$this->gravaAssuntos($cadastrou);
			//-----------------------CADASTRA AUTOR------------------------//
				foreach ( $this->acervo_autor AS $autor )
				{
          $autorPrincipal = $_POST["principal_{$autor['ref_cod_acervo_autor_']}"];
          $autor["principal_"] = is_null($autorPrincipal) ? 0 : 1;

					$obj = new clsPmieducarAcervoAcervoAutor( $autor["ref_cod_acervo_autor_"], $cadastrou, $autor["principal_"] );
					$cadastrou2  = $obj->cadastra();
					if ( !$cadastrou2 )
					{
						$this->mensagem = "Cadastro não realizado.
"; echo ""; return false; } } $this->mensagem .= "Cadastro efetuado com sucesso.
"; header( "Location: educar_acervo_lst.php" ); die(); return true; //-----------------------FIM CADASTRA AUTOR------------------------// } $this->mensagem = "Cadastro não realizado.
"; echo ""; return false; } echo ""; $this->mensagem = "Cadastro não realizado.
"; return false; } function Editar() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra( 598, $this->pessoa_logada, 11, "educar_acervo_lst.php" ); $this->acervo_autor = unserialize( urldecode( $this->acervo_autor ) ); if ($this->acervo_autor) { $obj = new clsPmieducarAcervo($this->cod_acervo, $this->ref_cod_exemplar_tipo, $this->ref_cod_acervo, $this->pessoa_logada, null, $this->ref_cod_acervo_colecao, $this->ref_cod_acervo_idioma, $this->ref_cod_acervo_editora, $this->titulo, $this->sub_titulo, $this->cdu, $this->cutter, $this->volume, $this->num_edicao, $this->ano, $this->num_paginas, $this->isbn, null, null, 1, $this->ref_cod_biblioteca, $this->cdd, $this->estante); $editou = $obj->edita(); if( $editou ) { $this->gravaAssuntos($this->cod_acervo); //-----------------------EDITA AUTOR------------------------// $obj = new clsPmieducarAcervoAcervoAutor( null, $this->cod_acervo ); $excluiu = $obj->excluirTodos(); if ( $excluiu ) { foreach ( $this->acervo_autor AS $autor ) { $autorPrincipal = $_POST["principal_{$autor['ref_cod_acervo_autor_']}"]; $autor["principal_"] = is_null($autorPrincipal) ? 0 : 1; $obj = new clsPmieducarAcervoAcervoAutor( $autor["ref_cod_acervo_autor_"], $this->cod_acervo, $autor["principal_"] ); $cadastrou2 = $obj->cadastra(); if ( !$cadastrou2 ) { $this->mensagem = "Editar não realizado.
"; echo ""; return false; } } $this->mensagem .= "Edição efetuada com sucesso.
"; header( "Location: educar_acervo_lst.php" ); die(); return true; } //-----------------------FIM EDITA AUTOR------------------------// } $this->mensagem = "Edição não realizada.
"; echo ""; return false; } echo ""; $this->mensagem = "Edição não realizada.
"; return false; } function Excluir() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_excluir( 598, $this->pessoa_logada, 11, "educar_acervo_lst.php" ); $obj = new clsPmieducarAcervo($this->cod_acervo, null, null, $this->pessoa_logada, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 0, $this->ref_cod_biblioteca); $excluiu = $obj->excluir(); if( $excluiu ) { $this->mensagem .= "Exclusão efetuada com sucesso.
"; header( "Location: educar_acervo_lst.php" ); die(); return true; } $this->mensagem = "Exclusão não realizada.
"; echo ""; return false; } function gravaAssuntos($cod_acervo){ $objAssunto = new clsPmieducarAcervoAssunto(); $objAssunto->deletaAssuntosDaObra($cod_acervo); foreach ($this->getRequest()->assuntos as $assuntoId) { if (! empty($assuntoId)) { $objAssunto = new clsPmieducarAcervoAssunto(); $objAssunto->cadastraAssuntoParaObra($cod_acervo, $assuntoId); } } } } // cria uma extensao da classe base $pagina = new clsIndexBase(); // cria o conteudo $miolo = new indice(); // adiciona o conteudo na clsBase $pagina->addForm( $miolo ); // gera o html $pagina->MakeAll(); ?>