function renderHTML()
    {
        if ($_POST) {
            foreach ($_POST as $key => $value) {
                $this->{$key} = $value;
            }
        }
        if ($this->is_padrao || $this->ano == 2007) {
            $this->semestre = null;
        }
        if ($this->ref_ref_cod_serie) {
            $this->ref_cod_serie = $this->ref_ref_cod_serie;
        }
        $fonte = 'arial';
        $corTexto = '#000000';
        if (empty($this->ref_cod_turma)) {
            echo '<script>
	     			alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
        $det_escola = $obj_escola->detalhe();
        $this->nm_escola = $det_escola['nome'];
        $obj_instituicao = new clsPmieducarInstituicao($det_escola['ref_cod_instituicao']);
        $det_instituicao = $obj_instituicao->detalhe();
        $this->nm_instituicao = $det_instituicao['nm_instituicao'];
        $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
        $det_turma = $obj_turma->detalhe();
        $this->nm_turma = $det_turma['nm_turma'];
        $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
        $det_serie = $obj_serie->detalhe();
        $this->nm_serie = $det_serie['nm_serie'];
        $obj_calendario = new clsPmieducarEscolaAnoLetivo();
        $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, null, null, null, null, null, null, null, 1, null);
        if (!$lista_calendario) {
            echo '<script>
	     			alert("Escola não possui calendário definido para este ano");
	     			window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
	     		</script>';
            return true;
        }
        $calendario = array_shift($lista_calendario);
        //Dias previstos do mes
        // Qual o primeiro dia do mes
        $primeiroDiaDoMes = mktime(0, 0, 0, $this->mes, 1, $this->ano);
        // Quantos dias tem o mes
        $NumeroDiasMes = date('t', $primeiroDiaDoMes);
        $qtd_dias = $NumeroDiasMes;
        $this->pdf = new clsPDF("Acompanhamento Mensal - {$this->ano}", "Acompanhamento Mensal - {$this->meses_do_ano[$this->mes]}", "A4", "", false, false);
        $this->pdf->largura = 842.0;
        $this->pdf->altura = 595.0;
        $this->pdf->OpenPage();
        $this->addCabecalho();
        $this->pdf->linha_relativa(30, 120, 780, 0);
        $this->pdf->linha_relativa(30, 120, 0, 135);
        $this->pdf->linha_relativa(30, 120, 255, 135);
        $this->pdf->escreve_relativo("Livros", 40, 245, 60, 15, null, 8);
        $this->pdf->escreve_relativo("Professor(a) / Aluno", 200, 125, 80, 13, null, 8);
        $obj_matricula = new clsPmieducarMatriculaTurma();
        $obj_matricula->setOrderby('nome_ascii');
        $lst_matricula = $obj_matricula->lista(null, $this->ref_cod_turma, null, null, null, null, null, null, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, null, null, array(1, 2, 3), null, null, $this->ano, null, true, null, null, 1, null, null, null, null, $this->semestre);
        if ($lst_matricula) {
            foreach ($lst_matricula as $ordem => $matricula) {
                $this->pdf->linha_relativa(285 + $ordem * 13, 120, 0, 135);
                $nome = $matricula['nome'];
                $nome = explode(" ", $nome);
                if (strlen($nome[0]) + strlen($nome[1]) < 13) {
                    $nome = $nome[0] . " " . $nome[1];
                } else {
                    $nome = $nome[0];
                }
                //$nome = str_replace(" ","|",$nome);
                $nome = str2upper(substr($nome, 0, 16));
                //$nome = wordwrap(str2upper(substr($nome,0,16)),1,"\n",true);
                //$nome = str_replace("|","",$nome);
                //$nome = str_replace("|","",$nome);
                //$nome = wordwrap($nome,1,"\n",true);
                //$nome = substr($nome,0,20);
                //$this->pdf->escreve_relativo($nome, 287+($ordem*13), 125, 130, 135, null, 8);
                $imagem = girarTextoImagem("{$nome}", 8, 125);
                $this->pdf->InsertJpng('png', $imagem, 287 + $ordem * 13, 250, 1);
                ////die("$ this->pdf->escreve_relativo(\"{$nome}\", 287+($ordem*13), 145, 13, 135, null, 8);");
                //$this->pdf->escreve_relativo("A\nl\ne\nx\ns\na\nn\nd\nr\no\nP\na\nc\nh\ne\nc\no", 287+($ordem*13), 145, 13, 135, null, 8);
            }
        }
        for ($i = 0; $i < 40; $i++) {
            $this->pdf->linha_relativa(285 + $i * 13, 120, 0, 135);
            /*if($i+1 <= $qtd_dias)
            		{
            			$this->pdf->escreve_relativo("", 287+($i*13), 145, 13, 135, null, 8);
            		}*/
        }
        $this->pdf->linha_relativa(810, 120, 0, 135);
        //fim
        $this->pdf->linha_relativa(30, 255, 780, 0);
        $total_alunos = 100;
        $qtd_quebra = 25;
        $base = 242;
        $linha = 1;
        //if($lst_matricula)
        //{
        //foreach ($lst_matricula as $ordem => $matricula)
        //{
        //$ordem++;
        //$ordem = sprintf("%02d",$ordem);
        for ($ordem = 1; $ordem <= 22; $ordem++) {
            if ($linha % $qtd_quebra == 0) {
                //nova pagina
                $this->pdf->ClosePage();
                $this->pdf->OpenPage();
                $base = 30;
                $linha = 0;
                $this->pdf->linha_relativa(30, 30, 780, 0);
                $qtd_quebra = 35;
            }
            $this->pdf->linha_relativa(30, $base + $linha * 13, 0, 13);
            $this->pdf->linha_relativa(60, $base + $linha * 13, 0, 13);
            $this->pdf->linha_relativa(30, $base + 13 + $linha * 13, 780, 0);
            $this->pdf->escreve_relativo($ordem, 40, $base + 3 + $linha * 13, 15, 15, null, 8);
            $this->pdf->escreve_relativo('', 65, $base + 3 + $linha * 13, 215, 15, null, 8);
            for ($i = 0; $i <= 38; $i++) {
                $this->pdf->linha_relativa(285 + $i * 13, $base + $linha * 13, 0, 13);
            }
            $this->pdf->linha_relativa(285 + $i * 13, $base + $linha * 13, 0, 13);
            //total
            $this->pdf->linha_relativa(810, $base + $linha * 13, 0, 13);
            //fim
            $linha++;
            //}
        }
        //}
        /*//escrever total
        		$this->pdf->linha_relativa(30, $base+($linha*13), 0, 13);
        		$this->pdf->linha_relativa(60, $base+($linha*13), 0, 13);
        
        		$this->pdf->escreve_relativo("Total", 35, ($base+3)+($linha*13), 20, 15, null, 8);
        
        		for($i=0; $i<38; $i++)
        		{
        			$this->pdf->linha_relativa(285+($i*13), $base+($linha*13), 0, 13);
        		}
        		$this->pdf->linha_relativa(765, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(780, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(795, $base+($linha*13), 0, 15);
        		$this->pdf->linha_relativa(285+($i*13), $base+($linha*13), 0, 15);//total
        
        		$this->pdf->linha_relativa(810, $base+($linha*13), 0, 15);//fim
        		$this->pdf->linha_relativa(30, $base+(($linha+1)*13), 780, 0);*/
        $this->pdf->quadrado_relativo(400, 550, 394, 15);
        $this->pdf->quadrado_relativo(400, 560, 394, 15);
        for ($mes = 1; $mes <= 13; $mes++) {
            $this->pdf->escreve_relativo($this->meses_do_ano_abr[$mes], 370 + $mes * 30 + 5, 550, 50, 15, null, 8);
            if ($mes < 13) {
                $this->pdf->linha_relativa(394 + $mes * 30 + 5, 550, 0, 25);
            }
        }
        $this->pdf->ClosePage();
        $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();
     $pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     if ($_GET) {
         foreach ($_GET 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';
     if (!is_numeric($this->ref_cod_aluno) || !is_numeric($this->ref_cod_escola)) {
         echo "<center>Não existem dados a serem exibidos!</center>";
         echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
         die;
     }
     //		if ($pessoa_logada==184580)
     //		{
     //			$this->verificaHistorico();
     //		}
     $obj_historico_escolar = new clsPmieducarHistoricoEscolar();
     $obj_historico_escolar->setOrderby("ano ASC");
     $lst_historico_escolar = $obj_historico_escolar->lista($this->ref_cod_aluno, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null);
     //, 0 );
     $ultima_mat = count($lst_historico_escolar) - 1;
     $observacao = $lst_historico_escolar[$ultima_mat]['observacao'];
     $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("Histórico Escolar", "Histórico Escolar", "A4", "", false, false);
     $this->pdf->OpenPage();
     //***************INICIO CABECALHO
     $obj_aluno = new clsPmieducarAluno($this->ref_cod_aluno);
     $det_aluno = $obj_aluno->detalhe();
     $obj_matricula = new clsPmieducarMatricula();
     $lst_matriculas = $obj_matricula->lista(null, null, $this->ref_cod_escola, null, null, null, $this->ref_cod_aluno, array(1, 2), null, null, null, null, 1, null, null, $this->ref_cod_instituicao, 1, null, null, null, null, null, null, null, null);
     if ($lst_matriculas) {
         $cod_matricula = $lst_matriculas[0]['cod_matricula'];
     }
     $obj_pessoa = new clsPessoa_($det_aluno['ref_idpes']);
     $det_pessoa = $obj_pessoa->detalhe();
     // NOME DO ALUNO
     $nm_aluno = str2upper($det_pessoa['nome']);
     $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
     $det_fisica = $obj_fisica->detalhe();
     // SEXO
     $sexo = $det_fisica["sexo"];
     if ($sexo == "M") {
         $sexo = "MASCULINO";
     } else {
         $sexo = "FEMININO";
     }
     // DATA DE NASCIMENTO
     $dt_nasc = dataToBrasil($det_fisica["data_nasc"]);
     $dia = substr($dt_nasc, 0, 2);
     $mes = substr($dt_nasc, 3, 2);
     $meses = array("01" => "Janeiro", "02" => "Fevereiro", "03" => "Março", "04" => "Abril", "05" => "Maio", "06" => "Junho", "07" => "Julho", "08" => "Agosto", "09" => "Setembro", "10" => "Outubro", "11" => "Novembro", "12" => "Dezembro");
     $ano = substr($dt_nasc, 6, 4);
     // NATURALIDADE
     $idmun_nascimento = $det_fisica["idmun_nascimento"]->idmun;
     $obj_mun_nasc = new clsMunicipio($idmun_nascimento);
     $det_mun_nasc = $obj_mun_nasc->detalhe();
     $naturalidade = str2upper($det_mun_nasc['nome']);
     if ($det_mun_nasc['sigla_uf']) {
         $naturalidade_uf = $det_mun_nasc['sigla_uf']->detalhe();
         $naturalidade_uf = $naturalidade_uf['nome'];
     }
     // NACIONALIDADE
     $nacionalidade = $det_fisica["nacionalidade"];
     if ($nacionalidade == 1) {
         $nacionalidade = "Brasileira";
     } else {
         if ($nacionalidade == 2) {
             $nacionalidade = "Naturalizado(a) Brasileiro(a)";
         } else {
             if ($nacionalidade == 3) {
                 $nacionalidade = "Estrangeira";
             }
         }
     }
     $nm_pai = str2upper($det_aluno["nm_pai"]);
     $nm_mae = str2upper($det_aluno['nm_mae']);
     if (!$nm_pai || !$nm_mae) {
         $obj_fisica = new clsFisica($det_aluno['ref_idpes']);
         $det_fisica = $obj_fisica->detalhe();
         if (!$nm_pai) {
             $nm_pai = str2upper($det_fisica["nome_pai"]);
         }
         if (!$nm_mae) {
             $nm_mae = str2upper($det_fisica["nome_mae"]);
         }
         if (!$nm_pai) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_pai"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DO PAI
             $nm_pai = str2upper($det_pessoa['nome']);
         }
         if (!$nm_mae) {
             $obj_pessoa = new clsPessoa_($det_fisica["idpes_mae"]);
             $det_pessoa = $obj_pessoa->detalhe();
             // NOME DA MAE
             $nm_mae = str2upper($det_pessoa['nome']);
         }
     }
     $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
     $det_escola_complemento = $obj_escola_complemento->detalhe();
     if ($det_escola_complemento) {
         // NOME DA ESCOLA
         $nm_escola = str2upper($det_escola_complemento['nm_escola']);
         // ENDERECO DA ESCOLA
         $logradouro = str2upper($det_escola_complemento['logradouro']);
         $numero = $det_escola_complemento['numero'];
         $complemento = str2upper($det_escola_complemento['complemento']);
         $bairro = str2upper($det_escola_complemento['bairro']);
         $municipio = str2upper($det_escola_complemento['municipio']);
         $cep = $det_escola_complemento['cep'];
         $cep = int2CEP($cep);
         $this->endereco = "{$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio}";
     } else {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $obj_juridica = new clsJuridica($det_escola['ref_idpes']);
         $det_juridica = $obj_juridica->detalhe();
         $nm_escola = $det_juridica['fantasia'];
         if (!$nm_escola) {
             $obj_pessoa_ = new clsPessoa_($det_escola['ref_idpes']);
             $det_pessoa_ = $obj_pessoa_->detalhe();
             $nm_escola = $det_pessoa_['nome'];
         }
         $this->nm_escola = $nm_escola;
         $obj_endereco = new clsPessoaEndereco($det_escola["ref_idpes"]);
         if (class_exists("clsPessoaEndereco")) {
             $tipo = 1;
             $endereco_lst = $obj_endereco->lista($det_escola["ref_idpes"]);
             if ($endereco_lst) {
                 foreach ($endereco_lst as $endereco) {
                     $cep = $endereco["cep"]->cep;
                     $idlog = $endereco["idlog"]->idlog;
                     $obj = new clsLogradouro($idlog);
                     $obj_det = $obj->detalhe();
                     $logradouro = $obj_det["nome"];
                     $idtlog = $obj_det["idtlog"]->detalhe();
                     $tipo_logradouro = strtoupper($idtlog["descricao"]);
                     $bairro = $idbai = $endereco["idbai"]->detalhe();
                     $idbai = $idbai['nome'];
                     $numero = $endereco["numero"];
                     $complemento = $endereco["complemento"];
                     $andar = $endereco["andar"];
                 }
                 $obj_log = new clsLogradouro($idlog);
                 $obj_log_det = $obj_log->detalhe();
                 if ($obj_log_det) {
                     $logradouro = str2upper($obj_log_det["nome"]);
                     $obj_mun = new clsMunicipio($obj_log_det["idmun"]);
                     $det_mun = $obj_mun->detalhe();
                     if ($det_mun) {
                         $municipio = str2upper($det_mun["nome"]);
                     }
                     $estado = $det_mun['sigla_uf']->sigla_uf;
                 }
                 $cep = int2CEP($cep);
                 $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio} {$estado}";
             } else {
                 if (class_exists("clsEnderecoExterno")) {
                     $tipo = 2;
                     $obj_endereco = new clsEnderecoExterno();
                     $endereco_lst = $obj_endereco->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $det_escola["ref_idpes"]);
                     if ($endereco_lst) {
                         foreach ($endereco_lst as $endereco) {
                             $cep = $endereco["cep"];
                             $estado = $endereco["sigla_uf"]->sigla_uf;
                             $sigla_uf = $endereco["sigla_uf"]->detalhe();
                             $sigla_uf = $sigla_uf["nome"];
                             $cidade = $endereco["cidade"];
                             $idtlog = $endereco["idtlog"]->detalhe();
                             $tipo_logradouro = $idtlog["descricao"];
                             $logradouro = $endereco["logradouro"];
                             $bairro = $endereco["bairro"];
                             $numero = $endereco["numero"];
                             $complemento = $endereco["complemento"];
                             $andar = $endereco["andar"];
                             $municipio = str2upper($endereco['cidade']);
                             $bairro = str2upper($endereco_lst['bairro']);
                         }
                     }
                     $cep = int2CEP($cep);
                     $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero}{$bairro} CEP {$cep} {$municipio} - {$sigla_uf}";
                 }
             }
         }
     }
     if ($dt_nasc) {
         $nascimento = ", nascido(a) em {$dia} de {$meses[$mes]} de {$ano}";
     }
     if ($naturalidade) {
         $natural = " natural de {$naturalidade},";
         if ($naturalidade_uf) {
             $natural_uf = " Estado de(o) {$naturalidade_uf}";
         }
     }
     if ($nacionalidade) {
         $nacional = " de nacionalidade {$nacionalidade}";
     }
     $naturalidade = ", {$natural}{$natural_uf}{$nacional}";
     $gruda_pai = ", filho(a) de ";
     if ($nm_pai) {
         $pais = "{$gruda_pai}{$nm_pai}";
         $gruda_pai = " e de ";
     }
     if ($nm_mae) {
         $pais .= "{$gruda_pai}{$nm_mae}";
     }
     if ($sexo) {
         $sexo = ", do sexo {$sexo}";
     }
     if ($cod_matricula) {
         $cod_matricula = ", matrícula {$cod_matricula}";
     }
     $serie_concluiu = ", cursou em {$lst_historico_escolar[$ultima_mat]['ano']}, o(a) {$lst_historico_escolar[$ultima_mat]['nm_serie']} do Ensino Fundamental";
     $this->addCabecalho($nm_aluno, $cod_matricula, $naturalidade, $sexo, $nascimento, $pais, $serie_concluiu);
     //*************** FIM CABECALHO
     if ($lst_historico_escolar) {
         //*************** INICIO NOTAS
         $db = new clsBanco();
         /**
          * busca nome das series e fonetiza
          * para tentar remover duplicidades
          */
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t\t\t,sequencial\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NOT NULL THEN\n\t\t\t\t\t\t\t\t\t100::float -  (faltas_globalizadas::float / dias_letivos::float )::float * 100\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tcarga_horaria\n\t\t\t\t\t\t\t\tEND AS frequencia\n\t\t\t\t\t\t\t\t,CASE WHEN faltas_globalizadas IS NULL THEN\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t\tEND AS faltas_globalizadas\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $db->Consulta($consulta);
         if ($db->Num_Linhas()) {
             $series = array();
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 $registro['total_faltas'] = 0;
                 $series[] = $registro;
                 //['nm_serie'];
             }
             $serie_fonetizada = array();
             foreach ($series as $serie) {
                 $fonetiza = fonetiza_palavra($serie['nm_serie']);
                 $serie_fonetizada["{$fonetiza}"] = $serie;
             }
             $lst_series = array();
             foreach ($serie_fonetizada as $key => $serie) {
                 $lst_series[$key] = $serie;
                 $lst_series[$key]['nm_serie'] = $serie['nm_serie'];
                 $frequencia[$key] = $serie['frequencia'] != '' ? number_format($serie['frequencia'], 1, '.', '') . "%" : $serie['frequencia'];
             }
             $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t   FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t  WHERE ref_ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t\t  AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t  AND nm_disciplina != ''\n\t\t\t\t\t\t\t  AND nota IS NOT NULL\n\t\t\t\t\t\t\t  AND nota != ''\n\t\t\t\t\t\t\t ORDER BY 1";
             $db->Consulta($consulta);
             if ($db->Num_Linhas()) {
                 $disciplinas = array();
                 while ($db->ProximoRegistro()) {
                     $registro = $db->Tupla();
                     $disciplinas[] = $registro;
                 }
                 $disciplina_fonetizada = array();
                 foreach ($disciplinas as $disciplina) {
                     $fonetiza = fonetiza_palavra($disciplina['nm_disciplina']);
                     $disciplina_fonetizada["{$fonetiza}"] = $disciplina;
                 }
                 $lst_disciplinas = array();
                 foreach ($disciplina_fonetizada as $disciplina) {
                     $lst_disciplinas[] = $disciplina;
                 }
             }
             /**
              * cabecalho com todas as series
              */
             $this->novaLinha($lst_series, 's');
             $notas = array();
             $possui_eja = false;
             foreach ($lst_disciplinas as $key => $disciplina) {
                 foreach ($lst_series as $key2 => $serie) {
                     $consulta = "SELECT nm_disciplina\n\t\t\t\t\t\t\t\t\t       ,nota\n\t\t\t\t\t\t\t\t\t       ,faltas\n\t\t\t\t\t\t\t\t\t  FROM pmieducar.historico_disciplinas\n\t\t\t\t\t\t\t\t\t WHERE ref_ref_cod_aluno = {$this->ref_cod_aluno}\n\t\t\t\t\t\t\t\t\t   AND ref_sequencial = {$serie['sequencial']}\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nm_disciplina != ''\n\t\t\t\t\t\t\t\t\t   AND nota IS NOT NULL\n\t\t\t\t\t\t\t\t\t   AND nota != ''\n\t\t\t\t\t\t\t\t\tORDER BY 1";
                     $db->Consulta($consulta);
                     if ($db->Num_Linhas()) {
                         while ($db->ProximoRegistro()) {
                             $registro = $db->Tupla();
                             if (fonetiza_palavra($disciplina['nm_disciplina']) == fonetiza_palavra($registro['nm_disciplina'])) {
                                 if (is_numeric(substr($registro["nota"], 0, 1)) || is_numeric(substr($registro["nota"], strpos($registro["nota"], ",") + 1, 1))) {
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",", ".", $registro['nota']), 2, ".", '');
                                 } else {
                                     if ($extra_curricular) {
                                         $possui_eja = true;
                                     }
                                     $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = $registro["nota"];
                                 }
                                 //									$notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = number_format(str_replace(",",".",$registro['nota']),2,".",'');
                                 //$falta += $registro['faltas'];
                                 if (!$serie['faltas_globalizadas']) {
                                     $lst_series[$key2]['total_faltas'] += $registro['faltas'];
                                 }
                                 break;
                             } else {
                                 $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "- -";
                             }
                         }
                     } else {
                         $notas[fonetiza_palavra($disciplina['nm_disciplina'])][$serie['sequencial']] = "";
                     }
                 }
             }
             foreach ($notas as $key => $nota) {
                 $nota['nm_disciplina'] = $disciplina_fonetizada[$key]['nm_disciplina'];
                 $this->novaLinha($nota, 'n');
             }
         }
         //*************** FIM NOTAS
         //*************** FREQUENCIA
         foreach ($lst_series as $key => $serie) {
             if (!$serie['faltas_globalizadas']) {
                 $frequencia[$key] = 100 - $serie['total_faltas'] / $serie['frequencia'] * 100;
             }
             if ($frequencia[$key]) {
                 $frequencia[$key] .= "%";
             }
         }
         $this->novaLinha($frequencia, 'f');
         //*************** FREQUENCIA
         $this->page_y += 5;
         $this->cor_fundo = "";
         $this->linhaHistorico(array(), true);
         //*************** INICIO HISTORICO
         $consulta = "SELECT nm_serie\n\t\t\t\t\t\t        ,ano\n\t\t\t\t\t\t        ,escola\n\t\t\t\t\t\t        ,escola_cidade\n\t\t\t\t\t\t        ,escola_uf\n\t\t\t\t\t\t        ,CASE aprovado\n\t\t\t\t\t\t          \t  WHEN 1 THEN 'APROVADO'\n\t\t\t\t\t\t              WHEN 2 THEN 'REPROVADO'\n\t\t\t\t\t\t\t \t END\n\t\t\t\t\t\t\t \t,observacao\n\t\t\t\t\t\t   FROM pmieducar.historico_escolar\n\t\t\t\t\t\t  WHERE ref_cod_aluno = '{$this->ref_cod_aluno}'\n\t\t\t\t\t\t    AND ativo = 1\n\t\t\t\t\t\t  ORDER BY ano";
         $observacao = '';
         $db->Consulta($consulta);
         $qtd_observacoes = 0;
         if ($db->Num_Linhas()) {
             while ($db->ProximoRegistro()) {
                 $registro = $db->Tupla();
                 if ($registro[6]) {
                     $qtd_observacoes++;
                     $observacao .= "{$registro[1]} - {$registro[6]}\n";
                 }
                 $registro = array($registro[0], $registro[1], $registro[5], $registro[2], $registro[3], $registro[4]);
                 $this->linhaHistorico($registro);
             }
         }
         //*************** FIM HISTORICO
     }
     if ($qtd_observacoes < 3) {
         $this->observacao($observacao);
     } else {
         $this->observacao($observacao, 100);
     }
     if ($possui_eja) {
         $tabela_conversao = "\nConversão de Valores das Notas";
         $tabela_conversao .= "\nNRE - Necessita retomar os estudos - abaixo de 5,0";
         $tabela_conversao .= "\nEM   - Evidência Mínima  - 5,0 a 6,9";
         $tabela_conversao .= "\nEP   - Evidência Parcial - 7,0 a 8,4";
         $tabela_conversao .= "\nEC   - Evidência Completa - 8,5 a 10,0";
         $this->pdf->quadrado_relativo(20, $this->page_y + 5, 555, 50, 0.1, "#000000", "#FFFFFF");
         $this->pdf->escreve_relativo("{$tabela_conversao}", 23, $this->page_y + 3, 545, 60, $fonte, 8, $corTexto, 'justify');
         $this->page_y += 50;
     }
     $this->rodape(strtoupper("{$municipio} ({$estado})"));
     $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>";
     /*else
     		{
     
     			echo "<center>O aluno não possui Histórico Escolar!</center>"	;
     			echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');}</script>";
     			die();
     
     		}*/
 }
