function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Servidor Formacao - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->cod_formacao = $_GET['cod_formacao'];
     $tmp_obj = new clsPmieducarServidorFormacao($this->cod_formacao);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header('Location: educar_servidor_formacao_lst.php');
         die;
     }
     if (class_exists('clsPmieducarServidor')) {
         $obj_ref_cod_servidor = new clsPmieducarServidor($registro['ref_cod_servidor'], null, null, null, null, null, 1, $registro['ref_ref_cod_instituicao']);
         $det_ref_cod_servidor = $obj_ref_cod_servidor->detalhe();
         $registro['ref_cod_servidor'] = $det_ref_cod_servidor['cod_servidor'];
     } else {
         $registro['ref_cod_servidor'] = 'Erro na geracao';
     }
     if ($registro['nm_formacao']) {
         $this->addDetalhe(array('Nome Formação', $registro['nm_formacao']));
     }
     if ($registro['tipo'] == 'C') {
         $obj_curso = new clsPmieducarServidorCurso(null, $this->cod_formacao);
         $det_curso = $obj_curso->detalhe();
     } elseif ($registro['tipo'] == 'T' || $registro['tipo'] == 'O') {
         $obj_titulo = new clsPmieducarServidorTituloConcurso(NULL, $this->cod_formacao);
         $det_titulo = $obj_titulo->detalhe();
     }
     if ($registro['tipo']) {
         if ($registro['tipo'] == 'C') {
             $registro['tipo'] = 'Curso';
         } elseif ($registro['tipo'] == 'T') {
             $registro['tipo'] = 'Título';
         } else {
             $registro['tipo'] = 'Concurso';
         }
         $this->addDetalhe(array('Tipo', $registro['tipo']));
     }
     if ($registro['descricao']) {
         $this->addDetalhe(array('Descricção', $registro['descricao']));
     }
     if ($det_curso['data_conclusao']) {
         $this->addDetalhe(array('Data de Conclusão', dataFromPgToBr($det_curso['data_conclusao'])));
     }
     if ($det_curso['data_registro']) {
         $this->addDetalhe(array('Data de Registro', dataFromPgToBr($det_curso['data_registro'])));
     }
     if ($det_curso['diplomas_registros']) {
         $this->addDetalhe(array('Diplomas e Registros', $det_curso['diplomas_registros']));
     }
     if ($det_titulo['data_vigencia_homolog'] && $registro['tipo'] == 'Título') {
         $this->addDetalhe(array('Data de Vigência', dataFromPgToBr($det_titulo['data_vigencia_homolog'])));
     } elseif ($det_titulo['data_vigencia_homolog'] && $registro['tipo'] == 'Concurso') {
         $this->addDetalhe(array('Data de Homologação', dataFromPgToBr($det_titulo['data_vigencia_homolog'])));
     }
     if ($det_titulo['data_publicacao']) {
         $this->addDetalhe(array('Data de Publicação', dataFromPgToBr($det_titulo['data_publicacao'])));
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7)) {
         $this->url_novo = 'educar_servidor_formacao_cad.php';
         $this->url_editar = sprintf('educar_servidor_formacao_cad.php?cod_formacao=%d&ref_cod_instituicao=%d&ref_cod_servidor=%d', $registro['cod_formacao'], $registro['ref_ref_cod_instituicao'], $registro['ref_cod_servidor']);
     }
     $this->url_cancelar = sprintf('educar_servidor_formacao_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $registro['ref_cod_servidor'], $registro['ref_ref_cod_instituicao']);
     $this->largura = '100%';
 }
 function Inicializar()
 {
     $retorno = 'Novo';
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, 'educar_servidor_lst.php');
     if (is_numeric($this->cod_servidor) && is_numeric($this->ref_cod_instituicao)) {
         $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
         $registro = $obj->detalhe();
         if ($registro) {
             $this->ref_cod_subnivel = $registro['ref_cod_subnivel'];
             $obj_subnivel = new clsPmieducarSubnivel($this->ref_cod_subnivel);
             $det_subnivel = $obj_subnivel->detalhe();
             if ($det_subnivel) {
                 $this->ref_cod_nivel = $det_subnivel['ref_cod_nivel'];
             }
             if ($this->ref_cod_nivel) {
                 $obj_nivel = new clsPmieducarNivel($this->ref_cod_nivel);
                 $det_nivel = $obj_nivel->detalhe();
                 $this->ref_cod_categoria = $det_nivel['ref_cod_categoria_nivel'];
             }
             $retorno = 'Editar';
         }
     } else {
         echo sprintf('<script>window.parent.fechaExpansivel("%s");</script>', $_GET['div']);
         die;
     }
     return $retorno;
 }
 /**
  * Implementação do método clsCadastro::Gerar()
  * @see ieducar/intranet/include/clsCadastro#Gerar()
  */
 public function Gerar()
 {
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     $this->campoOculto('sequencial', $this->sequencial);
     $this->campoOculto('ref_cod_instituicao', $this->ref_cod_instituicao);
     $opcoes = array('' => 'Selecione');
     $objTemp = new clsPmieducarMotivoAfastamento();
     $lista = $objTemp->lista();
     if (is_array($lista) && count($lista) > 0) {
         foreach ($lista as $registro) {
             $opcoes[$registro['cod_motivo_afastamento']] = $registro['nm_motivo'];
         }
     } else {
         $opcoes = array('' => 'Nenhum motivo de afastamento cadastrado');
     }
     if ($this->status == 'N') {
         $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento', $opcoes, $this->ref_cod_motivo_afastamento);
     } elseif ($this->status == 'E') {
         $this->campoLista('ref_cod_motivo_afastamento', 'Motivo Afastamento', $opcoes, $this->ref_cod_motivo_afastamento, '', FALSE, '', '', TRUE);
     }
     // Datas para registro
     // Se novo registro
     if ($this->status == 'N') {
         $this->campoData('data_saida', 'Data de Afastamento', $this->data_saida, TRUE);
     } elseif ($this->status == 'E') {
         $this->campoRotulo('data_saida', 'Data de Afastamento', $this->data_saida);
     }
     // Se edição, mostra campo para entrar com data de retorno
     if ($this->status == 'E') {
         $this->campoData('data_retorno', 'Data de Retorno', $this->data_retorno, FALSE);
     }
     $obj_servidor = new clsPmieducarServidor($this->ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $det_servidor = $obj_servidor->detalhe();
     if ($det_servidor) {
         $obj_funcao = new clsPmieducarFuncao($det_servidor['ref_cod_funcao'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         // Se for professor
         if (TRUE == $obj_servidor->isProfessor()) {
             $obj = new clsPmieducarQuadroHorarioHorarios();
             // Pega a lista de aulas alocadas para este servidor
             $lista = $obj->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao, NULL, $this->ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
             if ($lista) {
                 // Passa todos os valores obtidos no registro para atributos do objeto
                 foreach ($lista as $campo => $val) {
                     $temp = array();
                     $temp['hora_inicial'] = $val['hora_inicial'];
                     $temp['hora_final'] = $val['hora_final'];
                     $temp['dia_semana'] = $val['dia_semana'];
                     $temp['ref_cod_escola'] = $val['ref_cod_escola'];
                     $temp['ref_cod_disciplina'] = $val['ref_cod_disciplina'];
                     $temp['ref_cod_substituto'] = $val['ref_servidor_substituto'];
                     $this->alocacao_array[] = $temp;
                 }
                 if ($this->alocacao_array) {
                     $tamanho = sizeof($alocacao);
                     $script = "<script>\nvar num_alocacao = {$tamanho};\n";
                     $script .= "var array_servidores = Array();\n";
                     foreach ($this->alocacao_array as $key => $alocacao) {
                         $script .= "array_servidores[{$key}] = new Array();\n";
                         $hora_ini = explode(":", $alocacao['hora_inicial']);
                         $hora_fim = explode(":", $alocacao['hora_final']);
                         $horas_utilizadas = $hora_fim[0] - $hora_ini[0];
                         $minutos_utilizados = $hora_fim[1] - $hora_ini[1];
                         $horas = sprintf('%02d', (int) $horas_utilizadas);
                         $minutos = sprintf('%02d', (int) $minutos_utilizados);
                         $str_horas_utilizadas = "{$horas}:{$minutos}";
                         $script .= "array_servidores[{$key}][0] = '{$str_horas_utilizadas}';\n";
                         $script .= "array_servidores[{$key}][1] = '';\n\n";
                         $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
                         $det_escola = $obj_escola->detalhe();
                         $det_escola = $det_escola['nome'];
                         $nm_dia_semana = $this->dias_da_semana[$alocacao['dia_semana']];
                         $obj_subst = new clsPessoa_($alocacao['ref_cod_substituto']);
                         $det_subst = $obj_subst->detalhe();
                         if ($this->status == 'N') {
                             $this->campoTextoInv("dia_semana_{$key}_", '', $nm_dia_semana, 8, 8, FALSE, FALSE, TRUE, '', '', '', '', 'dia_semana');
                             $this->campoTextoInv("hora_inicial_{$key}_", '', $alocacao['hora_inicial'], 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_inicial_');
                             $this->campoTextoInv("hora_final_{$key}_", '', $alocacao['hora_final'], 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_hora_final_');
                             $this->campoTextoInv("ref_cod_escola_{$key}", '', $det_escola, 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_escola_');
                             $this->campoTextoInv("ref_cod_servidor_substituto_{$key}_", '', $det_subst['nome'], 30, 255, FALSE, FALSE, FALSE, '', "<span name=\"ref_cod_servidor_substituto\" id=\"ref_cod_servidor_substituicao_{$key}\"><img border='0'  onclick=\"pesquisa_valores_popless('educar_pesquisa_servidor_lst.php?campo1=ref_cod_servidor_substituto[{$key}]&campo2=ref_cod_servidor_substituto_{$key}_&ref_cod_instituicao={$this->ref_cod_instituicao}&dia_semana={$alocacao["dia_semana"]}&hora_inicial={$alocacao["hora_inicial"]}&hora_final={$alocacao["hora_final"]}&ref_cod_servidor={$this->ref_cod_servidor}&professor=1&ref_cod_escola={$alocacao['ref_cod_escola']}&horario=S&ref_cod_disciplina={$alocacao['ref_cod_disciplina']}', 'nome')\" src=\"imagens/lupa.png\" ></span>", '', '', 'ref_cod_servidor_substituto');
                         }
                         $this->campoOculto("dia_semana_{$key}", $alocacao['dia_semana']);
                         $this->campoOculto("hora_inicial_{$key}", $alocacao['hora_inicial']);
                         $this->campoOculto("hora_final_{$key}", $alocacao['hora_final']);
                         $this->campoOculto("ref_cod_escola_{$key}", $alocacao['ref_cod_escola']);
                         $this->campoOculto("ref_cod_servidor_substituto[{$key}]", $alocacao['ref_cod_substituto']);
                     }
                     $script .= "\n</script>";
                     // Print do Javascript
                     print $script;
                 }
             }
         }
     }
 }
 function Gerar()
 {
     if ($_POST) {
         foreach ($_POST as $campo => $val) {
             if (is_string($val)) {
                 $val = urldecode($val);
             }
             $this->{$campo} = $this->{$campo} ? $this->{$campo} : $val;
         }
     }
     $obj_inst = new clsPmieducarInstituicao($this->ref_ref_cod_instituicao);
     $inst_det = $obj_inst->detalhe();
     $this->campoRotulo('nm_instituicao', 'Instituição', $inst_det['nm_instituicao']);
     $this->campoOculto('ref_ref_cod_instituicao', $this->ref_ref_cod_instituicao);
     // Dados do servidor
     $objTemp = new clsPmieducarServidor($this->ref_cod_servidor);
     $det = $objTemp->detalhe();
     if ($det) {
         foreach ($det as $key => $registro) {
             $this->{$key} = $registro;
         }
     }
     if ($this->ref_cod_servidor) {
         $objTemp = new clsFuncionario($this->ref_cod_servidor);
         $detalhe = $objTemp->detalhe();
         $detalhe = $detalhe['idpes']->detalhe();
         $nm_servidor = $detalhe['nome'];
     }
     $this->campoRotulo('nm_servidor', 'Servidor', $nm_servidor);
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     if ($_POST['alocacao_array']) {
         $this->alocacao_array = unserialize(urldecode($_POST['alocacao_array']));
     }
     if ($_POST['alocacao_excluida_array']) {
         $this->alocacao_excluida_array = unserialize(urldecode($_POST['alocacao_excluida_array']));
     }
     if ($_POST['carga_horaria_alocada'] && $_POST['periodo']) {
         $aux = array();
         $aux['carga_horaria_alocada'] = $_POST['carga_horaria_alocada'];
         $aux['periodo'] = $_POST['periodo'];
         $aux['ref_cod_escola'] = $_POST['ref_cod_escola'];
         $aux['novo'] = 1;
         $this->alocacao_array[] = $aux;
         unset($this->periodo);
         unset($this->carga_horaria_alocada);
         unset($this->ref_cod_escola);
     }
     // Exclusão
     if ($this->alocacao_array) {
         foreach ($this->alocacao_array as $key => $alocacao) {
             if (is_numeric($_POST['excluir_periodo'])) {
                 if ($_POST['excluir_periodo'] == $key) {
                     $this->alocacao_excluida_array[] = $alocacao;
                     unset($this->alocacao_array[$key]);
                     unset($this->excluir_periodo);
                 }
             }
         }
     }
     // Carga horária
     $carga = $this->carga_horaria_disponivel;
     $this->campoRotulo('carga_horaria_disponivel', 'Carga Horária', $carga . ':00');
     foreach ($this->alocacao_array as $alocacao) {
         $carga_horaria_ = explode(':', $alocacao['carga_horaria_alocada']);
         $horas += (int) $carga_horaria_[0];
         $minutos += (int) $carga_horaria_[1];
     }
     $total = $horas * 60 + $minutos;
     $rest = $carga * 60 - $total;
     $total = sprintf('%02d:%02d', $total / 60, $total % 60);
     $rest = sprintf('%02d:%02d', $rest / 60, $rest % 60);
     $this->campoRotulo('horas_utilizadas', 'Horas Utilizadas', $total);
     $this->campoRotulo('horas_restantes', 'Horas Restantes', $rest);
     $this->campoOculto('horas_restantes_', $rest);
     $this->campoQuebra();
     $this->campoOculto('excluir_periodo', '');
     unset($aux);
     // Escolas
     $obj_escola = new clsPmieducarEscola();
     $permissao = new clsPermissoes();
     // Exibe apenas a escola ao qual o usuário de nível escola está alocado
     if (4 == $permissao->nivel_acesso($this->pessoa_logada)) {
         $lista_escola = $obj_escola->lista($permissao->getEscola($this->pessoa_logada), NULL, NULL, $this->ref_ref_cod_instituicao, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         $nome_escola = $lista_escola[0]['nome'];
         $cod_escola = $lista_escola[0]['cod_escola'];
         $this->campoTextoInv('ref_cod_escola_label', 'Escola', $nome_escola, 100, 255, FALSE);
         $this->campoOculto('ref_cod_escola', $cod_escola);
     } else {
         $lista_escola = $obj_escola->lista(NULL, NULL, NULL, $this->ref_ref_cod_instituicao, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         $opcoes = array('' => 'Selecione');
         if ($lista_escola) {
             foreach ($lista_escola as $escola) {
                 $opcoes[$escola['cod_escola']] = $escola['nome'];
             }
         }
         $this->campoLista('ref_cod_escola', 'Escola', $opcoes, $this->ref_cod_escola, '', FALSE, '', '', FALSE, FALSE);
     }
     $periodo = array(1 => 'Matutino', 2 => 'Vespertino', 3 => 'Noturno');
     self::$periodos = $periodo;
     $this->campoLista('periodo', 'Período', $periodo, $this->periodo, NULL, FALSE, '', '', FALSE, FALSE);
     $this->campoHora('carga_horaria_alocada', 'Carga Horária', $this->carga_horaria_alocada, FALSE);
     // Altera a string de descrição original do campo hora
     $this->campos['carga_horaria_alocada'][6] = sprintf('Formato hh:mm (máximo de %d horas por período)', clsPmieducarServidorAlocacao::$cargaHorariaMax);
     $this->campoOculto('alocacao_array', serialize($this->alocacao_array));
     $this->campoOculto('alocacao_excluida_array', serialize($this->alocacao_excluida_array));
     $this->campoRotulo('bt_incluir_periodo', 'Período', "<a href='#' onclick=\"if(validaHora()) { document.getElementById('incluir_periodo').value = 'S'; document.getElementById('tipoacao').value = ''; document.{$this->__nome}.submit();}\"><img src='imagens/nvp_bot_adiciona.gif' title='Incluir' border=0></a>");
     if ($this->alocacao_array) {
         $excluir_ok = FALSE;
         if ($_POST['excluir_periodo'] || $_POST['excluir_periodo'] == '0') {
             $excluir_ok = TRUE;
         }
         foreach ($this->alocacao_array as $key => $alocacao) {
             $obj_permissoes = new clsPermissoes();
             $link_excluir = '';
             $obj_escola = new clsPmieducarEscola($alocacao['ref_cod_escola']);
             $det_escola = $obj_escola->detalhe();
             $det_escola = $det_escola['nome'];
             if ($obj_permissoes->permissao_excluir(635, $this->pessoa_logada, 7)) {
                 $show = TRUE;
                 if (4 == $permissao->nivel_acesso($this->pessoa_logada) && $alocacao['ref_cod_escola'] != $permissao->getEscola($this->pessoa_logada)) {
                     $show = FALSE;
                 }
                 $link_excluir = $show ? "<a href='#' onclick=\"getElementById('excluir_periodo').value = '{$key}'; getElementById('tipoacao').value = ''; {$this->__nome}.submit();\"><img src='imagens/nvp_bola_xis.gif' title='Excluir' border=0></a>" : "";
             }
             // @todo CoreExt_Enum
             switch ($alocacao['periodo']) {
                 case 1:
                     $nm_periodo = 'Matutino';
                     break;
                 case 2:
                     $nm_periodo = 'Vespertino';
                     break;
                 case 3:
                     $nm_periodo = 'Noturno';
                     break;
             }
             // Períodos usados na escola
             self::$escolasPeriodos[$alocacao['ref_cod_escola']][$alocacao['periodo']] = $alocacao['periodo'];
             $this->campoTextoInv('periodo_' . $key, '', $nm_periodo, 10, 10, FALSE, FALSE, TRUE, '', '', '', '', 'periodo');
             $this->campoTextoInv('carga_horaria_alocada_' . $key, '', substr($alocacao['carga_horaria_alocada'], 0, 5), 5, 5, FALSE, FALSE, TRUE, '', '', '', '', 'ds_carga_horaria_');
             $this->campoTextoInv('ref_cod_escola_' . $key, '', $det_escola, 70, 255, FALSE, FALSE, FALSE, '', $link_excluir, '', '', 'ref_cod_escola_');
         }
     }
     $this->campoOculto('incluir_periodo', '');
     $this->campoQuebra();
 }
 function Gerar()
 {
     $obj_inst = new clsPmieducarInstituicao($this->ref_ref_cod_instituicao);
     $inst_det = $obj_inst->detalhe();
     $this->campoRotulo('nm_instituicao', 'Instituição', $inst_det['nm_instituicao']);
     $this->campoOculto('ref_ref_cod_instituicao', $this->ref_ref_cod_instituicao);
     $opcoes = array('' => 'Selecione');
     if (class_exists('clsPmieducarServidor')) {
         $objTemp = new clsPmieducarServidor($this->ref_cod_servidor);
         $det = $objTemp->detalhe();
         if ($det) {
             foreach ($det as $key => $registro) {
                 $this->{$key} = $registro;
             }
         }
         if ($this->ref_cod_servidor) {
             $objTemp = new clsFuncionario($this->ref_cod_servidor);
             $detalhe = $objTemp->detalhe();
             $detalhe = $detalhe['idpes']->detalhe();
             $nm_servidor = $detalhe['nome'];
         }
     }
     $this->campoRotulo('nm_servidor', 'Servidor', $nm_servidor);
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     $this->campoOculto('professor', $this->professor);
     $url = sprintf('educar_pesquisa_servidor_lst.php?campo1=ref_cod_servidor_todos&campo2=ref_cod_servidor_todos_&ref_cod_instituicao=%d&ref_cod_servidor=%d&tipo=livre&professor=%d', $this->ref_ref_cod_instituicao, $this->ref_cod_servidor, $this->professor);
     $img = sprintf('<img border="0" onclick="pesquisa_valores_popless(\'%s\', \'nome\')" src="imagens/lupa.png">', $url);
     $this->campoTextoInv('ref_cod_servidor_todos_', 'Substituir por:', '', 30, 255, TRUE, FALSE, FALSE, '', $img, '', '', '');
     $this->campoOculto('ref_cod_servidor_todos', '');
     $this->campoOculto('alocacao_array', serialize($this->alocacao_array));
     $this->acao_enviar = 'acao2()';
 }
 function Novo()
 {
     $timesep = explode(':', $this->carga_horaria);
     $hour = $timesep[0] + (int) ($timesep[1] / 60);
     $min = abs((int) ($timesep[1] / 60) - $timesep[1] / 60) . '<br>';
     $this->carga_horaria = $hour + $min;
     $this->carga_horaria = $hour + $min;
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, 'educar_servidor_lst.php');
     $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
     if ($obj->detalhe()) {
         $this->carga_horaria = str_replace(',', '.', $this->carga_horaria);
         $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao);
         $editou = $obj->edita();
         if ($editou) {
             $this->cadastraFuncoes();
             include 'educar_limpa_sessao_curso_disciplina_servidor.php';
             $this->mensagem .= 'Cadastro efetuado com sucesso.<br>';
             header('Location: educar_servidor_lst.php');
             die;
         }
     } else {
         $this->carga_horaria = str_replace(',', '.', $this->carga_horaria);
         $obj_2 = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao);
         $cadastrou = $obj_2->cadastra();
         if ($cadastrou) {
             $this->cadastraFuncoes();
             include 'educar_limpa_sessao_curso_disciplina_servidor.php';
             $this->mensagem .= 'Cadastro efetuado com sucesso.<br>';
             header("Location: educar_servidor_det.php?cod_servidor={$this->cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}");
             die;
         }
     }
     $this->mensagem = 'Cadastro não realizado.<br>';
     return FALSE;
 }
 function Inicializar()
 {
     $retorno = 'Novo';
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, 'educar_servidor_lst.php');
     if (is_numeric($this->cod_servidor) && is_numeric($this->ref_cod_instituicao)) {
         $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
         $registro = $obj->detalhe();
         if ($registro) {
             $retorno = 'Editar';
         }
     }
     @session_start();
     $this->cursos_disciplina = $_SESSION['cursos_disciplina'];
     @session_write_close();
     if (!$this->cursos_disciplina) {
         $obj_servidor_disciplina = new clsPmieducarServidorDisciplina();
         $lst_servidor_disciplina = $obj_servidor_disciplina->lista(NULL, $this->ref_cod_instituicao, $this->cod_servidor);
         if ($lst_servidor_disciplina) {
             foreach ($lst_servidor_disciplina as $disciplina) {
                 $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper();
                 $componente = $componenteMapper->find($disciplina['ref_cod_disciplina']);
                 $this->cursos_disciplina[$disciplina['ref_cod_curso']][$disciplina['ref_cod_disciplina']] = $disciplina['ref_cod_disciplina'];
             }
         }
     }
     if ($this->cursos_disciplina) {
         foreach ($this->cursos_disciplina as $curso => $disciplinas) {
             if ($disciplinas) {
                 foreach ($disciplinas as $disciplina) {
                     $this->ref_cod_curso[] = $curso;
                     $this->ref_cod_disciplina[] = $disciplina;
                 }
             }
         }
     }
     return $retorno;
 }
 function Editar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, sprintf('educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao));
     if ($this->tipo == 1) {
         $obj = new clsPmieducarFaltaAtraso(NULL, $this->ref_cod_escola, $this->ref_cod_instituicao, $this->pessoa_logada, NULL, $this->ref_cod_servidor, $this->tipo, $this->data_falta_atraso, $this->qtd_horas, $this->qtd_min, $this->justificada, NULL, NULL, 1);
     } elseif ($this->tipo == 2) {
         $obj_ser = new clsPmieducarServidor($this->ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
         $det_ser = $obj_ser->detalhe();
         $horas = floor($det_ser['carga_horaria']);
         $minutos = ($det_ser['carga_horaria'] - $horas) * 60;
         $obj = new clsPmieducarFaltaAtraso(NULL, $this->ref_cod_escola, $this->ref_cod_instituicao, $this->pessoa_logada, NULL, $this->ref_cod_servidor, $this->tipo, $this->data_falta_atraso, $horas, $minutos, $this->justificada, NULL, NULL, 1);
     }
     $editou = $obj->edita();
     if ($editou) {
         $this->mensagem .= 'Edição efetuada com sucesso.<br />';
         header('Location: ' . sprintf('educar_falta_atraso_lst.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao));
         die;
     }
     $this->mensagem = 'Edição não realizada.<br />';
     echo "<!--\nErro ao editar clsPmieducarFaltaAtraso\nvalores obrigatórios\nif(is_numeric({$this->cod_falta_atraso}) && is_numeric({$this->ref_usuario_exc}))\n-->";
     return FALSE;
 }
 function Inicializar()
 {
     $retorno = 'Novo';
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $obj_permissoes = new clsPermissoes();
     $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, 'educar_servidor_lst.php');
     if (is_numeric($this->cod_servidor) && is_numeric($this->ref_cod_instituicao)) {
         $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
         $registro = $obj->detalhe();
         if ($registro) {
             $retorno = 'Editar';
         }
     }
     @session_start();
     $this->cursos_servidor = $_SESSION['cursos_servidor'];
     @session_write_close();
     if (!$this->cursos_servidor) {
         $obj_servidor_curso = new clsPmieducarServidorCursoMinistra();
         $lst_servidor_curso = $obj_servidor_curso->lista(NULL, $this->ref_cod_instituicao, $this->cod_servidor);
         if ($lst_servidor_curso) {
             foreach ($lst_servidor_curso as $curso) {
                 $this->cursos_servidor[$curso['ref_cod_curso']] = $curso['ref_cod_curso'];
             }
         }
     }
     return $retorno;
 }
 /**
  * Implementação do método Gerar()
  */
 function Gerar()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = 'Servidor - Detalhe';
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->cod_servidor = $_GET['cod_servidor'];
     $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $tmp_obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
     $registro = $tmp_obj->detalhe();
     if (!$registro) {
         header('Location: educar_servidor_lst.php');
         die;
     }
     // Deficiência
     $obj_ref_cod_deficiencia = new clsCadastroDeficiencia($registro['ref_cod_deficiencia']);
     $det_ref_cod_deficiencia = $obj_ref_cod_deficiencia->detalhe();
     $registro['ref_cod_deficiencia'] = $det_ref_cod_deficiencia['nm_deficiencia'];
     // Escolaridade
     $obj_ref_idesco = new clsCadastroEscolaridade($registro['ref_idesco']);
     $det_ref_idesco = $obj_ref_idesco->detalhe();
     $registro['ref_idesco'] = $det_ref_idesco['descricao'];
     // Função
     $obj_ref_cod_funcao = new clsPmieducarFuncao($registro['ref_cod_funcao'], NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao);
     $det_ref_cod_funcao = $obj_ref_cod_funcao->detalhe();
     $registro['ref_cod_funcao'] = $det_ref_cod_funcao['nm_funcao'];
     // Nome
     $obj_cod_servidor = new clsFuncionario($registro['cod_servidor']);
     $det_cod_servidor = $obj_cod_servidor->detalhe();
     $registro['matricula'] = $det_cod_servidor['matricula'];
     $det_cod_servidor = $det_cod_servidor['idpes']->detalhe();
     $registro['nome'] = $det_cod_servidor['nome'];
     // Instituição
     $obj_ref_cod_instituicao = new clsPmieducarInstituicao($registro['ref_cod_instituicao']);
     $det_ref_cod_instituicao = $obj_ref_cod_instituicao->detalhe();
     $registro['ref_cod_instituicao'] = $det_ref_cod_instituicao['nm_instituicao'];
     // Alocação do servidor
     $obj = new clsPmieducarServidorAlocacao();
     $obj->setOrderby('periodo, carga_horaria');
     $lista = $obj->lista(NULL, $this->ref_cod_instituicao, NULL, NULL, NULL, $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if ($lista) {
         // Passa todos os valores do registro para atributos do objeto
         foreach ($lista as $campo => $val) {
             $temp = array();
             $temp['carga_horaria'] = $val['carga_horaria'];
             $temp['periodo'] = $val['periodo'];
             $obj_escola = new clsPmieducarEscola($val['ref_cod_escola']);
             $det_escola = $obj_escola->detalhe();
             $det_escola = $det_escola['nome'];
             $temp['ref_cod_escola'] = $det_escola;
             $this->alocacao_array[] = $temp;
         }
     }
     if ($registro['cod_servidor']) {
         $this->addDetalhe(array('Servidor', $registro['cod_servidor']));
     }
     if ($registro['matricula']) {
         $this->addDetalhe(array('Matrícula', $registro['matricula']));
     }
     if ($registro['nome']) {
         $this->addDetalhe(array('Nome', $registro['nome']));
     }
     if ($registro['ref_cod_instituicao']) {
         $this->addDetalhe(array("Instituição", $registro['ref_cod_instituicao']));
     }
     if ($registro['ref_cod_deficiencia']) {
         $this->addDetalhe(array('Deficiência', $registro['ref_cod_deficiencia']));
     }
     if ($registro['ref_idesco']) {
         $this->addDetalhe(array('Escolaridade', $registro['ref_idesco']));
     }
     if ($registro['ref_cod_subnivel']) {
         $obj_nivel = new clsPmieducarSubnivel($registro['ref_cod_subnivel']);
         $det_nivel = $obj_nivel->detalhe();
         $this->addDetalhe(array('Nível', $det_nivel['nm_subnivel']));
     }
     if ($registro['ref_cod_funcao']) {
         $this->addDetalhe(array('Função', $registro['ref_cod_funcao']));
     }
     $obj_funcao = new clsPmieducarServidorFuncao();
     $lst_funcao = $obj_funcao->lista($this->ref_cod_instituicao, $this->cod_servidor);
     // Inep.
     $docente = false;
     if ($lst_funcao) {
         $tabela .= "\n        <table cellspacing='0' cellpadding='0' border='0'>\n          <tr bgcolor='#A1B3BD' align='center'>\n            <td width='150'>Função</td>\n          </tr>";
         $class = 'formlttd';
         $tab_disc = NULL;
         $obj_disciplina_servidor = new clsPmieducarServidorDisciplina();
         $lst_disciplina_servidor = $obj_disciplina_servidor->lista(NULL, $this->ref_cod_instituicao, $this->cod_servidor);
         if ($lst_disciplina_servidor) {
             $tab_disc .= "<table cellspacing='0' cellpadding='0' width='200' border='0' style='border:1px dotted #000000'>";
             $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd";
             $tab_disc .= "\n          <tr>\n            <td bgcolor='#A1B3BD' align='center'>Componentes Curriculares</td>\n          </tr>";
             $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper();
             foreach ($lst_disciplina_servidor as $disciplina) {
                 $componente = $componenteMapper->find($disciplina['ref_cod_disciplina']);
                 $tab_disc .= "\n            <tr class='{$class2}' align='center'>\n              <td align='left'>{$componente->nome}</td>\n            </tr>";
                 $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd";
             }
             $tab_disc .= "</table>";
         }
         $obj_servidor_curso = new clsPmieducarServidorCursoMinistra();
         $lst_servidor_curso = $obj_servidor_curso->lista(NULL, $this->ref_cod_instituicao, $this->cod_servidor);
         if ($lst_servidor_curso) {
             $tab_curso .= "<table cellspacing='0' cellpadding='0' width='200' border='0' style='border:1px dotted #000000'>";
             $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd";
             $tab_curso .= "\n          <tr>\n            <td bgcolor='#A1B3BD' align='center'>Cursos Ministrados</td>\n          </tr>";
             foreach ($lst_servidor_curso as $curso) {
                 $obj_curso = new clsPmieducarCurso($curso['ref_cod_curso']);
                 $det_curso = $obj_curso->detalhe();
                 $tab_curso .= "\n            <tr class='{$class2}' align='center'>\n              <td align='left'>{$det_curso['nm_curso']}</td>\n            </tr>";
                 $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd";
             }
             $tab_curso .= "</table>";
         }
         foreach ($lst_funcao as $funcao) {
             $obj_funcao = new clsPmieducarFuncao($funcao['ref_cod_funcao']);
             $det_funcao = $obj_funcao->detalhe();
             $tabela .= "\n          <tr class='{$class}' align='left'>\n            <td><b>{$det_funcao['nm_funcao']}</b></td>\n          </tr>";
             $docente = (bool) $det_funcao['professor'];
             $class = $class == "formlttd" ? "formmdtd" : "formlttd";
         }
         if ($tab_curso) {
             $tabela .= "\n          <tr class='{$class}' align='center'>\n            <td style='padding:5px'>{$tab_curso}</td>\n          </tr>";
         }
         if ($tab_disc) {
             $tabela .= "\n          <tr class='{$class}' align='center'>\n            <td style='padding:5px'>{$tab_disc}</td>\n          </tr>";
         }
         $tabela .= "</table>";
         $this->addDetalhe(array('Função', "<a href='javascript:trocaDisplay(\"det_f\");' >Mostrar detalhe</a><div id='det_f' name='det_f' style='display:none;'>" . $tabela . "</div>"));
     }
     $tabela = NULL;
     /**
      * @todo  Criar função de transformação de hora decimal. Ver educar_servidor_cad.php em 276
      */
     if ($registro['carga_horaria']) {
         $cargaHoraria = $registro['carga_horaria'];
         $horas = (int) $cargaHoraria;
         $minutos = round(($cargaHoraria - $horas) * 60);
         $cargaHoraria = sprintf('%02d:%02d', $horas, $minutos);
         $this->addDetalhe(array('Carga Horária', $cargaHoraria));
     }
     $dias_da_semana = array('' => 'Selecione', 1 => 'Domingo', 2 => 'Segunda', 3 => 'Terça', 4 => 'Quarta', 5 => 'Quinta', 6 => 'Sexta', 7 => 'Sábado');
     if ($this->alocacao_array) {
         $tabela .= "\n        <table cellspacing='0' cellpadding='0' border='0'>\n          <tr bgcolor='#A1B3BD' align='center'>\n            <td width='150'>Carga Horária</td>\n            <td width='80'>Período</td>\n            <td width='150'>Escola</td>\n          </tr>";
         $class = "formlttd";
         foreach ($this->alocacao_array as $alocacao) {
             switch ($alocacao['periodo']) {
                 case 1:
                     $nm_periodo = "Matutino";
                     break;
                 case 2:
                     $nm_periodo = "Vespertino";
                     break;
                 case 3:
                     $nm_periodo = "Noturno";
                     break;
             }
             $tabela .= "\n          <tr class='{$class}' align='center'>\n            <td>{$alocacao['carga_horaria']}</td>\n            <td>{$nm_periodo}</td>\n            <td>{$alocacao['ref_cod_escola']}</td>\n          </tr>";
             $class = $class == 'formlttd' ? 'formmdtd' : 'formlttd';
         }
         $tabela .= "</table>";
         $this->addDetalhe(array('Horários de trabalho', "<a href='javascript:trocaDisplay(\"det_pree\");' >Mostrar detalhe</a><div id='det_pree' name='det_pree' style='display:none;'>" . $tabela . "</div>"));
     }
     // Horários do professor
     $horarios = $tmp_obj->getHorariosServidor($registro['cod_servidor'], $this->ref_cod_instituicao);
     if ($horarios) {
         $tabela = "\n        <table cellspacing='0' cellpadding='0' border='0'>\n          <tr bgcolor='#A1B3BD' align='center'>\n            <td width='150'>Escola</td>\n            <td width='100'>Curso</td>\n            <td width='70'>Série</td>\n            <td width='70'>Turma</td>\n            <td width='100'>Componente curricular</td>\n            <td width='70'>Dia da semana</td>\n            <td width='70'>Hora inicial</td>\n            <td width='70'>Hora final</td>\n          </tr>";
         foreach ($horarios as $horario) {
             $class = $class == 'formlttd' ? 'formmdtd' : 'formlttd';
             $tabela .= sprintf('
       <tr class="%s" align="center">
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
         <td>%s</td>
       </tr>', $class, $horario['nm_escola'], $horario['nm_curso'], $horario['nm_serie'], $horario['nm_turma'], $horario['nome'], $dias_da_semana[$horario['dia_semana']], $horario['hora_inicial'], $horario['hora_final']);
         }
         $tabela .= "</table>";
         $this->addDetalhe(array('Horários de aula', "<a href='javascript:trocaDisplay(\"horarios\");' >Mostrar detalhes</a>" . "<div id='horarios' name='det_pree' style='display:none;'>" . $tabela . "</div>"));
     }
     // Dados do docente no Educacenso/Inep.
     if ($docente) {
         $docenteMapper = new Educacenso_Model_DocenteDataMapper();
         $docenteInep = NULL;
         try {
             $docenteInep = $docenteMapper->find(array('docente' => $registro['cod_servidor']));
         } catch (Exception $e) {
         }
         if (isset($docenteInep)) {
             $this->addDetalhe(array('Código do docente no Educacenso/Inep', $docenteInep->docenteInep));
             if (isset($docenteInep->nomeInep)) {
                 $this->addDetalhe(array('Nome do docente no Educacenso/Inep', $docenteInep->nomeInep));
             }
         }
     }
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7)) {
         $this->url_novo = 'educar_servidor_cad.php';
         $this->url_editar = "educar_servidor_cad.php?cod_servidor={$registro["cod_servidor"]}&ref_cod_instituicao={$this->ref_cod_instituicao}";
         $get_padrao = "ref_cod_servidor={$registro["cod_servidor"]}&ref_cod_instituicao={$this->ref_cod_instituicao}";
         $this->array_botao = array();
         $this->array_botao_url_script = array();
         $this->array_botao[] = 'Avaliação de Desempenho';
         $this->array_botao_url_script[] = "go(\"educar_avaliacao_desempenho_lst.php?{$get_padrao}\");";
         $this->array_botao[] = 'Formação';
         $this->array_botao_url_script[] = "go(\"educar_servidor_formacao_lst.php?{$get_padrao}\");";
         $this->array_botao[] = 'Cursos superiores/Licenciaturas';
         $this->array_botao_url_script[] = sprintf("go(\"../module/Docente/index?servidor=%d&instituicao=%d\");", $registro['cod_servidor'], $this->ref_cod_instituicao);
         $this->array_botao[] = 'Faltas/Atrasos';
         $this->array_botao_url_script[] = "go(\"educar_falta_atraso_lst.php?{$get_padrao}\");";
         $this->array_botao[] = 'Alocar Servidor';
         $this->array_botao_url_script[] = "go(\"educar_servidor_alocacao_cad.php?{$get_padrao}\");";
         $this->array_botao[] = 'Alterar Nível';
         $this->array_botao_url_script[] = "popless();";
         $obj_servidor_alocacao = new clsPmieducarServidorAlocacao();
         $lista_alocacao = $obj_servidor_alocacao->lista(NULL, $this->ref_cod_instituicao, NULL, NULL, NULL, $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
         if ($lista) {
             $this->array_botao[] = 'Substituir Horário Servidor';
             $this->array_botao_url_script[] = "go(\"educar_servidor_substituicao_cad.php?{$get_padrao}\");";
         }
         $obj_afastamento = new clsPmieducarServidorAfastamento();
         $afastamento = $obj_afastamento->afastado($this->cod_servidor, $this->ref_cod_instituicao);
         if (is_numeric($afastamento) && $afastamento == 0) {
             $this->array_botao[] = 'Afastar Servidor';
             $this->array_botao_url_script[] = "go(\"educar_servidor_afastamento_cad.php?{$get_padrao}\");";
         } elseif (is_numeric($afastamento)) {
             $this->array_botao[] = 'Retornar Servidor';
             $this->array_botao_url_script[] = "go(\"educar_servidor_afastamento_cad.php?{$get_padrao}&sequencial={$afastamento}\");";
         }
     }
     $this->url_cancelar = 'educar_servidor_lst.php';
     $this->largura = '100%';
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Detalhe do servidor"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->ref_cod_servidor = $_GET['ref_cod_servidor'];
     $this->ref_cod_instituicao = $_GET['ref_cod_instituicao'];
     $this->titulo = 'Servidor Formacao - Listagem';
     // passa todos os valores obtidos no GET para atributos do objeto
     foreach ($_GET as $var => $val) {
         $this->{$var} = $val === '' ? NULL : $val;
     }
     $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet');
     $this->addCabecalhos(array('Nome Formação', 'Tipo'));
     $this->campoOculto('ref_cod_servidor', $this->ref_cod_servidor);
     $this->campoOculto('ref_cod_instituicao', $this->ref_cod_instituicao);
     // Filtros
     $this->campoTexto('nm_formacao', 'Nome da Formação', $this->nm_formacao, 30, 255, FALSE);
     $opcoes = array('' => 'Selecione', 'C' => 'Cursos', 'T' => 'Títulos', 'O' => 'Concursos');
     $this->campoLista('tipo', 'Tipo de Formação', $opcoes, $this->tipo);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET['pagina_' . $this->nome] ? $_GET['pagina_' . $this->nome] * $this->limite - $this->limite : 0;
     $obj_servidor_formacao = new clsPmieducarServidorFormacao();
     $obj_servidor_formacao->setOrderby('nm_formacao ASC');
     $obj_servidor_formacao->setLimite($this->limite, $this->offset);
     if (!isset($this->tipo)) {
         $this->tipo = NULL;
     }
     $lista = $obj_servidor_formacao->lista(NULL, NULL, NULL, $this->ref_cod_servidor, $this->nm_formacao, $this->tipo, NULL, NULL, NULL, 1);
     $total = $obj_servidor_formacao->_total;
     // UrlHelper
     $url = CoreExt_View_Helper_UrlHelper::getInstance();
     $path = 'educar_servidor_formacao_det.php';
     // Monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // Pega detalhes de foreign_keys
             if (class_exists('clsPmieducarUsuario')) {
                 $obj_ref_usuario_exc = new clsPmieducarUsuario($registro['ref_usuario_exc']);
                 $det_ref_usuario_exc = $obj_ref_usuario_exc->detalhe();
                 $registro['ref_usuario_exc'] = $det_ref_usuario_exc['data_cadastro'];
             } else {
                 $registro['ref_usuario_exc'] = 'Erro na geracao';
             }
             if (class_exists('clsPmieducarServidor')) {
                 $obj_ref_cod_servidor = new clsPmieducarServidor($registro['ref_cod_servidor']);
                 $det_ref_cod_servidor = $obj_ref_cod_servidor->detalhe();
                 $registro['ref_cod_servidor'] = $det_ref_cod_servidor['cod_servidor'];
             } else {
                 $registro['ref_cod_servidor'] = 'Erro na geracao';
             }
             if ($registro['tipo'] == 'C') {
                 $registro['tipo'] = 'Curso';
             } elseif ($registro['tipo'] == 'T') {
                 $registro['tipo'] = 'Título';
             } else {
                 $registro['tipo'] = 'Concurso';
             }
             $options = array('query' => array('cod_formacao' => $registro['cod_formacao']));
             $this->addLinhas(array($url->l($registro['nm_formacao'], $path, $options), $url->l($registro['tipo'], $path, $options)));
             $this->tipo = '';
         }
     }
     $this->addPaginador2('educar_servidor_formacao_lst.php', $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7)) {
         $this->array_botao[] = 'Novo';
         $this->array_botao_url[] = sprintf('educar_servidor_formacao_cad.php?ref_cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao);
     }
     $this->array_botao[] = 'Voltar';
     $this->array_botao_url[] = sprintf('educar_servidor_det.php?cod_servidor=%d&ref_cod_instituicao=%d', $this->ref_cod_servidor, $this->ref_cod_instituicao);
     $this->largura = '100%';
 }