function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Calendário Dia Motivo - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $lista_busca = array("Motivo", "Tipo");
     $obj_permissao = new clsPermissoes();
     $nivel_usuario = $obj_permissao->nivel_acesso($this->pessoa_logada);
     if ($nivel_usuario == 1) {
         $lista_busca[] = "Escola";
         $lista_busca[] = "Instituição";
     } else {
         if ($nivel_usuario == 2) {
             $lista_busca[] = "Escola";
         }
     }
     $this->addCabecalhos($lista_busca);
     // Filtros de Foreign Keys
     $get_escola = true;
     include "include/pmieducar/educar_campo_lista.php";
     // outros Filtros
     $this->campoTexto("nm_motivo", "Motivo", $this->tipo, 30, 255, false);
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_calendario_dia_motivo = new clsPmieducarCalendarioDiaMotivo();
     $obj_calendario_dia_motivo->setOrderby("nm_motivo ASC");
     $obj_calendario_dia_motivo->setLimite($this->limite, $this->offset);
     $obj_usuario = new clsPmieducarUsuario($this->pessoa_logada);
     $obj_usuario_det = $obj_usuario->detalhe();
     $this->ref_cod_escola = $obj_usuario_det["ref_cod_escola"];
     $this->ref_cod_instituicao = $obj_usuario_det["ref_cod_instituicao"];
     $lista = $obj_calendario_dia_motivo->lista(null, $this->ref_cod_escola, null, null, null, null, null, null, null, null, null, 1, $this->nm_motivo, $this->ref_cod_instituicao);
     $total = $obj_calendario_dia_motivo->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             // pega detalhes de foreign_keys
             if (class_exists("clsPmieducarInstituicao")) {
                 $obj_cod_instituicao = new clsPmieducarInstituicao($registro["ref_cod_instituicao"]);
                 $obj_cod_instituicao_det = $obj_cod_instituicao->detalhe();
                 $registro["ref_cod_instituicao"] = $obj_cod_instituicao_det["nm_instituicao"];
             } else {
                 $registro["ref_cod_instituicao"] = "Erro na geração";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarInstituicao\n-->";
             }
             if (class_exists("clsPmieducarEscola")) {
                 $obj_cod_escola = new clsPmieducarEscola($registro["ref_cod_escola"]);
                 $obj_cod_escola_det = $obj_cod_escola->detalhe();
                 $registro["ref_cod_escola"] = $obj_cod_escola_det["nome"];
             } else {
                 $registro["ref_cod_escola"] = "Erro na gera&ccedil;&atilde;o";
                 echo "<!--\nErro\nClasse n&atilde;o existente: clsPmieducarEscola\n-->";
             }
             if ($registro["tipo"] == 'e') {
                 $registro["tipo"] = 'extra';
             } else {
                 if ($registro["tipo"] == 'n') {
                     $registro["tipo"] = 'n&atilde;o-letivo';
                 }
             }
             $lista_busca = array("<a href=\"educar_calendario_dia_motivo_det.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}\">{$registro["nm_motivo"]}</a>", "<a href=\"educar_calendario_dia_motivo_det.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}\">{$registro["tipo"]}</a>");
             if ($nivel_usuario == 1) {
                 $lista_busca[] = "<a href=\"educar_calendario_dia_motivo_det.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}\">{$registro["ref_cod_escola"]}</a>";
                 $lista_busca[] = "<a href=\"educar_calendario_dia_motivo_det.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}\">{$registro["ref_cod_instituicao"]}</a>";
             } else {
                 if ($nivel_usuario == 2) {
                     $lista_busca[] = "<a href=\"educar_calendario_dia_motivo_det.php?cod_calendario_dia_motivo={$registro["cod_calendario_dia_motivo"]}\">{$registro["ref_cod_escola"]}</a>";
                 }
             }
             $this->addLinhas($lista_busca);
         }
     }
     $this->addPaginador2("educar_calendario_dia_motivo_lst.php", $total, $_GET, $this->nome, $this->limite);
     if ($obj_permissao->permissao_cadastra(576, $this->pessoa_logada, 7)) {
         $this->acao = "go(\"educar_calendario_dia_motivo_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de motivos de dias do calend&aacute;rio"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function Gerar()
 {
     // Primary keys
     $this->campoRotulo('dia_', 'Dia', sprintf('<b>%d/%d/%d</b>', $this->dia, $this->mes, $this->ano));
     $this->campoOculto('ref_cod_calendario_ano_letivo', $this->ref_cod_calendario_ano_letivo);
     $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo($this->ref_cod_calendario_ano_letivo);
     $det_calendario_ano_letivo = $obj_calendario_ano_letivo->detalhe();
     $ref_cod_escola = $det_calendario_ano_letivo['ref_cod_escola'];
     $this->campoRotulo('ano', 'Ano Letivo', $this->ano);
     $this->campoOculto('mes', $this->mes);
     $this->campoOculto('dia', $this->dia);
     // Foreign keys
     $opcoes = array('' => 'Selecione');
     $objTemp = new clsPmieducarCalendarioDiaMotivo();
     $lista = $objTemp->lista(NULL, $ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1);
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             $opcoes[$registro['cod_calendario_dia_motivo']] = $registro['nm_motivo'];
         }
     }
     $this->campoLista('ref_cod_calendario_dia_motivo', 'Calendário Dia Motivo', $opcoes, $this->ref_cod_calendario_dia_motivo, '', FALSE, '', '', FALSE, FALSE);
     $seletor = '<label><input id="_turmas_sel" onclick="new ied_forms.checkAll(document, \'formcadastro\', \'turmas\')" type="checkbox" /> Selecionar todas</label>';
     $this->campoRotulo('turmas_rotulo', 'Turmas', $seletor);
     $turmas = App_Model_IedFinder::getTurmas($ref_cod_escola);
     foreach ($turmas as $codTurma => $nomeTurma) {
         $checked = $this->_hasEntry($this->ref_cod_calendario_ano_letivo, $this->mes, $this->dia, $this->ano, $codTurma);
         $this->campoCheck('turmas[' . $codTurma . ']', '', $checked, $nomeTurma, FALSE);
     }
     $this->campoMemo('descricao', 'Descrição', $this->descricao, 30, 10, TRUE);
 }