示例#3
0
/**
 * Prepare text with parenthesis for printing
 * Convert & to &amp; for xhtml compliance
 *
 * @param string $text to be printed
 */
function PrintReady($text, $InHeaders = false)
{
    global $query, $action, $firstname, $lastname, $place, $year, $DEBUG;
    global $TEXT_DIRECTION_array;
    // Check whether Search page highlighting should be done or not
    $HighlightOK = false;
    if (strstr($_SERVER["SCRIPT_NAME"], "search.php")) {
        // If we're on the Search page
        if (!$InHeaders) {
            //   and also in page body
            if (isset($query) and $query != "") {
                //   and the query isn't blank
                $HighlightOK = true;
                // It's OK to mark search result
            }
        }
    }
    //-- convert all & to &amp;
    $text = preg_replace("/&/", "&amp;", $text);
    //-- make sure we didn't double convert &amp; to &amp;amp;
    $text = preg_replace("/&amp;(\\w+);/", "&\$1;", $text);
    $text = trim($text);
    //-- if we are on the search page body, then highlight any search hits
    //		In this routine, we will assume that the input string doesn't contain any
    //		\x01 or \x02 characters.  We'll represent the <span class="search_hit"> by \x01
    //		and </span> by \x02.  We will translate these \x01 and \x02 into their true
    //		meaning at the end.
    //
    //		This special handling is required in case the user has submitted a multiple
    //		argument search, in which the second or later arguments can be found in the
    //		<span> or </span> strings.
    if ($HighlightOK) {
        if (isset($query)) {
            $queries = explode(" ", $query);
            $newtext = $text;
            $hasallhits = true;
            foreach ($queries as $index => $query1) {
                $query1esc = addcslashes($query1, '/');
                if (preg_match("/(" . $query1esc . ")/i", $text)) {
                    $newtext = preg_replace("/(" . $query1esc . ")/i", "\$1", $newtext);
                } else {
                    if (preg_match("/(" . str2upper($query1esc) . ")/", str2upper($text))) {
                        $nlen = strlen($query1);
                        $npos = strpos(str2upper($text), str2upper($query1));
                        $newtext = substr_replace($newtext, "", $npos + $nlen, 0);
                        $newtext = substr_replace($newtext, "", $npos, 0);
                    } else {
                        $hasallhits = false;
                    }
                }
            }
            if ($hasallhits) {
                $text = $newtext;
            }
        }
        if (isset($action) && $action === "soundex") {
            if (isset($firstname)) {
                $queries = explode(" ", $firstname);
                $newtext = $text;
                $hasallhits = true;
                foreach ($queries as $index => $query1) {
                    $query1esc = addcslashes($query1, '/');
                    if (preg_match("/(" . $query1esc . ")/i", $text)) {
                        $newtext = preg_replace("/(" . $query1esc . ")/i", "\$1", $newtext);
                    } else {
                        if (preg_match("/(" . str2upper($query1esc) . ")/", str2upper($text))) {
                            $nlen = strlen($query1);
                            $npos = strpos(str2upper($text), str2upper($query1));
                            $newtext = substr_replace($newtext, "", $npos + $nlen, 0);
                            $newtext = substr_replace($newtext, "", $npos, 0);
                        } else {
                            $hasallhits = false;
                        }
                    }
                }
                if ($hasallhits) {
                    $text = $newtext;
                }
            }
            if (isset($lastname)) {
                $queries = explode(" ", $lastname);
                $newtext = $text;
                $hasallhits = true;
                foreach ($queries as $index => $query1) {
                    $query1esc = addcslashes($query1, '/');
                    if (preg_match("/(" . $query1esc . ")/i", $text)) {
                        $newtext = preg_replace("/(" . $query1esc . ")/i", "\$1", $newtext);
                    } else {
                        if (preg_match("/(" . str2upper($query1esc) . ")/", str2upper($text))) {
                            $nlen = strlen($query1);
                            $npos = strpos(str2upper($text), str2upper($query1));
                            $newtext = substr_replace($newtext, "", $npos + $nlen, 0);
                            $newtext = substr_replace($newtext, "", $npos, 0);
                        } else {
                            $hasallhits = false;
                        }
                    }
                }
                if ($hasallhits) {
                    $text = $newtext;
                }
            }
            if (isset($place)) {
                $queries = explode(" ", $place);
                $newtext = $text;
                $hasallhits = true;
                foreach ($queries as $index => $query1) {
                    $query1esc = addcslashes($query1, '/');
                    if (preg_match("/(" . $query1esc . ")/i", $text)) {
                        $newtext = preg_replace("/(" . $query1esc . ")/i", "\$1", $newtext);
                    } else {
                        if (preg_match("/(" . str2upper($query1esc) . ")/", str2upper($text))) {
                            $nlen = strlen($query1);
                            $npos = strpos(str2upper($text), str2upper($query1));
                            $newtext = substr_replace($newtext, "", $npos + $nlen, 0);
                            $newtext = substr_replace($newtext, "", $npos, 0);
                        } else {
                            $hasallhits = false;
                        }
                    }
                }
                if ($hasallhits) {
                    $text = $newtext;
                }
            }
            if (isset($year)) {
                $queries = explode(" ", $year);
                $newtext = $text;
                $hasallhits = true;
                foreach ($queries as $index => $query1) {
                    $query1 = addcslashes($query1, '/');
                    if (preg_match("/(" . $query1 . ")/i", $text)) {
                        $newtext = preg_replace("/(" . $query1 . ")/i", "\$1", $newtext);
                    } else {
                        $hasallhits = false;
                    }
                }
                if ($hasallhits) {
                    $text = $newtext;
                }
            }
        }
        // All the "Highlight start" and "Highlight end" flags are set:
        //		Delay the final clean-up and insertion of proper <span> and </span>
        //		until parentheses, braces, and brackets have been processed
    }
    // Look for strings enclosed in parentheses, braces, or brackets.
    //
    // Parentheses, braces, and brackets have weak directionality and aren't handled properly
    // when they enclose text whose directionality differs from that of the page.
    //
    // To correct the problem, we need to enclose the parentheses, braces, or brackets with
    // zero-width characters (&lrm; or &rlm;) having a directionality that matches the
    // directionality of the text that is enclosed by the parentheses, etc.
    $charPos = 0;
    $lastChar = strlen($text);
    $newText = "";
    while (true) {
        if ($charPos > $lastChar) {
            break;
        }
        $thisChar = substr($text, $charPos, 1);
        $charPos++;
        if ($thisChar == "(" || $thisChar == "{" || $thisChar == "[") {
            $tempText = "";
            while (true) {
                $tempChar = "";
                if ($charPos > $lastChar) {
                    break;
                }
                $tempChar = substr($text, $charPos, 1);
                $charPos++;
                if ($tempChar == ")" || $tempChar == "}" || $tempChar == "]") {
                    break;
                }
                $tempText .= $tempChar;
            }
            //			$thisLang = whatLanguage($tempText);
            //			if (!isset($TEXT_DIRECTION_array[$thisLang]) || $TEXT_DIRECTION_array[$thisLang]=="ltr") {
            $newText .= "&lrm;" . $thisChar . $tempText . $tempChar . "&lrm;";
            //			} else {
            //				$newText .= "&rlm;" . $thisChar . $tempText. $tempChar . "&rlm;";
            //			   			}
        } else {
            $newText .= $thisChar;
        }
    }
    // Parentheses, braces, and brackets have been processed:
    //		Finish processing of "Highlight Start and "Highlight end"
    $newText = str_replace(array("", " ", "", ""), array("", " ", "<span class=\"search_hit\">", "</span>"), $newText);
    return $newText;
}
 function renderHTML()
 {
     $ok = false;
     if (is_numeric($_GET['cod_matricula'])) {
         $this->ref_cod_matricula = $_GET['cod_matricula'];
         $obj_mat = new clsPmieducarMatricula($this->ref_cod_matricula);
         $det_matricula = $obj_mat->detalhe();
         $this->nm_aluno = $det_matricula['nome_upper'];
         if ($det_matricula['aprovado'] == 4) {
             $ok = true;
         }
         $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
         $lst_transferencia = $obj_transferencia->lista(null, null, null, null, null, $this->ref_cod_matricula, null, null, null, null, null, 1, null, null, $det_matricula['ref_cod_aluno'], false);
         // verifica se existe uma solicitacao de transferencia INTERNA
         if (is_array($lst_transferencia)) {
             $ok = true;
         }
     }
     if (!$ok) {
         echo "<script>alert('Não é possível gerar atestado de freqüência para esta matrícula');window.location='educar_index.php';</script>";
         die('Não é possível gerar atestado de freqüência para esta matrícula');
     }
     $obj_curso = new clsPmieducarCurso($det_matricula['ref_cod_curso']);
     $det_curso = $obj_curso->detalhe();
     $obj_serie = new clsPmieducarSerie($det_matricula['ref_ref_cod_serie']);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $obj_instituicao = new clsPmieducarInstituicao($det_curso['ref_cod_instituicao']);
     $det_instituicao = $obj_instituicao->detalhe();
     $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     $obj_escola = new clsPmieducarEscola($det_matricula['ref_ref_cod_escola']);
     $det_escola = $obj_escola->detalhe();
     $this->nm_escola = $det_escola['nome'];
     $this->ref_cod_escola = $det_escola['cod_escola'];
     $obj_nivel_ensino = new clsPmieducarNivelEnsino($det_curso['ref_cod_nivel_ensino']);
     $det_nivel_ensino = $obj_nivel_ensino->detalhe();
     $this->nm_ensino = $det_nivel_ensino['nm_nivel'];
     $fonte = 'arial';
     $corTexto = '#000000';
     $this->pdf = new clsPDF("Atestado de Frequência - {$this->ano}", "Atestado de Frequência", "A4", "", false, false);
     $this->pdf->OpenPage();
     $obj_escola_complemento = new clsPmieducarEscolaComplemento($this->ref_cod_escola);
     $det_escola_complemento = $obj_escola_complemento->detalhe();
     if ($det_escola_complemento) {
         // NOME DA ESCOLA
         $nm_escola = str2upper($det_escola_complemento['nm_escola']);
         // ENDERECO DA ESCOLA
         $logradouro = str2upper($det_escola_complemento['logradouro']);
         $numero = $det_escola_complemento['numero'];
         $complemento = str2upper($det_escola_complemento['complemento']);
         $bairro = str2upper($det_escola_complemento['bairro']);
         $municipio = str2upper($det_escola_complemento['municipio']);
         $cep = $det_escola_complemento['cep'];
         $cep = int2CEP($cep);
         $this->endereco = "{$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio}";
     } else {
         $obj_escola = new clsPmieducarEscola($this->ref_cod_escola);
         $det_escola = $obj_escola->detalhe();
         $obj_juridica = new clsJuridica($det_escola['ref_idpes']);
         $det_juridica = $obj_juridica->detalhe();
         $nm_escola = $det_juridica['fantasia'];
         if (!$nm_escola) {
             if ($det_escola['ref_idpes']) {
                 $obj_pessoa_ = new clsPessoa_($det_escola['ref_idpes']);
                 $det_pessoa_ = $obj_pessoa_->detalhe();
                 $nm_escola = $det_pessoa_['nome'];
             }
         }
         $this->nm_escola = $nm_escola;
         $obj_endereco = new clsPessoaEndereco($det_escola["ref_idpes"]);
         if ($det_escola["ref_idpes"]) {
             $tipo = 1;
             $endereco_lst = $obj_endereco->lista($det_escola["ref_idpes"]);
             if ($endereco_lst) {
                 foreach ($endereco_lst as $endereco) {
                     $cep = $endereco["cep"]->cep;
                     $idlog = $endereco["idlog"]->idlog;
                     $obj = new clsLogradouro($idlog);
                     $obj_det = $obj->detalhe();
                     $logradouro = $obj_det["nome"];
                     $idtlog = $obj_det["idtlog"]->detalhe();
                     $tipo_logradouro = strtoupper($idtlog["descricao"]);
                     $bairro = $idbai = $endereco["idbai"]->detalhe();
                     $idbai = $idbai['nome'];
                     $numero = $endereco["numero"];
                     $complemento = $endereco["complemento"];
                     $andar = $endereco["andar"];
                 }
                 $obj_log = new clsLogradouro($idlog);
                 $obj_log_det = $obj_log->detalhe();
                 if ($obj_log_det) {
                     $logradouro = str2upper($obj_log_det["nome"]);
                     $obj_mun = new clsMunicipio($obj_log_det["idmun"]);
                     $det_mun = $obj_mun->detalhe();
                     if ($det_mun) {
                         $municipio = str2upper($det_mun["nome"]);
                     }
                     $estado = $det_mun['sigla_uf']->sigla_uf;
                 }
                 $cep = int2CEP($cep);
                 $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero} CEP {$cep} {$municipio} {$estado}";
             } else {
                 if (class_exists("clsEnderecoExterno")) {
                     $tipo = 2;
                     $obj_endereco = new clsEnderecoExterno();
                     $endereco_lst = $obj_endereco->lista(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, $det_escola["ref_idpes"]);
                     if ($endereco_lst) {
                         foreach ($endereco_lst as $endereco) {
                             $cep = $endereco["cep"];
                             $estado = $endereco["sigla_uf"]->sigla_uf;
                             $sigla_uf = $endereco["sigla_uf"]->detalhe();
                             $sigla_uf = $sigla_uf["nome"];
                             $cidade = $endereco["cidade"];
                             $idtlog = $endereco["idtlog"]->detalhe();
                             $tipo_logradouro = $idtlog["descricao"];
                             $logradouro = $endereco["logradouro"];
                             $bairro = $endereco["bairro"];
                             $numero = $endereco["numero"];
                             $complemento = $endereco["complemento"];
                             $andar = $endereco["andar"];
                             $municipio = str2upper($endereco['cidade']);
                             $bairro = str2upper($endereco_lst['bairro']);
                         }
                     }
                     $cep = int2CEP($cep);
                     $this->endereco = "{$tipo_logradouro} {$logradouro} {$complemento},{$numero}{$bairro} CEP {$cep} {$municipio} - {$sigla_uf}";
                 }
             }
         }
     }
     $this->addCabecalho();
     //titulo
     $this->pdf->escreve_relativo("Atestado de Freqüência", 30, 220, 535, 80, $fonte, 16, $corTexto, 'center');
     $texto = "Atesto para os devidos fins que o aluno {$this->nm_aluno}, código de aluno nº {$det_matricula['ref_cod_aluno']}, matriculado regularmente no {$this->nm_ensino}, frequentou a {$this->nm_serie} até a presente data.";
     $this->pdf->escreve_relativo($texto, 30, 350, 535, 80, $fonte, 14, $corTexto, 'justify');
     $mes = date('n');
     $mes = strtolower($this->meses_do_ano["{$mes}"]);
     $data = date('d') . " de {$mes} de " . date('Y');
     $this->pdf->escreve_relativo("Brasilia, {$data}", 30, 600, 535, 80, $fonte, 14, $corTexto, 'center');
     $this->rodape();
     $this->pdf->CloseFile();
     $this->get_link = $this->pdf->GetLink();
     //echo "<script>window.location='$this->get_link';</script>";
     //header("location:download.php?filename=".$this->get_link);
     //echo "location:download.php?filename=".$this->get_link;die;
     echo "<script>window.onload=function(){parent.EscondeDiv('LoadImprimir');window.location='download.php?filename=" . $this->get_link . "'}</script>";
     echo "<center><a target='blank' href='" . $this->get_link . "' style='font-size: 16px; color: #000000; text-decoration: underline;'>Clique aqui para visualizar o arquivo!</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>";
 }
