/**
 * @param  clsBanco $db
 * @param  string   $sql
 * @return array    (codSerie => nome)
 */
function _getAnoEscolar(clsBanco $db, $sql)
{
    $db->Consulta($sql);
    $resultado = array();
    if ($db->numLinhas()) {
        while ($db->ProximoRegistro()) {
            list($cod, $nome) = $db->Tupla();
            $resultado[$cod] = $nome;
        }
    }
    return $resultado;
}
 *	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');
require_once "include/clsBanco.inc.php";
require_once "include/funcoes.inc.php";
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<query xmlns=\"sugestoes\">\n";
if (is_numeric($_GET["tur"])) {
    if (is_numeric($_GET["ano"])) {
        $ano = " AND ano = {$_GET['ano']} ";
    }
    $db = new clsBanco();
    $db->Consulta("\n\t\t  SELECT  m.cod_matricula\n\t\t\t   \t ,p.nome\n\t\t\tFROM\n\t\t\t\t  pmieducar.matricula_turma mt\n\t\t\t\t , pmieducar.matricula \t  m\n\t\t\t\t , pmieducar.aluno \t  a\n\t\t\t\t , cadastro.pessoa\t  p\n\t\t\tWHERE\n\t\t\t\tm.cod_matricula = mt.ref_cod_matricula\n\t\t\t\tAND mt.ref_cod_turma = {$_GET["tur"]}\n\t\t\t\tAND m.ref_cod_aluno = a.cod_aluno\n\t\t\t\tAND a.ref_idpes\t     = p.idpes\n\t\t\t\tAND aprovado IN (1,2,3)\n\t\t\t\t{$ano}\n\t\t\t\tAND mt.ativo \t= 1\n\t\t\t\tAND m.ativo     = 1\n\t\t\tORDER BY\n\t\t\t\tto_ascii(p.nome) ASC\n\t\t");
    if ($db->numLinhas()) {
        while ($db->ProximoRegistro()) {
            list($cod, $nome) = $db->Tupla();
            echo "\t<matricula cod_matricula=\"{$cod}\">{$nome}</matricula>\n";
        }
    }
}
echo "</query>";
 /**
  * encontra as matriculas dessa turma que ainda nao receberam nota da disciplina $cod_disciplina da serie $cod_serie no modulo $modulo
  *
  * @param int $cod_disciplina
  * @param int $cod_serie
  * @param int $modulo
  * @return array
  */
 function matriculados_modulo_disciplina_sem_nota($cod_disciplina, $cod_serie, $modulo)
 {
     $matriculas = array();
     $db = new clsBanco();
     $db->Consulta("\r\n\t\tSELECT cod_matricula FROM pmieducar.v_matricula_matricula_turma\r\n\t\tWHERE ref_cod_turma = '{$this->cod_turma}'\r\n\t\tAND aprovado = 3\r\n\t\tAND ativo = 1\r\n\t\tAND cod_matricula NOT IN (\r\n\t\t\tSELECT ref_cod_matricula\r\n\t\t\tFROM pmieducar.nota_aluno\r\n\t\t\tWHERE ref_cod_disciplina = '{$cod_disciplina}'\r\n\t\t\tAND ref_cod_serie = '{$cod_serie}'\r\n\t\t\tAND modulo = '{$modulo}'\r\n\t\t\tAND ativo = 1\r\n\t\t)\r\n\t\tAND cod_matricula NOT IN (\r\n\t\t\tSELECT ref_cod_matricula FROM pmieducar.dispensa_disciplina WHERE ref_cod_disciplina = '{$cod_disciplina}' AND ativo = 1\r\n\t\t)\r\n\t\t");
     if ($db->numLinhas()) {
         while ($db->ProximoRegistro()) {
             list($matricula) = $db->Tupla();
             $matriculas[$matricula] = $matricula;
         }
     }
     return $matriculas;
 }
