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();
?>