示例#5
0
 if (!isset($_SESSION[$surname . "_firstalphafams"]) || $DEBUG) {
     $firstalpha = array();
     foreach ($tfamlist as $gid => $fam) {
         $names = preg_split("/[,+] ?/", $fam["name"]);
         $letter = str2upper(get_first_letter(trim($names[1])));
         if (!isset($firstalpha[$letter])) {
             if (isset($names[0]) && isset($names[1]) && $names[0] == $surname) {
                 $firstalpha[$letter] = array("letter" => $letter, "ids" => $gid);
             }
         } else {
             if ($names[0] == $surname) {
                 $firstalpha[$letter]["ids"] .= "," . $gid;
             }
         }
         if (isset($names[2]) && isset($names[3])) {
             $letter = str2upper(get_first_letter(trim($names[3])));
             if (!isset($firstalpha[$letter])) {
                 if ($names[2] == $surname) {
                     $firstalpha[$letter] = array("letter" => $letter, "ids" => $gid);
                 }
             } else {
                 if ($names[2] == $surname) {
                     $firstalpha[$letter]["ids"] .= "," . $gid;
                 }
             }
             // Make sure that the same gid is not already defined for the letter
         }
     }
     uasort($firstalpha, "lettersort");
     //-- put the list in the session so that we don't have to calculate this the next time
     $_SESSION[$surname . "_firstalphafams"] = $firstalpha;
示例#6
0
     print "</ul></td>\n";
     print "</tr><tr><td colspan=\"2\" align=\"center\">";
     if ($SHOW_MARRIED_NAMES) {
         print $pgv_lang["total_names"] . " " . $count . "<br />\n";
     }
     print $pgv_lang["total_indis"] . " " . $total_indis;
     print "<br />" . $pgv_lang["total_living"] . " {$total_living} -- " . $pgv_lang["total_dead"] . " {$indi_dead} -- " . $pgv_lang["total_not_born"] . " " . $indi_unborn;
     print "</td>\n";
 } else {
     //--- the list is really long so divide it up again by the first letter of the first name
     if ($firstname_alpha) {
         if (!isset($_SESSION[$surname . "_firstalpha"])) {
             $firstalpha = array();
             foreach ($tindilist as $gid => $indi) {
                 foreach ($indi["names"] as $indexval => $namearray) {
                     $letter = str2upper(get_first_letter($namearray[0]));
                     if (!isset($firstalpha[$letter])) {
                         $firstalpha[$letter] = array("letter" => $letter, "ids" => $gid);
                     } else {
                         $firstalpha[$letter]["ids"] .= "," . $gid;
                     }
                 }
             }
             uasort($firstalpha, "lettersort");
             //-- put the list in the session so that we don't have to calculate this the next time
             $_SESSION[$surname . "_firstalpha"] = $firstalpha;
         } else {
             $firstalpha = $_SESSION[$surname . "_firstalpha"];
         }
         print "<div class=\"center\">" . $pgv_lang["first_letter_fname"] . "<br />\n";
         foreach ($firstalpha as $letter => $list) {
 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;
     }
     $this->ref_cod_modulo = explode('-', $this->ref_cod_modulo);
     $this->ref_cod_modulo = array_pop($this->ref_cod_modulo);
     $fonte = 'arial';
     $corTexto = '#000000';
     if (empty($this->ref_cod_turma)) {
         echo '<script>
          alert("Erro ao gerar relatório!\\nNenhuma turma selecionada!");
          window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        </script>';
         return TRUE;
     }
     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($det_escola['ref_cod_instituicao']);
         $det_instituicao = $obj_instituicao->detalhe();
         $this->nm_instituicao = $det_instituicao['nm_instituicao'];
     }
     $obj_calendario = new clsPmieducarEscolaAnoLetivo();
     $lista_calendario = $obj_calendario->lista($this->ref_cod_escola, $this->ano, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     $obj_turma = new clsPmieducarTurma($this->ref_cod_turma);
     $det_turma = $obj_turma->detalhe();
     $this->nm_turma = $det_turma['nm_turma'];
     $obj_serie = new clsPmieducarSerie($this->ref_cod_serie);
     $det_serie = $obj_serie->detalhe();
     $this->nm_serie = $det_serie['nm_serie'];
     $obj_pessoa = new clsPessoa_($det_turma['ref_cod_regente']);
     $det = $obj_pessoa->detalhe();
     $this->nm_professor = $det['nome'];
     //
     $regraMapper = new RegraAvaliacao_Model_RegraDataMapper();
     $this->regra = $regraMapper->find($det_serie['regra_avaliacao_id']);
     if (!$lista_calendario) {
         echo '<script>
          alert("Escola não possui calendário definido para este ano");
          window.parent.fechaExpansivel(\'div_dinamico_\'+(window.parent.DOM_divs.length-1));
        </script>';
         return TRUE;
     }
     $obj = new clsPmieducarSerie();
     $obj->setOrderby('cod_serie, etapa_curso');
     $lista_serie_curso = $obj->lista(NULL, NULL, NULL, $this->ref_cod_curso, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao);
     $obj_curso = new clsPmieducarCurso($this->ref_cod_curso);
     $det_curso = $obj_curso->detalhe();
     $this->nm_curso = $det_curso['nm_curso'];
     // Seleciona os alunos da turma
     $obj_matricula_turma = new clsPmieducarMatriculaTurma();
     $obj_matricula_turma->setOrderby('nome_ascii');
     $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, $this->ref_cod_turma, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_escola, $this->ref_cod_instituicao, NULL, NULL, array(1, 2, 3), NULL, NULL, $this->ano, NULL, NULL, NULL, NULL, TRUE, NULL, NULL, TRUE, NULL, $this->semestre);
     $componentes = $array_disc = $array_cab = array();
     if ('f' == $this->tipo && $this->regra->get('tipoPresenca') == RegraAvaliacao_Model_TipoPresenca::GERAL) {
         $array_disc = $array_cab = array("FALTAS");
     } else {
         try {
             $componentes = App_Model_IedFinder::getComponentesTurma($this->ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_turma);
         } catch (App_Model_Exception $e) {
         }
     }
     if ($lst_matricula_turma) {
         $titulo = sprintf('Espelho de Notas Bimestral %dº Bimestre Ano %d', $this->ref_cod_modulo, $this->ano);
         $subtitulo = sprintf("%s\n%s\n%s\n%s -  Turma: %s             %s", $this->nm_instituicao, $this->nm_escola, $this->nm_curso, $this->nm_serie, $this->nm_turma, date('d/m/Y'));
         $relatorio = new relatorios($titulo, 210, FALSE, 'Espelho de Notas Bimestral', 'A4', $subtitulo);
         $relatorio->setMargem(20, 20, 50, 50);
         $relatorio->exibe_produzido_por = FALSE;
         if (0 == count($array_disc) && 0 < count($componentes)) {
             foreach ($componentes as $componente) {
                 $array_disc[$componente->id] = $componente;
                 $array_cab[] = str2upper($componente->abreviatura);
             }
             asort($array_disc);
             sort($array_cab);
         }
         $array_cab = array_merge(array('Cód.', 'Nome do Aluno'), $array_cab);
         $divisoes = array(40, 165);
         $divisoes_texto = array(40, 165);
         $tamanho_divisao = 32 + (10 - count($array_disc)) * 5;
         for ($ct = 0; $ct < 20; $ct++) {
             $divisoes[] = $tamanho_divisao;
             $divisoes_texto[] = $tamanho_divisao;
         }
         $relatorio->novalinha($array_cab, 0, 16, TRUE, 'arial', $divisoes, '#515151', '#D3D3D3', '#FFFFFF', FALSE, TRUE);
         foreach ($lst_matricula_turma as $matricula) {
             $boletim = new Avaliacao_Service_Boletim(array('matricula' => $matricula['ref_cod_matricula'], 'RegraDataMapper' => $regraMapper));
             $tam_fonte = NULL;
             $tam_linha = 16;
             $componentes = $boletim->getComponentes();
             foreach ($array_disc as $cid => $componente) {
                 // Presença geral, seleciona apenas a quantidade de faltas da etapa
                 if (0 == $cid) {
                     $faltas[$cid] = $boletim->getFalta($this->ref_cod_modulo);
                     break;
                 }
                 if (!in_array($cid, array_keys($componentes))) {
                     $notas[$cid] = 'D';
                     $faltas[$cid] = 'D';
                     continue;
                 }
                 $notas[$cid] = $boletim->getNotaComponente($cid, $this->ref_cod_modulo);
                 $faltas[$cid] = $boletim->getFalta($this->ref_cod_modulo, $cid);
             }
             // @todo WTF?!
             if (strlen($matricula['nome']) > 24) {
                 $matricula['nome'] = explode(' ', $matricula['nome']);
                 if (is_array($matricula['nome'])) {
                     $nome_aluno = array_shift($matricula['nome']);
                 }
                 if (is_array($matricula['nome'])) {
                     $nome_aluno .= ' ' . array_shift($matricula['nome']);
                 }
                 if (is_array($matricula['nome'])) {
                     $nome_aluno .= ' ' . array_pop($matricula['nome']);
                 }
                 $matricula['nome'] = $nome_aluno;
             }
             unset($array_val);
             $array_val = array();
             $array_val[] = $matricula['ref_cod_aluno'];
             $array_val[] = $matricula['nome'];
             foreach ($array_disc as $cid => $disc) {
                 if ($this->tipo == 'n') {
                     $array_val[] = $notas[$cid]->notaArredondada;
                     continue;
                 } else {
                     $array_val[] = $faltas[$cid]->quantidade;
                     continue;
                 }
                 $array_val[] = '';
             }
             $relatorio->novalinha($array_val, 0, $tam_linha, FALSE, 'arial', $divisoes_texto, '#515151', '#d3d3d3', '#FFFFFF', FALSE, TRUE, NULL, $tam_fonte);
         }
         $this->get_link = $relatorio->fechaPdf();
     }
     echo sprintf('
   <script>
     window.onload=function()
     {
       parent.EscondeDiv("LoadImprimir");
       window.location="download.php?filename=%s"
     }
   </script>', $this->get_link);
     echo sprintf('
   <html>
     <center>
       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>
       <span style="font-size: 10px;">
         Para visualizar os arquivos PDF, é necessário instalar o Adobe Acrobat Reader.<br>
         Clique na Imagem para Baixar o instalador<br><br>
         <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>
       </span>
     </center>
   </html>', $this->get_link);
 }
示例#8
0
    $mask = $mask . "1";
}
//echo($mask);
$i = base_convert($mask, 2, 10);
//echo($i);
while (1) {
    $mask = base_convert($i, 10, 2);
    $mask = fill_notset($mask, $len, "b");
    if (strlen($mask) > strlen($str) || $i < 0) {
        die;
    }
    //Regular
    $str = $origstr;
    for ($len = $origlen - 1; $len >= 0; $len--) {
        if (isset($mask[$len]) && $mask[$len] == "1") {
            $str[$len] = str2upper($str[$len]);
        }
    }
    echo $mask;
    echo "{$str}\n";
    /*/Reversed
      $mask = str_replace(array("0","1"), array("1","0"), $mask);
      $str = $origstr;
      for ($len = $origlen-1;$len>=0;$len--) {
        if(isset($mask[$len]) && $mask[$len] == "1") {
          $str[$len] = str2upper($str[$len]);
        }
      } //echo($mask);
      echo("$str\n");
      */
    $i--;