Exemplo n.º 4
0
 /**
  * @see Core_Page_Controller_Abstract#getAppendedOutput()
  * @see Core_Page_Controller_Abstract#getPrependedOutput()
  */
 function MakeBody()
 {
     $corpo = '';
     foreach ($this->clsForm as $form) {
         $corpo .= $form->RenderHTML();
         // Prepend output.
         if (method_exists($form, 'getPrependedOutput')) {
             $corpo = $form->getPrependedOutput() . $corpo;
         }
         // Append output.
         if (method_exists($form, 'getAppendedOutput')) {
             $corpo = $corpo . $form->getAppendedOutput();
         }
         if (is_string($form->prog_alert) && $form->prog_alert) {
             $this->prog_alert .= $form->prog_alert;
         }
     }
     $menu = '';
     if ($this->renderMenu) {
         $menu = $this->MakeMenu();
     }
     $data = $this->DataAtual();
     if ($this->renderBanner) {
         if ($this->renderMenu) {
             $saida = $this->OpenTpl("htmlbody");
         } else {
             $saida = $this->OpenTpl("htmlbody_sem_menu");
         }
     } else {
         $saida = $this->OpenTpl("htmlbodys");
     }
     $saida = str_replace("<!-- #&DATA&# -->", $data, $saida);
     if ($this->renderMenu) {
         $saida = str_replace("<!-- #&MENU&# -->", $menu, $saida);
     }
     $menu_dinamico = $this->makeBanner();
     @session_start();
     $id_usuario = $_SESSION['id_pessoa'];
     session_write_close();
     $db = new clsBanco();
     $objPessoa = new clsPessoaFisica();
     list($nome_user) = $objPessoa->queryRapida($id_usuario, "nome");
     $ultimoAcesso = $db->UnicoCampo("SELECT data_hora FROM acesso WHERE cod_pessoa = {$id_usuario} ORDER BY data_hora DESC LIMIT 1,1");
     $nome_user = $nome_user ? $nome_user : "******";
     if ($ultimoAcesso) {
         $ultimoAcesso = date("d/m/Y H:i", strtotime(substr($ultimoAcesso, 0, 19)));
     }
     /***********************/
     //Verificar se senha expira dentro de 5 dias.
     $expirando = FALSE;
     $mensagem_expirar = '';
     $db = new clsBanco();
     $db->Consulta("SELECT tempo_expira_senha, data_troca_senha FROM funcionario WHERE ref_cod_pessoa_fj = '{$id_usuario}' ");
     if ($db->ProximoRegistro()) {
         list($tempo_senha, $data_senha) = $db->Tupla();
         if (!empty($tempo_senha) && !empty($data_senha)) {
             if (time() - strtotime($data_senha) > ($tempo_senha - 10) * 60 * 60 * 24) {
                 // senha vai expirar dentro de 10 dias
                 $expirando = TRUE;
                 $days_left = $tempo_senha - (int) ((time() - strtotime($data_senha)) / 86400);
                 $mensagem_expirar = "Sua senha expirará em {$days_left} dias, atualize sua senha em 'Meus dados' no menu 'Principal' !";
                 $mensagem_expirar .= "<script>showExpansivelIframe(800, 270, 'troca_senha_pop.php', 1);</script>";
             }
         }
     }
     // somente para programadores
     // @todo Essa linha pode afetar o uso de usuários comuns?
     if ($id_usuario == 49659 || $id_usuario == 2151 || $id_usuario == 4637 || $id_usuario == 21330 || $id_usuario == 21317 || $id_usuario == 25109 || $id_usuario == 4702) {
         if ($expirando || $this->prog_alert) {
             $mensagem = $expirando ? "<b style='color:red'>{$mensagem_expirar}</b><br />" : "";
             $mensagem .= $this->prog_alert ? $this->prog_alert : "";
             $saida = str_replace("<!-- #&PROG_ALERT&# -->", "<div class=\"prog_alert\" align=\"center\">{$mensagem}</div>", $saida);
         }
     } elseif ($expirando) {
         $saida = str_replace("<!-- #&PROG_ALERT&# -->", "<div class=\"prog_alert\" align=\"center\" style='color: red; font-weight:bold;'>{$mensagem_expirar}</div>", $saida);
     }
     $notificacao = "";
     $db = new clsBanco();
     $db->Consulta("SELECT cod_notificacao, titulo, conteudo, url FROM portal.notificacao WHERE ref_cod_funcionario = '{$id_usuario}' AND data_hora_ativa < NOW()");
     if ($db->numLinhas()) {
         while ($db->ProximoRegistro()) {
             list($cod_notificacao, $titulo, $conteudo, $url) = $db->Tupla();
             $titulo = $url ? "<a href=\"{$url}\">{$titulo}</a>" : $titulo;
             $notificacao .= "<div id=\"notificacao_{$cod_notificacao}\" class=\"prog_alert\" align=\"left\">\n        <div class=\"controle_fechar\" title=\"Fechar\" onclick=\"fecha_notificacao( {$cod_notificacao} );\">x</div>\n        <center><strong>Notifica&ccedil;&atilde;o</strong></center>\n        <b>T&iacute;tulo</b>: {$titulo}<br />\n        <b>Conte&uacute;do</b>: " . str_replace("\n", "<br>", $conteudo) . "<br />\n        </div>";
         }
         $saida = str_replace("<!-- #&NOTIFICACOES&# -->", $notificacao, $saida);
         $db->Consulta("UPDATE portal.notificacao SET visualizacoes = visualizacoes + 1 WHERE ref_cod_funcionario = '{$id_usuario}' AND data_hora_ativa < NOW()");
         $db->Consulta("DELETE FROM portal.notificacao WHERE visualizacoes > 10");
     }
     $saida = str_replace("<!-- #&ULTIMOACESSO&# -->", $ultimoAcesso, $saida);
     $saida = str_replace("<!-- #&USERLOGADO&# -->", $nome_user, $saida);
     $saida = str_replace("<!-- #&CORPO&# -->", $corpo, $saida);
     $saida = str_replace("<!-- #&ANUNCIO&# -->", $menu_dinamico, $saida);
     // 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 = "UPDATE funcionario SET ip_logado = '{$ip_maquina}' , data_login = NOW() WHERE ref_cod_pessoa_fj = {$id_usuario}";
     $db2 = new clsBanco();
     $db2->Consulta($sql);
     return $saida;
 }
 *	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');
