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(); }*/ }
/** * Prepare text with parenthesis for printing * Convert & to & 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 & $text = preg_replace("/&/", "&", $text); //-- make sure we didn't double convert & to &amp; $text = preg_replace("/&(\\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 (‎ or ‏) 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 .= "‎" . $thisChar . $tempText . $tempChar . "‎"; // } else { // $newText .= "‏" . $thisChar . $tempText. $tempChar . "‏"; // } } 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>"; }
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;
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); }
$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--;