require_once "include/clsBanco.inc.php";
require_once "include/funcoes.inc.php";
require_once 'Portabilis/Utils/DeprecatedXmlApi.php';
Portabilis_Utils_DeprecatedXmlApi::returnEmptyQueryUnlessUserIsLoggedIn();
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<query xmlns=\"sugestoes\">\n";
if (is_numeric($_GET["alu"]) && is_numeric($_GET["ins"])) {
    $db = new clsBanco();
    $db->Consulta("\n\t\tSELECT\n\t\t\tm.cod_matricula\n\t\t\t, m.ref_cod_curso\n\t\t\t, c.padrao_ano_escolar\n\t\tFROM\n\t\t\tpmieducar.matricula m\n\t\t\t, pmieducar.curso c\n\t\tWHERE\n\t\t\tm.ref_cod_aluno = '{$_GET["alu"]}'\n\t\t\tAND m.ultima_matricula = 1\n\t\t\tAND m.ativo = 1\n\t\t\tAND m.ref_cod_curso = c.cod_curso\n\t\t\tAND c.ref_cod_instituicao = '{$_GET["ins"]}'\n\t\tORDER BY\n\t\t\tm.cod_matricula ASC\n\t\t");
    // caso o aluno nao tenha nenhuma matricula em determinada instituicao
    if (!$db->numLinhas()) {
        $db->Consulta("\n\t\t\tSELECT\n\t\t\t\tcod_curso\n\t\t\t\t, nm_curso\n\t\t\tFROM\n\t\t\t\tpmieducar.curso\n\t\t\tWHERE\n\t\t\t\tpadrao_ano_escolar = 0\n\t\t\t\tAND ativo = 1\n\t\t\t\tAND ref_cod_instituicao = '{$_GET["ins"]}'\n\t\t\t\tAND NOT EXISTS\n\t\t\t\t(\n\t\t\t\t\tSELECT\n\t\t\t\t\t\tref_cod_curso\n\t\t\t\t\tFROM\n\t\t\t\t\t\tpmieducar.serie\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tref_cod_curso = cod_curso\n\t\t\t\t\t\tAND ativo = 1\n\t\t\t\t)\n\t\t\tORDER BY\n\t\t\t\tnm_curso ASC\n\t\t\t");
        if ($db->numLinhas()) {
            while ($db->ProximoRegistro()) {
                list($cod, $nome) = $db->Tupla();
                echo "\t<curso cod_curso=\"{$cod}\">{$nome}</curso>\n";
            }
        }
    } else {
        while ($db->ProximoRegistro()) {
            list($matricula, $curso, $padrao_ano_escolar) = $db->Tupla();
            if ($padrao_ano_escolar == 0) {
                $cursos_matriculado[] = $curso;
            }
        }
        //			echo "<pre>"; print_r($cursos_matriculado); die();
Exemplo n.º 6
0
 function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Cliente - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet");
     $this->addCabecalhos(array("Cliente", "Tipo", "Status"));
     $opcoes = array("" => "Pesquise a pessoa clicando na lupa ao lado");
     if ($this->ref_idpes) {
         $objTemp = new clsPessoaFisica($this->ref_idpes);
         $detalhe = $objTemp->detalhe();
         $opcoes["{$detalhe["idpes"]}"] = $detalhe["nome"];
     }
     $parametros = new clsParametrosPesquisas();
     $parametros->setSubmit(0);
     $parametros->adicionaCampoSelect("ref_idpes", "idpes", "nome");
     $parametros->setCodSistema(1);
     $parametros->setPessoa('F');
     $parametros->setPessoaEditar('N');
     $parametros->setPessoaNovo('N');
     $this->campoListaPesq("ref_idpes", "Cliente", $opcoes, $this->ref_idpes, "pesquisa_pessoa_lst.php", "", false, "", "", null, null, "", false, $parametros->serializaCampos());
     $this->campoLista("status", "Status", array('' => "Selecione", 'R' => "Regular", 'S' => "Suspenso"), $this->status, "", false, "", "", false, false);
     $instituicao_obrigatorio = true;
     $escola_obrigatorio = false;
     $biblioteca_obrigatorio = true;
     $cliente_tipo_obrigatorio = true;
     $get_instituicao = true;
     $get_escola = true;
     $get_biblioteca = true;
     $get_cliente_tipo = true;
     include "include/pmieducar/educar_campo_lista.php";
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_cliente = new clsPmieducarCliente();
     $obj_cliente->setOrderby("nome ASC");
     $obj_cliente->setLimite($this->limite, $this->offset);
     if ($this->status != 'S') {
         $this->status = null;
     }
     $cod_biblioteca = $this->ref_cod_biblioteca;
     if (!is_numeric($this->ref_cod_biblioteca)) {
         $db = new clsBanco();
         $db->Consulta("SELECT ref_cod_biblioteca FROM pmieducar.biblioteca_usuario WHERE ref_cod_usuario = '{$this->pessoa_logada}' ");
         if ($db->numLinhas()) {
             $cod_biblioteca = array();
             while ($db->ProximoRegistro()) {
                 list($ref_cod) = $db->Tupla();
                 $cod_biblioteca[] = $ref_cod;
             }
         }
     }
     $lista = $obj_cliente->listaCompleta(null, null, null, $this->ref_idpes, null, null, null, null, null, null, 1, null, $this->status, $this->ref_cod_cliente_tipo, null, $cod_biblioteca);
     $total = $obj_cliente->_total;
     $obj_banco = new clsBanco();
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsBanco")) {
                 $sql_unico = "SELECT 1\n\t\t\t\t\t\t\t\t\tFROM pmieducar.cliente_suspensao\n\t\t\t\t\t\t\t\t   WHERE ref_cod_cliente = {$registro["cod_cliente"]}\n\t\t\t\t\t\t\t\t\t AND data_liberacao IS NULL\n\t\t\t\t\t\t\t\t\t AND EXTRACT ( DAY FROM ( NOW() - data_suspensao ) ) < dias";
                 $suspenso = $obj_banco->CampoUnico($sql_unico);
                 if (is_numeric($suspenso)) {
                     $registro["status"] = "Suspenso";
                 } else {
                     $registro["status"] = "Regular";
                 }
             } else {
                 $registro["ref_idpes"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsBanco\n-->";
             }
             //				echo "<pre>"; print_r($registro); die();
             $this->addLinhas(array("<a href=\"educar_cliente_det.php?cod_cliente={$registro["cod_cliente"]}&ref_cod_biblioteca={$registro["cod_biblioteca"]}\">{$registro["nome"]}</a>", "<a href=\"educar_cliente_det.php?cod_cliente={$registro["cod_cliente"]}&ref_cod_biblioteca={$registro["cod_biblioteca"]}\">{$registro["nm_tipo"]}</a>", "<a href=\"educar_cliente_det.php?cod_cliente={$registro["cod_cliente"]}&ref_cod_biblioteca={$registro["cod_biblioteca"]}\">{$registro["status"]}</a>"));
         }
     }
     $this->addPaginador2("educar_cliente_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     if ($obj_permissoes->permissao_cadastra(603, $this->pessoa_logada, 11)) {
         $this->acao = "go(\"educar_cliente_cad.php\")";
         $this->nome_acao = "Novo";
     }
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "i-Educar", "educar_biblooteca_index.php" => "Biblioteca", "" => "Lista de Clientes"));
     $this->enviaLocalizacao($localizacao->montar());
 }
 function renderHTML()
 {
     if ($_POST) {
         foreach ($_POST as $key => $value) {
             $this->{$key} = $value;
         }
     }
     if ($this->ref_ref_cod_serie) {
         $this->ref_cod_serie = $this->ref_ref_cod_serie;
     }
     $fonte = 'arial';
     $corTexto = '#000000';
     $obj_escola_instituicao = new clsPmieducarEscola();
     $lst_escola_instituicao = $obj_escola_instituicao->lista($this->ref_cod_escola, null, null, $this->ref_cod_instituicao, null, null, null, null, null, null, 1);
     $this->pdf = new clsPDF("Documentos Pendentes", "Documentos Pendentes", "A4", "", false, false);
     $join = "";
     $where = "";
     if (is_numeric($this->ref_cod_escola)) {
         $where .= " AND matricula.ref_cod_aluno = cod_aluno ";
         $where .= " AND matricula.ref_ref_cod_escola = {$this->ref_cod_escola} ";
         $join .= " ,pmieducar.matricula ";
     }
     if (is_numeric($this->ref_cod_curso)) {
         $where .= " AND matricula.ref_cod_curso = {$this->ref_cod_curso} ";
     }
     if (is_numeric($this->ref_cod_serie)) {
         $where .= " AND matricula.ref_ref_cod_serie = {$this->ref_cod_serie} ";
     }
     if (is_numeric($this->cod_aluno)) {
         $where .= " AND cod_aluno = '{$this->cod_aluno}' ";
     }
     if (is_string($this->nm_aluno)) {
         $where .= " AND nome like '%{$this->nm_aluno}%' ";
     }
     $SELECT = "SELECT cod_aluno\n\t\t\t\t\t       ,nome\n\t\t\t\t\t       ,data_nasc \t\t\tas \"Data de Nascimento\"\n\t\t\t\t\t       ,ideciv\t   \t\t\tas \"Estado Civil\"\n\t\t\t\t\t       ,idmun_nascimento\tas \"Naturalidade\"\n\t\t\t\t\t       ,tipo_cert_civil\t   \tas \"Tipo de Certidão Civil\"\n\t\t\t\t\t       ,num_termo\t   \t\tas \"Número Termo\"\n\t\t\t\t\t       ,num_livro\t   \t\tas \"Número Livro\"\n\t\t\t\t\t       ,num_folha\t   \t\tas \"Número Folha\"\n\t\t\t\t\t       ,data_emissao_cert_civil\tas \"Data Emissão Civil\"\n\t\t\t\t\t       ,sigla_uf_cert_civil\t   \tas \"Sigla Uf Cert. Civil\"\n\t\t\t\t\t       ,cartorio_cert_civil\t   \tas \"Cartório cert. Civil\"\n\t\t\t\t\t\t   ,cep   \t\tas \"CEP\"\n\t\t\t\t\t\t   ,idbai::text as \"Bairro\"\n\t\t\t\t\t\t   ,idlog::text as \"Logradouro\"\n\t\t\t\t\t\t   ,1::text \tas \"Cidade\"\n\t\t\t\t\t\t   ,1::text \tas \"Estado\"\n\t\t\t\t\t  FROM pmieducar.aluno\n\t\t\t\t\t       ,cadastro.pessoa\n\t\t\t\t\t       ,cadastro.fisica\n\t\t\t\t\t       ,cadastro.endereco_pessoa\n\t\t\t\t\t       ,cadastro.documento\n\t\t\t\t\t       {$join}\n\t\t\t\t\t WHERE aluno.ref_idpes       = pessoa.idpes\n\t\t\t\t\t   AND endereco_pessoa.idpes = pessoa.idpes\n\t\t\t\t\t   AND documento.idpes\t     = pessoa.idpes\n\t\t\t\t\t   AND fisica.idpes\t     = pessoa.idpes\n\t\t\t\t\t   AND fisica.idpes\t     = documento.idpes\n\t\t\t\t\t   AND fisica.idpes\t     = aluno.ref_idpes\n\t\t\t\t\t   AND documento.idpes\t = aluno.ref_idpes\n\t\t\t\t\t   {$where}\n\t\t\t\t\t   AND (\n\t\t\t\t\t\tdata_nasc IS NULL\n\t\t\t\t\t    OR ideciv IS NULL\n\t\t\t\t\t\tOR idmun_nascimento IS NULL\n\t\t\t\t\t\tOR tipo_cert_civil  IS NULL\n\t\t\t\t\t\tOR num_termo\t    IS NULL\n\t\t\t\t\t\tOR num_livro\t    IS NULL\n\t\t\t\t\t\tOR num_folha\t    IS NULL\n\t\t\t\t\t\tOR data_emissao_cert_civil IS NULL\n\t\t\t\t\t\tOR sigla_uf_cert_civil     IS NULL\n\t\t\t\t\t\tOR cartorio_cert_civil     IS NULL\n\t\t\t\t\t\tOR cep   IS NULL\n\t\t\t\t\t\tOR idbai IS NULL\n\t\t\t\t\t\tOR idlog IS NULL\n\t\t\t\t\t       )\n\n\t\t\t\t\tUNION\n\n\t\t\t\t\tSELECT cod_aluno\n\t\t\t\t\t       ,nome\n\t\t\t\t\t       ,data_nasc\n\t\t\t\t\t       ,ideciv\n\t\t\t\t\t       ,idmun_nascimento\n\t\t\t\t\t       ,tipo_cert_civil\n\t\t\t\t\t       ,num_termo\n\t\t\t\t\t       ,num_livro\n\t\t\t\t\t       ,num_folha\n\t\t\t\t\t       ,data_emissao_cert_civil\n\t\t\t\t\t       ,sigla_uf_cert_civil\n\t\t\t\t\t       ,cartorio_cert_civil\n\t\t\t\t\t       ,cep\n\t\t\t\t\t       ,bairro\n\t\t\t\t\t       ,logradouro\n\t\t\t\t\t       ,cidade\n\t\t\t\t\t       ,sigla_uf\n\t\t\t\t\t  FROM pmieducar.aluno\n\t\t\t\t\t       ,cadastro.pessoa\n\t\t\t\t\t       ,cadastro.fisica\n\t\t\t\t\t       ,cadastro.endereco_externo\n\t\t\t\t\t       ,cadastro.documento\n\t\t\t\t\t       {$join}\n\t\t\t\t\t WHERE aluno.ref_idpes        = pessoa.idpes\n\t\t\t\t\t   AND endereco_externo.idpes = pessoa.idpes\n\t\t\t\t\t   AND documento.idpes\t      = pessoa.idpes\n\t\t\t\t\t   AND fisica.idpes\t     = pessoa.idpes\n\t\t\t\t\t   AND fisica.idpes\t     = aluno.ref_idpes\n\t\t\t\t\t   AND fisica.idpes\t     = documento.idpes\n\t\t\t\t\t   {$where}\n\t\t\t\t\t   AND (\n\t\t\t\t\t\tdata_nasc IS NULL\n\t\t\t\t\t    OR ideciv IS NULL\n\t\t\t\t\t\tOR idmun_nascimento IS NULL\n\t\t\t\t\t\tOR tipo_cert_civil  IS NULL\n\t\t\t\t\t\tOR num_termo\t    IS NULL\n\t\t\t\t\t\tOR num_livro\t    IS NULL\n\t\t\t\t\t\tOR num_folha\t    IS NULL\n\t\t\t\t\t\tOR data_emissao_cert_civil IS NULL\n\t\t\t\t\t\tOR sigla_uf_cert_civil     IS NULL\n\t\t\t\t\t\tOR cartorio_cert_civil     IS NULL\n\t\t\t\t\t\tOR logradouro IS NULL\n\t\t\t\t\t\tOR bairro     IS NULL\n\t\t\t\t\t\tOR cidade     IS NULL\n\t\t\t\t\t\tOR sigla_uf   IS NULL\n\t\t\t\t\t\tOR cep        IS NULL\n\t\t\t\t\t       )\n\t\t\t\t\tORDER BY nome\n\t\t\t\t\t";
     if ($this->ref_cod_escola) {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $this->nm_escola = $det_escola['nome'];
         $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
         if ($det_escola['ref_idpes']) {
             $obj_endereco_escola = new clsEndereco($det_escola['ref_idpes']);
             $det_enderedo_escola = $obj_endereco_escola->detalhe();
             $this->nm_localidade = $this->nm_municipio = $det_enderedo_escola['cidade'];
             if (!$det_enderedo_escola) {
                 $obj_endereco_externo_escola = new clsEnderecoExterno($det_escola['ref_idpes']);
                 $det_enderedo_externo_escola = $obj_endereco_externo_escola->detalhe();
                 $this->nm_localidade = $this->nm_municipio = $det_enderedo_externo_escola['cidade'];
             }
         } else {
             $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
             $det_escola_complemento = $obj_escola_complemento->detalhe();
             $this->nm_localidade = $this->nm_municipio = $det_escola_complemento['municipio'];
         }
     }
     $db = new clsBanco();
     $db->Consulta($SELECT);
     if ($db->numLinhas()) {
         $x_quadrado = 30;
         $this->page_y = 120;
         $altura_caixa = 20;
         $this->pdf->OpenPage();
         $this->addCabecalho();
         $total_alunos = 0;
         while ($db->ProximoRegistro()) {
             $tupla = $db->Tupla();
             $dados_pendentes = 0;
             for ($id = 2; $id < count($tupla) / 2; $id++) {
                 if (!$tupla[$id]) {
                     $dados_pendentes++;
                 }
             }
             if ($this->page_y + $altura_caixa >= 780) {
                 $this->page_y = 120;
                 $this->pdf->ClosePage();
                 $this->pdf->OpenPage();
                 $page_open = true;
                 $this->addCabecalho();
             }
             if ($dados_pendentes) {
                 $total_alunos++;
                 if ($this->page_y + $altura_caixa * $dados_pendentes >= 780) {
                     $this->page_y = 120;
                     $this->pdf->ClosePage();
                     $this->pdf->OpenPage();
                     $page_open = true;
                     $this->addCabecalho();
                 }
                 $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa, 0.1, "#ffffff", "#D0D0D0");
                 $sql = "SELECT \n\t\t\t\t\t\t\t\tnm_turma, nm_serie \n\t\t\t\t\t\t\tFROM \n\t\t\t\t\t\t\t\tpmieducar.matricula, \n\t\t\t\t\t\t\t\tpmieducar.matricula_turma, \n\t\t\t\t\t\t\t\tpmieducar.turma t, \n\t\t\t\t\t\t\t\tpmieducar.serie\n\t\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\t\tref_cod_aluno = {$tupla['cod_aluno']} \n\t\t\t\t\t\t\t\tAND cod_matricula = ref_cod_matricula \n\t\t\t\t\t\t\t\tAND ref_cod_turma = cod_turma \n\t\t\t\t\t\t\t\tAND t.ref_ref_cod_serie = cod_serie";
                 $db2 = new clsBanco();
                 $db2->Consulta($sql);
                 $db2->ProximoRegistro();
                 list($nm_turma, $nm_serie) = $db2->Tupla();
                 $this->pdf->escreve_relativo("Aluno:      {$tupla['cod_aluno']} - {$tupla['nome']}         Série:    {$nm_serie}        Turma:      {$nm_turma}", 35, $this->page_y + 5, 400, $altura_caixa, $fonte, 8, $corTexto, 'left');
                 $this->page_y += $altura_caixa;
                 $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa * $dados_pendentes);
                 $this->pdf->linha_relativa($x_quadrado, $this->page_y, 535, 0, '1');
                 foreach ($tupla as $key => $valor) {
                     if (!$valor && !is_numeric($key)) {
                         $this->pdf->escreve_relativo($key, 35, $this->page_y + 5, 300, $altura_caixa, $fonte, 8, $corTexto, 'left');
                         $this->page_y += $altura_caixa;
                     }
                 }
             }
         }
         if ($total_alunos != 0) {
             $this->pdf->quadrado_relativo($x_quadrado, $this->page_y, 535, $altura_caixa * $dados_pendentes);
             $this->pdf->linha_relativa($x_quadrado, $this->page_y, 535, 0, '1');
             $this->pdf->escreve_relativo("TOTAL: {$total_alunos} alunos", 35, $this->page_y + 5, 400, $altura_caixa, $fonte, 8, $corTexto, 'left');
         }
     } else {
         echo '<script>alert("Não existem alunos com documentos pendentes para os filtros informados!");window.parent.fechaExpansivel("div_dinamico_" + (window.parent.DOM_divs.length-1)); </script>';
     }
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
     echo "<html><center>Se o download não iniciar automaticamente <br /><a target='_blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n\t\t\t<span style='font-size: 10px;'>Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n\n\t\t\tClique na Imagem para Baixar o instalador<br><br>\n\t\t\t<a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br><img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\"></a>\n\t\t\t</span>\n\t\t\t</center>";
 }
 function renderHTML()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     foreach ($_POST as $key => $value) {
         $this->{$key} = $value;
     }
     $this->ref_cod_serie = $this->ref_ref_cod_serie;
     $fonte = 'arial';
     $corTexto = '#000000';
     if (!is_numeric($this->ref_cod_instituicao) || !is_numeric($this->ref_cod_escola) || !is_numeric($this->ref_cod_curso) || !is_numeric($this->ref_cod_serie) || !is_numeric($this->ref_cod_turma) || !is_numeric($this->ano)) {
         echo '
     <script>
       alert("A turma não possui nenhum aluno com situação final definida");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
     </script>';
         return TRUE;
     }
     $sql = sprintf("\n      SELECT\n        cod_matricula,\n        aprovado,\n        ref_ref_cod_serie,\n        (SELECT\n           nome\n         FROM\n           pmieducar.aluno a,\n           cadastro.pessoa p\n         WHERE\n           a.cod_aluno = m.ref_cod_aluno\n           AND p.idpes = a.ref_idpes\n        ) AS nome\n      FROM\n        pmieducar.matricula m,\n        pmieducar.matricula_turma mt\n      WHERE\n        mt.ref_cod_turma = %d\n        AND mt.ref_cod_matricula = m.cod_matricula\n        AND m.ativo = 1\n        AND mt.ativo = 1\n        AND aprovado IN (1, 2)\n        AND ano = %d\n      ORDER BY\n        ref_ref_cod_serie, nome", $this->ref_cod_turma, $this->ano);
     //verificar se a turma é multiseriada
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $ref_ref_cod_serie_mult = $det_turma['ref_ref_cod_serie_mult'];
     $db = new clsBanco();
     $db->Consulta($sql);
     if (!$db->numLinhas()) {
         echo '
     <script>
       alert("A turma não possui nenhum aluno com situação final definida");
       window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length - 1));
     </script>';
         return TRUE;
     }
     $numAlunos = $db->numLinhas();
     // Nome da instituição
     $obj_instituicao = new clsPmieducarInstituicao($this->ref_cod_instituicao);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     // Nome da escola
     $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
     $det_escola = $obj_escola->detalhe();
     $this->nm_escola = $det_escola['nome'];
     // Nome do curso
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $this->nm_curso = $det_curso['nm_curso'];
     // Série
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $obj_serie->setOrderby('nm_serie');
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     // Seleciona a regra de avaliação da série
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $this->regra = $regraMapper->find($det_serie['regra_avaliacao_id']);
     // Carrega as definições de disciplina
     $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma);
     foreach ($componentes as $id => $componente) {
         $this->componentes[$id] = $componente;
     }
     $this->presencaGeral = $this->regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL;
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $obj_turma->setCamposLista('nm_turma, hora_inicial');
     $det_turma = $obj_turma->detalhe();
     if ($det_turma['hora_inicial'] < '12:00') {
         $this->nm_turno = 'Matutino';
     } elseif ($det_turma['hora_inicial'] < '18:00') {
         $this->nm_turno = 'Vespertino';
     } else {
         $this->nm_turno = 'Noturno';
     }
     $this->nm_turma = $det_turma["nm_turma"];
     $this->buscaDiasLetivos();
     asort($this->componentes);
     $this->pdf = new clsPDF('Ata de Resultado Final - ' . $this->ano, 'Ata de Resultado Final', 'A4', '', FALSE, FALSE);
     $this->pdf->largura = 842.0;
     $this->pdf->altura = 595.0;
     $this->pdf->OpenPage();
     $this->addCabecalho();
     $esquerda = 3;
     $direita = 834;
     $tam_texto = 10;
     $altura = 130;
     $altura += 50;
     $espessura_linha = 0.3;
     $alunos_matriculados = array();
     while ($db->ProximoRegistro()) {
         list($cod_matricula, $aprovado, $ref_cod_serie, $nome) = $db->Tupla();
         $alunos_matriculados[$cod_matricula] = array('aprovado' => $aprovado, 'nome' => $nome, 'ref_cod_serie' => $ref_cod_serie);
     }
     if (is_array($alunos_matriculados) && count($alunos_matriculados)) {
         $this->getAlunoNotasFaltasTable($alunos_matriculados, $det_curso, $curso_conceitual);
     }
     $this->rodape();
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     echo sprintf("\n        <script>\n          window.onload=function() {\n            parent.EscondeDiv('LoadImprimir');\n            window.location='download.php?filename=%s'\n          }\n        </script>", $this->get_link);
     echo sprintf("\n        <html>\n          <center>\n            Se o download não iniciar automaticamente <br /><a target='_blank' href='%s' style='font-size: 16px; color: #000000; text-decoration: underline;'>clique aqui!</a><br><br>\n            <span style='font-size: 10px;'>\n              Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>\n              Clique na Imagem para Baixar o instalador<br><br>\n              <a href=\"http://www.adobe.com.br/products/acrobat/readstep2.html\" target=\"new\"><br>\n                <img src=\"imagens/acrobat.gif\" width=\"88\" height=\"31\" border=\"0\">\n              </a>\n            </span>\n          </center>\n        </html>", $this->get_link);
 }