From 01d18881fdc054f1c16dab3e32aebe9a6f9b901d Mon Sep 17 00:00:00 2001 From: Gelson Date: Wed, 29 Jul 2015 11:54:00 -0300 Subject: [PATCH] urbem_2.04.1 --- db.php | 2 +- gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/alteraAtributo.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/excluiAtributo.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/incluiAtributo.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/JSRelatorioCgm.js | 2 +- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/alteraCgm.php | 16 +++++++++------- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/consultaCgm.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/converteCgmInterno.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/excluiCgm.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgm.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgmInterno.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/interfaceCgm.class.php | 47 ++++++++++++++++++++++++++++++----------------- gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/relatorioCgm.php | 2 +- gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/FLManterBairro.php | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/FMManterBairro.php | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/JSManterBairro.js | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/LSManterBairro.php | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/OCManterBairro.php | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/PRManterBairro.php | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/index.php | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/FLManterLogradouro.php | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/FMManterLogradouro.php | 536 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/JSManterLogradouro.js | 398 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/LSManterLogradouro.php | 310 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/OCManterLogradouro.php | 743 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/PRManterLogradouro.php | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/index.php | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/CGM/popups/cgm/FMManterCgm.php | 2 +- gestaoAdministrativa/fontes/PHP/CGM/popups/cgm/JSManterCgm.js | 2 +- gestaoAdministrativa/fontes/PHP/CGM/popups/cgm/JSProcurarCgm.js | 2 +- gestaoAdministrativa/fontes/PHP/CGM/popups/cgm/OCManterCgm.php | 16 ++++++++-------- gestaoAdministrativa/fontes/PHP/CSE/cse/cidadao/alteraCidadaoMostra.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/cidadao/consultaCidadaoMostra.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/cidadao/incluiCidadao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/classTratamento/alteraClassTratamento.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/classTratamento/excluiClassTratamento.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/classTratamento/incluiClassTratamento.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/deficiencia/alteraDeficiencia.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/deficiencia/excluiDeficiencia.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/deficiencia/incluiDeficiencia.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/domicilio/alteraDomicilio.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/domicilio/consultaDomicilio.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/domicilio/incluiDomicilio.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/empresa/alteraEmpresa.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/empresa/excluiEmpresa.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/empresa/incluiEmpresa.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/exame/alteraExame.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/exame/excluiExame.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/exame/incluiExame.php | 2 +- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoEducacional/alteraInstituicao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoEducacional/excluiInstituicao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoEducacional/incluiInstituicao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoSaude/alteraInstituicaoSaude.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoSaude/excluiInstituicaoSaude.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/instituicaoSaude/incluiInstituicaoSaude.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/programa/alteraPrograma.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/programa/excluiPrograma.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/CSE/cse/programa/incluiPrograma.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/questoes/alteraQuestao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/questoes/excluiQuestao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/questoes/incluiQuestao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/relatorios/relatorioCidadao.php | 2 +- gestaoAdministrativa/fontes/PHP/CSE/cse/relatorios/relatorioExames.php | 2 +- gestaoAdministrativa/fontes/PHP/CSE/cse/tipoTratamento/alteraTipoTratamento.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/cse/tipoTratamento/excluiTipoTratamento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/CSE/cse/tipoTratamento/incluiTipoTratamento.php | 2 +- gestaoAdministrativa/fontes/PHP/CSE/cse/tratamento/alteraTratamento.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/tratamento/consultaPrescricoes.php | 6 +++--- gestaoAdministrativa/fontes/PHP/CSE/cse/tratamento/incluiTratamento.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/popups/Cidadao/procuraCidadao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/CSE/popups/domicilio/procuraDomicilio.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/agencia/alteraAgencia.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/agencia/excluiAgencia.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/agencia/incluiAgencia.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/banco/alteraBanco.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/banco/excluiBanco.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/banco/incluiBanco.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/departamento/alteraDepartamento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/departamento/excluiDepartamento.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/departamento/incluiDepartamento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/funcao/alteraFuncao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/administracao/administracao/funcao/excluiFuncao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/funcao/incluiFuncao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/gerais/configuracaoBasica.php | 234 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------- gestaoAdministrativa/fontes/PHP/administracao/administracao/impressoras/alteraImpressora.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/impressoras/consultaImpressora.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/impressoras/excluiImpressora.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/local/alteraLocal.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/local/excluiLocal.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/local/incluiLocal.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/orgaos/alteraOrgao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/orgaos/excluiOrgao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/orgaos/incluiOrgao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/LSOrganograma.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioAuditoria.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioAuditoriaMostra.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioLocais.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioPermissao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioUsuario.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/relatorios/relatorioUsuarioMostra.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/setor/alteraSetor.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/administracao/administracao/setor/excluiSetor.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/setor/incluiSetor.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/comunicado.php | 14 +++++++------- gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/editaMensagem.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/responsavelModulo.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/solicitaSuporte.php | 6 +++--- gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/statusSistema.php | 6 +++--- gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/alteraUnidade.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/excluiUnidade.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/incluiUnidade.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/defineImpressoras.php | 6 +++--- gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/definePermissoes.php | 24 ++++++++++++------------ gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/interfaceUsuario.class.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/validaDados.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/classes/componentes/IMontaAssinaturas.class.php | 4 ++-- gestaoAdministrativa/fontes/PHP/administracao/classes/mapeamento/TAdministracaoLogradouro.class.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- gestaoAdministrativa/fontes/PHP/administracao/instancias/assinaturas/JSManterAssinaturas.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/atributo/JSGerarFuncaoAtributo.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/atributo/JSManterAtributo.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/configuracao/JSManterAtributo.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/documentoDinamico/JSManterDocumentoDinamico.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSGerarFuncao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSManterFuncao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupAtribuicao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupAtribuicaoFuncao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupAtribuicaoSimples.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupAtribuicaoTrataErros.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupCondicao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupLaco.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSPopupRetorno.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/geradorcalculo/JSReplicarFuncao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/instancias/modeloDocumento/JSManterModeloDocumento.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/popups/acao/JSListarAcao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/popups/funcao/JSBuscarFuncao.js | 2 +- gestaoAdministrativa/fontes/PHP/administracao/popups/unidade_medida/JSBuscarUnidadeMedida.php | 2 +- gestaoAdministrativa/fontes/PHP/administracao/popups/usuario/JSProcurarUsuario.js | 2 +- gestaoAdministrativa/fontes/PHP/framework/URBEM/SistemaLegado.class.php | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------- gestaoAdministrativa/fontes/PHP/framework/URBEM/ajax.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/bancoDados/postgreSQL/Persistente.class.php | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- gestaoAdministrativa/fontes/PHP/framework/birt/classes/PreviewBirt.class.php | 14 +++++++------- gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Form.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Formulario.class.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/FormularioAbas.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/JavaScript.class.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Lista.class.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Ordenacao.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/componentes/PDF/DocumentoPDF.class.php | 8 -------- gestaoAdministrativa/fontes/PHP/framework/componentes/PDF/ListaPDF.class.php | 5 ++--- gestaoAdministrativa/fontes/PHP/framework/componentes/PDF/RRelatorio.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/componentes/Table/Grid.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/exportacao/ArquivoExportador.class.php | 14 +++++++++----- gestaoAdministrativa/fontes/PHP/framework/exportacao/ArquivoExportadorBlocoColuna.class.php | 38 +++++++++++++++++++++++++++++++++++--- gestaoAdministrativa/fontes/PHP/framework/include/cabecalho.inc.php | 6 +++--- gestaoAdministrativa/fontes/PHP/framework/instancias/index/index2.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/instancias/index/logoutfecha.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/instancias/index/mensagem.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/instancias/index/menu.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/framework/instancias/index/msgs.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/instancias/index/ocLogin.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/legado/botoesPdfLegado.class.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/framework/legado/cabecalho.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/framework/legado/data0100Legado.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/legado/filtrosAndamentoPadraoLegado.inc.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCALegado.inc.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCA_ApensarProcessoLegado.inc.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/filtrosLOLegado.inc.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/filtrosSELegado.inc.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/legado/funcoesLegado.lib.php | 20 ++++++++++---------- gestaoAdministrativa/fontes/PHP/framework/legado/imagens/copiaDigitalLegado.php | 16 ++++++++-------- gestaoAdministrativa/fontes/PHP/framework/legado/imagens/uploadImageLegado.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/impressorasLegado.class.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/legado/interfaceHtmlLegada.class.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/pdf/alerta.inc.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/framework/legado/pdf/imprimePdfLegado.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/legado/pdf/relatorioPdfLegado.class.php | 15 ++++----------- gestaoAdministrativa/fontes/PHP/framework/legado/sistema.class.php | 9 ++------- gestaoAdministrativa/fontes/PHP/framework/legado/valida/validacaoLegada.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/mpdf/CHANGES 5.7.3.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/framework/mpdf/CHANGES 5.7.4.txt | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoAdministrativa/fontes/PHP/framework/mpdf/README.txt | 5 +---- gestaoAdministrativa/fontes/PHP/framework/mpdf/classes/barcode.php | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------ gestaoAdministrativa/fontes/PHP/framework/mpdf/classes/cssmgr.php | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- gestaoAdministrativa/fontes/PHP/framework/mpdf/classes/svg.php | 898 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoAdministrativa/fontes/PHP/framework/mpdf/compress.php | 2 +- gestaoAdministrativa/fontes/PHP/framework/mpdf/config.php | 6 +++--- gestaoAdministrativa/fontes/PHP/framework/mpdf/includes/functions.php | 7 ++++--- gestaoAdministrativa/fontes/PHP/framework/mpdf/mpdf.php | 9443 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoAdministrativa/fontes/PHP/framework/popups/alerta/alerta.php | 14 +++++++------- gestaoAdministrativa/fontes/PHP/framework/popups/alerta/alertaGenerico.php | 14 +++++++------- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/bem/alerta.inc.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/framework/popupsLegado/bem/procuraBem.php | 6 +++--- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/empenho/JSEmpenho.js | 2 +- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/materialSiam/JSMaterialSiam.js | 2 +- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/planoConta/JSPlanoConta.js | 2 +- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/setor/procuraSetor.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/popupsLegado/veiculo/procuraVeiculo.php | 4 ++-- gestaoAdministrativa/fontes/PHP/framework/temas/padrao/imagens/botao_expandir15px.png | Bin 311 -> 0 bytes gestaoAdministrativa/fontes/PHP/framework/temas/padrao/imagens/botao_retrair15px.png | Bin 310 -> 0 bytes gestaoAdministrativa/fontes/PHP/normas/instancias/norma/JSConsultarNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/normas/instancias/norma/JSManterNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/normas/instancias/processamento/JSIBuscaInnerNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/normas/instancias/tipoNorma/JSManterTipoNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/normas/popups/normas/JSManterNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/normas/popups/normas/JSNorma.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/local/JSManterLocal.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/organograma/JSManterOrganograma.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/organograma/JSVisualizarOrganograma.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/orgao/FMConsultarOrgao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/organograma/instancias/orgao/FMManterOrgao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/organograma/instancias/orgao/JSConsultarOrgao.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/orgao/JSInativarOrgao.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/orgao/JSManterOrgao.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/instancias/relatorio/JSRelatorioOrgao.js | 2 +- gestaoAdministrativa/fontes/PHP/organograma/popups/organograma/JSVisualizarPopUpOrganograma.js | 2 +- gestaoAdministrativa/fontes/PHP/pacotes/GPC.inc.php | 10 ++++++++++ gestaoAdministrativa/fontes/PHP/protocolo/instancias/assunto/JSManterAssunto.js | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/instancias/processo/JSManterProcesso.js | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/popups/documento/JSDocumentoProcesso.js | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/popups/processo/JSBuscaProcessos.js | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/andamentoPadrao/alteraAndamentoPadrao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/andamentoPadrao/consultaAndamentoPadrao.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/andamentoPadrao/excluiAndamentoPadrao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/andamentoPadrao/incluiAndamentoPadrao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/assunto/alteraAssunto.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/assunto/excluiAssunto.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/assunto/incluiAssunto.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/atributo/alteraAtributo.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/atributo/excluiAtributo.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/atributo/incluiAtributo.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/classificacao/alteraClassificacao.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/classificacao/excluiClassificacao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/classificacao/incluiClassificacao.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/configuracao/configuracaoProtocolo.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/documento/alteraDocumento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/documento/excluiDocumento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/documento/incluiDocumento.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/historicoPadrao/alteraHistoricoArquivamento.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/historicoPadrao/excluiHistoricoArquivamento.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/historicoPadrao/incluiHistoricoArquivamento.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/LSManterProcessoEmLote.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/alteraDespacho.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/alteraProcesso.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/anexaProcesso.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/anexo.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/apensaProcesso.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/arquivaProcesso.php | 16 ++++++++-------- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/cancelaEncaminhamento.php | 10 +++++----- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/consultaDocumentos.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/consultaProcesso.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/consultaProcessoDespacho.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/desapensaProcesso.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/desarquivaProcesso.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/despachaProcesso.php | 14 +++++++------- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/encaminhaProcesso.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/encaminhaProcessoLote.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/exibeAnexo.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/imprimeReciboEntrega.php | 16 ++++++++-------- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/imprimeReciboProcesso.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/incluiDespacho.php | 12 ++++++------ gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/interfaceProcessos.class.php | 36 ++++++++++++++++++------------------ gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/recebeProcesso.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/recebeProcessoLote.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/reimprimeReciboProcesso.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/processos/validaCodigo.php | 2 +- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/relatorio/relatorioAssunto.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/relatorio/relatorioProcesso.php | 8 ++++---- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/relatorio/relatorioVolume.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/situacaoProcesso/alteraSituacaoProcesso.php | 6 +++--- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/situacaoProcesso/excluiSituacaoProcesso.php | 4 ++-- gestaoAdministrativa/fontes/PHP/protocolo/protocolo/situacaoProcesso/incluiSituacaoProcesso.php | 6 +++--- gestaoAdministrativa/fontes/PLPGSQL/framework/concatenarArray.plsql | 2 +- gestaoAdministrativa/fontes/RPT/framework/MPDF/LHCabecalho.php | 2 +- gestaoAdministrativa/fontes/RPT/framework/MPDF/LHRodape.php | 8 +------- gestaoAdministrativa/fontes/RPT/framework/MPDF/style.css | 30 ++++++++++++++++++++++++------ gestaoAdministrativa/fontes/SQL/GA_2041.sql | 262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoFinanceira/fontes/PHP/LRF/instancias/tceRS/JSAjustesModelos.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/classes/mapeamento/TContabilidadePlanoConta.class.php | 29 ++++++++++++++++++----------- gestaoFinanceira/fontes/PHP/contabilidade/classes/negocio/RContabilidadeLancamentoValor.class.php | 4 ++-- gestaoFinanceira/fontes/PHP/contabilidade/instancias/arrecadacaoReceita/JSArrecadarReceita.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/arrecadacaoReceita/JSArrecadarReceitaBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/arrecadacaoReceita/JSManterBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/configuracao/JSConfigurarContaContabilRestosAPagarNP.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/configuracao/JSConfigurarLancamentosDespesa.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/configuracao/JSConfigurarLancamentosReceita.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/configuracao/JSManterDesdobramentoReceita.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/configuracao/JSManterNotasExplicativas.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/encerramento/PRAnularRestosAPagar.php | 4 ++-- gestaoFinanceira/fontes/PHP/contabilidade/instancias/encerramento/PRLancamentosEncerramento.php | 6 +++--- gestaoFinanceira/fontes/PHP/contabilidade/instancias/lancamentoContabil/FMImplantarSaldo.php | 22 +++++++++++----------- gestaoFinanceira/fontes/PHP/contabilidade/instancias/lancamentoContabil/JSAberturaOrcamentoAnual.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/lancamentoContabil/JSImplantarSaldo.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/lancamentoContabil/JSManterLancamento.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/lancamentoContabil/JSManterLancamentoPartidaDobrada.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/planoConta/JSEncerrarConta.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/planoConta/JSManterPlanoConta.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/instancias/relatorio/FLDemoVariacoesPatrimoniais.php | 21 +++++++++++++++++---- gestaoFinanceira/fontes/PHP/contabilidade/instancias/relatorio/OCGeraRelatorioDemoVariacoesPatrimoniais.php | 46 ++++++++++++++++++++++++++++------------------ gestaoFinanceira/fontes/PHP/contabilidade/popups/historicoPadrao/JSHistoricoPadrao.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/popups/planoConta/JSContaSintetica.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/popups/planoConta/JSPlanoConta.js | 2 +- gestaoFinanceira/fontes/PHP/contabilidade/popups/planoContaEntidade/JSPlanoContaEntidade.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/classes/mapeamento/TEmpenhoOrdemPagamento.class.php | 501 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------- gestaoFinanceira/fontes/PHP/empenho/classes/negocio/REmpenhoOrdemPagamento.class.php | 27 ++++++++++++++++++++++++++- gestaoFinanceira/fontes/PHP/empenho/instancias/adiantamentos/JSManterAdiantamentosSubvencoes.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/autorizacao/JSConsultarAutorizacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/autorizacao/JSDuplicarAutorizacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/autorizacao/JSManterAutorizacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/autorizacao/JSManterAutorizacaoLicitacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/configuracao/JSManterDespesasMensaisFixas.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/configuracao/JSManterPermissao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/JSAnularEmpenho.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/JSConsultarEmpenho.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/JSManterDespesasMensaisFixas.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/JSManterEmpenho.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/PRManterDespesasMensaisFixas.php | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/PRManterEmpenho.php | 4 ++-- gestaoFinanceira/fontes/PHP/empenho/instancias/empenho/PRManterEmpenhoDiversos.php | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/liquidacao/JSAnularLiquidacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/liquidacao/JSConsultarLiquidacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/liquidacao/JSManterLiquidacao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/liquidacao/PRManterLiquidacao.php | 8 ++++---- gestaoFinanceira/fontes/PHP/empenho/instancias/manutencao/JSManutencaoDatas.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/ordemPagamento/JSConsultarOrdemPagamento.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/ordemPagamento/JSManterEstornoPagamentoOrdem.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/ordemPagamento/JSManterOrdemPagamento.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/ordemPagamento/JSManterPagamentoOrdem.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/instancias/ordemPagamento/PRManterOrdemPagamento.php | 26 +++++++------------------- gestaoFinanceira/fontes/PHP/empenho/popups/empenho/FLProcurarEmpenho.php | 2 +- gestaoFinanceira/fontes/PHP/empenho/popups/empenho/JSEmpenho.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/popups/historicoPadrao/JSHistoricoPadrao.js | 2 +- gestaoFinanceira/fontes/PHP/empenho/popups/ordemPagamento/FLOrdemPagamento.php | 13 +++++++++++++ gestaoFinanceira/fontes/PHP/empenho/popups/ordemPagamento/LSOrdemPagamento.php | 33 ++++++++++++++++++++++++++------- gestaoFinanceira/fontes/PHP/exportacao/instancias/tcePB/FLExportacaoPrincipais.php | 1 - gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterAjustesEmpenho.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterRelacaoDespesa.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterRelacaoFundamento.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterRelacaoReceita.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterRelacaoRecurso.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRJ/JSManterRelacaoTipoAlteracao.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/FLExportacaoPrincipais.php | 1 - gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSExportacaoAuxiliares.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSExportacaoExercicioAnterior.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSExportacaoPrincipais.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSExportacaoRelacionamento.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSManterCredor.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSManterExtra.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceRS/JSManterUniOrcam.js | 2 +- gestaoFinanceira/fontes/PHP/exportacao/instancias/tceSC/JSParametrosEsfinge.js | 2 +- gestaoFinanceira/fontes/PHP/ldo/instancias/configuracao/JSManterDespesaContinua.php | 2 +- gestaoFinanceira/fontes/PHP/orcamento/classes/mapeamento/FOrcamentoConsolidadoElemDesp.class.php | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSAnularSuplementacao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSConsultarSuplementacoes.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterAnulacao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterAuxConvenio.js | 4 ++-- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterExcesso.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterExtraordinario.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterOpCredito.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterReducao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterSuperavit.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSManterTransferencia.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSReabrirEspecial.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/alteracaoOrcamento/JSReabrirExtraordinario.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/classFuncional/JSFuncao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/classFuncional/JSPAO.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/classFuncional/JSSubFuncao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/classInstitucional/JSEntidade.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/configuracao/JSConfiguracao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/configuracao/JSResponsavelTecnico.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/destinacaoRecursos/JSContaDestinacao.php | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/dotacao/JSConsultaSaldos.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSDedutora.js | 4 ++-- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSDespesa.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSDespesaAcao.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSGerarExercicioSeguinte.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSMetasDespesa.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSMetasReceita.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/JSReceita.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/LSMetasDespesa.php | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/elaboracaoOrcamento/LSMetasReceita.php | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/recurso/JSContaRecurso.php | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo1.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo2Despesa.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo2Receita.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo6.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo7.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo8.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexo9.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/JSAnexoDetalhamento.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/relatorio/OCGeraRelatorioBalanceteDespesa.php | 4 ++-- gestaoFinanceira/fontes/PHP/orcamento/instancias/reservaSaldos/JSManterReservaSaldos.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/reservaSaldos/JSReservaSaldos.js | 2 +- gestaoFinanceira/fontes/PHP/orcamento/instancias/reservaSaldos/PRManterReservaSaldos.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/acao/JSManterAcao.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/configuracao/JSElaborarEstimativaReceita.js | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/configuracao/JSManterConfiguracao.js | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/consultas/JSConsultarAcao.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/consultas/JSConsultarPrograma.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/montaOrgaoUnidade/JSMontaOrgaoUnidade.js | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/produtos/JSManterProdutos.js | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/produtos/JSManterProdutos.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/programas/JSManterPrograma.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/regioes/JSManterRegioes.js | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/regioes/JSManterRegioes.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/relatorios/JSRelatorioAcao.php | 2 +- gestaoFinanceira/fontes/PHP/ppa/instancias/relatorios/JSRelatorioPrograma.php | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/classes/componentes/IAppletAutenticacao.class.php | 4 ++-- gestaoFinanceira/fontes/PHP/tesouraria/classes/componentes/IAppletTerminal.class.php | 4 ++-- gestaoFinanceira/fontes/PHP/tesouraria/classes/negocio/RTesourariaRelatorioBorderoPagamento.class.php | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/arrecadacao/JSManterArrecadacaoBanco.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/arrecadacao/JSManterArrecadacaoCarne.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/arrecadacao/JSManterArrecadacaoReceita.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/arrecadacao/JSManterArrecadacaoReceitaExtra.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/boletim/JSAbrirBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/boletim/JSManterBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/boletim/JSManterLiberacaoBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/boletim/JSReabrirMultiploBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/bordero/JSManterBorderoTransferencia.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/conciliacao/JSManterConciliacao.js | 4 ++-- gestaoFinanceira/fontes/PHP/tesouraria/instancias/conciliacao/JSManterConciliacaoCC.js | 4 ++-- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSDetalhamentoReceitas.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSFechamentoTerminal.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSImplantarSaldo.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSManterConfiguracao.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSManterReceitas.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSManterTerminal.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/JSReaberturaTerminal.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/configuracao/PRManterReceitas.php | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/FMManterBorderoPagamento.php | 26 +++++++++++--------------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/JSConsultarBordero.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/JSManterBorderoPagamento.js | 9 +-------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/JSManterPagamento.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/OCGeraRelatorioBorderoPagamento.php | 26 ++++++++++++++++++++------ gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/OCManterBorderoPagamento.php | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/OCRelatorioBordero.php | 58 +++++++++++++++++++++++++++++++++++----------------------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/OCRelatorioBorderoPagamento.php | 5 ++++- gestaoFinanceira/fontes/PHP/tesouraria/instancias/pagamentos/PRManterBorderoPagamento.php | 50 +++++++++++++------------------------------------- gestaoFinanceira/fontes/PHP/tesouraria/instancias/reciboDespesaExtra/FMReciboDespesaExtra.php | 6 +++++- gestaoFinanceira/fontes/PHP/tesouraria/instancias/reciboDespesaExtra/JSReciboDespesaExtra.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/reciboReceitaExtra/JSReciboReceitaExtra.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/reciboReceitaExtra/PRReciboReceitaExtra.php | 12 ------------ gestaoFinanceira/fontes/PHP/tesouraria/instancias/relatorio/JSEmitirBoletim.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/relatorio/JSExtratoContaCorrente.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/saldoTesouraria/JSConsultarSaldo.js | 4 ++-- gestaoFinanceira/fontes/PHP/tesouraria/instancias/transferencia/JSManterDepositoRetirada.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/instancias/transferencia/JSManterTransferencia.js | 2 +- gestaoFinanceira/fontes/PHP/tesouraria/popups/receitas/popup.php | 4 ++-- gestaoFinanceira/fontes/PLPGSQL/contabilidade/balancoPatrimonialPatrimonioLiquido.plsql | 15 ++++++++++++--- gestaoFinanceira/fontes/PLPGSQL/contabilidade/relatorioVariacaoPatrimonial.plsql | 270 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------- gestaoFinanceira/fontes/PLPGSQL/contabilidade/relatorioVariacaoPatrimonialEstrutural.plsql | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoFinanceira/fontes/RPT/contabilidade/report/design/demonstrarVariacoesPatrimoniais.rptdesign | 5 ++--- gestaoFinanceira/fontes/RPT/contabilidade/report/design/demonstrarVariacoesPatrimoniaisEstrutural.rptdesign | 1687 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoFinanceira/fontes/RPT/tesouraria/MPDF/LHRelatorioBorderoPagamento.php | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoFinanceira/fontes/SQL/GF_1910.sql | 2 +- gestaoFinanceira/fontes/SQL/GF_1951.sql | 2 +- gestaoFinanceira/fontes/SQL/GF_2041.sql | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/almoxarife/JSManterAlmoxarife.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/catalogo/FMManterCatalogo.php | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/catalogo/FMManterClassificacao.php | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/catalogo/JSManterCatalogo.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/catalogo/JSManterClassificacao.js | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/catalogo/JSManterItem.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/centroCusto/FMDefinirPermissao.php | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/centroCusto/JSDefinirPermissao.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/centroCusto/JSManterCentroCusto.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/FMMovimentacaoTransferencia.php | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/JSMovimentacaoDiversa.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/JSMovimentacaoOrdemCompra.js | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/JSMovimentacaoRequisicao.js | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/JSMovimentacaoTransferencia.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/PRMovimentacaoRequisicao.php | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/entrada/PRMovimentacaoTransferencia.php | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/implantacao/JSProcessarImplantacao.js | 4 ++-- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/localizacao/JSManterLocalizacao.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/notaTransferencia/JSManterNotaTransferencia.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/relatorio/JSItensEstoque.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/relatorio/JSMovimentacaoEstoque.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/instancias/saida/JSEstornoEntrada.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/popups/almoxarife/JSProcurarAlmoxarife.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/popups/catalogo/JSManterItem.js | 2 +- gestaoPatrimonial/fontes/PHP/almoxarifado/popups/saida/PRValidaUsuario.php | 2 +- gestaoPatrimonial/fontes/PHP/compras/classes/componentes/IMontaSolicitacao.class.php | 53 +++++++++++++++++++++++++++++++++++++++++++++++------ gestaoPatrimonial/fontes/PHP/compras/classes/mapeamento/TComprasMapa.class.php | 425 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPatrimonial/fontes/PHP/compras/classes/mapeamento/TComprasMapaItem.class.php | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------- gestaoPatrimonial/fontes/PHP/compras/classes/mapeamento/TComprasSolicitacao.class.php | 16 ++++++++++------ gestaoPatrimonial/fontes/PHP/compras/classes/mapeamento/TComprasSolicitacaoItem.class.php | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------ gestaoPatrimonial/fontes/PHP/compras/instancias/compraDireta/FMConsultaCompraDireta.php | 2 +- gestaoPatrimonial/fontes/PHP/compras/instancias/compraDireta/FMManterCompraDireta.php | 4 ++-- gestaoPatrimonial/fontes/PHP/compras/instancias/contrato/JSManterContrato.js | 2 +- gestaoPatrimonial/fontes/PHP/compras/instancias/cotacaoPreco/JSManterCotacaoPreco.js | 2 +- gestaoPatrimonial/fontes/PHP/compras/instancias/fornecedor/JSManterFornecedor.js | 2 +- gestaoPatrimonial/fontes/PHP/compras/instancias/mapaCompras/FMManterMapaComprasAbaMapa.php | 38 ++++++++++++++++++++------------------ gestaoPatrimonial/fontes/PHP/compras/instancias/mapaCompras/FMManterMapaComprasConsulta.php | 11 +++++++++-- gestaoPatrimonial/fontes/PHP/compras/instancias/mapaCompras/OCManterMapaCompras.php | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/mapaCompras/PRManterMapaCompras.php | 56 +++++++++++++++++++++++++++++--------------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/notaCompra/JSManterNotaCompra.js | 2 +- gestaoPatrimonial/fontes/PHP/compras/instancias/processamento/OCIMontaDotacaoDesdobramento.php | 6 +++--- gestaoPatrimonial/fontes/PHP/compras/instancias/processamento/OCIMontaSolicitacao.php | 65 +++++++++++++++++++++++++++++++++++++++++------------------------ gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/FMManterHomologacaoSolicitacaoCompra.php | 43 +++++++++++++++++++++++++++---------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/FMManterSolicitacaoCompra.php | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/FMManterSolicitacaoCompraConsulta.php | 9 ++++++++- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/FMRelatorioManterSolicitacaoCompra.php | 26 +++++++++++++------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/JSManterSolicitacaoCompra.js | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------ gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/OCManterHomologacaoSolicitacaoCompra.php | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/OCManterSolicitacaoCompra.php | 640 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/PRManterHomologacaoSolicitacaoCompra.php | 75 +++++++++++++++++++++++++++++++++++++++++---------------------------------- gestaoPatrimonial/fontes/PHP/compras/instancias/solicitacaoCompra/PRManterSolicitacaoCompra.php | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------ gestaoPatrimonial/fontes/PHP/compras/popups/mapaCompras/FLBuscaMapaCompras.php | 17 ----------------- gestaoPatrimonial/fontes/PHP/compras/popups/mapaCompras/JSBuscaMapaCompras.js | 2 +- gestaoPatrimonial/fontes/PHP/compras/popups/mapaCompras/LSBuscaMapaCompras.php | 11 ++--------- gestaoPatrimonial/fontes/PHP/compras/popups/mapaCompras/OCBuscaMapaCompras.php | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- gestaoPatrimonial/fontes/PHP/compras/popups/solicitacao/LSManterSolicitacao.php | 48 ++++++++++++++++++++++++++---------------------- gestaoPatrimonial/fontes/PHP/frota/instancias/transporte_escolar/JSManterTransporteEscolar.js | 2 +- gestaoPatrimonial/fontes/PHP/frota/instancias/veiculo/JSManterRetirarVeiculo.js | 4 ++-- gestaoPatrimonial/fontes/PHP/frota/instancias/veiculo/OCManterVeiculo.php | 10 +++++----- gestaoPatrimonial/fontes/PHP/frota/popups/item/JSManterItem.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/classes/mapeamento/TLicitacaoEdital.class.php | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/classes/mapeamento/TLicitacaoParticipante.class.php | 6 +++++- gestaoPatrimonial/fontes/PHP/licitacao/instancias/autorizacao/LSManterAutorizacao.php | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------ gestaoPatrimonial/fontes/PHP/licitacao/instancias/comissaoLicitacao/JSManterComissaoLicitacao.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/contrato/FMManterAditivoContrato.php | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/contrato/JSManterContrato.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/contrato/JSManterPublicacaoContrato.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/convenios/FLManterConvenios.php | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/convenios/FMManterAditivoConvenio.php | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/convenios/FMManterConvenios.php | 6 +++--- gestaoPatrimonial/fontes/PHP/licitacao/instancias/convenios/JSManterConvenios.js | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/fornecedores/JSManterCertificacao.js | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/fornecedores/JSManterPenalidadeFornecedor.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/homologacao/JSManterHomologacao.php | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/FLManterHabilitacaoParticipante.php | 19 ++++++++++++++++++- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/FMManterJulgamentoProposta.php | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/FMManterManutencaoProposta.php | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/FMManterProcessoLicitatorio.php | 49 ++++++++++++++++++++++++++++--------------------- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterEdital.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterImpugnacaoEdital.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterJulgamentoProposta.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterManutencaoParticipante.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterManutencaoProposta.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterProcessoLicitatorio.js | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/JSManterSuspensaoEdital.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/LSManterHabilitacaoParticipante.php | 4 ++++ gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/OCManterProcessoLicitatorio.php | 418 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPatrimonial/fontes/PHP/licitacao/instancias/processoLicitatorio/PRManterProcessoLicitatorio.php | 6 +++--- gestaoPatrimonial/fontes/PHP/licitacao/instancias/publicidade/JSManterVeiculosPublicidade.js | 4 ++-- gestaoPatrimonial/fontes/PHP/licitacao/popups/processoLicitatorio/JSBuscaNumeroAta.js | 2 +- gestaoPatrimonial/fontes/PHP/licitacao/popups/processoLicitatorio/JSBuscaNumeroEdital.js | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/classes/mapeamento/FPatrimonioDepreciacaoAutomatica.class.php | 11 ++++++----- gestaoPatrimonial/fontes/PHP/patrimonio/classes/mapeamento/FPatrimonioReavaliacaoDepreciacaoAutomatica.class.php | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPatrimonial/fontes/PHP/patrimonio/instancias/apolice.class.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/bem/FLDepreciacaoAutomatica.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/bem/OCManterBem.php | 26 +++++++++++++++++++++----- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/bem/PRDepreciacaoAutomatica.php | 62 +++++++++++++++++++++++++++++++++++++++++++++++--------------- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/inventario/JSImportarColetora.js | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/FLFichaPatrimonial.php | 17 ++++++++++++++++- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/OCGeraFichaPatrimonial.php | 5 +++-- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/RCustomizavel.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/apoliceSeguros.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/apoliceSegurosVencer.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/instancias/relatorio/financeiraNatureza.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/apolice.class.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/apolice/alteraApolice.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/apolice/excluiApolice.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/apolice/incluiApolice.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/JSIncluiBem.js | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/alteraSituacao.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/consultaBens.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/excluiBaixa.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/interfaceBens.class.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/listarBens.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bens/transfereBens.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bensSegurados/excluiBens.php | 10 +++++----- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/bensSegurados/incluiBens.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/alteraAtributo.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/alteraEspecie.php | 14 +++++++------- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/alteraGrupo.php | 12 ++++++------ gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/alteraNatureza.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/alteraSituacao.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/configuracaoBasica.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/excluiAtributo.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/excluiEspecie.php | 12 ++++++------ gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/excluiGrupo.php | 10 +++++----- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/excluiNatureza.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/excluiSituacao.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/incluiAtributo.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/incluiEspecie.php | 10 +++++----- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/incluiGrupo.php | 10 +++++----- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/incluiNatureza.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/configuracao/incluiSituacao.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/manutencao/agendaManutencao.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/manutencao/alteraAgendamento.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/manutencao/excluiManutencao.php | 8 ++++---- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/manutencao/incluiManutencao.php | 6 +++--- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/RCustomizavel.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/apoliceSeguros.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/apoliceSegurosVencer.php | 4 ++-- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/cargaPatrimonial.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/financeiraNatureza.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/patrimonio/relatorios/relatorioBemEntidade.php | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/popups/bem/JSManterBem.js | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/popups/bem/JSProcurarAlmoxarife.js | 2 +- gestaoPatrimonial/fontes/PHP/patrimonio/popups/bem/alerta.inc.php | 12 ++++++------ gestaoPatrimonial/fontes/PHP/patrimonio/popups/bem/procuraBem.php | 6 +++--- gestaoPatrimonial/fontes/PLPGSQL/patrimonio/fn_depreciacao_automatica.plsql | 27 ++++++++++++++++++++++++++- gestaoPatrimonial/fontes/PLPGSQL/patrimonio/fn_reavaliacao_depreciacao_automatica.plsql | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPatrimonial/fontes/RPT/compras/report/design/relSolicitacaoCompra.rptdesign | 293 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------- gestaoPatrimonial/fontes/RPT/patrimonio/report/design/fichaPatrimonial.rptdesign | 3420 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ gestaoPatrimonial/fontes/RPT/patrimonio/report/design/logReavaliacao.rptdesign | 475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPatrimonial/fontes/SQL/GP_2041.sql | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPatrimonial/fontes/SQL/GP_2042.sql | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/mapeamento/FSICONFIRelatorioAnexoDCAIG.class.php | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/mapeamento/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/FLRelatorioSiconfi.php | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAID.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIE.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIF.php | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIG.php | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSConfigurarAnexo4.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSConfigurarRGF2.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSManterAnexo3RCL.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSManterNotasExplicativas.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSManterParametrosRREO13.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSManterRiscosFiscais.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSVincularContaFundeb.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSVincularContasDeducoesReceitaImpostos.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSVincularDespesaPessoal.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/configuracao/JSVincularReceitaCorrenteLiquida.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/relatorios/JSModelosARF.js | 2 +- gestaoPrestacaoContas/fontes/PHP/STN/instancias/relatorios/JSModelosRGF.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCEAL/instancias/configuracao/JSManterConfiguracaoCredor.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEAL/instancias/configuracao/JSManterConfiguracaoDespRecExtra.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEAL/instancias/configuracao/JSManterConfiguracaoOcorrenciaFuncional.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEAL/instancias/configuracao/JSManterConfiguracaoOrcamento.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEAL/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2014/TTCEMGConsideracaoArquivo.class.php | 3 ++- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2014/TTCEMGVariacaoPatrimonial.class.php | 82 ---------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/FTCEMGComparativoPe.class.php | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/FTCEMGDespesaTotalPessoalPE.class.php | 54 ++++++++++++++++++++++++++++-------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/FTCEMGDispFinanceiras.class.php | 19 +++++++++---------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/FTCEMGEspecifPrev.class.php | 3 +-- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/FTCEMGPassivoPerm.class.php | 7 ++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TExportacaoTCEMGItem.class.php | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGAberturaLicitacao.class.php | 2 ++ gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGArquivoMensalIDE.class.php | 30 +++++++++++++++--------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGBALANCETE.class.php | 408 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGConsideracaoArquivo.class.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGItemAtivoPassivo.class.php | 19 ++++++------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGRegistroPrecos.class.php | 333 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGVariacaoPatrimonial.class.php | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/TTCEMGConsideracaoArquivoDescricao.class.php | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/TTCEMGRegistroPrecos.class.php | 11 +++++++---- gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/TTCEMGRegistroPrecosLicitacao.class.php | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/TTCEMGRegistroPrecosOrgao.class.php | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FLManterRegistroPreco.php | 17 ++++++++++++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterAditivoContrato.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterApostilaContrato.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterConsideracao.php | 12 +++++++++++- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterConvenio.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterRegistroPreco.php | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterRegistroPrecoItem.php | 12 ++++-------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/FMManterRegistroPrecoOrgaos.php | 16 +++++++++++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSConsideracaoExecucaoVariacao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoArquivoDDC.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoContaBancaria.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoConvenioConta.js | 8 ++++---- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoLeisLDO.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoLeisPPA.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoOrgao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoProjecaoAtuarial.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoREGLIC.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConsideracao.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterContrato.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterConvenio.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterExt.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterNotasFiscais.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSManterRegistroPreco.js | 20 ++++++++++++++++---- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/JSRescindirContrato.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/LSManterRegistroPreco.php | 9 ++++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/OCManterConsideracao.php | 9 ++++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/OCManterRegistroPreco.php | 1040 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/PRManterConsideracao.php | 5 +++-- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/configuracao/PRManterRegistroPreco.php | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/exportacao/FLExportarBalanceteContabil.php | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/exportacao/OCExportarBalanceteContabil.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/SIACE/2015/despesaPrev.inc.php | 4 ++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/SIACE/2015/dispFinanceiras.inc.php | 14 +++++++------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/SIACE/2015/especifPrev.inc.php | 7 ++++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/SIACE/2015/passivoPerm.inc.php | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/acompanhamentoMesal/2014/CONSID.csv.inc.php | 13 +++++++------ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/acompanhamentoMesal/2015/CONSID.csv.inc.php | 14 +++++++------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/acompanhamentoMesal/2015/ITEM.csv.inc.php | 53 +++++++---------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/acompanhamentoMesal/2015/REGADESAO.csv.inc.php | 49 +++++++++++++++++++++++++++++-------------------- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/BALANCETE.inc.php | 846 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/CONSID.inc.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/IDE.inc.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/relatorios/JSRelatorioAnexo4.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/relatorios/JSRelatorioDemonstrativoRCL.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/relatorios/JSRelatorioDespesaTotalPessoal.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEMS/instancias/relatorios/JSModelosRGF.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEPB/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEPB/instancias/configuracao/JSManterFontePagadoraContaBancaria.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/SAGRES/JSExportarArquivosEOF.js | 8 ++++---- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/SAGRES/JSExportarArquivosPessoal.js | 8 ++++---- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/configuracao/FMManterOrcamento.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/configuracao/JSManterConfiguracaoGestor.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/configuracao/JSManterConfiguracaoOrdenador.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/configuracao/JSManterRelacionamentoHistoricoFuncional.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCEPE/instancias/configuracao/JSManterTipoCredor.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/configuracao/JSManterAjustesEmpenho.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/exportacao/JSManterRelacaoDespesa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/exportacao/JSManterRelacaoFundamento.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/exportacao/JSManterRelacaoReceita.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/exportacao/JSManterRelacaoRecurso.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERJ/instancias/exportacao/JSManterRelacaoTipoAlteracao.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERN/classes/mapeamento/TTRNAnexo28.class.php | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCERN/instancias/configuracao/JSManterConfiguracaoUnidadeGestora.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERN/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERN/instancias/exportacao/ANEXO28.inc.php | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCERN/instancias/exportacao/OCManterExportacao.php | 47 ----------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/configuracao/JSManterContaEntidade.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/configuracao/JSManterContratosLiquidacao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/configuracao/JSManterCredor.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/configuracao/JSManterExtra.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/configuracao/JSManterUniOrcam.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/FLExportacaoPrincipais.php | 3 +-- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSExportacaoAuxiliares.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSExportacaoExercicioAnterior.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSExportacaoPrincipais.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSExportacaoRelacionamento.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSManterContratosLiquidacao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSManterCredor.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSManterExtra.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCERS/instancias/exportacao/JSManterUniOrcam.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCESC/instancias/exportacao/JSParametrosEsfinge.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCETO/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCETO/instancias/configuracao/JSManterCredor.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCETO/instancias/configuracao/JSManterOrcamento.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAdCont.class.php | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAdConv.class.php | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAltOrc.class.php | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAArea.class.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBABensAlmoxarifado.class.php | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBABolsa.class.php | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACertidoes.class.php | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACertidoesContratos.class.php | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACombustivel.class.php | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConcurso.class.php | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConfiguracao.class.php | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConfiguracaoEntidade.class.php | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConsContRazao.class.php | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContaDespesa.class.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContaReceita.class.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContrato.class.php | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConvenio.class.php | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACotacao.class.php | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADispensa.class.php | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADotCont.class.php | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADotacao.class.php | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAEmpenho.class.php | 197 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAEmpenhoAnulado.class.php | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAFrota.class.php | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAItemLicitacao.class.php | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBALicitacao.class.php | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBALiquidacao.class.php | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMarca.class.php | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMetasFisicas.class.php | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMovimentoContabil.class.php | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBANotaFiscal.class.php | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAOrgao.class.php | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPAO.class.php | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPagamento.class.php | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPartConv.class.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAParticipanteLicitacao.class.php | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPatrimonio.class.php | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPlanoConta.class.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPrevisaoReceita.class.php | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPrograma.class.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAProgramaPPA.class.php | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPublicacaoLicitacao.class.php | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBARecArrec.class.php | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAReceitaArrecadada.class.php | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAResCont.class.php | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBARetencao.class.php | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoBem.class.php | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCertidao.class.php | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCombustivel.class.php | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCombustivelVinculo.class.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoNorma.class.php | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoVeiculo.class.php | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoVeiculoVinculo.class.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAUnidade.class.php | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBABenefPen.class.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBACargo.class.php | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAContaCont.class.php | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAConvidados.class.php | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBACronoDesemb.class.php | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBADotacao.class.php | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAFonte.class.php | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAFrota.class.php | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAIndProg.class.php | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAMetasArrecada.class.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAOrgao.class.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAPatrimonio.class.php | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAPrograma.class.php | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBARiscosFiscais.class.php | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBATipoCargo.class.php | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAUnidade.class.php | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAdCont.class.php | 226 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAdConv.class.php | 142 ---------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAltOrc.class.php | 201 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBABensAlmoxarifado.class.php | 110 -------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACertidoes.class.php | 143 ----------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACertidoesContratos.class.php | 128 -------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACombustivel.class.php | 112 ---------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConfiguracao.class.php | 101 ----------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConfiguracaoEntidade.class.php | 90 ------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContaDespesa.class.php | 101 ----------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContaReceita.class.php | 101 ----------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContrato.class.php | 232 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConvenio.class.php | 122 -------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConvidados.class.php | 127 ------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACotacao.class.php | 146 -------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADispensa.class.php | 112 ---------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADotCont.class.php | 160 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADotacao.class.php | 119 ----------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAEmpenho.class.php | 159 --------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAEmpenhoAnulado.class.php | 159 --------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAFrota.class.php | 160 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAItemLicitacao.class.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBALicitacao.class.php | 143 ----------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBALiquidacao.class.php | 165 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAMarca.class.php | 97 ------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAMovimentoContabil.class.php | 172 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBANotaFiscal.class.php | 171 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAOrgao.class.php | 124 ---------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPAO.class.php | 120 ------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPagamento.class.php | 179 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPartConv.class.php | 109 ------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAParticipanteLicitacao.class.php | 153 --------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPatrimonio.class.php | 187 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPlanoConta.class.php | 129 --------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPrevisaoReceita.class.php | 108 ------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPrograma.class.php | 102 ------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPublicacaoLicitacao.class.php | 121 ------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAReceitaArrecadada.class.php | 188 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAResCont.class.php | 126 ------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBARetencao.class.php | 156 ------------------------------------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoBem.class.php | 127 ------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCertidao.class.php | 94 ---------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCombustivel.class.php | 93 --------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCombustivelVinculo.class.php | 83 ----------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoNorma.class.php | 91 ------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoVeiculo.class.php | 93 --------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoVeiculoVinculo.class.php | 83 ----------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAUnidade.class.php | 119 ----------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTCMBAConfiguracaoOrdenador.class.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTCMBATipoResponsavelOrdenador.class.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FLManterConfiguracaoOrdenador.php | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FLManterTipoCargo.php | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterConfiguracaoOrdenador.php | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterTipoBem.php | 42 ++++++++---------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterTipoCargo.php | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterUnidadeGestora.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/JSManterConfiguracaoOrdenador.js | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/JSManterTipoCombustivel.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/JSManterTipoVeiculo.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/OCManterConfiguracaoOrdenador.php | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterConfiguracaoOrdenador.php | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterTipoBem.php | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterTipoCargo.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterUnidadeGestora.php | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AdCont.inc.php | 138 ------------------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AdConv.inc.php | 141 --------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AltOrc.inc.php | 122 -------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/BensAlmox.inc.php | 68 -------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/CPartLic.inc.php | 80 -------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/CertCont.inc.php | 80 -------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Combustivel.inc.php | 74 -------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ContaCont.inc.php | 102 ------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Contrato.inc.php | 156 ------------------------------------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ConvLic.inc.php | 77 ----------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ConvLict.inc.php | 77 ----------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Convenio.inc.php | 138 ------------------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Cotacao.inc.php | 80 -------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Dispensa.inc.php | 153 --------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/DotCont.inc.php | 98 -------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Dotacao.inc.php | 95 ----------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Empenho.inc.php | 137 ----------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EspDesp.inc.php | 71 ----------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EspRec.inc.php | 71 ----------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EstorEmp.inc.php | 92 -------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FLManterExportacao.php | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterMarca.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoBem.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoCertidao.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoCombustivel.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoVeiculo.php | 167 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Fonte.inc.php | 66 ------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Frota.inc.php | 104 -------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ItemLic.inc.php | 77 ----------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Licitaca.inc.php | 113 ----------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/LiqEmp.inc.php | 83 ----------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/MovConta.inc.php | 77 ----------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/NotaFisc.inc.php | 107 ----------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/OCManterExportacao.php | 76 ++++++++++++++++++++++------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Orgao.inc.php | 94 ---------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterMarca.php | 97 ------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoBem.php | 99 --------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoCertidao.php | 97 ------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoCombustivel.php | 97 ------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoVeiculo.php | 97 ------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PagEmp.inc.php | 95 ----------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PartConv.inc.php | 86 -------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PartLic.inc.php | 80 -------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Patrimonio.inc.php | 143 ----------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PrevRec.inc.php | 65 ----------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Programa.inc.php | 78 ------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ProjAtv.inc.php | 90 ------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PubLic.inc.php | 71 ----------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/RecLanc.inc.php | 68 -------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ResCont.inc.php | 99 --------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Retencao.inc.php | 89 ----------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/UnidOrca.inc.php | 85 ------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AdCont.inc.php | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AdConv.inc.php | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AltOrc.inc.php | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Area.inc.php | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/BenefPen.inc.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/BensAlmox.inc.php | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Bolsa.inc.php | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CPartLic.inc.php | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Cargo.inc.php | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CertCont.inc.php | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Combustivel.inc.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Concurso.inc.php | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ConsContRazao.inc.php | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ContaCont.inc.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Contrato.inc.php | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ConvLic.inc.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Convenio.inc.php | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Cotacao.inc.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CronoDesemb.inc.php | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Dispensa.inc.php | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/DotCont.inc.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Dotacao.inc.php | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Empenho.inc.php | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EspDesp.inc.php | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EspRec.inc.php | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EstorEmp.inc.php | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Fonte.inc.php | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Frota.inc.php | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/IndProg.inc.php | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ItemLic.inc.php | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Licitaca.inc.php | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/LiqEmp.inc.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MetasArrecada.inc.php | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MetasFisicas.inc.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MovConta.inc.php | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/NotaFisc.inc.php | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Orgao.inc.php | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PagEmp.inc.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PartConv.inc.php | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PartLic.inc.php | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Patrimonio.inc.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PrevRec.inc.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Programa.inc.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ProgramaPPA.inc.php | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ProjAtv.inc.php | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PubLic.inc.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RecArrec.inc.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RecLanc.inc.php | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ResCont.inc.php | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Retencao.inc.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RiscosFiscais.inc.php | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/UnidOrca.inc.php | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/index.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOAberturaLicitacao.class.php | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOAtivoFinanceiro.class.php | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOAtivoPermanenteCreditos.class.php | 84 ++++++++++++++++++++++++++++++++++++++++-------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOConfiguracaoOrgaoUnidade.class.php | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGODocumentoDePara.class.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOTipoDocumentoTCM.class.php | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/FMConfigurarTipoDocumento.php | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/FMManterConfiguracaoOrgaoUnidadeContas.php | 43 ++++++++++++++++++++++++++++++------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterAfraaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterApcaaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterBlpaaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterComaaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterCombustivel.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterConfiguracaoDividaConsolidada.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterConfiguracaoLeisLDO.js | 4 ++-- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterConfiguracaoLeisPPA.js | 8 ++++---- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterConfiguracaoProjecaoAtuarial.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterConfiguracaoUnidadeOrcamentaria.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterContaOrgao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterDividaFundada.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterExtmmaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterOrgao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterOrgao.php | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterPfdaaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterPpdaaaa.js | 6 +++--- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSManterTipoConta.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/JSVincularPlanoTCE.js | 8 ++++---- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/OCConfigurarTipoDocumento.php | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/OCManterConfiguracaoOrgaoUnidadeContas.php | 20 +++++++++++++------- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/PRConfigurarTipoDocumento.php | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/PRManterConfiguracaoOrgaoUnidadeContas.php | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/exportacao/ABL.inc.php | 296 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/exportacao/AFR.inc.php | 49 ++++++++++++++++++------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/exportacao/APC.inc.php | 57 ++++++++++++++++++++++++--------------------------------- gestaoPrestacaoContas/fontes/PHP/TCMPA/instancias/configuracao/JSManterCargoSituacaoFuncional.js | 2 +- gestaoPrestacaoContas/fontes/PHP/TCMPA/instancias/configuracao/JSManterTipoRemuneracao.js | 2 +- gestaoPrestacaoContas/fontes/PHP/manad/instancias/configuracao/JSConfiguracaoUnidadeOrcamentariaMANAD.js | 2 +- gestaoPrestacaoContas/fontes/PHP/manad/instancias/exportacao/FMExportarMANAD.php | 2 -- gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIE.plsql | 431 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIG.plsql | 470 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIGTotalizador.plsql | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/siconfi.relatorio_anexo_dca_ie.plsql | 416 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/siconfi.relatorio_anexo_dca_if.plsql | 1513 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/STN/relatorioRGFAnexo5Geral_novo.plsql | 2 +- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil10.plsql | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil11.plsql | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil12.plsql | 353 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil13.plsql | 769 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil14.plsql | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil15.plsql | 290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil16.plsql | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil17.plsql | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil18.plsql | 301 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil22.plsql | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaCodigoCTB.plsql | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaCodigoCTBRecurso.plsql | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaDespesa.plsql | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaProgramaAcao.plsql | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaReceita.plsql | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaRecursoSF.plsql | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaRestosPagar.plsql | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/RelatorioComparativoPe.plsql | 21 ++++++++------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/TCEMGItemAtivoPassivo.plsql | 191 ++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/ativoPerm.plsql | 27 ++++++++++++++++----------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/despFuncaoSubfuncao.plsql | 1 + gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/despFuncaoSubfuncaoAnulada.plsql | 3 ++- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/despFuncaoSubfuncaoEmpenhada.plsql | 4 +++- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/despesaPrev.plsql | 2 +- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/despesaTotalPessoalPE.plsql | 41 +++++++++++++++++++++++++++++++++++++++-- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/dispFinanceiras.plsql | 318 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/especifPrev.plsql | 74 +++++++++++++++++++++++++++++++++++++++++++++++++------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/passivoPerm.plsql | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/variacaoPatrimonial.plsql | 121 ++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCMBA/FTCMBAMetasArrecada.plsql | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/PLPGSQL/TCMGO/ativoPermanenteCreditos.plsql | 388 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ gestaoPrestacaoContas/fontes/PLPGSQL/TCMGO/tcmgoArquivoAFRexportacao10.plsql | 337 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/PLPGSQL/TCMGO/tcmgoArquivoAFRexportacao11.plsql | 320 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoID.php | 41 +++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIE.php | 41 +++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIF.php | 39 +++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIG.php | 35 +++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/index.php | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/SICONFI/index.php | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/RPT/index.php | 43 +++++++++++++++++++++++++++++++++++++++++++ gestaoPrestacaoContas/fontes/SQL/GPC_2041.sql | 6277 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoRH/fontes/PHP/IMA/instancias/IPERS/JSExportarIpers.js | 4 ++-- gestaoRH/fontes/PHP/IMA/instancias/TCMBA/JSExportarTCMBA.js | 2 +- gestaoRH/fontes/PHP/IMA/instancias/caged/JSExportarCAGED.js | 2 +- gestaoRH/fontes/PHP/IMA/instancias/configuracao/JSExportacaoBancoBanPara.js | 4 ++-- gestaoRH/fontes/PHP/IMA/instancias/pasep/JSExportarPASEP.js | 2 +- gestaoRH/fontes/PHP/IMA/instancias/sefip/JSExportarSEFIP.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/configuracao/JSConfiguracaoPlanoSaude.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/faixaDesconto/JSManterFaixaDesconto.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/fornecedor/JSManterFornecedor.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/planoSaude/JSManterBeneficiario.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/planoSaude/JSManterImportacaoMensal.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/relatorio/JSRelatorioConcessaoValeTransporte.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/relatorio/JSRelatorioTotaisPorFornecedor.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/relatorio/JSRelatorioValeTransporte.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/valeTransporte/JSManterValeTransporte.js | 2 +- gestaoRH/fontes/PHP/beneficios/instancias/valeTransporteServidor/JSManterConcessaoValeTransporte.js | 2 +- gestaoRH/fontes/PHP/calendario/instancias/relatorio/JSRelatorioFeriado.js | 2 +- gestaoRH/fontes/PHP/calendario/popups/relatorio/JSProcurarCalendario.js | 2 +- gestaoRH/fontes/PHP/concurso/instancias/candidato/JSManterCandidato.js | 2 +- gestaoRH/fontes/PHP/concurso/instancias/concurso/JSManterConcurso.js | 2 +- gestaoRH/fontes/PHP/concurso/instancias/configuracao/JSManterConfiguracao.js | 2 +- gestaoRH/fontes/PHP/concurso/instancias/relatorio/JSEmitirDocumento.js | 2 +- gestaoRH/fontes/PHP/diarias/instancias/concessao/JSConcederDiarias.js | 4 ++-- gestaoRH/fontes/PHP/estagio/instancias/relatorios/JSRelatorioPagamentoEstagiarios.js | 2 +- gestaoRH/fontes/PHP/estagio/popups/instituicaoEnsino/JSProcurarCgm.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/FGTS/JSManterConfiguracaoFGTS.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/IRRF/JSManterTabelaIRRF.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/bases/JSBaseCalculo.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/configuracao/JSManterConfiguracao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/configuracao/JSManterConfiguracaoDecimo.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/configuracao/JSManterConfiguracaoPensao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/configuracao/JSManterSequenciaCalculo.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/decimo/JSManterCalculoDecimo.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/decimo/JSManterRegistroEventoDecimo.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/evento/JSManterEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/ferias/JSManterCalculoFerias.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/ferias/JSManterRegistroEventoFerias.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/ferias/OCManterRegistroEventoFerias.php | 2 ++ gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaComplementar/JSConsultarRegistroEventoComplementar.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaComplementar/JSManterCalculoFolhaComplementar.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaComplementar/JSManterFolhaComplementar.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaComplementar/JSManterRegistroEventoComplementar.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaRescisao/JSManterCalculoRescisao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaRescisao/JSManterRegistroEventoRescisao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/folhaRescisao/OCManterRegistroEventoRescisao.php | 31 +++++++++++++++++++------------ gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSConsultarFichaFinanceira.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSConsultarRegistroEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSImportarRegistroEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSManterCalculoSalario.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSManterFolhaSituacao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/movimentacaoFinanceira/JSManterRegistroEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/padrao/JSManterPadrao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/previdencia/JSManterPrevidencia.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSBancarioPensaoJudicial.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioCreditosBanco.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioEventoPorContrato.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioFGTS.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioFolhaAnaliticaSintetica.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioIRRF.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/relatorio/JSRelatorioInformacoesMensais.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/rotinaMensal/JSManterPeriodoMovimentacao.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/rotinaMensal/JSReajustesSalariais.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/salarioFamilia/JSManterConfiguracaoSalarioFamilia.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/instancias/sindicatos/JSManterSindicato.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/decimo/FRConsultarRegistroEventoDecimo.php | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/ferias/FRConsultarRegistroEventoFerias.php | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/folhaComplementar/FRConsultarRegistroEventoComplementar.php | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/folhaComplementar/JSManterRegistroEventoComplementar.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/movimentacaoFinanceira/FRConsultarFichaFinanceira.php | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/movimentacaoFinanceira/FRConsultarRegistroEvento.php | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/movimentacaoFinanceira/JSConsultarFichaFinanceira.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/movimentacaoFinanceira/JSManterRegistroEvento.js | 2 +- gestaoRH/fontes/PHP/folhaPagamento/popups/rescisao/FRConsultarRegistroEventoRescisao.php | 2 +- gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalAssentamentoGerado.class.php | 2 +- gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalDeParaTipoCargoTCMBA.class.php | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalFerias.class.php | 1 + gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalFormaPagamentoFerias.class.php | 29 +++++++++++++++++++++++++++++ gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalServidor.class.php | 3 +++ gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalSubDivisao.class.php | 30 +++++++++++++++++++++++++++++- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/FMManterGeracaoAssentamento.php | 4 ++-- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/JSManterAssentamento.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/JSManterClassificacao.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/JSManterCondicao.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/JSManterGeracaoAssentamento.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/assentamento/JSManterMovimentacaoSEFIP.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/cargo/JSManterCargo.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/causaRescisao/JSManterCausa.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/ferias/FMManterCadastroFerias.php | 32 ++++++++++++++++++++++---------- gestaoRH/fontes/PHP/pessoal/instancias/ferias/JSManterCadastroFerias.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/ferias/LSManterCadastroFerias.php | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/ferias/OCManterCadastroFerias.php | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------ gestaoRH/fontes/PHP/pessoal/instancias/ferias/PRManterCadastroFerias.php | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------- gestaoRH/fontes/PHP/pessoal/instancias/gradeHorario/JSManterGrade.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/parametros/JSManterConfiguracao.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/pensionista/FMManterPensionistaAbaInformacoes.php | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/pensionista/PRManterPensionista.php | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------- gestaoRH/fontes/PHP/pessoal/instancias/regime/JSManterRegime.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/JSCadastroPensaoJudicial.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/JSEmitirFichaCadastro.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/JSRelatorioCargo.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/JSRelatorioFeriasVencidas.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/JSRelatorioProtocoloEntrega.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/relatorio/OCRelatorioServidor.php | 8 ++++++-- gestaoRH/fontes/PHP/pessoal/instancias/rescisaoContrato/JSRescindirContrato.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/servidor/JSManterControlePensaoAlimenticia.js | 2 +- gestaoRH/fontes/PHP/pessoal/instancias/servidor/JSManterServidor.js | 2 +- gestaoRH/fontes/PHP/pessoal/popups/assentamento/FMConsultarAssentamentoGerado.php | 4 ++-- gestaoRH/fontes/PHP/pessoal/popups/assentamento/FRConsultarAssentamentoGerado.php | 4 ++-- gestaoRH/fontes/PHP/pessoal/popups/servidor/JSProcurarCgm.js | 2 +- gestaoRH/fontes/PHP/pessoal/popups/servidor/JSProcurarLocal.js | 2 +- gestaoRH/fontes/PHP/ponto/instancias/compensacoes/JSManterCompensacaoHoras.js | 2 +- gestaoRH/fontes/PHP/ponto/instancias/escalaHorario/JSManterEscala.js | 2 +- gestaoRH/fontes/PHP/ponto/instancias/escalaHorario/JSManterVinculo.js | 2 +- gestaoRH/fontes/PHP/ponto/instancias/exportacao/JSManterExportacao.js | 2 +- gestaoRH/fontes/PHP/ponto/instancias/justificativas/JSManterJustificativa.js | 2 +- gestaoRH/fontes/PLPGSQL/pessoal/ferias/concederFerias.plsql | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------- gestaoRH/fontes/RPT/folhaPagamento/report/design/contraCheque.rptdesign | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------ gestaoRH/fontes/SQL/GRH_1952.sql | 2 +- gestaoRH/fontes/SQL/GRH_2041.sql | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoTributaria/fontes/PHP/arrecadacao/classes/boletos/RCarneDividaRefis2015MataSaoJoao.class.php | 2272 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/JSEstornarBaixaManual.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/JSManterBaixaAutomatica.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/JSManterBaixaManual.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/JSManterCancelamento.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/JSManterCompensacao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/baixaDebitos/PRManterCompensacao.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSEscriturarReceita.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSLancarTransferencia.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSManterCalculo.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSManterNotaAvulsa.js | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSReterFonte.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/JSValidarCalculo.js | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/OCGerarRelatorioExecucaoCalculo.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/OCImpressaoPDFEmissao.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/OCManterCalculo.php | 6 +++--- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/PREmitirCarne.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/PREmitirCarneLancManual.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/PREscriturarReceita.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/PRManterNotaAvulsa.php | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calculo/PRReterFonte.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calendarioFiscal/JSManterCalendario.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calendarioFiscal/JSManterVencimentos.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/calendarioFiscal/PRManterCalendario.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/configuracao/JSManterConfiguracao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/configuracao/JSManterLayoutCarne.js | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/consultas/JSConsultaArrecadacao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/consultas/JSConsultarEscrituracao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/consultas/JSConsultarLote.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/consultas/JSConsultarNotaAvulsa.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/conversaoValores/JSManterTabela.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/desoneracao/JSManterDesoneracao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/JSEmitirCarne.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/JSEmitirCarneIPTUDesoneradoMata.js | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/JSEmitirCertidao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/JSEmitirDocumento.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/JSEmitirNotificacao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCEmitirCarne.php | 6 +++--- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCEmitirCarneIPTUDesoneradoMata.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCEmitirCertidao.php | 8 ++++---- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCEmitirNotificacao.php | 8 ++++---- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCGeraEmissao.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/OCImpressaoPDFEmissao.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/PREmitirCarne.php | 6 +++--- gestaoTributaria/fontes/PHP/arrecadacao/instancias/documentos/PREmitirCarneIPTUDesoneradoMata.php | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/grupoCreditos/JSManterGrupo.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/grupoCreditos/JSManterPermissoes.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/grupoCreditos/OCManterGrupo.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/grupoCreditos/PRManterGrupo.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/movimentacoes/FrameItbi.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/movimentacoes/JSAvaliarImovel.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/movimentacoes/JSLancarReceita.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/movimentacoes/JSPermissaoAvaliarImovel.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/movimentacoes/PREmitirCarne.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/parcelamento/JSParcelarCreditos.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSExtratoDebitos.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSRelatorioFichaCadastral.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSRelatorioLancamentoAutomatico.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSRelatorioLogCalculo.js | 2 +- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSRelatorioPeriodico.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSRelatorioValoresLancados.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/relatorios/JSResumoLotes.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/suspensao/JSManterSuspensao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoBaixaManual/JSManterTipoBaixa.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoBaixaManual/JSManterTipoPagamento.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoBaixaManual/PRManterTipoBaixa.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoBaixaManual/PRManterTipoPagamento.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoSuspensao/JSManterTipoSuspensao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/instancias/tipoSuspensao/PRManterTipoSuspensao.php | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/popups/desoneracao/JSProcurarDesoneracao.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/popups/formulacalculo/JSProcurarFormulaCalculo.js | 4 ++-- gestaoTributaria/fontes/PHP/arrecadacao/popups/grupoCreditos/JSProcurarGrupo.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/ativeconomica/JSManterAtividade.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/categoria/JSManterCategoria.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/consultas/JSConsultarCadastroEconomico.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/elemenbascalc/JSManterElemento.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/emissao/JSManterEmissao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/hierarqativ/JSManterHierarquia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/hierarqserv/JSManterHierarquia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSAlterarAtividade.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSAlterarSociedade.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSDefinirAtividades.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSDefinirElementos.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSDefinirResponsaveis.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/inscreconomica/JSManterInscricao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/JSAlterarLicencaGeral.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/JSConcederLicencaGeral.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/JSConcederLicencaGeralTipo.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/JSConcederLicencaGeralUsoSolo.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/JSManterLicenca.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/OCConcederLicencaGeral.php | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/OCConcederLicencaGeralTipo.php | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/licenca/OCConcederLicencaGeralUsoSolo.php | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/modalidade/JSManterModalidade.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/natjuridica/JSManterNatureza.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/parametros/JSManterConfiguracao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/relatorios/JSAtividades.js | 2 +- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/relatorios/JSCadastroEconomico.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/relatorios/JSRelatorioDomicilioFiscal.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/relatorios/JSServicos.js | 2 +- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/resptecnico/JSManterResponsavel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/instancias/servico/JSManterServico.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/RespTecnico/JSProcurarRespTecnico.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/atividadeeconomica/JSProcurarAtividade.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/cnae/JSProcurarCnae.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/domicilioFiscal/JSProcurarDomicilioFiscal.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/inscricaoeconomica/JSProcurarInscricaoEconomica.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/naturezajuridica/JSProcurarNaturezaJuridica.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/responsavel/JSProcurarResponsavel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroEconomico/popups/responsaveltecnico/JSProcurarResponsavel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/classes/negocio/RCIMBairro.class.php | 47 ++++++++++++++++++++++++++++++----------------- gestaoTributaria/fontes/PHP/cadastroImobiliario/classes/negocio/RCIMLogradouro.class.php | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- gestaoTributaria/fontes/PHP/cadastroImobiliario/classes/negocio/RCIMRelatorioLogradouros.class.php | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/condominio/JSManterCondominio.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/condominio/PRManterCondominio.php | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/construcao/JSManterConstrucao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/consultas/JSConsultaImovel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/corretagem/JSManterCorretagem.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/edificacao/JSManterEdificacao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/edificacao/PRManterEdificacao.php | 6 +++--- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/faceQuadra/JSManterFaceQuadra.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/hierarquia/JSManterHierarquia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/imovel/JSManterImovel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/imovel/JSManterImovelFoto.js | 2 +- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/imovel/OCManterImovelFoto.php | 2 +- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/imovel/PRManterImovel.php | 6 +++--- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/licencas/JSConcederLicenca.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/licencas/JSDefinirCaracteristicas.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/licencas/JSDefinirPermissao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/licencas/JSManterEmissaoImobiliaria.js | 2 +- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/localizacao/JSManterLocalizacao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/lote/JSManterLote.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/lote/PRManterLote.php | 6 +++--- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/loteamento/JSManterLoteamento.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/naturezaTransferencia/JSManterNaturezaTransferencia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/FLLogradouros.php | 51 +++++++++++++++++++++++++++++++++++---------------- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSBairros.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSCadastroImobiliario.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSCondominios.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSLicencas.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSLogradouros.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/JSTrechos.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/OCGeraRelatorioLogradouros.php | 102 +++++++++++++++++++----------------------------------------------------------------------------------- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/relatorios/OCLogradouros.php | 7 +++++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/tipoEdificacao/JSManterTipoEdificacao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/transferenciaPropriedade/JSManterTransferencia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/transferenciaPropriedade/PRManterTransferencia.php | 6 +++--- gestaoTributaria/fontes/PHP/cadastroImobiliario/instancias/trecho/JSManterTrecho.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/bairro/JSProcurarBairro.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/bairroSistema/JSProcurarBairro.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/condominio/JSProcurarCondominio.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/corretagem/JSProcurarCorretagem.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/imovel/JSProcurarImovel.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/localizacao/JSBuscaLocalizacao.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/logradouro/FMManterLogradouro.php | 9 +++++++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/logradouro/JSProcurarLogradouro.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/logradouro/OCProcurarLogradouro.php | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/lote/JSBuscaLote.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroImobiliario/popups/trecho/JSProcurarTrecho.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/acrescimo/JSManterAcrescimo.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/agenciaBancaria/JSManterAgencia.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/banco/JSManterBanco.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/carteira/JSManterCarteira.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/contaCorrente/JSManterConta.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/convenio/JSManterConvenio.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/credito/JSManterCredito.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/especie/JSManterEspecie.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/indicadorEconomico/JSManterIndicador.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/indicadorEconomico/JSManterValor.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/moeda/JSManterMoeda.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/instancias/valor/JSManterValor.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/acrescimo/JSProcurarAcrescimo.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/contaCorrente/JSProcurarConta.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/convenio/JSProcurarConvenio.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/credito/JSProcurarCredito.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/indicadorEconomico/JSProcurarIndicador.js | 4 ++-- gestaoTributaria/fontes/PHP/cadastroMonetario/popups/moeda/JSProcurarMoeda.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/classes/anexos/modelos_usuario/requerimentoBeneficiosDevedorMata.odt | Bin 35156 -> 0 bytes gestaoTributaria/fontes/PHP/dividaAtiva/classes/anexos/modelos_usuario/requerimentoBeneficiosTerceiroMata.odt | Bin 35157 -> 0 bytes gestaoTributaria/fontes/PHP/dividaAtiva/classes/anexos/modelos_usuario/termoAssuncaoMata.odt | Bin 38253 -> 0 bytes gestaoTributaria/fontes/PHP/dividaAtiva/classes/anexos/modelos_usuario/termoConfissaoMata.odt | Bin 38673 -> 0 bytes gestaoTributaria/fontes/PHP/dividaAtiva/classes/mapeamento/TDATDividaDocumento.class.php | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/autoridade/JSManterAutoridade.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/cobranca/JSManterCobranca.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/cobranca/OCGeraRelatorioSimulacaoCobranca.php | 86 ++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/cobranca/OCImpressaoPDFEmissao.php | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/cobranca/PRManterCobranca.php | 7 +++---- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/configuracao/JSManterConfiguracao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/consultas/JSConsultaInscricao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/emissao/JSEmitirCarnes.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/emissao/JSManterEmissao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/emissao/LSManterEmissao.php | 14 +++++++++++++- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/emissao/OCImpressaoPDFEmissao.php | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/emissao/PREmitirCarnes.php | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/inscricao/JSCobrancaJudicial.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/inscricao/JSManterInscricao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/inscricao/PRExcluirInscricao.php | 11 ++++++----- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/modalidade/JSManterModalidade.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/relatorios/JSLivroDivida.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/relatorios/JSRelatorioDevedores.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/relatorios/JSRelatorioDivida.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/relatorios/JSRelatorioInscricaoDividaAtiva.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/relatorios/JSRemissao.js | 2 +- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/remissao/JSConcederRemissao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/remissao/LSConcederRemissaoSituacao.php | 2 +- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/remissao/PRConcederRemissao.php | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/instancias/remissao/PRConcederRemissaoCredito.php | 2 +- gestaoTributaria/fontes/PHP/dividaAtiva/popups/autoridade/JSProcurarAutoridade.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/popups/cobranca/JSProcurarCobranca.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/popups/emissao/JSProcurarEmissao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/popups/inscricao/JSProcurarFolha.js | 2 +- gestaoTributaria/fontes/PHP/dividaAtiva/popups/inscricao/JSProcurarInscricao.js | 4 ++-- gestaoTributaria/fontes/PHP/dividaAtiva/popups/inscricao/JSProcurarLivro.js | 2 +- gestaoTributaria/fontes/PHP/dividaAtiva/popups/modalidade/JSProcurarModalidade.js | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/consultas/JSConsultarProcesso.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/documento/JSManterVinculo.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/infracaoPenalidade/JSManterInfracao.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/infracaoPenalidade/JSManterInfracao.php | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSDevolverDocumentos.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSEmitirAutoInfracao.php | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSManterLevantamento.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSManterNota.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSManterRetido.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSManterServico.js | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/processoFiscal/JSNotificarProcesso.php | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/termo/JSEmitirAutoInfracao.php | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/instancias/termo/JSEmitirTermo.php | 4 ++-- gestaoTributaria/fontes/PHP/fiscalizacao/popups/penalidade/FLPenalidade.php | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/popups/penalidade/LSPenalidade.php | 2 +- gestaoTributaria/fontes/PHP/fiscalizacao/popups/penalidade/OCPenalidade.php | 2 +- gestaoTributaria/fontes/RPT/cadastroImobiliario/MPDF/LHLogradouros.php | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ gestaoTributaria/fontes/SQL/GT_1970.sql | 2 +- gestaoTributaria/fontes/SQL/GT_2041.sql | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1429 files changed, 66508 insertions(+), 22001 deletions(-) create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/FLManterBairro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/FMManterBairro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/JSManterBairro.js create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/LSManterBairro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/OCManterBairro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/PRManterBairro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/bairro/index.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/FLManterLogradouro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/FMManterLogradouro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/JSManterLogradouro.js create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/LSManterLogradouro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/OCManterLogradouro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/PRManterLogradouro.php create mode 100644 gestaoAdministrativa/fontes/PHP/CGM/instancias/logradouro/index.php create mode 100644 gestaoAdministrativa/fontes/PHP/framework/mpdf/CHANGES 5.7.3.txt create mode 100644 gestaoAdministrativa/fontes/PHP/framework/mpdf/CHANGES 5.7.4.txt create mode 100644 gestaoAdministrativa/fontes/SQL/GA_2041.sql create mode 100755 gestaoFinanceira/fontes/PLPGSQL/contabilidade/relatorioVariacaoPatrimonialEstrutural.plsql create mode 100644 gestaoFinanceira/fontes/RPT/contabilidade/report/design/demonstrarVariacoesPatrimoniaisEstrutural.rptdesign create mode 100644 gestaoFinanceira/fontes/RPT/tesouraria/MPDF/LHRelatorioBorderoPagamento.php create mode 100644 gestaoFinanceira/fontes/SQL/GF_2041.sql create mode 100644 gestaoPatrimonial/fontes/PHP/patrimonio/classes/mapeamento/FPatrimonioReavaliacaoDepreciacaoAutomatica.class.php create mode 100644 gestaoPatrimonial/fontes/PLPGSQL/patrimonio/fn_reavaliacao_depreciacao_automatica.plsql create mode 100644 gestaoPatrimonial/fontes/RPT/patrimonio/report/design/logReavaliacao.rptdesign create mode 100644 gestaoPatrimonial/fontes/SQL/GP_2041.sql create mode 100644 gestaoPatrimonial/fontes/SQL/GP_2042.sql create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/mapeamento/FSICONFIRelatorioAnexoDCAIG.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/classes/mapeamento/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/FLRelatorioSiconfi.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAID.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIE.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIF.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/OCGeraRelatorioSiconfiAnexoDCAIG.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/SICONFI/instancias/relatorios/index.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2014/TTCEMGVariacaoPatrimonial.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/2015/TTCEMGBALANCETE.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/classes/mapeamento/TTCEMGRegistroPrecosLicitacao.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/exportacao/FLExportarBalanceteContabil.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/exportacao/OCExportarBalanceteContabil.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/BALANCETE.inc.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/CONSID.inc.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/IDE.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/2015/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCEMG/instancias/layout_arquivos/balanceteContabil/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAdCont.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAdConv.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAAltOrc.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAArea.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBABensAlmoxarifado.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBABolsa.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACertidoes.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACertidoesContratos.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACombustivel.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConcurso.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConfiguracao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConfiguracaoEntidade.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConsContRazao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContaDespesa.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContaReceita.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAContrato.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAConvenio.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBACotacao.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADispensa.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADotCont.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBADotacao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAEmpenho.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAEmpenhoAnulado.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAFrota.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAItemLicitacao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBALicitacao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBALiquidacao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMarca.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMetasFisicas.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAMovimentoContabil.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBANotaFiscal.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAOrgao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPAO.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPagamento.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPartConv.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAParticipanteLicitacao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPatrimonio.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPlanoConta.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPrevisaoReceita.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPrograma.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAProgramaPPA.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAPublicacaoLicitacao.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBARecArrec.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAReceitaArrecadada.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAResCont.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBARetencao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoBem.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCertidao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCombustivel.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoCombustivelVinculo.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoNorma.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoVeiculo.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBATipoVeiculoVinculo.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTBAUnidade.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBABenefPen.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBACargo.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAContaCont.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAConvidados.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBACronoDesemb.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBADotacao.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAFonte.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAFrota.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAIndProg.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAMetasArrecada.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAOrgao.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAPatrimonio.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAPrograma.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBARiscosFiscais.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBATipoCargo.class.php create mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/TTCMBAUnidade.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/2015/index.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAdCont.class.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAdConv.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAAltOrc.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBABensAlmoxarifado.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACertidoes.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACertidoesContratos.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACombustivel.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConfiguracao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConfiguracaoEntidade.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContaDespesa.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContaReceita.class.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAContrato.class.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConvenio.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAConvidados.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBACotacao.class.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADispensa.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADotCont.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBADotacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAEmpenho.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAEmpenhoAnulado.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAFrota.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAItemLicitacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBALicitacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBALiquidacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAMarca.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAMovimentoContabil.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBANotaFiscal.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAOrgao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPAO.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPagamento.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPartConv.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAParticipanteLicitacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPatrimonio.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPlanoConta.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPrevisaoReceita.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPrograma.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAPublicacaoLicitacao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAReceitaArrecadada.class.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAResCont.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBARetencao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoBem.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCertidao.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCombustivel.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoCombustivelVinculo.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoNorma.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoVeiculo.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBATipoVeiculoVinculo.class.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTBAUnidade.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTCMBAConfiguracaoOrdenador.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/TTCMBATipoResponsavelOrdenador.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/classes/mapeamento/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FLManterConfiguracaoOrdenador.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FLManterTipoCargo.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterConfiguracaoOrdenador.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/FMManterTipoCargo.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/JSManterConfiguracaoOrdenador.js create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/OCManterConfiguracaoOrdenador.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterConfiguracaoOrdenador.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/PRManterTipoCargo.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/configuracao/index.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AdCont.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AdConv.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/AltOrc.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/BensAlmox.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/CPartLic.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/CertCont.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Combustivel.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ContaCont.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Contrato.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ConvLic.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ConvLict.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Convenio.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Cotacao.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Dispensa.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/DotCont.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Dotacao.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Empenho.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EspDesp.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EspRec.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/EstorEmp.inc.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterMarca.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoBem.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoCertidao.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoCombustivel.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/FMManterTipoVeiculo.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Fonte.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Frota.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ItemLic.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Licitaca.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/LiqEmp.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/MovConta.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/NotaFisc.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Orgao.inc.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterMarca.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoBem.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoCertidao.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoCombustivel.php delete mode 100755 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PRManterTipoVeiculo.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PagEmp.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PartConv.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PartLic.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Patrimonio.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PrevRec.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Programa.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ProjAtv.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/PubLic.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/RecLanc.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/ResCont.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/Retencao.inc.php delete mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/UnidOrca.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/exportacao/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AdCont.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AdConv.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/AltOrc.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Area.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/BenefPen.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/BensAlmox.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Bolsa.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CPartLic.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Cargo.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CertCont.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Combustivel.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Concurso.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ConsContRazao.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ContaCont.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Contrato.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ConvLic.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Convenio.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Cotacao.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/CronoDesemb.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Dispensa.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/DotCont.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Dotacao.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Empenho.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EspDesp.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EspRec.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/EstorEmp.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Fonte.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Frota.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/IndProg.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ItemLic.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Licitaca.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/LiqEmp.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MetasArrecada.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MetasFisicas.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/MovConta.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/NotaFisc.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Orgao.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PagEmp.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PartConv.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PartLic.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Patrimonio.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PrevRec.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Programa.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ProgramaPPA.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ProjAtv.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/PubLic.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RecArrec.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RecLanc.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/ResCont.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/Retencao.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/RiscosFiscais.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/UnidOrca.inc.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/2015/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMBA/instancias/layout_arquivos/index.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOConfiguracaoOrgaoUnidade.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGODocumentoDePara.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/classes/mapeamento/TTCMGOTipoDocumentoTCM.class.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/FMConfigurarTipoDocumento.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/OCConfigurarTipoDocumento.php create mode 100644 gestaoPrestacaoContas/fontes/PHP/TCMGO/instancias/configuracao/PRConfigurarTipoDocumento.php create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIE.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIG.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/FSICONFIRelatorioAnexoDCAIGTotalizador.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/siconfi.relatorio_anexo_dca_ie.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/SICONFI/siconfi.relatorio_anexo_dca_if.plsql create mode 100755 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil10.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil11.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil12.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil13.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil14.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil15.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil16.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil17.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil18.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabil22.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaCodigoCTB.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaCodigoCTBRecurso.plsql create mode 100755 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaDespesa.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaProgramaAcao.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaReceita.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaRecursoSF.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCEMG/FTCEMGBalanceteContabilTotalizaRestosPagar.plsql create mode 100644 gestaoPrestacaoContas/fontes/PLPGSQL/TCMBA/FTCMBAMetasArrecada.plsql create mode 100644 gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoID.php create mode 100644 gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIE.php create mode 100644 gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIF.php create mode 100644 gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/LHSinconfiDCAAnexoIG.php create mode 100755 gestaoPrestacaoContas/fontes/RPT/SICONFI/MPDF/index.php create mode 100755 gestaoPrestacaoContas/fontes/RPT/SICONFI/index.php create mode 100755 gestaoPrestacaoContas/fontes/RPT/index.php create mode 100644 gestaoPrestacaoContas/fontes/SQL/GPC_2041.sql create mode 100644 gestaoRH/fontes/PHP/pessoal/classes/mapeamento/TPessoalDeParaTipoCargoTCMBA.class.php create mode 100644 gestaoRH/fontes/SQL/GRH_2041.sql create mode 100644 gestaoTributaria/fontes/PHP/arrecadacao/classes/boletos/RCarneDividaRefis2015MataSaoJoao.class.php create mode 100644 gestaoTributaria/fontes/RPT/cadastroImobiliario/MPDF/LHLogradouros.php create mode 100644 gestaoTributaria/fontes/SQL/GT_2041.sql diff --git a/db.php b/db.php index 0f9ef19..faaf8be 100755 --- a/db.php +++ b/db.php @@ -92,7 +92,7 @@ foreach($ar_versao as $ar_dados_gestao): foreach($arArquivosSql as $stArquivoSql): list($null,$stNomArquivo) = explode('_',substr($stArquivoSql, 0, strpos($stArquivoSql,'.'))); // busca no array de arquivos somente pelos nomes e versao - preg_match("/(G.*)\_(.*)\.sql$/", $stArquivoSql, &$arquivos); + preg_match("/(G.*)\_(.*)\.sql$/", $stArquivoSql, $arquivos); list($stNomArquivo,$stSiglaGestao,$stVersaoBanco ) = $arquivos; if ((integer) $stVersaoBanco > $versao_db_cliente && (integer) $stVersaoBanco <= $versao_db_min) { diff --git a/gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/alteraAtributo.php b/gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/alteraAtributo.php index 57f13ff..fd1a925 100755 --- a/gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/alteraAtributo.php +++ b/gestaoAdministrativa/fontes/PHP/CGM/cgm/atributo/alteraAtributo.php @@ -78,7 +78,7 @@ case 0: $dbEmp->abreBD(); $dbEmp->abreSelecao($sSQL); if ($dbEmp->numeroDeLinhas == 0 && $pagina != 0) { - echo ""; } @@ -133,7 +133,7 @@ $tipo = $vetAtributo[0]['tipoValor']; $valorPadrao = $vetAtributo[0]['valorPadrao']; ?> - - + + - - + + abreBD(); $dbEmp->abreSelecao($sSQL); @@ -476,6 +477,7 @@ switch ($controle) { $stNomeBairroCorresp = ""; if ($_REQUEST["inNumLogradouroCorresp"]) { $sSQL = "SELECT * FROM sw_nome_logradouro WHERE cod_logradouro = ".$_REQUEST["inNumLogradouroCorresp"]; + $sSQL .= " AND timestamp = (SELECT max(timestamp) FROM sw_nome_logradouro where cod_logradouro = ".$_REQUEST["inNumLogradouroCorresp"].") "; $dbEmp = new dataBaseLegado; $dbEmp->abreBD(); $dbEmp->abreSelecao($sSQL); @@ -647,7 +649,7 @@ switch ($controle) { } } else { echo ' - '; $html->formCgm($dadosCgm,$_SERVER['PHP_SELF'],0); @@ -668,7 +670,7 @@ switch ($controle) { } } else { echo ' - '; $html->formCgm($dadosCgm,$_SERVER['PHP_SELF'],0); diff --git a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/consultaCgm.php b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/consultaCgm.php index 90f87df..a5483bc 100755 --- a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/consultaCgm.php +++ b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/consultaCgm.php @@ -56,8 +56,8 @@ if (!isset($_REQUEST["controle"])) { } ?> - - + + - - + + + '; $html->formCgm($dadosCgm,$PHP_SELF,0); @@ -182,7 +182,7 @@ if ($pessoa == "fisica") { } } else { echo ' - '; $html->formCgm($dadosCgm,$PHP_SELF,0); diff --git a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/excluiCgm.php b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/excluiCgm.php index 11c4a5e..5511a4f 100755 --- a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/excluiCgm.php +++ b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/excluiCgm.php @@ -62,8 +62,8 @@ if (isset($_REQUEST["excluir"])) { } } ?> - - + + formCgm($dados,$_SERVER['PHP_SELF'],0); } else { ?> - '; //$html->formCgm($dadosCgm,$PHP_SELF,0); @@ -741,7 +741,7 @@ switch ($controle) { } } else { echo ' - '; $html->formCgm($dadosCgm,$_SERVER['PHP_SELF'],0); diff --git a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgmInterno.php b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgmInterno.php index fb1cbdf..af3e30b 100755 --- a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgmInterno.php +++ b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/incluiCgmInterno.php @@ -35,12 +35,12 @@ * Casos de uso: uc-01.02.92, uc-01.02.93 - $Id: incluiCgmInterno.php 59820 2014-09-12 18:17:20Z luciana $ + $Id: incluiCgmInterno.php 62978 2015-07-14 14:49:57Z luciana $ */ include '../../../../../../gestaoAdministrativa/fontes/PHP/framework/include/cabecalho.inc.php'; echo -''; diff --git a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/interfaceCgm.class.php b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/interfaceCgm.class.php index 72a4b7f..48265f6 100755 --- a/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/interfaceCgm.class.php +++ b/gestaoAdministrativa/fontes/PHP/CGM/cgm/manutencao/interfaceCgm.class.php @@ -35,7 +35,7 @@ * Casos de uso: uc-01.02.92, uc-01.02.93 - $Id: interfaceCgm.class.php 60788 2014-11-17 12:47:59Z silvia $ + $Id: interfaceCgm.class.php 63017 2015-07-16 17:59:20Z luciana $ */ @@ -192,7 +192,7 @@ Monta o formulário de busca por CGM public function formBuscaCgm($action="",$ctrl=0,$formAcao="") { ?> -"; } elseif ( $dbEmp->eof() and $formulario != "cga" ) { - echo ''; @@ -1065,16 +1065,16 @@ Se a variável $dados Cgm for maior que zero ele carrega também os dados do CGM //Carrega os telefones em partes para preencher os campos segmentados if (!isset($dddRes)) { $foneRes = isset($foneRes) ? $foneRes : ""; - $dddRes = substr($foneRes,0,2); + $dddRes = substr($foneRes,0,2); $foneRes = substr($foneRes,2,8); } if (!isset($dddCom)) { - $foneCom = isset($foneCom) ? $foneCom : ""; + $foneCom = isset($foneCom) ? $foneCom : ""; $dddCom = substr($foneCom,0,2); $foneCom = substr($foneCom,2,8); } if (!isset($dddCel)) { - $foneCel = isset($foneCel) ? $foneCel : ""; + $foneCel = isset($foneCel) ? $foneCel : ""; $dddCel = substr($foneCel,0,2); $foneCel = substr($foneCel,2,8); } @@ -1097,7 +1097,7 @@ Se a variável $dados Cgm for maior que zero ele carrega também os dados do CGM } } ?> - -'; @@ -270,12 +270,12 @@ $erro = 1; $audicao = new auditoriaLegada; $audicao->setaAuditoria(Sessao::read('numCgm'), Sessao::read('acao'), $titulo); $audicao->insereAuditoria(); - echo ''; } else { - echo ''; @@ -328,12 +328,12 @@ $erro = 1; $audicao = new auditoriaLegada; $audicao->setaAuditoria(Sessao::read('numCgm'), Sessao::read('acao'), $titulo); $audicao->insereAuditoria(); - echo ''; } else { - echo ''; @@ -342,7 +342,7 @@ $erro = 1; } if ($erros == 0) { -echo ''; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/editaMensagem.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/editaMensagem.php index 7e33bb2..7af2ac1 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/editaMensagem.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/editaMensagem.php @@ -56,7 +56,7 @@ Casos de uso: uc-01.03.91 case 0: $mensagem = pegaConfiguracao("mensagem", 2, Sessao::getExercicio() ); ?> -'; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/responsavelModulo.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/responsavelModulo.php index 0624350..90f3ad0 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/responsavelModulo.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/responsavelModulo.php @@ -45,7 +45,7 @@ Casos de uso: uc-01.03.91 setAjuda( "UC-01.03.91" ); ?> -'; } else { echo ' - '; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/solicitaSuporte.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/solicitaSuporte.php index 59d6c82..89bbfe4 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/solicitaSuporte.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/solicitaSuporte.php @@ -199,17 +199,17 @@ Casos de uso: uc-01.03.91 $envia->corpo = $solicita->corpo; if ($envia->remetente != "") { if ($envia->enviaEmail()) { - echo ''; } else - echo ''; } else - echo ''; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/statusSistema.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/statusSistema.php index 92e6909..dae4c48 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/statusSistema.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/sistema/statusSistema.php @@ -60,7 +60,7 @@ Casos de uso: uc-01.03.91 $atual = "Inativo"; } ?> -'; } else { echo ' - '; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/alteraUnidade.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/alteraUnidade.php index a94bfe2..3879520 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/alteraUnidade.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/alteraUnidade.php @@ -170,7 +170,7 @@ case 1: $dbConfig->fechaBd(); ?> -'; } else { - echo ''; executaFrameOculto("f.ok.disabled = false;"); } } else { echo' - '; executaFrameOculto("f.ok.disabled = false;"); @@ -314,7 +314,7 @@ case 3: $dbConfig->fechaBd(); if ($usuarioResponsavel == "") { - echo ''; } diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/excluiUnidade.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/excluiUnidade.php index 49f2fc4..b1a8356 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/excluiUnidade.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/unidade/excluiUnidade.php @@ -74,8 +74,8 @@ if (!isset($pagina)) { $pagina = 0; } ?> - - + + -'; } else { - echo ''; executaFrameOculto("f.ok.disabled = false;"); } } else { echo ' - '; executaFrameOculto("f.ok.disabled = false;"); @@ -267,7 +267,7 @@ case 2: $dbConfig->fechaBd(); if ($usuarioResponsavel == "") { - echo ''; } diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/defineImpressoras.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/defineImpressoras.php index ddeb55a..98039cb 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/defineImpressoras.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/defineImpressoras.php @@ -33,7 +33,7 @@ * Casos de uso: uc-01.03.93 - $Id: defineImpressoras.php 60355 2014-10-15 18:11:01Z silvia $ + $Id: defineImpressoras.php 62978 2015-07-14 14:49:57Z luciana $ */ @@ -55,7 +55,7 @@ if (strlen($controle) == 0) { $controle = 0; } ?> -'; @@ -355,7 +355,7 @@ setAjuda("UC-01.03.93"); $conectaBD->abreBD(); $conectaBD->abreSelecao($sSQL); $conectaBD->vaiPrimeiro(); ?> - '; @@ -536,7 +536,7 @@ setAjuda("UC-01.03.93"); $moduloProx = -1; $funcAtual = $conectaBD->pegaCampo("cod_funcionalidade"); $funcProx = -1; ?> - - '; } else { - echo ''; diff --git a/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/interfaceUsuario.class.php b/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/interfaceUsuario.class.php index 97f0ec2..9bc8747 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/interfaceUsuario.class.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/administracao/usuarios/interfaceUsuario.class.php @@ -81,7 +81,7 @@ class interfaceUsuario public function formBuscaUsuario($ctrl,$action="") { ?> - -\n"; + return "\n"; } /** diff --git a/gestaoAdministrativa/fontes/PHP/administracao/classes/mapeamento/TAdministracaoLogradouro.class.php b/gestaoAdministrativa/fontes/PHP/administracao/classes/mapeamento/TAdministracaoLogradouro.class.php index d5709de..b833dd8 100755 --- a/gestaoAdministrativa/fontes/PHP/administracao/classes/mapeamento/TAdministracaoLogradouro.class.php +++ b/gestaoAdministrativa/fontes/PHP/administracao/classes/mapeamento/TAdministracaoLogradouro.class.php @@ -113,54 +113,119 @@ function recuperaRelacionamentoRelatorio(&$rsRecordSet, $stCondicao = "" , $stOr } function montaRecuperaRelacionamentoRelatorio() { - $stSql = "SELECT * \n"; - $stSql .= "\t FROM ( \n"; - $stSql .= "\t SELECT \n"; - $stSql .= "\t TL.cod_tipo, \n"; - $stSql .= "\t TL.nom_tipo||' '||NL.nom_logradouro as tipo_nome, \n"; - $stSql .= "\t TL.nom_tipo, \n"; - $stSql .= "\t NL.nom_logradouro, \n"; - $stSql .= "\t L.*, \n"; - $stSql .= "\t B.cod_bairro, \n"; - $stSql .= "\t B.nom_bairro, \n"; - $stSql .= "\t M.nom_municipio, \n"; -// $stSql .= "\t U.cod_uf, \n"; - $stSql .= "\t U.nom_uf, \n"; - $stSql .= "\t U.sigla_uf, \n"; - $stSql .= "\t imobiliario.fn_consulta_cep(L.cod_logradouro) AS cep \n"; - $stSql .= "\t FROM \n"; - $stSql .= "\t sw_tipo_logradouro AS TL, \n"; - $stSql .= "\t sw_nome_logradouro AS NL, \n"; - $stSql .= "\t sw_municipio AS M, \n"; - $stSql .= "\t sw_uf AS U, \n"; - $stSql .= "\t ( SELECT \n"; - $stSql .= "\t MAX(timestamp) AS timestamp, \n"; - $stSql .= "\t cod_logradouro \n"; - $stSql .= "\t FROM \n"; - $stSql .= "\t sw_nome_logradouro \n"; - $stSql .= "\t GROUP BY cod_logradouro \n"; - $stSql .= "\t ORDER BY cod_logradouro \n"; - $stSql .= "\t ) AS MNL, \n"; - $stSql .= "\t sw_logradouro AS L \n"; - $stSql .= "\t LEFT OUTER JOIN sw_bairro_logradouro AS BL ON \n"; - $stSql .= "\t BL.cod_logradouro = L.cod_logradouro AND \n"; - $stSql .= "\t BL.cod_uf = L.cod_uf AND \n"; - $stSql .= "\t BL.cod_municipio = L.cod_municipio \n"; - $stSql .= "\t LEFT OUTER JOIN sw_bairro AS B ON \n"; - $stSql .= "\t B.cod_bairro = BL.cod_bairro AND \n"; - $stSql .= "\t B.cod_uf = BL.cod_uf AND \n"; - $stSql .= "\t B.cod_municipio = BL.cod_municipio \n"; - $stSql .= "\t WHERE \n"; - $stSql .= "\t L.cod_logradouro = NL.cod_logradouro AND \n"; - $stSql .= "\t NL.cod_logradouro = MNL.cod_logradouro AND \n"; - $stSql .= "\t NL.timestamp = MNL.timestamp AND \n"; - $stSql .= "\t L.cod_municipio = M.cod_municipio AND \n"; - $stSql .= "\t L.cod_uf = M.cod_uf AND \n"; - $stSql .= "\t M.cod_uf = U.cod_uf AND \n"; - $stSql .= "\t NL.cod_tipo = TL.cod_tipo \n"; - $stSql .= ") as tabela \n"; + $stSql = " SELECT + '1' as grupo + ,sw_tipo_logradouro.cod_tipo + ,sw_tipo_logradouro.nom_tipo||' '||sw_nome_logradouro.nom_logradouro as tipo_nome + ,sw_tipo_logradouro.nom_tipo + ,sw_nome_logradouro.nom_logradouro + ,sw_logradouro.* + ,sw_bairro.cod_bairro + ,initcap(sw_bairro.nom_bairro) as nom_bairro + ,sw_municipio.nom_municipio + ,sw_uf.nom_uf + ,sw_uf.sigla_uf + ,imobiliario.fn_consulta_cep(sw_logradouro.cod_logradouro) AS cep + ,TO_CHAR(sw_nome_logradouro.timestamp,'dd/mm/yyyy hh24:mm') as data_logradouro + FROM sw_logradouro + + INNER JOIN sw_nome_logradouro + ON sw_logradouro.cod_logradouro = sw_nome_logradouro.cod_logradouro + + INNER JOIN (SELECT + MAX(timestamp) AS timestamp, + cod_logradouro + FROM sw_nome_logradouro + GROUP BY cod_logradouro + ORDER BY cod_logradouro + ) AS max_nome_logradouro + ON sw_nome_logradouro.cod_logradouro = max_nome_logradouro.cod_logradouro + AND sw_nome_logradouro.timestamp = max_nome_logradouro.timestamp + + INNER JOIN sw_tipo_logradouro + ON sw_nome_logradouro.cod_tipo = sw_tipo_logradouro.cod_tipo + + INNER JOIN sw_municipio + ON sw_logradouro.cod_municipio = sw_municipio.cod_municipio + AND sw_logradouro.cod_uf = sw_municipio.cod_uf + + INNER JOIN sw_uf + ON sw_municipio.cod_uf = sw_uf.cod_uf + + LEFT JOIN sw_bairro_logradouro + ON sw_bairro_logradouro.cod_logradouro = sw_logradouro.cod_logradouro + AND sw_bairro_logradouro.cod_uf = sw_logradouro.cod_uf + AND sw_bairro_logradouro.cod_municipio = sw_logradouro.cod_municipio + + LEFT JOIN sw_bairro + ON sw_bairro.cod_bairro = sw_bairro_logradouro.cod_bairro + AND sw_bairro.cod_uf = sw_bairro_logradouro.cod_uf + AND sw_bairro.cod_municipio = sw_bairro_logradouro.cod_municipio + "; return $stSql; } + +function recuperaHistoricoLogradouro(&$rsRecordSet, $stCondicao = "" , $stOrdem = "" , $boTransacao = "") +{ + $obErro = new Erro; + $obConexao = new Conexao; + $rsRecordSet = new RecordSet; + if(trim($stOrdem)) + $stOrdem = (strpos($stOrdem,"ORDER BY")===false)?" ORDER BY $stOrdem":$stOrdem; + $stSql = $this->montaRecuperaHistoricoLogradouro().$stCondicao.$stOrdem; + $this->setDebug( $stSql ); + $obErro = $obConexao->executaSQL( $rsRecordSet, $stSql, $boTransacao ); + + return $obErro; +} + + +private function montaRecuperaHistoricoLogradouro() +{ + $stSql = " SELECT + '3' as grupo + ,sw_tipo_logradouro.cod_tipo + ,sw_tipo_logradouro.nom_tipo||' '||sw_nome_logradouro.nom_logradouro as tipo_nome + ,sw_tipo_logradouro.nom_tipo + ,sw_nome_logradouro.nom_logradouro + ,sw_logradouro.* + ,initcap(sw_bairro.nom_bairro) as nom_bairro + ,sw_municipio.nom_municipio + ,sw_uf.nom_uf + ,sw_uf.sigla_uf + ,imobiliario.fn_consulta_cep(sw_logradouro.cod_logradouro) AS cep + ,TO_CHAR(sw_nome_logradouro.timestamp,'dd/mm/yyyy hh24:mm') as data_logradouro + FROM sw_logradouro + + INNER JOIN sw_nome_logradouro + ON sw_logradouro.cod_logradouro = sw_nome_logradouro.cod_logradouro + + INNER JOIN sw_tipo_logradouro + ON sw_nome_logradouro.cod_tipo = sw_tipo_logradouro.cod_tipo + + INNER JOIN sw_municipio + ON sw_logradouro.cod_municipio = sw_municipio.cod_municipio + AND sw_logradouro.cod_uf = sw_municipio.cod_uf + + INNER JOIN sw_uf + ON sw_municipio.cod_uf = sw_uf.cod_uf + + LEFT JOIN sw_bairro_logradouro + ON sw_bairro_logradouro.cod_logradouro = sw_logradouro.cod_logradouro + AND sw_bairro_logradouro.cod_uf = sw_logradouro.cod_uf + AND sw_bairro_logradouro.cod_municipio = sw_logradouro.cod_municipio + + LEFT JOIN sw_bairro + ON sw_bairro.cod_bairro = sw_bairro_logradouro.cod_bairro + AND sw_bairro.cod_uf = sw_bairro_logradouro.cod_uf + AND sw_bairro.cod_municipio = sw_bairro_logradouro.cod_municipio + "; + + return $stSql; +} + + + } diff --git a/gestaoAdministrativa/fontes/PHP/administracao/instancias/assinaturas/JSManterAssinaturas.js b/gestaoAdministrativa/fontes/PHP/administracao/instancias/assinaturas/JSManterAssinaturas.js index 08b5422..354f9cf 100644 --- a/gestaoAdministrativa/fontes/PHP/administracao/instancias/assinaturas/JSManterAssinaturas.js +++ b/gestaoAdministrativa/fontes/PHP/administracao/instancias/assinaturas/JSManterAssinaturas.js @@ -54,7 +54,7 @@ Adicionada tag log. */ ?> - - - - - - - + $stScripts .= ' + + + + + + '; } print $stScripts.' - - - - - - - - + + + + + + + - - - - - - - + + + + + + + '; } public static function exibeAvisoTelaPrincipal($objeto="",$tipo="n_incluir",$chamada="erro") { - print ''; } @@ -383,7 +383,7 @@ public static function alertaAviso($location="",$objeto="",$tipo="n_incluir",$ch $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".(array_key_exists(1, $aux) ? $aux[1] : ''); //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; @@ -393,7 +393,7 @@ public static function mudaFrameOculto($location) $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; } @@ -403,7 +403,7 @@ public static function mudaFramePrincipal($location) $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; } @@ -420,7 +420,7 @@ public static function alertaAvisoPopUpPrincipal($location="",$objeto="",$tipo=" $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; @@ -444,7 +444,7 @@ public static function alertaAvisoPopUp($location="",$objeto="",$tipo="n_incluir /* Lucas Stephanou || 01/03/2005 */ public static function BloqueiaFrames($boPrincipal=true,$boMenu=false) { - $ini = "\r\n"; if ($boMenu ==true) {echo $ini."BloqueiaFrames(true,true);".$fim ;} if ($boPrincipal==true) {echo $ini."BloqueiaFrames(true,false);".$fim ;} @@ -452,7 +452,7 @@ public static function BloqueiaFrames($boPrincipal=true,$boMenu=false) } public static function LiberaFrames($boPrincipal=true,$boMenu=true) { - $ini = "\r\n"; if ($boMenu ==true) {echo $ini."LiberaFrames(true,true);".$fim ;} if ($boPrincipal==true) {echo $ini."LiberaFrames(true,false);".$fim ;} @@ -1324,13 +1324,72 @@ public static function retornaInicialFinalMesesPeriodicidade(&$arDatas,$stTipoPe //Mes default: - for ($i=$inPeriodo; $i <= $inPeriodo; $i++){ - $arDatas[] = array( 'stDtInicial' => "01/".str_pad($i,2,"0",STR_PAD_LEFT)."/".$inExercicio - , 'stDtFinal' => SistemaLegado::retornaUltimoDiaMes($i,$inExercicio) - ); - } + $arDatas['stDtInicial'] = "01/".str_pad($inPeriodo,2,"0",STR_PAD_LEFT)."/".$inExercicio; + $arDatas['stDtFinal'] = SistemaLegado::retornaUltimoDiaMes($inPeriodo,$inExercicio); break; } } +/*******************************************************************************************************/ +/**** Retorna a String removendo os acentos e alguns simbolos ****/ +/**** $string: string para ser removida os acentos e simbolos, pode ser um array ****/ +/**** Exemplo de uso .: removeAcentosSimbolos("áéíóçaaá"); ****/ +/**** Exemplo de uso .: removeAcentosSimbolos($arValores['campoString']); ****/ +/*******************************************************************************************************/ +public static function removeAcentosSimbolos(&$string) +{ + //Adicionando mapa de caracteres + $stMapaCaracteres = array( 'á' => 'a','à' => 'a','ã' => 'a','â' => 'a' + ,'é' => 'e','ê' => 'e' + ,'í' => 'i' + ,'ó' => 'o','ô' => 'o','õ' => 'o' + ,'ú' => 'u','ü' => 'u' + ,'ç' => 'c' + ,'Á' => 'A','À' => 'A','Ã' => 'A','Â' => 'A' + ,'É' => 'E','Ê' => 'E' + ,'Í' => 'I' + ,'Ó' => 'O','Ô' => 'O','Õ' => 'O' + ,'Ú' => 'U','Ü' => 'U' + ,'Ç' => 'C' + ,"'" => '' + ,'ª' => '' + ,'º' => '' + ,'¿' => '' + ,'°' => '' + ,'²' => '' + ,'³' => '' + ,';' => '' + ,'"' => '' + ,'ñ' => 'n' + ,'Ñ' => 'N' + ,'–' => '-' + ); + + //Buscando o tipo de dado que veio por parametro + if ( is_array($string) ) { + $stTipoDado = "array"; + }elseif ( is_object($string) ) { + $stTipoDado = "objeto"; + }else{ + $stTipoDado = "string"; + } + + //De acordo com cara tipo realiza as funcoes certas + switch ($stTipoDado) { + case 'array': + foreach ($string as $key => $value) { + $string[$key] = strtr($value, $stMapaCaracteres); + } + break; + + case 'string': + $string = strtr($string, $stMapaCaracteres); + break; + + default: + return $string; + break; + } +} + }//END CLASS \ No newline at end of file diff --git a/gestaoAdministrativa/fontes/PHP/framework/URBEM/ajax.php b/gestaoAdministrativa/fontes/PHP/framework/URBEM/ajax.php index ed1ac3e..a7251ee 100644 --- a/gestaoAdministrativa/fontes/PHP/framework/URBEM/ajax.php +++ b/gestaoAdministrativa/fontes/PHP/framework/URBEM/ajax.php @@ -43,7 +43,7 @@ */ ?> -\n"; - $stPreviewHtml .= "\n"; - $stPreviewHtml .= "\n"; - $stPreviewHtml .= "\n"; + $stPreviewHtml .= "\n"; + $stPreviewHtml .= "\n"; + $stPreviewHtml .= "\n"; + $stPreviewHtml .= "\n"; $stPreviewHtml .= "\n"; $stPreviewHtml .= "\n"; $stPreviewHtml .= "\n"; @@ -630,8 +630,8 @@ class PreviewBirt $stHtmlPdf = ""; $stHtmlPdf .= ""; - $stHtmlPdf .= ""; - $stHtmlPdf .= ""; + $stHtmlPdf .= ""; + $stHtmlPdf .= ""; $stHtmlPdf .= ""; $stHtmlPdf .= ""; $stHtmlPdf .= "\n"; diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Form.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Form.class.php index 82d4e3b..8c32bfc 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Form.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Form.class.php @@ -306,7 +306,7 @@ function defineFoco() { $stSaida = ''; if ($stId = $this->getFoco()) { - $stSaida = "\r\n" ; } diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Formulario.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Formulario.class.php index 8f6da49..bbf39bf 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Formulario.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Formulario.class.php @@ -27,7 +27,7 @@ * Montar o HTML de um formulario de acordo com os valores setados pelo usuário * Data de Criação: 06/02/2003 -$Id: Formulario.class.php 59820 2014-09-12 18:17:20Z luciana $ +$Id: Formulario.class.php 62978 2015-07-14 14:49:57Z luciana $ * @author Desenvolvedor: Cassiano de Vasconcellos Ferreira @@ -530,7 +530,7 @@ function addComponente($obComponente , $boAbreComponente = true, $boFechaCompone function addArquivoJS($stArquivoJS) { $stScript = $this->getArquivoJS(); - $stScript .= "\n\n"; + $stScript .= "\n\n"; $this->setArquivoJS( $stScript ); } @@ -879,7 +879,7 @@ function addFormularioAbas(&$obFormularioAbas) } } $obFormularioAbas->montaInnerHTML(); - $stHTML = "\n\n"; + $stHTML = "\n\n"; $stHTML .= str_replace( "\\'","'",$obFormularioAbas->getHTML()); if ( strtolower(get_class($this)) == "formularioabas" ) { $stHTML = str_replace( "layer_", "layer_".count($this->arAbas)."_", $stHTML ); @@ -1227,7 +1227,7 @@ function montaHTML() $stHtml .= $this->obJavaScript->getJavaScript(); $inCountJsArray = is_array($this->arJavaScript) ? count($this->arJavaScript) : 0; for ($inCount=0; $inCount<$inCountJsArray; $inCount++) { - $stHtml .= "\n"; @@ -1258,8 +1258,8 @@ function montaHTML() if ( $this->getForm() ) { $stHtml .= $obForm->fechaForm(); } - $stHtml .= "\n\n"; - $stHtml .= "\n\n"; + $stHtml .= "\n\n"; + $stHtml .= "\n\n"; parent::setHTML( $stHtml ); } diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/FormularioAbas.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/FormularioAbas.class.php index 3898680..2c160a7 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/FormularioAbas.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/FormularioAbas.class.php @@ -174,7 +174,7 @@ function montaHTML() } $stHTML .= $this->stHTML; $stHTML .= "\n\n"; - $stHTML .= "\n\n"; + $stHTML .= "\n\n"; $this->stHTML = $stHTML; } diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/JavaScript.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/JavaScript.class.php index 802b3ab..824bfe9 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/JavaScript.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/JavaScript.class.php @@ -34,7 +34,7 @@ Casos de uso: uc-01.01.00 - $Id: JavaScript.class.php 59820 2014-09-12 18:17:20Z luciana $ + $Id: JavaScript.class.php 62978 2015-07-14 14:49:57Z luciana $ */ @@ -929,7 +929,7 @@ function montaJavaScript() $stJavaScript .= $this->stSalvar." }\n";// $this->getSalvar(); $stJavaScript .= $this->geraHabilitaLayer(); - $stJS = "\n"; $this->setJavaScript( $stJS ); diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Lista.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Lista.class.php index d676d30..a5074ee 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Lista.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Lista.class.php @@ -32,7 +32,7 @@ * @package framework * @subpackage componentes -* $Id: Lista.class.php 60355 2014-10-15 18:11:01Z silvia $ +* $Id: Lista.class.php 62978 2015-07-14 14:49:57Z luciana $ * Casos de uso: uc-01.01.00 @@ -1126,7 +1126,7 @@ function montaHTML() $stProxima = substr(basename($stLink),0,strpos(basename($stLink),'.php')); if ( $this->boEncRegistroUnico and $stReferer != $stProxima and strpos(basename($stHttpReferer),'PR') !== 0) { if ( $obRecordSet->getNumLinhas() == 1 and count($arAcao) == 1 and !$obAcao->getFuncao() ) { - print ''; } diff --git a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Ordenacao.class.php b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Ordenacao.class.php index d330c68..0fb98ef 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Ordenacao.class.php +++ b/gestaoAdministrativa/fontes/PHP/framework/componentes/HTML/Ordenacao.class.php @@ -304,7 +304,7 @@ function montaHtml() $this->obTabela->montaHtml(); $stHtml = $this->obTabela->getHtml() ; - $stHtml .= " diff --git a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/logoutfecha.php b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/logoutfecha.php index e75ace4..6da2b3f 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/logoutfecha.php +++ b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/logoutfecha.php @@ -48,7 +48,7 @@ if (is_object($sessao)) { Encerrando... - "); + echo(""); } $obj = array_key_exists('obj',$_GET) ? $_GET['obj'] : null; diff --git a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/menu.php b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/menu.php index ecf94f5..a2c9cd5 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/menu.php +++ b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/menu.php @@ -33,7 +33,7 @@ * @ignore - $Id: menu.php 60788 2014-11-17 12:47:59Z silvia $ + $Id: menu.php 62978 2015-07-14 14:49:57Z luciana $ $Revision: 28718 $ $Name$ @@ -50,7 +50,7 @@ include '../../../../../../gestaoAdministrativa/fontes/PHP/pacotes/FrameworkHTML include(CAM_FW_LEGADO."funcoesLegado.lib.php"); include(CAM_FW_LEGADO."sistema.class.php"); if((strtolower(Sistema::consultaStatus()) == 'i')&&(Sessao::read('username') != 'admin')){ - echo(""); + echo(""); } Sessao::open(); @@ -125,7 +125,7 @@ if ($nivel == 1) { MontaCSSMenu(); window.status = ":::::::: URBEM ::::::::"; -"; ?>
@@ -231,7 +231,7 @@ a imagem na tela */
+ echo ""; } @@ -573,7 +573,7 @@ case 3:
- diff --git a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/msgs.php b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/msgs.php index 8d947cb..a2736f0 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/instancias/index/msgs.php +++ b/gestaoAdministrativa/fontes/PHP/framework/instancias/index/msgs.php @@ -49,7 +49,7 @@ if (!(session_is_registered("sessao"))) { - '; @@ -85,7 +85,7 @@ class botoesPdfLegado public function imprimeBotoes($sScriptXML="", $sSQL="", $sTitulo="", $sSubTitulo="", $sParametros="") { print ' - - + @@ -215,7 +215,7 @@ if ($codigomodulo != 0) { + echo ""; ?> @@ -227,7 +227,7 @@ if (!$mostraTitulo) { ?> - - + "; diff --git a/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCALegado.inc.php b/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCALegado.inc.php index 6c87747..9f5872d 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCALegado.inc.php +++ b/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosCALegado.inc.php @@ -39,7 +39,7 @@ Casos de uso: uc-01.01.00 $mascaraAssunto = pegaConfiguracao('mascara_assunto',5); //echo $mascaraAssunto; ?> - "; diff --git a/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosSELegado.inc.php b/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosSELegado.inc.php index 56808bd..d31fb06 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosSELegado.inc.php +++ b/gestaoAdministrativa/fontes/PHP/framework/legado/filtrosSELegado.inc.php @@ -35,7 +35,7 @@ Casos de uso: uc-01.01.00 - $Id: filtrosSELegado.inc.php 59820 2014-09-12 18:17:20Z luciana $ + $Id: filtrosSELegado.inc.php 62978 2015-07-14 14:49:57Z luciana $ */ $mascaraSetor = SistemaLegado::pegaConfiguracao('mascara_setor'); @@ -127,7 +127,7 @@ $mascaraSetor = SistemaLegado::pegaConfiguracao('mascara_setor'); + "; diff --git a/gestaoAdministrativa/fontes/PHP/framework/legado/funcoesLegado.lib.php b/gestaoAdministrativa/fontes/PHP/framework/legado/funcoesLegado.lib.php index 7b24b00..2022e4f 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/legado/funcoesLegado.lib.php +++ b/gestaoAdministrativa/fontes/PHP/framework/legado/funcoesLegado.lib.php @@ -729,7 +729,7 @@ function mudaTelaPrincipal($location="") $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; } @@ -747,7 +747,7 @@ function alertaAviso($location="",$objeto="",$tipo="n_incluir",$chamada="erro", $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; @@ -759,7 +759,7 @@ function alertaAviso2($location="",$objeto="",$tipo="n_incluir",$chamada="erro", $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona o frame 'telaPrincipal' - print ''; @@ -771,7 +771,7 @@ function alertaAvisoPopUp($location="",$objeto="",$tipo="n_incluir",$chamada="er $aux = explode("?",$location); $location = $aux[0]."?".Sessao::getId()."&".$aux[1]; //Imprime um código javascript que redireciona para o proprio PopUp - print ''; @@ -784,7 +784,7 @@ function alertaAvisoPopUp($location="",$objeto="",$tipo="n_incluir",$chamada="er exibeAviso("Usuário","alterar","aviso"); */ function exibeAviso($objeto="",$tipo="n_incluir",$chamada="erro") { - print ''; } @@ -1277,7 +1277,7 @@ function executaFrameOculto($javaScript) { print ' - \r\n"; if ($boMenu ==true) {echo $ini."BloqueiaFrames(true,true);".$fim ;} if ($boPrincipal==true) {echo $ini."BloqueiaFrames(true,false);".$fim ;} } function LiberaFrames($boPrincipal=true,$boMenu=true) { - $ini = "\r\n"; if ($boMenu ==true) {echo $ini."LiberaFrames(true,true);".$fim ;} if ($boPrincipal==true) {echo $ini."LiberaFrames(true,false);".$fim ;} diff --git a/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/copiaDigitalLegado.php b/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/copiaDigitalLegado.php index 4b3f6fc..05962f4 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/copiaDigitalLegado.php +++ b/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/copiaDigitalLegado.php @@ -79,7 +79,7 @@ $dbEmp->fechaBD(); -'; } else { unset($ctrl); - echo ''; @@ -348,12 +348,12 @@ switch ($ctrl) { $controlaTumb = 1 ; unset($ctrl); - echo ''; } else { unset($ctrl); - echo ''; @@ -374,19 +374,19 @@ switch ($ctrl) { //rmdir($diretorio); unset($ctrl); - echo ''; } else { unset($ctrl); - echo ''; } break; case 3: - echo ''; break; diff --git a/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/uploadImageLegado.php b/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/uploadImageLegado.php index 951df44..098654a 100755 --- a/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/uploadImageLegado.php +++ b/gestaoAdministrativa/fontes/PHP/framework/legado/imagens/uploadImageLegado.php @@ -47,7 +47,7 @@ Casos de uso: uc-01.01.00 - - + '; $this->montaRodapeHTML(); @@ -398,8 +393,6 @@ class relatorioPdfLegado pegaConfiguracao('numero'); $this->PDF->sEnderecoPrefeitura[3] = "Cep: ".pegaConfiguracao('cep')." - ".$sMunic; - Sessao::write('acrobatreader',pegaConfiguracao('caminho_acrobat')); - $this->PDF->sImprimeUsuario = strtoupper(pegaConfiguracao('usuario_relatorio')); $this->PDF->sNomeRelatorio = $this->sScriptFile; $this->PDF->sData = hoje(); @@ -1017,8 +1010,8 @@ class relatorioPdfLegado - - + '."\n"; + ob_flush(); + flush(); +} +/*-- END PROGRESS-BAR --*/ @@ -1620,11 +1753,20 @@ function Open() { } function Close() { + if ($this->progressBar) { $this->UpdateProgressBar(2,'2','Closing last page'); } // *PROGRESS-BAR* //Terminate document if($this->state==3) return; if($this->page==0) $this->AddPage($this->CurOrientation); if (count($this->cellBorderBuffer)) { $this->printcellbuffer(); } // *TABLES* if ($this->tablebuffer) { $this->printtablebuffer(); } // *TABLES* +/*-- COLUMNS --*/ + + if ($this->ColActive) { + $this->SetColumns(0); + $this->ColActive = 0; + if (count($this->columnbuffer)) { $this->printcolumnbuffer(); } + } +/*-- END COLUMNS --*/ if (count($this->divbuffer)) { $this->printdivbuffer(); } // BODY Backgrounds @@ -1646,6 +1788,7 @@ function Close() { $this->Footer(); $this->InFooter=false; } + if ($this->tocontents && ($this->tocontents->TOCmark || count($this->tocontents->m_TOC))) { $this->tocontents->insertTOC(); } // *TOC* //Close page $this->_endpage(); @@ -1654,6 +1797,7 @@ function Close() { $this->_enddoc(); } +/*-- BACKGROUNDS --*/ function _resizeBackgroundImage($imw, $imh, $cw, $ch, $resize=0, $repx, $repy, $pba=array(), $size=array()) { // mPDF 5.6.10 // pba is background positioning area (from CSS background-origin) may not always be set [x,y,w,h] // size is from CSS3 background-size - takes precendence over old resize @@ -1819,6 +1963,7 @@ function SetBackground(&$properties, &$maxwidth) { } return false; } +/*-- END BACKGROUNDS --*/ function PrintBodyBackgrounds() { $s = ''; @@ -1845,6 +1990,7 @@ function PrintBodyBackgrounds() { $s .= sprintf('%.3F %.3F %.3F %.3F re f Q', ($clx*_MPDFK), ($cly*_MPDFK),$clw*_MPDFK,$clh*_MPDFK)."\n"; } +/*-- BACKGROUNDS --*/ if ($this->bodyBackgroundGradient) { $g = $this->grad->parseBackgroundGradient($this->bodyBackgroundGradient); if ($g) { @@ -1869,6 +2015,7 @@ function PrintBodyBackgrounds() { $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, ($clx*_MPDFK), ($cly*_MPDFK),$clw*_MPDFK, $clh*_MPDFK) ."\n"; } } +/*-- END BACKGROUNDS --*/ return $s; } @@ -1916,6 +2063,7 @@ function PrintPageBackgrounds($adjustmenty=0) { } } } +/*-- BACKGROUNDS --*/ foreach ($pbs AS $pb) { // mPDF 5.6.01 - LAYERS if ((isset($pb['gradient']) && $pb['gradient']) || (isset($pb['image_id']) && $pb['image_id'])) { @@ -2071,12 +2219,14 @@ function PrintPageBackgrounds($adjustmenty=0) { } } +/*-- END BACKGROUNDS --*/ } return $s; } function PrintTableBackgrounds($adjustmenty=0) { $s = ''; +/*-- BACKGROUNDS --*/ ksort($this->tableBackgrounds); foreach($this->tableBackgrounds AS $bl=>$pbs) { foreach ($pbs AS $pb) { @@ -2106,13 +2256,129 @@ function PrintTableBackgrounds($adjustmenty=0) { $w = $pb['w']*_MPDFK; $h = -$pb['h']*_MPDFK; if (isset($pb['clippath']) && $pb['clippath']) { $s .= $pb['clippath']."\n"; } - if ($pb['opacity']>0 && $pb['opacity']<1) { $opac = $this->SetAlpha($pb['opacity'],'Normal',true); } - else { $opac = ''; } - $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) ."\n"; + + // mPDF 5.7.3 + if (($this->writingHTMLfooter || $this->writingHTMLheader) && (!isset($pb['clippath']) || $pb['clippath']=='') ) { + // Set clipping path + $pb['clippath'] = sprintf(' q 0 w %.3F %.3F m %.3F %.3F l %.3F %.3F l %.3F %.3F l %.3F %.3F l W n ', $x, $y, $x, $y+$h, $x+$w, $y+$h, $x+$w, $y, $x, $y); + } + + if (isset($pb['clippath']) && $pb['clippath']) { $s .= $pb['clippath']."\n"; } + + // mPDF 5.7.3 + if ($this->writingHTMLfooter || $this->writingHTMLheader) { // Write each (tiles) image rather than use as a pattern + $iw = $pb['orig_w']/_MPDFK; + $ih = $pb['orig_h']/_MPDFK; + + $w = $pb['w']; + $h = $pb['h']; + $x0 = $pb['x']; + $y0 = $pb['y']; + + if (isset($pb['bpa']) && $pb['bpa']) { + $w = $pb['bpa']['w']; + $h = $pb['bpa']['h']; + $x0 = $pb['bpa']['x']; + $y0 = $pb['bpa']['y']; + } + + if (isset($pb['size']['w']) && $pb['size']['w']) { + $size = $pb['size']; + + if ($size['w']=='contain') { + // Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area. + // Same as resize==3 + $ih = $ih * $pb['bpa']['w']/$iw; + $iw = $pb['bpa']['w']; + if ($ih > $pb['bpa']['h']) { + $iw = $iw * $pb['bpa']['h']/$ih; + $ih = $pb['bpa']['h']; + } + } + else if ($size['w']=='cover') { + // Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area. + $ih = $ih * $pb['bpa']['w']/$iw; + $iw = $pb['bpa']['w']; + if ($ih < $pb['bpa']['h']) { + $iw = $iw * $ih/$pb['bpa']['h']; + $ih = $pb['bpa']['h']; + } + } + else { + if (stristr($size['w'] ,'%')) { + $size['w'] += 0; + $size['w'] /= 100; + $size['w'] = ($pb['bpa']['w'] * $size['w']); + } + if (stristr($size['h'] ,'%')) { + $size['h'] += 0; + $size['h'] /= 100; + $size['h'] = ($pb['bpa']['h'] * $size['h']); + } + if ($size['w']=='auto' && $size['h']=='auto') { + $iw = $iw; + $ih = $ih; + } + else if ($size['w']=='auto' && $size['h']!='auto') { + $iw = $iw * $size['h']/$ih; + $ih = $size['h']; + } + else if ($size['w']!='auto' && $size['h']=='auto') { + $ih = $ih * $size['w']/$iw; + $iw = $size['w']; + } + else { + $iw = $size['w']; + $ih = $size['h']; + } + } + } + + // Number to repeat + if ($pb['x_repeat']) { $nx = ceil($pb['w']/$iw)+1; } + else { $nx = 1; } + if ($pb['y_repeat']) { $ny = ceil($pb['h']/$ih)+1; } + else { $ny = 1; } + + $x_pos = $pb['x_pos']; + if (stristr($x_pos ,'%') ) { + $x_pos += 0; + $x_pos /= 100; + $x_pos = ($pb['bpa']['w'] * $x_pos) - ($iw * $x_pos); + } + $y_pos = $pb['y_pos']; + if (stristr($y_pos ,'%') ) { + $y_pos += 0; + $y_pos /= 100; + $y_pos = ($pb['bpa']['h'] * $y_pos) - ($ih * $y_pos); + } + if ($nx>1) { + while($x_pos>($pb['x']-$pb['bpa']['x'])) { $x_pos -= $iw; } + } + if ($ny>1) { + while($y_pos>($pb['y']-$pb['bpa']['y'])) { $y_pos -= $ih; } + } + for($xi=0;$xi<$nx;$xi++) { + for($yi=0;$yi<$ny;$yi++) { + $x = $x0 + $x_pos + ($iw*$xi); + $y = $y0 + $y_pos + ($ih*$yi); + if ($pb['opacity']>0 && $pb['opacity']<1) { $opac = $this->SetAlpha($pb['opacity'],'Normal',true); } + else { $opac = ''; } + $s .= sprintf("q %s %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $opac,$iw*_MPDFK,$ih*_MPDFK,$x*_MPDFK,($this->h-($y+$ih))*_MPDFK,$pb['image_id']) ."\n"; + } + } + } + else { + if (($pb['opacity']>0 || $pb['opacity']==='0') && $pb['opacity']<1) { $opac = $this->SetAlpha($pb['opacity'],'Normal',true); } + else { $opac = ''; } + $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) ."\n"; + } + if (isset($pb['clippath']) && $pb['clippath']) { $s .= 'Q'."\n"; } } } } +/*-- END BACKGROUNDS --*/ return $s; } @@ -2178,6 +2444,7 @@ function AddPageByArray($a) { function AddPage($orientation='',$condition='', $resetpagenum='', $pagenumstyle='', $suppress='',$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='',$ohname='',$ehname='',$ofname='',$efname='',$ohvalue=0,$ehvalue=0,$ofvalue=0,$efvalue=0,$pagesel='',$newformat='') { +/*-- CSS-FLOAT --*/ // Float DIV // Cannot do with columns on, or if any change in page orientation/margins etc. // If next page already exists - i.e background /headers and footers already written @@ -2243,6 +2510,7 @@ function AddPage($orientation='',$condition='', $resetpagenum='', $pagenumstyle= $this->divwidth = $bak_dw; return ''; } +/*-- END CSS-FLOAT --*/ //Start a new page if($this->state==0) $this->Open(); @@ -2350,6 +2618,13 @@ function AddPage($orientation='',$condition='', $resetpagenum='', $pagenumstyle= $this->keep_block_together = 0; $save_cols = false; +/*-- COLUMNS --*/ + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ $family=$this->FontFamily; @@ -2448,6 +2723,13 @@ function AddPage($orientation='',$condition='', $resetpagenum='', $pagenumstyle= if($save_vis!='visible') $this->SetVisibility($save_vis); +/*-- COLUMNS --*/ + if ($save_cols) { + // Restore columns + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); + } + if ($this->ColActive) { $this->SetCol(0); } +/*-- END COLUMNS --*/ //RESET BLOCK BORDER TOP @@ -2631,6 +2913,15 @@ function GetCharWidthNonCore($c, $addSubset=true) { $w = 0; $unicode = $this->UTF8StringToArray($c, $addSubset); $char = $unicode[0]; +/*-- CJK-FONTS --*/ + if ($this->CurrentFont['type'] == 'Type0') { // CJK Adobe fonts + if ($char == 173) { return 0; } // Soft Hyphens + elseif (isset($this->CurrentFont['cw'][$char])) { $w+=$this->CurrentFont['cw'][$char]; } + elseif(isset($this->CurrentFont['MissingWidth'])) { $w += $this->CurrentFont['MissingWidth']; } + else { $w += 500; } + } + else { +/*-- END CJK-FONTS --*/ if ($char == 173) { return 0; } // Soft Hyphens else if ($this->S && isset($this->upperCase[$char])) { $charw = $this->_getCharWidth($this->CurrentFont['cw'],$this->upperCase[$char]); @@ -2649,6 +2940,7 @@ function GetCharWidthNonCore($c, $addSubset=true) { elseif(isset($this->CurrentFont['MissingWidth'])) { $w += $this->CurrentFont['MissingWidth']; } else { $w += 500; } } + } // *CJK-FONTS* $w *= ($this->FontSize/ 1000); if ($this->minwSpacing || $this->fixedlSpacing) { if ($c==' ') $nb_spaces = 1; @@ -2687,6 +2979,16 @@ function GetStringWidth($s, $addSubset=true) { $nb_carac = count($unicode); $nb_spaces = mb_substr_count($s,' ', $this->mb_enc); } +/*-- CJK-FONTS --*/ + if ($this->CurrentFont['type'] == 'Type0') { // CJK Adobe fonts + foreach($unicode as $char) { + if (isset($cw[$char])) { $w+=$cw[$char]; } + elseif(isset($this->CurrentFont['MissingWidth'])) { $w += $this->CurrentFont['MissingWidth']; } + else { $w += 500; } + } + } + else { +/*-- END CJK-FONTS --*/ foreach($unicode as $char) { if ($this->S && isset($this->upperCase[$char])) { $charw = $this->_getCharWidth($cw,$this->upperCase[$char]); @@ -2712,6 +3014,7 @@ function GetStringWidth($s, $addSubset=true) { $lastchar = $char; } } + } // *CJK-FONTS* } else { @@ -2813,6 +3116,13 @@ function AddFont($family,$style='') { return; } +/*-- CJK-FONTS --*/ + if (in_array($family,$this->available_CJK_fonts)) { + if (empty($this->Big5_widths)) { require(_MPDF_PATH . 'includes/CJKdata.php'); } + $this->AddCJKFont($family); // don't need to add style + return; + } +/*-- END CJK-FONTS --*/ if ($this->usingCoreFont) { die("mPDF Error - problem with Font management"); } @@ -3020,6 +3330,17 @@ function SetFont($family,$style='',$size=0, $write=true, $forcewrite=false) { if (!$this->onlyCoreFonts && !$this->usingCoreFont) { if(!isset($this->fonts[$fontkey]) || count($this->default_available_fonts) != count($this->available_unifonts) ) { // not already added +/*-- CJK-FONTS --*/ + // CJK fonts + if (in_array($fontkey,$this->available_CJK_fonts)) { + if(!isset($this->fonts[$fontkey])) { // already added + if (empty($this->Big5_widths)) { require(_MPDF_PATH . 'includes/CJKdata.php'); } + $this->AddCJKFont($family); // don't need to add style + } + } + // Test to see if requested font/style is available - or substitute + else +/*-- END CJK-FONTS --*/ if (!in_array($fontkey,$this->available_unifonts)) { // If font[nostyle] exists - set it if (in_array($family,$this->available_unifonts)) { @@ -3240,6 +3561,8 @@ function Link($x,$y,$w,$h,$link) { //Put a link on the page $this->PageLinks[$this->page][]= $l; // Save cross-reference to Column buffer + $ref = count($this->PageLinks[$this->page])-1; // *COLUMNS* + $this->columnLinks[$this->CurrCol][INTVAL($this->x)][INTVAL($this->y)] = $ref; // *COLUMNS* } @@ -3320,6 +3643,37 @@ function Text($x,$y,$txt) { $this->_out($s); } +/*-- DIRECTW --*/ +function WriteText($x,$y,$txt) { + // Output a string using Text() but does encoding and text reversing of RTL + $txt = $this->purify_utf8_text($txt); + if ($this->text_input_as_HTML) { + $txt = $this->all_entities_to_utf8($txt); + } + if ($this->usingCoreFont) { $txt = mb_convert_encoding($txt,$this->mb_enc,'UTF-8'); } + // DIRECTIONALITY + if (preg_match("/([".$this->pregRTLchars."])/u", $txt)) { $this->biDirectional = true; } // *RTL* + $this->magic_reverse_dir($txt, true, $this->directionality); // *RTL* + // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($txt); // *INDIC* + $this->Text($x,$y,$txt); +} + +function WriteCell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='', $currentx=0) { + //Output a cell using Cell() but does encoding and text reversing of RTL + $txt = $this->purify_utf8_text($txt); + if ($this->text_input_as_HTML) { + $txt = $this->all_entities_to_utf8($txt); + } + if ($this->usingCoreFont) { $txt = mb_convert_encoding($txt,$this->mb_enc,'UTF-8'); } + // DIRECTIONALITY + if (preg_match("/([".$this->pregRTLchars."])/u", $txt)) { $this->biDirectional = true; } // *RTL* + $this->magic_reverse_dir($txt, true, $this->directionality); // *RTL* + // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($txt); // *INDIC* + $this->Cell($w,$h,$txt,$border,$ln,$align,$fill,$link, $currentx); +} +/*-- END DIRECTW --*/ function ResetSpacing() { @@ -3422,6 +3776,22 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='', $curre // Test: to put line through centre of cell: $this->Line($this->x,$this->y+($h/2),$this->x+50,$this->y+($h/2)); +/*-- COLUMNS --*/ + // COLS + // COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($currentx) { + $currentx += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + } + $this->x += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + } + + // COLUMNS Update/overwrite the lowest bottom of printing y value for a column + if ($this->ColActive) { + if ($h) { $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y+$h; } + else { $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y+$this->divheight; } + } +/*-- END COLUMNS --*/ // KEEP BLOCK TOGETHER Update/overwrite the lowest bottom of printing y value on first page if ($this->keep_block_together) { @@ -3448,8 +3818,9 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='', $curre //Calculate baseline Superscript and Subscript Y coordinate adjustment $bfx = $this->baselineC; $baseline = $bfx*$bfs; - if($this->SUP) { $baseline += ($bfx-1.05)*$this->FontSize; } - else if($this->SUB) { $baseline += ($bfx + 0.04)*$this->FontSize; } + // mPDF 5.7.3 inline text-decoration parameters + if($this->SUP) { $baseline -= $this->textparam['text-baseline']; } // mPDF 5.7.1 + else if($this->SUB) { $baseline -= $this->textparam['text-baseline']; } // mPDF 5.7.1 else if($this->bullet) { $baseline += ($bfx-0.7)*$this->FontSize; } // Vertical align (for Images) @@ -3717,33 +4088,43 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='', $curre } // UNDERLINE if($this->U) { - $c = strtoupper($this->TextColor); // change 0 0 0 rg to 0 0 0 RG + // mPDF 5.7.3 inline text-decoration parameters + $c = $this->textparam['u-decoration']['color']; if($this->FillColor!=$c) { $sub .= ' '.$c.' '; } - if (isset($this->CurrentFont['up'])) { $up=$this->CurrentFont['up']; } + // mPDF 5.7.3 inline text-decoration parameters + $decorationfontkey = $this->textparam['u-decoration']['fontkey']; + $decorationfontsize = $this->textparam['u-decoration']['fontsize']; + if (isset($this->fonts[$decorationfontkey]['up'])) { $up=$this->fonts[$decorationfontkey]['up']; } else { $up = -100; } - $adjusty = (-$up/1000* $this->FontSize); - if (isset($this->CurrentFont['ut'])) { $ut=$this->CurrentFont['ut']/1000* $this->FontSize; } - else { $ut = 60/1000* $this->FontSize; } + $adjusty = (-$up/1000* $decorationfontsize); + if (isset($this->fonts[$decorationfontkey]['ut'])) { $ut=$this->fonts[$decorationfontkey]['ut']/1000* $decorationfontsize; } + else { $ut = 60/1000* $decorationfontsize; } + $ubaseline = $this->baselineC*$bfs - $this->textparam['u-decoration']['baseline']; $olw = $this->LineWidth; $sub .=' '.(sprintf(' %.3F w 0 j 0 J ',$ut*_MPDFK)); - $sub .=' '.$this->_dounderline($this->x+$dx,$this->y+$baseline+$va+$adjusty,$txt); + $sub .=' '.$this->_dounderline($this->x+$dx,$this->y+$ubaseline+$va+$adjusty,$txt,$OTLdata,$textvar); $sub .=' '.(sprintf(' %.3F w 2 j 2 J ',$olw*_MPDFK)); if($this->FillColor!=$c) { $sub .= ' '.$this->FillColor.' '; } } // STRIKETHROUGH if($this->strike) { - $c = strtoupper($this->TextColor); // change 0 0 0 rg to 0 0 0 RG + // mPDF 5.7.3 inline text-decoration parameters + $c = $this->textparam['s-decoration']['color']; if($this->FillColor!=$c) { $sub .= ' '.$c.' '; } - //Superscript and Subscript Y coordinate adjustment (now for striked-through texts) - if (isset($this->CurrentFont['desc']['CapHeight'])) { $ch=$this->CurrentFont['desc']['CapHeight']; } + // mPDF 5.7.3 inline text-decoration parameters + $decorationfontkey = $this->textparam['s-decoration']['fontkey']; + $decorationfontsize = $this->textparam['s-decoration']['fontsize']; + //Superscript and Subscript Y coordinate adjustment (now for striked-through texts) + if (isset($this->fonts[$decorationfontkey]['desc']['CapHeight'])) { $ch=$this->fonts[$decorationfontkey]['desc']['CapHeight']; } else { $ch = 700; } - $adjusty = (-$ch/1000* $this->FontSize) * 0.35; - if (isset($this->CurrentFont['ut'])) { $ut=$this->CurrentFont['ut']/1000* $this->FontSize; } - else { $ut = 60/1000* $this->FontSize; } + $adjusty = (-$ch/1000* $decorationfontsize) * $this->baselineS; + if (isset($this->fonts[$decorationfontkey]['ut'])) { $ut=$this->fonts[$decorationfontkey]['ut']/1000* $decorationfontsize; } + else { $ut = 60/1000* $decorationfontsize; } + $sbaseline = $this->baselineC*$bfs - $this->textparam['s-decoration']['baseline']; $olw = $this->LineWidth; $sub .=' '.(sprintf(' %.3F w 0 j 0 J ',$ut*_MPDFK)); - $sub .=' '.$this->_dounderline($this->x+$dx,$this->y+$baseline+$va+$adjusty,$txt); + $sub .=' '.$this->_dounderline($this->x+$dx,$this->y+$sbaseline+$va+$adjusty,$txt,$OTLdata,$textvar); $sub .=' '.(sprintf(' %.3F w 2 j 2 J ',$olw*_MPDFK)); if($this->FillColor!=$c) { $sub .= ' '.$this->FillColor.' '; } } @@ -3982,6 +4363,10 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali } if ($this->usingCoreFont) { $txt = mb_convert_encoding($txt,$this->mb_enc,'UTF-8'); } // Font-specific ligature substitution for Indic fonts + else if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) { // *INDIC* + $this->ConvertIndic($tmp); // *INDIC* + } // *INDIC* + if (preg_match("/([".$this->pregRTLchars."])/u", $txt)) { $this->biDirectional = true; } // *RTL* } if (!$align) { $align = $this->defaultAlign; } @@ -4026,6 +4411,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali if (!$this->usingCoreFont) { $checkCursive=false; if ($this->biDirectional) { $checkCursive=true; } + else if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) { $checkCursive=true; } // *INDIC* while($i<$nb) { //Get next character $c = mb_substr($s,$i,1,$this->mb_enc ); @@ -4035,6 +4421,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali $this->ResetSpacing(); $tmp = rtrim(mb_substr($s,$j,$i-$j,$this->mb_enc)); // DIRECTIONALITY + $this->magic_reverse_dir($tmp, true, $directionality); // *RTL* $this->Cell($w,$h,$tmp,$b,2,$align,$fill,$link); $i++; @@ -4062,6 +4449,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali $this->ResetSpacing(); $tmp = rtrim(mb_substr($s,$j,$i-$j,$this->mb_enc)); // DIRECTIONALITY + $this->magic_reverse_dir($tmp, true, $directionality); // *RTL* $this->Cell($w,$h,$tmp,$b,2,$align,$fill,$link); } @@ -4079,6 +4467,8 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali $inclCursive=false; if ($checkCursive) { + if (preg_match("/([".$this->pregRTLchars."])/u", $tmp)) { $inclCursive = true; } // *RTL* + if (preg_match("/([".$this->pregHIchars.$this->pregBNchars.$this->pregPAchars."])/u", $tmp)) { $inclCursive = true; } // *INDIC* } list($charspacing,$ws) = $this->GetJspacing($nb_carac,$nb_spaces,((($wmax) - $len_ligne) * _MPDFK),$inclCursive); $this->SetSpacing($charspacing,$ws); @@ -4086,6 +4476,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali } // DIRECTIONALITY + $this->magic_reverse_dir($tmp, true, $directionality); // *RTL* $this->Cell($w,$h,$tmp,$b,2,$align,$fill,$link); $i=$sep+1; @@ -4179,6 +4570,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali if (!$this->usingCoreFont) { $tmp = rtrim(mb_substr($s,$j,$i-$j,$this->mb_enc)); // DIRECTIONALITY + $this->magic_reverse_dir($tmp, true, $directionality); // *RTL* $this->Cell($w,$h,$tmp,$b,2,$align,$fill,$link); } else { $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill,$link); } @@ -4186,8 +4578,16 @@ function MultiCell($w,$h,$txt,$border=0,$align='',$fill=0,$link='',$directionali } +/*-- DIRECTW --*/ +function Write($h,$txt,$currentx=0,$link='',$directionality='ltr',$align='') { + if (!class_exists('directw', false)) { include(_MPDF_PATH.'classes/directw.php'); } + if (empty($this->directw)) { $this->directw = new directw($this); } + $this->directw->Write($h,$txt,$currentx,$link,$directionality,$align); +} +/*-- END DIRECTW --*/ +/*-- HTML-CSS --*/ function saveInlineProperties() { $saved = array(); $saved[ 'family' ] = $this->FontFamily; @@ -4456,9 +4856,11 @@ function finishFlowingBlock($endofblock=false, $next='') { // COLS $oldcolumn = $this->CurrCol; + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* // Print out each chunk +/*-- TABLES --*/ if ($is_table) { $ipaddingL = 0; $ipaddingR = 0; @@ -4466,6 +4868,7 @@ function finishFlowingBlock($endofblock=false, $next='') { $paddingR = 0; } else { +/*-- END TABLES --*/ $ipaddingL = $this->blk[$this->blklvl]['padding_left']; $ipaddingR = $this->blk[$this->blklvl]['padding_right']; $paddingL = ($ipaddingL * _MPDFK); @@ -4476,23 +4879,41 @@ function finishFlowingBlock($endofblock=false, $next='') { // Added mPDF 3.0 Float DIV $fpaddingR = 0; $fpaddingL = 0; +/*-- CSS-FLOAT --*/ if (count($this->floatDivs)) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($this->blklvl); if ($r_exists) { $fpaddingR = $r_width; } if ($l_exists) { $fpaddingL = $l_width; } } +/*-- END CSS-FLOAT --*/ $usey = $this->y + 0.002; if (($newblock) && ($blockstate==1 || $blockstate==3) && ($lineCount == 0) ) { $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w']; } +/*-- CSS-IMAGE-FLOAT --*/ // If float exists at this level if (isset($this->floatmargins['R']) && $usey <= $this->floatmargins['R']['y1'] && $usey >= $this->floatmargins['R']['y0'] && !$this->floatmargins['R']['skipline']) { $fpaddingR += $this->floatmargins['R']['w']; } if (isset($this->floatmargins['L']) && $usey <= $this->floatmargins['L']['y1'] && $usey >= $this->floatmargins['L']['y0'] && !$this->floatmargins['L']['skipline']) { $fpaddingL += $this->floatmargins['L']['w']; } +/*-- END CSS-IMAGE-FLOAT --*/ } // *TABLES* // Set Current lineheight (correction factor) $lhfixed = false; +/*-- LISTS --*/ + if ($is_list) { + if (preg_match('/([0-9.,]+)mm/',$this->list_lineheight[$this->listlvl][$this->listOcc],$am)) { + $lhfixed = true; + $def_fontsize = $this->InlineProperties['LISTITEM'][$this->listlvl][$this->listOcc][$this->listnum]['size']; + $this->lineheight_correction = $am[1] / $def_fontsize ; + } + else { + $this->lineheight_correction = $this->list_lineheight[$this->listlvl][$this->listOcc]; + } + } + else +/*-- END LISTS --*/ +/*-- TABLES --*/ if ($is_table) { if (preg_match('/([0-9.,]+)mm/',$this->table_lineheight,$am)) { $lhfixed = true; @@ -4504,6 +4925,7 @@ function finishFlowingBlock($endofblock=false, $next='') { } } else +/*-- END TABLES --*/ if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) { if (preg_match('/([0-9.,]+)mm/',$this->blk[$this->blklvl]['line_height'],$am)) { $lhfixed = true; @@ -4525,6 +4947,7 @@ function finishFlowingBlock($endofblock=false, $next='') { $maxfontsize = 0; // While we're at it, check if contains cursive text $checkCursive=false; + if ($this->biDirectional) { $checkCursive=true; } // *RTL* foreach ( $content as $k => $chunk ) { $this->restoreFont( $font[ $k ],false ); @@ -4532,6 +4955,7 @@ function finishFlowingBlock($endofblock=false, $next='') { // Soft Hyphens chr(173) if (!$this->usingCoreFont) { $content[$k] = $chunk = str_replace("\xc2\xad",'',$chunk ); + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) { $checkCursive=true; } // *INDIC* } else if ($this->FontFamily!='csymbol' && $this->FontFamily!='czapfdingbats') { $content[$k] = $chunk = str_replace(chr(173),'',$chunk ); @@ -4561,6 +4985,14 @@ function finishFlowingBlock($endofblock=false, $next='') { else { $lastitalic = 0; } +/*-- LISTS --*/ + if ($is_list && is_array($this->bulletarray) && count($this->bulletarray)) { + $actfs = $this->bulletarray['fontsize']; + if (!$lhfixed) { $maxlineHeight = max($maxlineHeight,$actfs * $this->lineheight_correction ); } + if ($lhfixed && $actfs > $def_fontsize) { $this->forceExactLineheight = false; } + $maxfontsize = max($maxfontsize,$actfs); + } +/*-- END LISTS --*/ // when every text item checked i.e. $maxfontsize is set properly @@ -4596,6 +5028,19 @@ function finishFlowingBlock($endofblock=false, $next='') { $mba = max($mba, $oh); } } + // mPDF 5.7.3 inline text-decoration parameters + else if (!$is_table && isset($font[$k]['textparam']['text-baseline'])) { + if ($font[$k]['textparam']['text-baseline'] > 0) { // superscript + $nh = ($maxfontsize * $this->baselineC) + $font[$k]['textparam']['text-baseline'] + ($font[$k]['size'] * (1-$this->baselineC)); + if ($lhfixed && $nh > $def_fontsize) { $this->forceExactLineheight = false; } + $af = max($af, ($nh-$maxfontsize)); + } + else if ($font[$k]['textparam']['text-baseline'] < 0) { // subscript + $nh = ($maxfontsize * (1-$this->baselineC)) - $font[$k]['textparam']['text-baseline'] + ($font[$k]['size'] * $this->baselineC); + if ($lhfixed && $nh > $def_fontsize) { $this->forceExactLineheight = false; } + $bf = max($bf, ($nh-$maxfontsize)); + } + } } if ((!$lhfixed || !$this->forceExactLineheight) && ($af > (($maxlineHeight - $maxfontsize)/2) || $bf > (($maxlineHeight - $maxfontsize)/2))) { $maxlineHeight = $maxfontsize + $af + $bf; @@ -4672,22 +5117,36 @@ function finishFlowingBlock($endofblock=false, $next='') { $this->keep_block_together = 0; } +/*-- COLUMNS --*/ + // COLS + // COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + $currentx += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + $this->x += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + $oldcolumn = $this->CurrCol; + } + + + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } +/*-- END COLUMNS --*/ // TOP MARGIN if ($newblock && ($blockstate==1 || $blockstate==3) && ($this->blk[$this->blklvl]['margin_top']) && $lineCount == 0 && !$is_table && !$is_list) { $this->DivLn($this->blk[$this->blklvl]['margin_top'],$this->blklvl-1,true,$this->blk[$this->blklvl]['margin_collapse']); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } if ($newblock && ($blockstate==1 || $blockstate==3) && $lineCount == 0 && !$is_table && !$is_list) { $this->blk[$this->blklvl]['y0'] = $this->y; $this->blk[$this->blklvl]['startpage'] = $this->page; if ($this->blk[$this->blklvl]['float']) { $this->blk[$this->blklvl]['float_start_y'] = $this->y; } // mPDF 5.6.63 + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } - // ADDED for Paragraph_indent + // Paragraph INDENT $WidthCorrection = 0; if (($newblock) && ($blockstate==1 || $blockstate==3) && isset($this->blk[$this->blklvl]['text_indent']) && ($lineCount == 0) && (!$is_table) && (!$is_list) && ($align != 'C')) { - $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->blk[$this->blklvl]['InlineProperties']['size'],false); $WidthCorrection = ($ti*_MPDFK); } @@ -4696,6 +5155,7 @@ function finishFlowingBlock($endofblock=false, $next='') { if (($newblock) && ($blockstate==1 || $blockstate==3) && (($this->blk[$this->blklvl]['padding_top']) || ($this->blk[$this->blklvl]['border_top'])) && ($lineCount == 0) && (!$is_table) && (!$is_list)) { // $state = 0 normal; 1 top; 2 bottom; 3 top and bottom $this->DivLn($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'],-3,true,false,1); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* $this->x = $currentx; } @@ -4703,19 +5163,23 @@ function finishFlowingBlock($endofblock=false, $next='') { // Added mPDF 3.0 Float DIV $fpaddingR = 0; $fpaddingL = 0; +/*-- CSS-FLOAT --*/ if (count($this->floatDivs)) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($this->blklvl); if ($r_exists) { $fpaddingR = $r_width; } if ($l_exists) { $fpaddingL = $l_width; } } +/*-- END CSS-FLOAT --*/ $usey = $this->y + 0.002; if (($newblock) && ($blockstate==1 || $blockstate==3) && ($lineCount == 0) ) { $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w']; } +/*-- CSS-IMAGE-FLOAT --*/ // If float exists at this level if (isset($this->floatmargins['R']) && $usey <= $this->floatmargins['R']['y1'] && $usey >= $this->floatmargins['R']['y0'] && !$this->floatmargins['R']['skipline']) { $fpaddingR += $this->floatmargins['R']['w']; } if (isset($this->floatmargins['L']) && $usey <= $this->floatmargins['L']['y1'] && $usey >= $this->floatmargins['L']['y0'] && !$this->floatmargins['L']['skipline']) { $fpaddingL += $this->floatmargins['L']['w']; } +/*-- END CSS-IMAGE-FLOAT --*/ if ($content) { @@ -4739,6 +5203,8 @@ function finishFlowingBlock($endofblock=false, $next='') { $nb_carac += mb_strlen( $chunk, $this->mb_enc ); $nb_spaces += mb_substr_count( $chunk,' ', $this->mb_enc ); if ($checkCursive) { + if (preg_match("/([".$this->pregRTLchars."])/u", $chunk)) { $inclCursive = true; } // *RTL* + if (preg_match("/([".$this->pregHIchars.$this->pregBNchars.$this->pregPAchars."])/u", $chunk)) { $inclCursive = true; } // *INDIC* } } else if ($this->objectbuffer[$k]['type']=='dottab') { $dottab = $this->objectbuffer[$k]['outdent']; } // mPDF 5.6.19 @@ -4754,6 +5220,20 @@ function finishFlowingBlock($endofblock=false, $next='') { // WORD SPACING list($jcharspacing,$jws) = $this->GetJspacing($nb_carac,$nb_spaces,($maxWidth-$lastitalic-$contentWidth-$WidthCorrection-(($this->cMarginL+$this->cMarginR)*_MPDFK)-($paddingL+$paddingR +(($fpaddingL + $fpaddingR) * _MPDFK) )),$inclCursive); } +/*-- CJK-FONTS --*/ + // mPDF 5.6.40 + else if ($this->checkCJK && $align=='J' && $CJKoverflow && $this->allowCJKoverflow && $this->CJKforceend) { + // force-end overhang + $hanger = mb_substr($content[count($content)-1],mb_strlen($content[count($content)-1],$this->mb_enc)-1,1,$this->mb_enc ); + if (preg_match("/[".$this->CJKoverflow."]/u", $hanger)) { + $content[count($content)-1] = mb_substr($content[count($content)-1],0,mb_strlen($content[count($content)-1],$this->mb_enc)-1,$this->mb_enc ); + $this->restoreFont( $font[ count($content)-1 ],false ); + $contentWidth -= $this->GetStringWidth($hanger) * _MPDFK; + $nb_carac -= 1; + list($jcharspacing,$jws) = $this->GetJspacing($nb_carac,$nb_spaces,($maxWidth-$lastitalic-$contentWidth-$WidthCorrection-(($this->cMarginL+$this->cMarginR)*_MPDFK)-($paddingL+$paddingR +(($fpaddingL + $fpaddingR) * _MPDFK) )),$inclCursive); + } + } +/*-- END CJK-FONTS --*/ // Check if will fit at word/char spacing of previous line - if so continue it // but only allow a maximum of $this->jSmaxWordLast and $this->jSmaxCharLast @@ -4792,6 +5272,21 @@ function finishFlowingBlock($endofblock=false, $next='') { // DIRECTIONALITY RTL $all_rtl = false; $contains_rtl = false; +/*-- RTL --*/ + if ($blockdir == 'rtl' || $this->biDirectional) { + $all_rtl = true; + foreach ( $content as $k => $chunk ) { + $reversed = $this->magic_reverse_dir($chunk, false, $blockdir); + if ($reversed > 0) { $contains_rtl = true; } + if ($reversed < 2) { $all_rtl = false; } + $content[$k] = $chunk; + } + if (($blockdir =='rtl' && $contains_rtl) || $all_rtl) { + $content = array_reverse($content,false); + $contentB = array_reverse($contentB,false); + } + } +/*-- END RTL --*/ $this->x = $currentx + $this->cMarginL + $ipaddingL + $fpaddingL; if ($dottab !== false && $blockdir=='rtl') { $this->x -= $dottab; } // mPDF 5.6.19 @@ -4802,7 +5297,7 @@ function finishFlowingBlock($endofblock=false, $next='') { // Paragraph INDENT $WidthCorrection = 0; if (($newblock) && ($blockstate==1 || $blockstate==3) && isset($this->blk[$this->blklvl]['text_indent']) && ($lineCount == 0) && (!$is_table) && (!$is_list) && ($align !='C')) { - $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->blk[$this->blklvl]['InlineProperties']['size'],false); $this->x += $ti; } @@ -4925,10 +5420,48 @@ function finishFlowingBlock($endofblock=false, $next='') { $this->ResetSpacing(); +/*-- LISTS --*/ + // LIST BULLETS/NUMBERS + if ($is_list && is_array($this->bulletarray) && ($lineCount == 0) ) { + + $savedFont = $this->saveFont(); + + $bull = $this->bulletarray; + if (isset($bull['level']) && isset($bull['occur']) && isset($this->InlineProperties['LIST'][$bull['level']][$bull['occur']])) { + $this->restoreInlineProperties($this->InlineProperties['LIST'][$bull['level']][$bull['occur']]); + } + if (isset($bull['level']) && isset($bull['occur']) && isset($bull['num']) && isset($this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]) && $this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]) { $this->restoreInlineProperties($this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]); } + if (isset($bull['font']) && $bull['font'] == 'czapfdingbats') { + $this->bullet = true; + $this->SetFont('czapfdingbats','',$this->FontSizePt/2.5); + } + else { $this->SetFont($this->FontFamily,$this->FontStyle,$this->FontSizePt,true,true); } // force output + //Output bullet + $this->x = $currentx; + if (isset($bull['x'])) { $this->x += $bull['x']; } + $this->y -= $lineHeight; + if (isset($bull['col']) && $bull['col']) { $this->SetTColor($bull['col']); } // mPDF 5.6.67 + + if (isset($bull['txt'])) { $this->Cell($bull['w'], $lineHeight,$bull['txt'],'','',$bull['align'],0,'',0,-$this->cMarginL, -$this->cMarginR ); } + if (isset($bull['font']) && $bull['font'] == 'czapfdingbats') { + $this->bullet = false; + } + $this->x = $currentx; // Reset + $this->y += $lineHeight; + + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* + + $this->restoreFont( $savedFont ); + // $font = array( $savedFont ); + + $this->bulletarray = array(); // prevents repeat of bullet/number if
  • ....
    .....
  • + } +/*-- END LISTS --*/ } // END IF CONTENT +/*-- CSS-IMAGE-FLOAT --*/ // Update values if set to skipline if ($this->floatmargins) { $this->_advanceFloatMargins(); } @@ -4945,6 +5478,7 @@ function finishFlowingBlock($endofblock=false, $next='') { $this->x = $currentx; } } +/*-- END CSS-IMAGE-FLOAT --*/ // PADDING and BORDER spacing/fill @@ -4965,6 +5499,7 @@ function finishFlowingBlock($endofblock=false, $next='') { $this->DivLn($this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'] + $extra,-3,true,false,2); $this->x = $currentx; + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } @@ -4977,6 +5512,7 @@ function finishFlowingBlock($endofblock=false, $next='') { if (($endofblock) && ($blockstate > 1) && ($this->blk[$this->blklvl]['margin_bottom']) && (!$is_table) && (!$is_list)) { if($this->y+$this->blk[$this->blklvl]['margin_bottom'] < $this->PageBreakTrigger and !$this->InFooter) { $this->DivLn($this->blk[$this->blklvl]['margin_bottom'],$this->blklvl-1,true,$this->blk[$this->blklvl]['margin_collapse']); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } } @@ -5004,7 +5540,26 @@ function printobjectbuffer($is_table=false, $blockdir=false) { $y = $objattr['OUTER-Y']; $this->y = $y - $this->FontSize/2; $this->x = $x; + if ($objattr['type'] == 'bookmark' ) { $this->Bookmark($objattr['CONTENT'],$objattr['bklevel'] ,$y - $this->FontSize); } // *BOOKMARKS* + if ($objattr['type'] == 'indexentry') { $this->IndexEntry($objattr['CONTENT']); } // *INDEX* + if ($objattr['type'] == 'toc') { $this->TOC_Entry($objattr['CONTENT'], $objattr['toclevel'], $objattr['toc_id']); } // *TOC* + } +/*-- ANNOTATIONS --*/ + else if ($objattr['type'] == 'annot') { + if ($objattr['POS-X']) { $x = $objattr['POS-X']; } + else if ($this->annotMargin<>0) { $x = -$objattr['OUTER-X']; } + else { $x = $objattr['OUTER-X']; } + if ($objattr['POS-Y']) { $y = $objattr['POS-Y']; } + else { $y = $objattr['OUTER-Y'] - $this->FontSize/2; } + // Create a dummy entry in the _out/columnBuffer with position sensitive data, + // linking $y-1 in the Columnbuffer with entry in $this->columnAnnots + // and when columns are split in length will not break annotation from current line + $this->y = $y-1; + $this->x = $x-1; + $this->Line($x-1,$y-1,$x-1,$y-1); + $this->Annotation($objattr['CONTENT'], $x , $y , $objattr['ICON'], $objattr['AUTHOR'], $objattr['SUBJECT'], $objattr['OPACITY'], $objattr['COLOR'], $objattr['POPUP'], $objattr['FILE']); } +/*-- END ANNOTATIONS --*/ else { $y = $objattr['OUTER-Y']; $x = $objattr['OUTER-X']; @@ -5039,7 +5594,10 @@ function printobjectbuffer($is_table=false, $blockdir=false) { } // IMAGE if ($objattr['type'] == 'image') { - // mPDF 5.6.01 - LAYERS + // mPDF 5.7.3 TRANSFORMS + if (isset($objattr['transform'])) { + $this->_out("\n".'% BTR'); // Begin Transform + } if (isset($objattr['z-index']) && $objattr['z-index'] > 0 && $this->currentlayer==0) { $this->BeginLayer($objattr['z-index']); } @@ -5084,7 +5642,80 @@ function printobjectbuffer($is_table=false, $blockdir=false) { if ($tr) { $tr .= ' '; } $gradmask = ''; + // mPDF 5.7.3 TRANSFORMS + $tr2 = ''; + if (isset($objattr['transform'])) { + $maxsize_x = $w; + $maxsize_y = $h; + $cx = $x + $w/2; + $cy = $y + $h/2; + preg_match_all('/(translatex|translatey|translate|scalex|scaley|scale|rotate|skewX|skewY|skew)\((.*?)\)/is',$objattr['transform'],$m); + if (count($m[0])) { + for($i=0; $iConvertSize($vv[0],$maxsize_x,false,false); + if (count($vv)==2) { $translate_y = $this->ConvertSize($vv[1],$maxsize_y,false,false); } + else { $translate_y = 0; } + $tr2 .= $this->transformTranslate($translate_x, $translate_y, true).' '; + } + else if ($c=='translatex' && count($vv)) { + $translate_x = $this->ConvertSize($vv[0],$maxsize_x,false,false); + $tr2 .= $this->transformTranslate($translate_x, 0, true).' '; + } + else if ($c=='translatey' && count($vv)) { + $translate_y = $this->ConvertSize($vv[1],$maxsize_y,false,false); + $tr2 .= $this->transformTranslate(0, $translate_y, true).' '; + } + else if ($c=='scale' && count($vv)) { + $scale_x = $vv[0] * 100; + if (count($vv)==2) { $scale_y = $vv[1] * 100; } + else { $scale_y = $scale_x; } + $tr2 .= $this->transformScale($scale_x, $scale_y, $cx, $cy, true).' '; + } + else if ($c=='scalex' && count($vv)) { + $scale_x = $vv[0] * 100; + $tr2 .= $this->transformScale($scale_x, 0, $cx, $cy, true).' '; + } + else if ($c=='scaley' && count($vv)) { + $scale_y = $vv[1] * 100; + $tr2 .= $this->transformScale(0, $scale_y, $cx, $cy, true).' '; + } + else if ($c=='skew' && count($vv)) { + $angle_x = $this->ConvertAngle($vv[0], false); + if (count($vv)==2) { $angle_y = $this->ConvertAngle($vv[1], false); } + else { $angle_y = 0; } + $tr2 .= $this->transformSkew($angle_x, $angle_y, $cx, $cy, true).' '; + } + else if ($c=='skewx' && count($vv)) { + $angle = $this->ConvertAngle($vv[0], false); + $tr2 .= $this->transformSkew($angle, 0, $cx, $cy, true).' '; + } + else if ($c=='skewy' && count($vv)) { + $angle = $this->ConvertAngle($vv[0], false); + $tr2 .= $this->transformSkew(0, $angle, $cx, $cy, true).' '; + } + else if ($c=='rotate' && count($vv)) { + $angle = $this->ConvertAngle($vv[0]); + $tr2 .= $this->transformRotate($angle, $cx, $cy, true).' '; + } + } + } + } + // mPDF 5.7.3 TRANSFORMS / BACKGROUND COLOR + // Transform also affects image background + if ($tr2) { $this->_out('q '.$tr2.' '); } + if (isset($objattr['bgcolor']) && $objattr['bgcolor']) { + $bgcol = $objattr['bgcolor']; + $this->SetFColor($bgcol); + $this->Rect($x,$y,$w,$h, 'F'); + $this->SetFColor($this->ConvertColor(255)); + } + if ($tr2) { $this->_out('Q'); } +/*-- BACKGROUNDS --*/ if (isset($objattr['GRADIENT-MASK'])) { $g = $this->grad->parseMozGradient( $objattr['GRADIENT-MASK'] ); if ($g) { @@ -5093,27 +5724,73 @@ function printobjectbuffer($is_table=false, $blockdir=false) { // $this->_out("q ".$tr.$this->grad->Gradient($objattr['INNER-X'], $objattr['INNER-Y'], $obiw, $obih, $g['type'], $g['stops'], $g['colorspace'], $g['coords'], $g['extend'], true)." Q"); } } +/*-- END BACKGROUNDS --*/ +/*-- IMAGES-WMF --*/ + if (isset($objattr['itype']) && $objattr['itype']=='wmf') { + $outstring = sprintf('q '.$tr.$tr2.'%.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, -$sy, $objattr['INNER-X']*_MPDFK-$sx*$objattr['wmf_x'], (($this->h-$objattr['INNER-Y'])*_MPDFK)+$sy*$objattr['wmf_y'], $objattr['ID']); // mPDF 5.7.3 TRANSFORMS + } + else +/*-- END IMAGES-WMF --*/ if (isset($objattr['itype']) && $objattr['itype']=='svg') { - $outstring = sprintf('q '.$tr.'%.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, -$sy, $objattr['INNER-X']*_MPDFK-$sx*$objattr['wmf_x'], (($this->h-$objattr['INNER-Y'])*_MPDFK)+$sy*$objattr['wmf_y'], $objattr['ID']); + $outstring = sprintf('q '.$tr.$tr2.'%.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, -$sy, $objattr['INNER-X']*_MPDFK-$sx*$objattr['wmf_x'], (($this->h-$objattr['INNER-Y'])*_MPDFK)+$sy*$objattr['wmf_y'], $objattr['ID']); // mPDF 5.7.3 TRANSFORMS } else { - $outstring = sprintf("q ".$tr."%.3F 0 0 %.3F %.3F %.3F cm ".$gradmask."/I%d Do Q",$obiw*_MPDFK, $obih*_MPDFK, $objattr['INNER-X'] *_MPDFK, ($this->h-($objattr['INNER-Y'] +$obih ))*_MPDFK,$objattr['ID'] ); + $outstring = sprintf("q ".$tr.$tr2."%.3F 0 0 %.3F %.3F %.3F cm ".$gradmask."/I%d Do Q",$obiw*_MPDFK, $obih*_MPDFK, $objattr['INNER-X'] *_MPDFK, ($this->h-($objattr['INNER-Y'] +$obih ))*_MPDFK,$objattr['ID'] ); // mPDF 5.7.3 TRANSFORMS } $this->_out($outstring); // LINK if (isset($objattr['link'])) $this->Link($objattr['INNER-X'],$objattr['INNER-Y'],$objattr['INNER-WIDTH'],$objattr['INNER-HEIGHT'],$objattr['link']); if (isset($objattr['opacity'])) { $this->SetAlpha(1); } + + // mPDF 5.7.3 TRANSFORMS + // Transform also affects image borders + if ($tr2) { $this->_out('q '.$tr2.' '); } if ((isset($objattr['border_top']) && $objattr['border_top']>0) || (isset($objattr['border_left']) && $objattr['border_left']>0) || (isset($objattr['border_right']) && $objattr['border_right']>0) || (isset($objattr['border_bottom']) && $objattr['border_bottom']>0)) { $this->PaintImgBorder($objattr,$is_table); } + if ($tr2) { $this->_out('Q'); } + if(isset($objattr['visibility']) && $objattr['visibility']!='visible' && $objattr['visibility']) { $this->SetVisibility('visible'); } - // mPDF 5.6.01 - LAYERS if (isset($objattr['z-index']) && $objattr['z-index'] > 0 && $this->currentlayer==0) { $this->EndLayer(); } - + // mPDF 5.7.3 TRANSFORMS + if (isset($objattr['transform'])) { + $this->_out("\n".'% ETR'); // Begin Transform + } } +/*-- BARCODES --*/ + // BARCODE + if ($objattr['type'] == 'barcode') { + $bgcol = $this->ConvertColor(255); + if (isset($objattr['bgcolor']) && $objattr['bgcolor']) { + $bgcol = $objattr['bgcolor']; + } + $col = $this->ConvertColor(0); + if (isset($objattr['color']) && $objattr['color']) { + $col = $objattr['color']; + } + $this->SetFColor($bgcol); + $this->Rect($objattr['BORDER-X'], $objattr['BORDER-Y'], $objattr['BORDER-WIDTH'], $objattr['BORDER-HEIGHT'], 'F'); + $this->SetFColor($this->ConvertColor(255)); + if (isset($objattr['BORDER-WIDTH'])) { $this->PaintImgBorder($objattr,$is_table); } + if ($objattr['btype'] == 'EAN13' || $objattr['btype'] == 'ISBN' || $objattr['btype'] == 'ISSN' || $objattr['btype'] == 'UPCA' || $objattr['btype'] == 'UPCE' || $objattr['btype'] == 'EAN8') { + $this->WriteBarcode($objattr['code'], $objattr['showtext'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], 0, 0, 0, 0, 0, $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['bsupp'], $objattr['bsupp_code'], $k); + } + // QR-code + else if ($objattr['btype']=='QR') { + if (!class_exists('QRcode', false)) { + include(_MPDF_PATH.'qrcode/qrcode.class.php'); + } + $this->qrcode = new QRcode($objattr['code'], $objattr['errorlevel']); + $this->qrcode->displayFPDF($this, $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize']*25, array(255,255,255), array(0,0,0)); + } + else { + $this->WriteBarcode2($objattr['code'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['pr_ratio'], $k); + } + } +/*-- END BARCODES --*/ // TEXT CIRCLE if ($objattr['type'] == 'textcircle') { @@ -5175,6 +5852,42 @@ function printobjectbuffer($is_table=false, $blockdir=false) { $this->SetTColor($this->ConvertColor(0)); } +/*-- FORMS --*/ + // TEXT/PASSWORD INPUT + if ($objattr['type'] == 'input' && ($objattr['subtype'] == 'TEXT' || $objattr['subtype'] == 'PASSWORD')) { + $this->form->print_ob_text($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir); + } + + // TEXTAREA + if ($objattr['type'] == 'textarea') { + $this->form->print_ob_textarea($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir); + } + + // SELECT + if ($objattr['type'] == 'select') { + $this->form->print_ob_select($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir); + } + + + // INPUT/BUTTON as IMAGE + if ($objattr['type'] == 'input' && $objattr['subtype'] == 'IMAGE') { + $this->form->print_ob_imageinput($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir); + } + + // BUTTON + if ($objattr['type'] == 'input' && ($objattr['subtype'] == 'SUBMIT' || $objattr['subtype'] == 'RESET' || $objattr['subtype'] == 'BUTTON')) { + $this->form->print_ob_button($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir); + } + + // CHECKBOX + if ($objattr['type'] == 'input' && ($objattr['subtype'] == 'CHECKBOX')) { + $this->form->print_ob_checkbox($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir,$x,$y); + } + // RADIO + if ($objattr['type'] == 'input' && ($objattr['subtype'] == 'RADIO')) { + $this->form->print_ob_radio($objattr,$w,$h,$texto,$rtlalign,$k,$blockdir,$x,$y); + } +/*-- END FORMS --*/ } $this->SetFont($save_currentfontfamily,$save_currentfontstyle,$save_currentfontsize); $this->y = $save_y; @@ -5225,7 +5938,9 @@ function WriteFlowingBlock( $s) // COLS $oldcolumn = $this->CurrCol; + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* +/*-- TABLES --*/ if ($is_table) { $ipaddingL = 0; $ipaddingR = 0; @@ -5238,6 +5953,7 @@ function WriteFlowingBlock( $s) $fpaddingL = 0; } else { +/*-- END TABLES --*/ $ipaddingL = $this->blk[$this->blklvl]['padding_left']; $ipaddingR = $this->blk[$this->blklvl]['padding_right']; $paddingL = ($ipaddingL * _MPDFK); @@ -5249,19 +5965,23 @@ function WriteFlowingBlock( $s) // Added mPDF 3.0 Float DIV $fpaddingR = 0; $fpaddingL = 0; +/*-- CSS-FLOAT --*/ if (count($this->floatDivs)) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($this->blklvl); if ($r_exists) { $fpaddingR = $r_width; } if ($l_exists) { $fpaddingL = $l_width; } } +/*-- END CSS-FLOAT --*/ $usey = $this->y + 0.002; if (($newblock) && ($blockstate==1 || $blockstate==3) && ($lineCount == 0) ) { $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w']; } +/*-- CSS-IMAGE-FLOAT --*/ // If float exists at this level if (isset($this->floatmargins['R']) && $usey <= $this->floatmargins['R']['y1'] && $usey >= $this->floatmargins['R']['y0'] && !$this->floatmargins['R']['skipline']) { $fpaddingR += $this->floatmargins['R']['w']; } if (isset($this->floatmargins['L']) && $usey <= $this->floatmargins['L']['y1'] && $usey >= $this->floatmargins['L']['y0'] && !$this->floatmargins['L']['skipline']) { $fpaddingL += $this->floatmargins['L']['w']; } +/*-- END CSS-IMAGE-FLOAT --*/ } // *TABLES* //OBJECTS - IMAGES & FORM Elements (NB has already skipped line/page if required - in printbuffer) @@ -5342,30 +6062,34 @@ function WriteFlowingBlock( $s) continue; } - // ADDED for Paragraph_indent + // Paragraph INDENT $WidthCorrection = 0; if (($newblock) && ($blockstate==1 || $blockstate==3) && isset($this->blk[$this->blklvl]['text_indent']) && ($lineCount == 0) && (!$is_table) && (!$is_list) && ($align != 'C')) { - $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->blk[$this->blklvl]['InlineProperties']['size'],false); // mPDF 5.7.4 $WidthCorrection = ($ti*_MPDFK); } // Added mPDF 3.0 Float DIV $fpaddingR = 0; $fpaddingL = 0; +/*-- CSS-FLOAT --*/ if (count($this->floatDivs)) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($this->blklvl); if ($r_exists) { $fpaddingR = $r_width; } if ($l_exists) { $fpaddingL = $l_width; } } +/*-- END CSS-FLOAT --*/ $usey = $this->y + 0.002; if (($newblock) && ($blockstate==1 || $blockstate==3) && ($lineCount == 0) ) { $usey += $this->blk[$this->blklvl]['margin_top'] + $this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w']; } +/*-- CSS-IMAGE-FLOAT --*/ // If float exists at this level if (isset($this->floatmargins['R']) && $usey <= $this->floatmargins['R']['y1'] && $usey >= $this->floatmargins['R']['y0'] && !$this->floatmargins['R']['skipline']) { $fpaddingR += $this->floatmargins['R']['w']; } if (isset($this->floatmargins['L']) && $usey <= $this->floatmargins['L']['y1'] && $usey >= $this->floatmargins['L']['y0'] && !$this->floatmargins['L']['skipline']) { $fpaddingL += $this->floatmargins['L']['w']; } +/*-- END CSS-IMAGE-FLOAT --*/ @@ -5405,10 +6129,125 @@ function WriteFlowingBlock( $s) } } +/*-- HYPHENATION --*/ + // Soft Hyphens chr(173) + else if ($this->textparam['hyphens'] != 2 && (!$this->usingCoreFont && preg_match("/\xc2\xad/",$currWord)) || ($this->usingCoreFont && preg_match("/".chr(173)."/",$currWord) && ($this->FontFamily!='csymbol' && $this->FontFamily!='czapfdingbats')) ) { // mPDF 5.6.06 + $rem = $maxWidth - $WidthCorrection - (($this->cMarginL+$this->cMarginR)*_MPDFK) - ($paddingL+$paddingR +(($fpaddingL + $fpaddingR) * _MPDFK) ); + list($success,$pre,$post,$prelength) = $this->softHyphenate($currWord, (($rem-$cutoffWidth)/_MPDFK -$this->GetCharWidth(" ", false)) ); + } + + if (!$success && !$hardsuccess && $this->textparam['hyphens'] == 1 ) { // mPDF 5.6.06 // mPDF 5.6.21 + // Look ahead to get current word + for($ac = $i; $ac<(mb_strlen($s)-1); $ac++) { + $addc = mb_substr($s,$ac,1,$this->mb_enc ); + if ($addc == ' ') { break; } + $currWord .= $addc; + } + $rem = $maxWidth - $WidthCorrection - (($this->cMarginL+$this->cMarginR)*_MPDFK) - ($paddingL+$paddingR +(($fpaddingL + $fpaddingR) * _MPDFK) ); + list($success,$pre,$post,$prelength) = $this->hyphenateWord($currWord, (($rem-$cutoffWidth)/_MPDFK -$this->GetCharWidth(" ", false)) ); + } + if ($success) { + $already = array_pop( $words ); + $forward = mb_substr($already,$prelength,mb_strlen($already, $this->mb_enc), $this->mb_enc); + $words[] = $pre.'-'; + $words[] = $forward; + $currContent = mb_substr($currContent,0,mb_strlen($currContent, $this->mb_enc)+1-mb_strlen($post, $this->mb_enc), $this->mb_enc) . '-'; + } +/*-- END HYPHENATION --*/ // mPDF 5.6.13 Decimal alignment (cancel if wraps to > 1 line) if ($is_table && substr($align,0,1)=='D' ) { $align=substr($align,2,1); } +/*-- CJK-FONTS --*/ + // mPDF 5.6.42 + if ($this->checkCJK) { + $lastchar = mb_substr($words[(count($words)-1)],mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, 1, $this->mb_enc); + } + // Next character is suitable to add as overhanging or squeezed punctuation + if ($this->checkCJK && preg_match("/[".$this->CJKoverflow."]/u", $c) && $this->allowCJKorphans && !$CJKoverflow) { + // add character onto this line + $currContent .= $c; + $cutoffWidth = $contentWidth; + $contentWidth += $cw; + $CJKoverflow = true; + continue; + } + // Last character that fits is not allowed to end a line - move lastchar(s) to start of next line + else if ($this->checkCJK && preg_match("/[".$this->CJKleading."]/u", $lastchar)) { + //move lastchar(s) to next line + $m0 = $lastchar; + $m1 = $c; + while(preg_match("/[".$this->CJKleading."]/u", $m0) && mb_strlen($words[(count($words)-1)], $this->mb_enc)>2) { + // trim last letter off word[0] + $words[(count($words)-1)] = mb_substr($words[(count($words)-1)],0,mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, $this->mb_enc); + // and add it to savedContent for next line + $savedContent = $m0.$savedContent; + $m1 = $lastchar; + $lastchar = mb_substr($words[(count($words)-1)],mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, 1, $this->mb_enc); + $m0 = $lastchar; + } + $lastContent = ''; + for ( $w = 0; $w < count( $words ) ; $w++) { $lastContent .= $words[ $w ]." "; } + $savedFont = $this->saveFont(); + // replace the current content with the cropped version + $currContent = rtrim( $lastContent ); + } + // Next character is not allowed to start a new line + else if ($this->checkCJK && preg_match("/[".$this->CJKfollowing."]/u", $c)) { + // try squeezing another character(s) onto this line = Oikomi + if ($this->allowCJKorphans && !$CJKoverflow) { // mPDF 5.6.40 + $lookahead = mb_substr($s,$i+1,1,$this->mb_enc ); + //if lookahead is not another following char + if (!$lookahead || ($lookahead && !preg_match("/[".$this->CJKfollowing."]/u", $lookahead))) { + $currContent .= $c; + $cutoffWidth = $contentWidth; + $contentWidth += $cw; + if ($this->allowCJKoverflow && preg_match("/[".$this->CJKoverflow."]/u", $c)) { $CJKoverflow = true; } + continue; + } + } + // or move lastchar(s) to next line to keep $c company = Oidashi + $m0 = $lastchar; + $m1 = $c; + while(preg_match("/[".$this->CJKfollowing."]/u", $m1) && mb_strlen($words[(count($words)-1)], $this->mb_enc)>2) { + // trim last letter off word[0] + $words[(count($words)-1)] = mb_substr($words[(count($words)-1)],0,mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, $this->mb_enc); + // and add it to savedContent for next line + $savedContent = $m0.$savedContent; + $m1 = $lastchar; + $lastchar = mb_substr($words[(count($words)-1)],mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, 1, $this->mb_enc); + $m0 = $lastchar; + } + $lastContent = ''; + for ( $w = 0; $w < count( $words ) ; $w++) { $lastContent .= $words[ $w ]." "; } + $savedFont = $this->saveFont(); + // replace the current content with the cropped version + $currContent = rtrim( $lastContent ); + } + // mPDF 5.6.42 + else if ($this->checkCJK && preg_match("/([".$this->pregCJKchars."]+[0-9\x{ff10}-\x{ff19}]+$)/u", $words[0])) { + $lookahead = mb_substr($s,$i,16,$this->mb_enc ); + //and if lookahead starts with a few numerals + if ($lookahead && (preg_match("/^([0-9\x{ff10}-\x{ff19}]+[".$this->pregCJKchars."]+)/u", $lookahead) || preg_match("/^([0-9\x{ff10}-\x{ff19}]+$)/u", $lookahead)) ) { + // or move lastchar(s) to next line to keep numerals together + $m0 = $lastchar; + while(preg_match("/[0-9\x{ff10}-\x{ff19}]/u", $m0) && mb_strlen($words[(count($words)-1)], $this->mb_enc)>2) { + // trim last letter off word[0] + $words[(count($words)-1)] = mb_substr($words[(count($words)-1)],0,mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, $this->mb_enc); + // and add it to savedContent for next line + $savedContent = $m0.$savedContent; + $lastchar = mb_substr($words[(count($words)-1)],mb_strlen($words[(count($words)-1)], $this->mb_enc)-1, 1, $this->mb_enc); + $m0 = $lastchar; + } + } + $lastContent = ''; + for ( $w = 0; $w < count( $words ) ; $w++) { $lastContent .= $words[ $w ]." "; } + $savedFont = $this->saveFont(); + // replace the current content with the cropped version + $currContent = rtrim( $lastContent ); + } + else +/*-- END CJK-FONTS --*/ // if it looks like we didn't finish any words for this chunk if ( count( $words ) == 1 ) { // TO correct for error when word too wide for page - but only when one long word from left to right margin @@ -5504,6 +6343,7 @@ function WriteFlowingBlock( $s) } // CJK - strip CJK space at end of line //   = \xe3\x80\x80 = CJK space + if ($this->checkCJK) { $currContent = preg_replace("/\xe3\x80\x80$/",'',$currContent) ; } // *CJK-FONTS* if (isset($this->objectbuffer[(count($content)-1)]) && $this->objectbuffer[(count($content)-1)]['type']=='dottab') { @@ -5513,7 +6353,21 @@ function WriteFlowingBlock( $s) // Set Current lineheight (correction factor) $lhfixed = false; - if ($is_table) { +/*-- LISTS --*/ + if ($is_list) { + if (preg_match('/([0-9.,]+)mm/',$this->list_lineheight[$this->listlvl][$this->listOcc],$am)) { + $lhfixed = true; + $def_fontsize = $this->InlineProperties['LISTITEM'][$this->listlvl][$this->listOcc][$this->listnum]['size']; + $this->lineheight_correction = $am[1] / $def_fontsize ; + } + else { + $this->lineheight_correction = $this->list_lineheight[$this->listlvl][$this->listOcc]; + } + } + else +/*-- END LISTS --*/ +/*-- TABLES --*/ + if ($is_table) { if (preg_match('/([0-9.,]+)mm/',$this->table_lineheight,$am)) { $lhfixed = true; $def_fontsize = $this->FontSize; // needs to be default font-size for block **** @@ -5524,6 +6378,7 @@ function WriteFlowingBlock( $s) } } else +/*-- END TABLES --*/ if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) { if (preg_match('/([0-9.,]+)mm/',$this->blk[$this->blklvl]['line_height'],$am)) { $lhfixed = true; @@ -5547,6 +6402,7 @@ function WriteFlowingBlock( $s) $maxfontsize = 0; // While we're at it, check for cursive text $checkCursive=false; + if ($this->biDirectional) { $checkCursive=true; } // *RTL* foreach ( $content as $k => $chunk ) { $this->restoreFont( $font[ $k ]); @@ -5559,6 +6415,7 @@ function WriteFlowingBlock( $s) } if (!$this->usingCoreFont) { $content[$k] = $chunk = str_replace("\xc2\xad",'',$chunk ); + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) { $checkCursive=true; } // *INDIC* } // Soft Hyphens chr(173) else if ($this->FontFamily!='csymbol' && $this->FontFamily!='czapfdingbats') { @@ -5585,6 +6442,14 @@ function WriteFlowingBlock( $s) else { $lastitalic = 0; } +/*-- LISTS --*/ + if ($is_list && is_array($this->bulletarray) && $this->bulletarray) { + $actfs = $this->bulletarray['fontsize']; + if (!$lhfixed) { $maxlineHeight = max($maxlineHeight,$actfs * $this->lineheight_correction ); } + if ($lhfixed && $actfs > $def_fontsize) { $this->forceExactLineheight = false; } + $maxfontsize = max($maxfontsize,$actfs); + } +/*-- END LISTS --*/ // when every text item checked i.e. $maxfontsize is set properly @@ -5620,6 +6485,19 @@ function WriteFlowingBlock( $s) $mba = max($mba, $oh); } } + // mPDF 5.7.3 inline text-decoration parameters + else if (!$is_table && isset($font[$k]['textparam']['text-baseline'])) { + if ($font[$k]['textparam']['text-baseline'] > 0) { // superscript + $nh = ($maxfontsize * $this->baselineC) + $font[$k]['textparam']['text-baseline'] + ($font[$k]['size'] * (1-$this->baselineC)); + if ($lhfixed && $nh > $def_fontsize) { $this->forceExactLineheight = false; } + $af = max($af, ($nh-$maxfontsize)); + } + else if ($font[$k]['textparam']['text-baseline'] < 0) { // subscript + $nh = ($maxfontsize * (1-$this->baselineC)) - $font[$k]['textparam']['text-baseline'] + ($font[$k]['size'] * $this->baselineC); + if ($lhfixed && $nh > $def_fontsize) { $this->forceExactLineheight = false; } + $bf = max($bf, ($nh-$maxfontsize)); + } + } } if ((!$lhfixed || !$this->forceExactLineheight) && ($af > (($maxlineHeight - $maxfontsize)/2) || $bf > (($maxlineHeight - $maxfontsize)/2))) { $maxlineHeight = $maxfontsize + $af + $bf; @@ -5654,6 +6532,8 @@ function WriteFlowingBlock( $s) else { $content[$k] = str_replace(chr(194).chr(160),chr(32),$chunk ); if ($checkCursive) { + if (preg_match("/([".$this->pregRTLchars."])/u", $chunk)) { $inclCursive = true; } // *RTL* + if (preg_match("/([".$this->pregHIchars.$this->pregBNchars.$this->pregPAchars."])/u", $chunk)) { $inclCursive = true; } // *INDIC* } } } @@ -5727,10 +6607,22 @@ function WriteFlowingBlock( $s) $this->kwt = false; } +/*-- COLUMNS --*/ + // COLS + // COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + $currentx += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + $this->x += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + $oldcolumn = $this->CurrCol; + } + + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* +/*-- END COLUMNS --*/ // TOP MARGIN if (($newblock) && ($blockstate==1 || $blockstate==3) && ($this->blk[$this->blklvl]['margin_top']) && ($lineCount == 1) && (!$is_table) && (!$is_list)) { $this->DivLn($this->blk[$this->blklvl]['margin_top'],$this->blklvl-1,true,$this->blk[$this->blklvl]['margin_collapse']); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } @@ -5745,6 +6637,7 @@ function WriteFlowingBlock( $s) if (($newblock) && ($blockstate==1 || $blockstate==3) && (($this->blk[$this->blklvl]['padding_top']) || ($this->blk[$this->blklvl]['border_top'])) && ($lineCount == 1) && (!$is_table) && (!$is_list)) { // $state = 0 normal; 1 top; 2 bottom; 3 top and bottom $this->DivLn($this->blk[$this->blklvl]['padding_top'] + $this->blk[$this->blklvl]['border_top']['w'],-3,true,false,1); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } $arraysize = count($content); @@ -5760,13 +6653,29 @@ function WriteFlowingBlock( $s) // Paragraph INDENT if (isset($this->blk[$this->blklvl]['text_indent']) && ($newblock) && ($blockstate==1 || $blockstate==3) && ($lineCount == 1) && (!$is_table) && ($blockdir !='rtl') && ($align !='C')) { - $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + $ti = $this->ConvertSize($this->blk[$this->blklvl]['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->blk[$this->blklvl]['InlineProperties']['size'],false); $this->x += $ti; } // DIRECTIONALITY RTL $all_rtl = false; $contains_rtl = false; +/*-- RTL --*/ + if ($blockdir == 'rtl' || $this->biDirectional) { + $all_rtl = true; + foreach ( $content as $k => $chunk ) { + $reversed = $this->magic_reverse_dir($chunk, false, $blockdir); + + if ($reversed > 0) { $contains_rtl = true; } + if ($reversed < 2) { $all_rtl = false; } + $content[$k] = $chunk; + } + if (($blockdir =='rtl' && $contains_rtl) || $all_rtl) { + $content = array_reverse($content,false); + $contentB = array_reverse($contentB,false); + } + } +/*-- END RTL --*/ foreach ( $content as $k => $chunk ) { @@ -5876,10 +6785,45 @@ function WriteFlowingBlock( $s) $this->printobjectbuffer($is_table, $blockdir); $this->objectbuffer = array(); +/*-- LISTS --*/ + // LIST BULLETS/NUMBERS + if ($is_list && is_array($this->bulletarray) && ($lineCount == 1) ) { + + $this->ResetSpacing(); + + $bull = $this->bulletarray; + if (isset($bull['level']) && isset($bull['occur']) && isset($this->InlineProperties['LIST'][$bull['level']][$bull['occur']])) { + $this->restoreInlineProperties($this->InlineProperties['LIST'][$bull['level']][$bull['occur']]); + } + if (isset($bull['level']) && isset($bull['occur']) && isset($bull['num']) && isset($this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]) && $this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]) { $this->restoreInlineProperties($this->InlineProperties['LISTITEM'][$bull['level']][$bull['occur']][$bull['num']]); } + if (isset($bull['font']) && $bull['font'] == 'czapfdingbats') { + $this->bullet = true; + $this->SetFont('czapfdingbats','',$this->FontSizePt/2.5); + } + else { $this->SetFont($this->FontFamily,$this->FontStyle,$this->FontSizePt,true,true); } // force output + //Output bullet + $this->x = $currentx; + if (isset($bull['x'])) { $this->x += $bull['x']; } + $this->y -= $lineHeight; + if (isset($bull['col']) && $bull['col']) { $this->SetTColor($bull['col']); } // mPDF 5.6.67 + if (isset($bull['txt'])) { $this->Cell($bull['w'], $lineHeight,$bull['txt'],'','',$bull['align'],0,'',0,-$this->cMarginL, -$this->cMarginR ); } + if (isset($bull['font']) && $bull['font'] == 'czapfdingbats') { + $this->bullet = false; + } + $this->x = $currentx; // Reset + $this->y += $lineHeight; + + if ($this->ColActive && !$is_table) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* + + $this->bulletarray = array(); // prevents repeat of bullet/number if
  • ....
    .....
  • + } +/*-- END LISTS --*/ +/*-- CSS-IMAGE-FLOAT --*/ // Update values if set to skipline if ($this->floatmargins) { $this->_advanceFloatMargins(); } +/*-- END CSS-IMAGE-FLOAT --*/ // Reset lineheight $lineHeight = $this->divheight; @@ -5929,6 +6873,7 @@ function WriteFlowingBlock( $s) // CJK - strip CJK space at end of line //   = \xe3\x80\x80 = CJK space + if ($this->checkCJK && $currContent == "\xe3\x80\x80") { $currContent = '' ; } // *CJK-FONTS* $this->restoreFont( $savedFont ); $lbw = $rbw = 0; // Border widths @@ -5954,6 +6899,7 @@ function WriteFlowingBlock( $s) //----------------------END OF FLOWING BLOCK------------------------------------// +/*-- CSS-IMAGE-FLOAT --*/ // Update values if set to skipline function _advanceFloatMargins() { // Update floatmargins - L @@ -5993,6 +6939,7 @@ function _advanceFloatMargins() { $this->floatmargins['R']['id'] = ''; } } +/*-- END CSS-IMAGE-FLOAT --*/ @@ -6070,6 +7017,7 @@ function WordWrap(&$text, $maxwidth, $forcewrap = 0) { else return $count; } +/*-- END HTML-CSS --*/ function _SetTextRendering($mode) { if (!(($mode == 0) || ($mode == 1) || ($mode == 2))) @@ -6116,6 +7064,16 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='',$paint=true, $constrain=t if(!$info) return false; //Automatic width and height calculation if needed if($w==0 and $h==0) { +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + // WMF units are twips (1/20pt) + // divide by 20 to get points + // divide by k to get user units + $w = abs($info['w'])/(20*_MPDFK); + $h = abs($info['h']) / (20*_MPDFK); + } + else +/*-- END IMAGES-WMF --*/ if ($info['type']=='svg') { // returned SVG units are pts // divide by k to get user units (mm) @@ -6131,6 +7089,96 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='',$paint=true, $constrain=t if($w==0) $w=abs($h*$info['w']/$info['h']); if($h==0) $h=abs($w*$info['h']/$info['w']); +/*-- WATERMARK --*/ + if ($watermark) { + $maxw = $this->w; + $maxh = $this->h; + // Size = D PF or array + if (is_array($this->watermark_size)) { + $w = $this->watermark_size[0]; + $h = $this->watermark_size[1]; + } + else if (!is_string($this->watermark_size)) { + $maxw -= $this->watermark_size*2; + $maxh -= $this->watermark_size*2; + $w = $maxw; + $h=abs($w*$info['h']/$info['w']); + if ($h > $maxh ) { + $h = $maxh ; $w=abs($h*$info['w']/$info['h']); + } + } + else if ($this->watermark_size == 'F') { + if ($this->ColActive) { $maxw = $this->w - ($this->DeflMargin + $this->DefrMargin); } + else { $maxw = $this->pgwidth; } + $maxh = $this->h - ($this->tMargin + $this->bMargin); + $w = $maxw; + $h=abs($w*$info['h']/$info['w']); + if ($h > $maxh ) { + $h = $maxh ; $w=abs($h*$info['w']/$info['h']); + } + } + else if ($this->watermark_size == 'P') { // Default P + $w = $maxw; + $h=abs($w*$info['h']/$info['w']); + if ($h > $maxh ) { + $h = $maxh ; $w=abs($h*$info['w']/$info['h']); + } + } + // Automatically resize to maximum dimensions of page if too large + if ($w > $maxw) { + $w = $maxw; + $h=abs($w*$info['h']/$info['w']); + } + if ($h > $maxh ) { + $h = $maxh ; + $w=abs($h*$info['w']/$info['h']); + } + // Position + if (is_array($this->watermark_pos)) { + $x = $this->watermark_pos[0]; + $y = $this->watermark_pos[1]; + } + else if ($this->watermark_pos == 'F') { // centred on printable area + if ($this->ColActive) { // *COLUMNS* + if (($this->mirrorMargins) && (($this->page)%2==0)) { $xadj = $this->DeflMargin-$this->DefrMargin; } // *COLUMNS* + else { $xadj = 0; } // *COLUMNS* + $x = ($this->DeflMargin - $xadj + ($this->w - ($this->DeflMargin + $this->DefrMargin))/2) - ($w/2); // *COLUMNS* + } // *COLUMNS* + else { // *COLUMNS* + $x = ($this->lMargin + ($this->pgwidth)/2) - ($w/2); + } // *COLUMNS* + $y = ($this->tMargin + ($this->h - ($this->tMargin + $this->bMargin))/2) - ($h/2); + } + else { // default P - centred on whole page + $x = ($this->w/2) - ($w/2); + $y = ($this->h/2) - ($h/2); + } +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + $sx = $w*_MPDFK / $info['w']; + $sy = -$h*_MPDFK / $info['h']; + $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x*_MPDFK-$sx*$info['x'], (($this->h-$y)*_MPDFK)-$sy*$info['y'], $info['i']); + } + else +/*-- END IMAGES-WMF --*/ + if ($info['type']=='svg') { + $sx = $w*_MPDFK / $info['w']; + $sy = -$h*_MPDFK / $info['h']; + $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x*_MPDFK-$sx*$info['x'], (($this->h-$y)*_MPDFK)-$sy*$info['y'], $info['i']); + } + else { + $outstring = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q",$w*_MPDFK,$h*_MPDFK,$x*_MPDFK,($this->h-($y+$h))*_MPDFK,$info['i']); + } + + if ($this->watermarkImgBehind) { + $outstring = $this->watermarkImgAlpha . "\n" . $outstring . "\n" . $this->SetAlpha(1, 'Normal', true) . "\n"; + $this->pages[$this->page] = preg_replace('/(___BACKGROUND___PATTERNS'.$this->uniqstr.')/', "\n".$outstring."\n".'\\1', $this->pages[$this->page]); + } + else { $this->_out($outstring); } + + return 0; + } // end of IF watermark +/*-- END WATERMARK --*/ if ($constrain) { // Automatically resize to maximum dimensions of page if too large @@ -6161,11 +7209,28 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='',$paint=true, $constrain=t $this->AddPage($this->CurOrientation); // Added to correct for OddEven Margins $x=$x +$this->MarginCorrection; - $y = $tMargin + $this->margin_header; + $y = $this->tMargin; // mPDF 5.7.3 $changedpage = true; } +/*-- COLUMNS --*/ + // COLS + // COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + $y = $this->y0; + $x += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + $this->x += $this->ChangeColumn * ($this->ColWidth+$this->ColGap); + } +/*-- END COLUMNS --*/ } // end of IF constrain +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + $sx = $w*_MPDFK / $info['w']; + $sy = -$h*_MPDFK / $info['h']; + $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x*_MPDFK-$sx*$info['x'], (($this->h-$y)*_MPDFK)-$sy*$info['y'], $info['i']); + } + else +/*-- END IMAGES-WMF --*/ if ($info['type']=='svg') { $sx = $w*_MPDFK / $info['w']; $sy = -$h*_MPDFK / $info['h']; @@ -6203,6 +7268,7 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='',$paint=true, $constrain=t //============================================================= //============================================================= //============================================================= +/*-- HTML-CSS --*/ function _getObjAttr($t) { $c = explode("\xbb\xa4\xac",$t,2); @@ -6291,7 +7357,7 @@ function inlineObject($type,$x,$y,$objattr,$Lmargin,$widthUsed,$maxWidth,$lineHe if ($type == 'image') { // Automatically resize to width remaining - if ($w > $widthLeft && !$is_table) { + if ($w > ($widthLeft + 0.0001) && !$is_table ) { // mPDF 5.7.4 0.0001 to allow for rounding errors when w==maxWidth $w = $widthLeft ; $h=abs($w*$info['h']/$info['w']); } @@ -6387,6 +7453,7 @@ function inlineObject($type,$x,$y,$objattr,$Lmargin,$widthUsed,$maxWidth,$lineHe return $objattr; } +/*-- END HTML-CSS --*/ //============================================================= //============================================================= @@ -6433,12 +7500,14 @@ function Ln($h='',$collapsible=0) else $this->y+=$h; } +/*-- HTML-CSS --*/ // $state = 0 normal; 1 top; 2 bottom; 3 top and bottom function DivLn($h,$level=-3,$move_y=true,$collapsible=false,$state=0) { // this->x is returned as it was // adds lines (y) where DIV bgcolors are filled in // allows .00001 as nominal height used for bookmarks/annotations etc. if ($collapsible && (sprintf("%0.4f", $this->y)==sprintf("%0.4f", $this->tMargin)) && (!$this->ColActive)) { return; } + if ($collapsible && (sprintf("%0.4f", $this->y)==sprintf("%0.4f", $this->y0)) && ($this->ColActive) && $this->CurrCol == 0) { return; } // *COLUMNS* // Still use this method if columns or page-break-inside: avoid, as it allows repositioning later // otherwise, now uses PaintDivBB() @@ -6483,6 +7552,7 @@ function DivLn($h,$level=-3,$move_y=true,$collapsible=false,$state=0) { } if ($move_y) { $this->y += $h; } } +/*-- END HTML-CSS --*/ function SetX($x) @@ -6517,7 +7587,9 @@ function Output($name='',$dest='') echo '
    Generated in '.sprintf('%.2F',(microtime(true) - $this->time0)).' seconds
    '; } //Finish document if necessary + if ($this->progressBar) { $this->UpdateProgressBar(1,'100','Finished'); } // *PROGRESS-BAR* if($this->state < 3) $this->Close(); + if ($this->progressBar) { $this->UpdateProgressBar(2,'100','Finished'); } // *PROGRESS-BAR* // fn. error_get_last is only in PHP>=5.2 if ($this->debug && function_exists('error_get_last') && error_get_last()) { $e = error_get_last(); @@ -6571,6 +7643,59 @@ function Output($name='',$dest='') else { $dest='F'; } } +/*-- PROGRESS-BAR --*/ + if ($this->progressBar && ($dest=='D' || $dest=='I')) { + if($name=='') { $name='mpdf.pdf'; } + $tempfile = '_tempPDF'.uniqid(rand(1,100000),true); + //Save to local file + $f=fopen(_MPDF_TEMP_PATH.$tempfile.'.pdf','wb'); + if(!$f) $this->Error('Unable to create temporary output file: '.$tempfile.'.pdf'); + fwrite($f,$this->buffer,strlen($this->buffer)); + fclose($f); + $this->UpdateProgressBar(3,'','Finished'); + + echo ' +
    + + '; + exit; + } + else { + if ($this->progressBar) { $this->UpdateProgressBar(3,'','Finished'); } +/*-- END PROGRESS-BAR --*/ switch($dest) { case 'I': @@ -6628,13 +7753,14 @@ function Output($name='',$dest='') $this->Error('Incorrect output destination: '.$dest); } + } // *PROGRESS-BAR* //====================================================================================================== // DELETE OLD TMP FILES - Housekeeping // Delete any files in tmp/ directory that are >1 hrs old $interval = 3600; - if ($handle = opendir(preg_replace('/\/$/','',_MPDF_TEMP_PATH))) { + if ($handle = @opendir(preg_replace('/\/$/','',_MPDF_TEMP_PATH))) { // mPDF 5.7.3 while (false !== ($file = readdir($handle))) { - if (!is_dir($file) && ((filemtime(_MPDF_TEMP_PATH.$file)+$interval) < time()) && ($file != "..") && ($file != ".") && (substr($file, 0, 1) !== '.') && ($file !='dummy.txt')) { // mPDF 5.7 + if (($file != "..") && ($file != ".") && !is_dir($file) && ((filemtime(_MPDF_TEMP_PATH.$file)+$interval) < time()) && (substr($file, 0, 1) !== '.') && ($file !='dummy.txt')) { // mPDF 5.7.3 unlink(_MPDF_TEMP_PATH.$file); } } @@ -6673,6 +7799,7 @@ function _begindoc() } +/*-- HTMLHEADERS-FOOTERS --*/ function _puthtmlheaders() { $this->state=2; $nb=$this->page; @@ -6752,6 +7879,11 @@ function _puthtmlheaders() { } $this->PageLinks[$n][]=$lk; } +/*-- FORMS --*/ + foreach($this->HTMLheaderPageForms AS $f) { + $this->form->forms[$f['n']] = $f; + } +/*-- END FORMS --*/ } @@ -6797,7 +7929,6 @@ function _puthtmlheaders() { $this->writingHTMLfooter = true; $this->InFooter = true; $this->WriteHTML($html , 4); // parameter 4 saves output to $this->headerbuffer - $this->writingHTMLfooter = false; $this->InFooter = false; $this->Reset(); $this->pageoutput[$n] = array(); @@ -6807,6 +7938,7 @@ function _puthtmlheaders() { $s = $this->PrintPageBackgrounds(-$adj); $this->headerbuffer = $s . $this->headerbuffer; + $this->writingHTMLfooter = false; // mPDF 5.7.3 (moved after PrintPageBackgrounds so can adjust position of images in footer) $os = ''; $os .= $this->StartTransform(true)."\n"; @@ -6841,11 +7973,18 @@ function _puthtmlheaders() { } $this->PageLinks[$n][]=$lk; } +/*-- FORMS --*/ + foreach($this->HTMLheaderPageForms AS $f) { + $f['y'] += $adj; + $this->form->forms[$f['n']] = $f; + } +/*-- END FORMS --*/ } } $this->page=$nb; $this->state=1; } +/*-- END HTMLHEADERS-FOOTERS --*/ function _putpages() @@ -6867,8 +8006,31 @@ function _putpages() $totaladdnum = 0; for($n=1;$n<=$nb;$n++) { if (isset($this->PageLinks[$n])) { $totaladdnum += count($this->PageLinks[$n]); } +/*-- ANNOTATIONS --*/ + if (isset($this->PageAnnots[$n])) { + foreach ($this->PageAnnots[$n] as $k => $pl) { + if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { $totaladdnum += 2 ; } + else { $totaladdnum++; } + } + } +/*-- END ANNOTATIONS --*/ +/*-- FORMS --*/ + if ( count($this->form->forms) > 0 ) { + $this->form->countPageForms($n, $totaladdnum); + } +/*-- END FORMS --*/ + } +/*-- FORMS --*/ + // Make a note in the radio button group of the obj_id it will have + $ctr = 0; + if (count($this->form->form_radio_groups)) { + foreach($this->form->form_radio_groups AS $name=>$frg) { + $this->form->form_radio_groups[$name]['obj_id'] = $annotid + $totaladdnum + $ctr; + $ctr++; + } } +/*-- END FORMS --*/ // Select unused fonts (usually default font) $unused = array(); @@ -6977,6 +8139,10 @@ function _putpages() $thispage = preg_replace('/(\s*___HEADER___MARKER'.$this->uniqstr.'\s*)/', " ", $thispage); $thispage = preg_replace('/(\s*___PAGE___START'.$this->uniqstr.'\s*)/', " ", $thispage); $thispage = preg_replace('/(\s*___TABLE___BACKGROUNDS'.$this->uniqstr.'\s*)/', " ", $thispage); + // mPDF 5.7.3 TRANSFORMS + while (preg_match('/(\% BTR(.*?)\% ETR)/is', $thispage, $m)) { + $thispage = preg_replace('/(\% BTR.*?\% ETR)/is', '', $thispage, 1)."\n".$m[2]; + } //Page $this->_newobj(); @@ -7028,13 +8194,38 @@ function _putpages() $embeddedfiles = array(); // mPDF 5.7.2 /EmbeddedFiles if (isset($this->PageLinks[$n])) { $annotsnum += count($this->PageLinks[$n]); } +/*-- ANNOTATIONS --*/ + if (isset($this->PageAnnots[$n])) { + foreach ($this->PageAnnots[$n] as $k => $pl) { + if (!empty($pl['opt']['file'])) { $embeddedfiles[$annotsnum+1] = true ; } // mPDF 5.7.2 /EmbeddedFiles + if (!empty($pl['opt']['popup']) || !empty($pl['opt']['file'])) { $annotsnum += 2 ; } + else { $annotsnum++; } + $this->PageAnnots[$n][$k]['pageobj'] = $this->n; + } + } +/*-- END ANNOTATIONS --*/ +/*-- FORMS --*/ + // Active Forms + $formsnum = 0; + if ( count($this->form->forms) > 0 ) { + foreach( $this->form->forms as $val ) { + if ( $val['page'] == $n ) + $formsnum++; + } + } +/*-- END FORMS --*/ if ($annotsnum || $formsnum) { $s = '/Annots [ '; for($i=0;$i<$annotsnum;$i++) { if (!isset($embeddedfiles[$i])) { $s .= ($annotid + $i) . ' 0 R '; } // mPDF 5.7.2 /EmbeddedFiles } $annotid += $annotsnum; +/*-- FORMS --*/ + if ( count($this->form->forms) > 0 ) { + $this->form->addFormIds($n, $s, $annotid); + } +/*-- END FORMS --*/ $s .= '] '; $this->_out($s); } @@ -7117,12 +8308,198 @@ function _putannots() { // mPDF 5.7.2 } +/*-- ANNOTATIONS --*/ + if(isset($this->PageAnnots[$n])) { + foreach ($this->PageAnnots[$n] as $key => $pl) { + if ($pl['opt']['file']) { $FileAttachment=true; } + else { $FileAttachment=false; } + $this->_newobj(); + $annot=''; + $pl['opt'] = array_change_key_case($pl['opt'], CASE_LOWER); + $x = $pl['x']; + if ($this->annotMargin <> 0 || $x==0 || $x<0) { // Odd page + $x = ($wPt/_MPDFK) - $this->annotMargin; + } + $w = $h = 0; + $a = $x * _MPDFK; + $b = $hPt - ($pl['y'] * _MPDFK); + $annot .= '<n+1).' 0 R>>'; + $annot .= '>>'; + } + else { + $annot .= '/Subtype /Text'; + } + $rect = sprintf('%.3F %.3F %.3F %.3F', $a, $b-$h, $a+$w, $b); + $annot .= '/Rect ['.$rect.']'; + + // contents = description of file in free text + $annot .= ' /Contents '.$this->_UTF16BEtextstring($pl['txt']); + $annot .= ' /NM '.$this->_textstring(sprintf('%04u-%04u', $n, (2000 + $key))); + $annot .= ' /M '.$this->_textstring('D:'.date('YmdHis')); + $annot .= ' /CreationDate '.$this->_textstring('D:'.date('YmdHis')); + $annot .= ' /Border [0 0 0]'; + if ($this->PDFA || $this->PDFX) { + $annot .= ' /F 28'; + $annot .= ' /CA 1'; + } + else if ($pl['opt']['ca']>0) { $annot .= ' /CA '.$pl['opt']['ca']; } + + $annotcolor = ' /C ['; + if (isset($pl['opt']['c']) AND $pl['opt']['c']) { + $col = $pl['opt']['c']; + if ($col{0}==3 || $col{0}==5) { $annotcolor .= sprintf("%.3F %.3F %.3F", ord($col{1})/255,ord($col{2})/255,ord($col{3})/255); } + else if ($col{0}==1) { $annotcolor .= sprintf("%.3F", ord($col{1})/255); } + else if ($col{0}==4 || $col{0}==6) { $annotcolor .= sprintf("%.3F %.3F %.3F %.3F", ord($col{1})/100,ord($col{2})/100,ord($col{3})/100,ord($col{4})/100); } + else { $annotcolor .= '1 1 0'; } + } + else { $annotcolor .= '1 1 0'; } + $annotcolor .= ']'; + $annot .= $annotcolor; + // Usually Author + // Use as Title for fileattachment + if (isset($pl['opt']['t']) AND is_string($pl['opt']['t'])) { + $annot .= ' /T '.$this->_UTF16BEtextstring($pl['opt']['t']); + } + if ($FileAttachment) { + $iconsapp = array('Paperclip', 'Graph', 'PushPin', 'Tag'); + } + else { $iconsapp = array('Comment', 'Help', 'Insert', 'Key', 'NewParagraph', 'Note', 'Paragraph'); } + if (isset($pl['opt']['icon']) AND in_array($pl['opt']['icon'], $iconsapp)) { + $annot .= ' /Name /'.$pl['opt']['icon']; + } + else if ($FileAttachment) { $annot .= ' /Name /PushPin'; } + else { $annot .= ' /Name /Note'; } + if (!$FileAttachment) { + // /Subj is PDF 1.5 spec. + if (isset($pl['opt']['subj']) && !$this->PDFA && !$this->PDFX) { + $annot .= ' /Subj '.$this->_UTF16BEtextstring($pl['opt']['subj']); + } + if (!empty($pl['opt']['popup'])) { + $annot .= ' /Open true'; + $annot .= ' /Popup '.($this->n+1).' 0 R'; + } + else { $annot .= ' /Open false'; } + } + $annot .= ' /P '.$pl['pageobj'].' 0 R'; + $annot .= '>>'; + $this->_out($annot); + $this->_out('endobj'); + + if ($FileAttachment) { + $file = @file_get_contents($pl['opt']['file']) or die('mPDF Error: Cannot access file attachment - '.$pl['opt']['file']); + $filestream = gzcompress($file); + $this->_newobj(); + $this->_out('<_out('/Length '.strlen($filestream)); + $this->_out('/Filter /FlateDecode'); + $this->_out('>>'); + $this->_putstream($filestream); + $this->_out('endobj'); + } + else if (!empty($pl['opt']['popup'])) { + $this->_newobj(); + $annot=''; + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][0])) { $x = $pl['opt']['popup'][0] * _MPDFK; } + else { $x = $pl['x'] * _MPDFK; } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][1])) { $y = $hPt - ($pl['opt']['popup'][1] * _MPDFK); } + else { $y = $hPt - ($pl['y'] * _MPDFK); } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][2])) { $w = $pl['opt']['popup'][2] * _MPDFK; } + else { $w = 180; } + if (is_array($pl['opt']['popup']) && isset($pl['opt']['popup'][3])) { $h = $pl['opt']['popup'][3] * _MPDFK; } + else { $h = 120; } + $rect = sprintf('%.3F %.3F %.3F %.3F', $x, $y-$h, $x+$w, $y); + $annot .= '<_textstring('D:'.date('YmdHis')); + if ($this->PDFA || $this->PDFX) { $annot .= ' /F 28'; } + $annot .= ' /Parent '.($this->n-1).' 0 R'; + $annot .= '>>'; + $this->_out($annot); + $this->_out('endobj'); + } + } + } +/*-- END ANNOTATIONS --*/ +/*-- FORMS --*/ + // Active Forms + if ( count($this->form->forms) > 0 ) { + $this->form->_putFormItems($n, $hPt); + } +/*-- END FORMS --*/ } } +/*-- FORMS --*/ + // Active Forms - Radio Button Group entries + // Output Radio Button Group form entries (radio_on_obj_id already determined) + if (count($this->form->form_radio_groups)) { + $this->form->_putRadioItems($n); + } +/*-- END FORMS --*/ } +/*-- ANNOTATIONS --*/ +function Annotation($text, $x=0, $y=0, $icon='Note', $author='', $subject='', $opacity=0, $colarray=false, $popup='', $file='') { + if (is_array($colarray) && count($colarray)==3) { $colarray = $this->ConvertColor('rgb('.$colarray[0].','.$colarray[1].','.$colarray[2].')'); } + if ($colarray === false) { $colarray = $this->ConvertColor('yellow'); } + if ($x==0) { $x = $this->x; } + if ($y==0) { $y = $this->y; } + $page = $this->page; + if ($page < 1) { // Document has not been started - assume it's for first page + $page = 1; + if ($x==0) { $x = $this->lMargin; } + if ($y==0) { $y = $this->tMargin; } + } + + if ($this->PDFA || $this->PDFX) { + if (($this->PDFA && !$this->PDFAauto) || ($this->PDFX && !$this->PDFXauto)) { $this->PDFAXwarnings[] = "Annotation markers cannot be semi-transparent in PDFA1-b or PDFX/1-a, so they may make underlying text unreadable. (Annotation markers moved to right margin)"; } + $x = ($this->w) - $this->rMargin*0.66; + } + if (!$this->annotMargin) { $y -= $this->FontSize / 2; } + + if (!$opacity && $this->annotMargin) { $opacity = 1; } + else if (!$opacity) { $opacity = $this->annotOpacity; } + + $an = array('txt' => $text, 'x' => $x, 'y' => $y, 'opt' => array('Icon'=>$icon, 'T'=>$author, 'Subj'=>$subject, 'C'=>$colarray, 'CA'=>$opacity, 'popup'=>$popup, 'file'=>$file)); + + if ($this->keep_block_together) { // Save to array - don't write yet + $this->ktAnnots[$this->page][]= $an; + return; + } + else if ($this->table_rotate) { + $this->tbrot_Annots[$this->page][]= $an; + return; + } + else if ($this->kwt) { + $this->kwt_Annots[$this->page][]= $an; + return; + } + // mPDF 5.0 + if ($this->writingHTMLheader || $this->writingHTMLfooter) { + $this->HTMLheaderPageAnnots[]= $an; + return; + } + //Put an Annotation on the page + $this->PageAnnots[$page][] = $an; +/*-- COLUMNS --*/ + // Save cross-reference to Column buffer + $ref = count($this->PageAnnots[$this->page])-1; + $this->columnAnnots[$this->CurrCol][INTVAL($this->x)][INTVAL($this->y)] = $ref; +/*-- END COLUMNS --*/ +} +/*-- END ANNOTATIONS --*/ function _putfonts() { @@ -7224,8 +8601,18 @@ function _putfonts() { $type=$font['type']; $name=$font['name']; if ((!isset($font['used']) || !$font['used']) && $type=='TTF') { continue; } + if ($this->progressBar) { $this->UpdateProgressBar(2,intval($fctr*100/$nfonts),'Writing Fonts'); $fctr++; } // *PROGRESS-BAR* if (isset($font['asSubset'])) { $asSubset = $font['asSubset']; } else { $asSubset = ''; } +/*-- CJK-FONTS --*/ + if($type=='Type0') { // = Adobe CJK Fonts + $this->fonts[$k]['n']=$this->n+1; + $this->_newobj(); + $this->_out('<_putType0($font); + } + else +/*-- END CJK-FONTS --*/ if($type=='core') { //Standard font $this->fonts[$k]['n']=$this->n+1; @@ -7703,6 +9090,49 @@ function _putfontwidths(&$font, $cidoffset=0) { } +/*-- CJK-FONTS --*/ + +// from class PDF_Chinese CJK EXTENSIONS +function _putType0(&$font) +{ + //Type0 + $this->_out('/Subtype /Type0'); + $this->_out('/BaseFont /'.$font['name'].'-'.$font['CMap']); + $this->_out('/Encoding /'.$font['CMap']); + $this->_out('/DescendantFonts ['.($this->n+1).' 0 R]'); + $this->_out('>>'); + $this->_out('endobj'); + //CIDFont + $this->_newobj(); + $this->_out('<_out('/Subtype /CIDFontType0'); + $this->_out('/BaseFont /'.$font['name']); + + $cidinfo = '/Registry '.$this->_textstring('Adobe'); + $cidinfo .= ' /Ordering '.$this->_textstring($font['registry']['ordering']); + $cidinfo .= ' /Supplement '.$font['registry']['supplement']; + $this->_out('/CIDSystemInfo <<'.$cidinfo.'>>'); + + $this->_out('/FontDescriptor '.($this->n+1).' 0 R'); + if (isset($font['MissingWidth'])){ + $this->_out('/DW '.$font['MissingWidth'].''); + } + $this->_putfontwidths($font, 31); + $this->_out('>>'); + $this->_out('endobj'); + + //Font descriptor + $this->_newobj(); + $s = '< $v) { + if ($k != 'Style') { + $s .= ' /'.$k.' '.$v.''; + } + } + $this->_out($s.'>>'); + $this->_out('endobj'); +} +/*-- END CJK-FONTS --*/ @@ -7941,6 +9371,12 @@ function _putcatalog() { else { $this->_out('/PageLayout /TwoColumnLeft'); } } +/*-- BOOKMARKS --*/ + if(count($this->BMoutlines)>0) { + $this->_out('/Outlines '.$this->OutlineRoot.' 0 R'); + $this->_out('/PageMode /UseOutlines'); + } +/*-- END BOOKMARKS --*/ if(is_int(strpos($this->DisplayPreferences,'FullScreen'))) $this->_out('/PageMode /FullScreen'); // Metadata @@ -7952,6 +9388,11 @@ function _putcatalog() { $this->_out('/OutputIntents ['.$this->OutputIntentRoot.' 0 R]'); } +/*-- FORMS --*/ + if (count($this->form->forms)>0) { + $this->form->_putFormsCatalog(); + } +/*-- END FORMS --*/ if ( isset($this->js) ) { $this->_out('/Names << /JavaScript '.($this->n_js).' 0 R >> '); } @@ -8011,7 +9452,9 @@ function SetUserRights($enable=true, $annots="", $form="", $signature="") { } function _enddoc() { + if ($this->progressBar) { $this->UpdateProgressBar(2,'10','Writing Headers & Footers'); } // *PROGRESS-BAR* $this->_puthtmlheaders(); // *HTMLHEADERS-FOOTERS* + if ($this->progressBar) { $this->UpdateProgressBar(2,'20','Writing Pages'); } // *PROGRESS-BAR* // Remove references to unused fonts (usually default font) foreach($this->fonts as $fk=>$font) { if (!$font['used'] && ($font['type']=='TTF')) { @@ -8060,12 +9503,14 @@ function _enddoc() { } $this->_putpages(); + if ($this->progressBar) { $this->UpdateProgressBar(2,'30','Writing document resources'); } // *PROGRESS-BAR* $this->_putresources(); //Info $this->_newobj(); $this->InfoRoot = $this->n; $this->_out('<<'); + if ($this->progressBar) { $this->UpdateProgressBar(2,'80','Writing document info'); } // *PROGRESS-BAR* $this->_putinfo(); $this->_out('>>'); $this->_out('endobj'); @@ -8078,6 +9523,7 @@ function _enddoc() { //Catalog $this->_newobj(); $this->_out('<<'); + if ($this->progressBar) { $this->UpdateProgressBar(2,'90','Writing document catalog'); } // *PROGRESS-BAR* $this->_putcatalog(); $this->_out('>>'); $this->_out('endobj'); @@ -8098,6 +9544,16 @@ function _enddoc() { $this->buffer .= '%%EOF'; $this->state=3; +/*-- IMPORTS --*/ + + if ($this->enableImports && count($this->parsers) > 0) { + foreach ($this->parsers as $k => $_){ + $this->parsers[$k]->closeFile(); + $this->parsers[$k] = null; + unset($this->parsers[$k]); + } + } +/*-- END IMPORTS --*/ } function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='',$ohname='',$ehname='',$ofname='',$efname='',$ohvalue=0,$ehvalue=0,$ofvalue=0,$efvalue=0,$pagesel='',$newformat='') { @@ -8109,6 +9565,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = false; if ($newformat) { $this->_setPageSize($newformat, $orientation); } +/*-- CSS-PAGE --*/ // Paged media (page-box) if ($pagesel || (isset($this->page_box['using']) && $this->page_box['using'])) { @@ -8143,6 +9600,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' } else { $this->bodyBackgroundColor = false; } +/*-- BACKGROUNDS --*/ if (isset($bg['BACKGROUND-GRADIENT'])) { $this->bodyBackgroundGradient = $bg['BACKGROUND-GRADIENT']; } @@ -8154,10 +9612,12 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' if ($ret) { $this->bodyBackgroundImage = $ret; } } else { $this->bodyBackgroundImage = false; } +/*-- END BACKGROUNDS --*/ $this->page_box['current'] = $psel; $this->page_box['using'] = true; } +/*-- END CSS-PAGE --*/ //Page orientation if(!$orientation) @@ -8255,6 +9715,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; // *HTMLHEADERS-FOOTERS* } else if ($ohname && $ohvalue>0) { +/*-- HTMLHEADERS-FOOTERS --*/ if (preg_match('/^html_(.*)$/i',$ohname,$n)) { if (isset($this->pageHTMLheaders[$n[1]])) { $this->HTMLHeader = $this->pageHTMLheaders[$n[1]]; } else { $this->HTMLHeader = ''; } @@ -8262,11 +9723,14 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; } else { +/*-- END HTMLHEADERS-FOOTERS --*/ if (isset($this->pageheaders[$ohname])) { $this->headerDetails['odd'] = $this->pageheaders[$ohname]; } else if ($ohname!='_default') { $this->headerDetails['odd'] = array(); } $this->HTMLHeader = ''; +/*-- HTMLHEADERS-FOOTERS --*/ $resetHTMLHeadersrequired = false; } +/*-- END HTMLHEADERS-FOOTERS --*/ } if ($ehvalue<0 || strtoupper($ehvalue)=='OFF') { @@ -8275,6 +9739,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; // *HTMLHEADERS-FOOTERS* } else if ($ehname && $ehvalue>0) { +/*-- HTMLHEADERS-FOOTERS --*/ if (preg_match('/^html_(.*)$/i',$ehname,$n)) { if (isset($this->pageHTMLheaders[$n[1]])) { $this->HTMLHeaderE = $this->pageHTMLheaders[$n[1]]; } else { $this->HTMLHeaderE = ''; } @@ -8282,11 +9747,14 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; } else { +/*-- END HTMLHEADERS-FOOTERS --*/ if (isset($this->pageheaders[$ehname])) { $this->headerDetails['even'] = $this->pageheaders[$ehname]; } else if ($ehname!='_default') { $this->headerDetails['even'] = array(); } $this->HTMLHeaderE = ''; +/*-- HTMLHEADERS-FOOTERS --*/ $resetHTMLHeadersrequired = false; } +/*-- END HTMLHEADERS-FOOTERS --*/ } if ($ofvalue<0 || strtoupper($ofvalue)=='OFF') { @@ -8295,6 +9763,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; // *HTMLHEADERS-FOOTERS* } else if ($ofname && $ofvalue>0) { +/*-- HTMLHEADERS-FOOTERS --*/ if (preg_match('/^html_(.*)$/i',$ofname,$n)) { if (isset($this->pageHTMLfooters[$n[1]])) { $this->HTMLFooter = $this->pageHTMLfooters[$n[1]]; } else { $this->HTMLFooter = ''; } @@ -8302,11 +9771,14 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; } else { +/*-- END HTMLHEADERS-FOOTERS --*/ if (isset($this->pagefooters[$ofname])) { $this->footerDetails['odd'] = $this->pagefooters[$ofname]; } else if ($ofname!='_default') { $this->footerDetails['odd'] = array(); } $this->HTMLFooter = ''; +/*-- HTMLHEADERS-FOOTERS --*/ $resetHTMLHeadersrequired = true; } +/*-- END HTMLHEADERS-FOOTERS --*/ } if ($efvalue<0 || strtoupper($efvalue)=='OFF') { @@ -8315,6 +9787,7 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; // *HTMLHEADERS-FOOTERS* } else if ($efname && $efvalue>0) { +/*-- HTMLHEADERS-FOOTERS --*/ if (preg_match('/^html_(.*)$/i',$efname,$n)) { if (isset($this->pageHTMLfooters[$n[1]])) { $this->HTMLFooterE = $this->pageHTMLfooters[$n[1]]; } else { $this->HTMLFooterE = ''; } @@ -8322,18 +9795,23 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' $resetHTMLHeadersrequired = true; } else { +/*-- END HTMLHEADERS-FOOTERS --*/ if (isset($this->pagefooters[$efname])) { $this->footerDetails['even'] = $this->pagefooters[$efname]; } else if ($efname!='_default') { $this->footerDetails['even'] = array(); } $this->HTMLFooterE = ''; +/*-- HTMLHEADERS-FOOTERS --*/ $resetHTMLHeadersrequired = true; } +/*-- END HTMLHEADERS-FOOTERS --*/ } +/*-- HTMLHEADERS-FOOTERS --*/ if ($resetHTMLHeadersrequired) { $this->SetHTMLHeader($this->HTMLHeader ); $this->SetHTMLHeader($this->HTMLHeaderE ,'E'); $this->SetHTMLFooter($this->HTMLFooter ); $this->SetHTMLFooter($this->HTMLFooterE ,'E'); } +/*-- END HTMLHEADERS-FOOTERS --*/ if (($this->mirrorMargins) && (($this->page)%2==0)) { // EVEN @@ -8355,13 +9833,13 @@ function _beginpage($orientation,$mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='' function _setAutoHeaderHeight(&$det, &$htmlh) { if ($this->setAutoTopMargin=='pad') { - if ($htmlh['h']) { $h = $htmlh['h']; } + if (isset($htmlh['h']) && $htmlh['h']) { $h = $htmlh['h']; } // 5.7.3 else if ($det) { $h = $this->_getHFHeight($det,'H'); } else { $h = 0; } $this->tMargin = $this->margin_header + $h + $this->orig_tMargin; } else if ($this->setAutoTopMargin=='stretch') { - if ($htmlh['h']) { $h = $htmlh['h']; } + if (isset($htmlh['h']) && $htmlh['h']) { $h = $htmlh['h']; } // 5.7.3 else if ($det) { $h = $this->_getHFHeight($det,'H'); } else { $h = 0; } $this->tMargin = max($this->orig_tMargin, $this->margin_header + $h + $this->autoMarginPadding); @@ -8371,14 +9849,14 @@ function _setAutoHeaderHeight(&$det, &$htmlh) { function _setAutoFooterHeight(&$det, &$htmlf) { if ($this->setAutoBottomMargin=='pad') { - if ($htmlf['h']) { $h = $htmlf['h']; } + if (isset($htmlf['h']) && $htmlf['h']) { $h = $htmlf['h']; } // 5.7.3 else if ($det) { $h = $this->_getHFHeight($det,'F'); } else { $h = 0; } $this->bMargin = $this->margin_footer + $h + $this->orig_bMargin; $this->PageBreakTrigger=$this->h-$this->bMargin ; } else if ($this->setAutoBottomMargin=='stretch') { - if ($htmlf['h']) { $h = $htmlf['h']; } + if (isset($htmlf['h']) && $htmlf['h']) { $h = $htmlf['h']; } // 5.7.3 else if ($det) { $h = $this->_getHFHeight($det,'F'); } else { $h = 0; } $this->bMargin = max($this->orig_bMargin, $this->margin_footer + $h + $this->autoMarginPadding); @@ -8404,7 +9882,9 @@ function _getHFHeight(&$det,$end) { function _endpage() { +/*-- CSS-IMAGE-FLOAT --*/ $this->printfloatbuffer(); +/*-- END CSS-IMAGE-FLOAT --*/ if($this->visibility!='visible') $this->SetVisibility('visible'); @@ -8452,16 +9932,20 @@ function _getImage(&$file, $firsttime=true, $allowvector=true, $orig_srcpath=fal $data = $this->$v[1]; $file = md5($data); } - // mPDF 5.5.13 if (preg_match('/data:image\/(gif|jpeg|png);base64,(.*)/',$file, $v)) { $type = $v[1]; $data = base64_decode($v[2]); $file = md5($data); } - // mPDF 5.6.02 - if ($firsttime && $file && substr($file,0,5)!='data:') { $file = urlencode_part($file); } - if ($firsttime && $orig_srcpath && substr($orig_srcpath,0,5)!='data:') { $orig_srcpath = urlencode_part($orig_srcpath); } + // mPDF 5.7.4 URLs + if ($firsttime && $file && substr($file,0,5)!='data:') { $file = str_replace(" ","%20",$file ); } + if ($firsttime && $orig_srcpath) { + // If orig_srcpath is a relative file path (and not a URL), then it needs to be URL decoded + if (substr($orig_srcpath,0,5)!='data:') { $orig_srcpath = str_replace(" ","%20",$orig_srcpath); } + if (!preg_match('/^(http|ftp)/',$orig_srcpath)) { $orig_srcpath = urldecode_parts($orig_srcpath ); } + } + $ppUx = 0; if ($orig_srcpath && isset($this->images[$orig_srcpath])) { $file=$orig_srcpath; return $this->images[$orig_srcpath]; } @@ -8489,7 +9973,7 @@ function _getImage(&$file, $firsttime=true, $allowvector=true, $orig_srcpath=fal $this->file_get_contents_by_socket($file, $data); // needs full url?? even on local (never needed for local) if ($data) { $type = $this->_imageTypeFromString($data); } } - if ((!$data || !$type) && !ini_get('allow_url_fopen') && function_exists("curl_init")) { + if ((!$data || !$type) && function_exists("curl_init")) { // mPDF 5.7.4 $this->file_get_contents_by_curl($file, $data); // needs full url?? even on local (never needed for local) if ($data) { $type = $this->_imageTypeFromString($data); } } @@ -8867,7 +10351,7 @@ function _getImage(&$file, $firsttime=true, $allowvector=true, $orig_srcpath=fal if(isset($gif->m_img->m_gih->m_bLocalClr) && $gif->m_img->m_gih->m_bLocalClr) { $nColors = $gif->m_img->m_gih->m_nTableSize; $pal = $gif->m_img->m_gih->m_colorTable->toString(); - if($bgColor != -1) { + if((isset($bgColor)) and $bgColor != -1) { // mPDF 5.7.3 $bgColor = $gif->m_img->m_gih->m_colorTable->colorIndex($bgColor); } $colspace='Indexed'; @@ -8912,6 +10396,39 @@ function _getImage(&$file, $firsttime=true, $allowvector=true, $orig_srcpath=fal return $info; } +/*-- IMAGES-BMP --*/ + // BMP (Windows Bitmap) + else if ($type == 'bmp') { + if (!class_exists('bmp', false)) { include(_MPDF_PATH.'classes/bmp.php'); } + if (empty($this->bmp)) { $this->bmp = new bmp($this); } + $info = $this->bmp->_getBMPimage($data, $file); + if (isset($info['error'])) { + return $this->_imageError($file, $firsttime, $info['error']); + } + if ($firsttime) { + $info['i']=count($this->images)+1; + $this->images[$file]=$info; + } + return $info; + } +/*-- END IMAGES-BMP --*/ +/*-- IMAGES-WMF --*/ + // WMF + else if ($type == 'wmf') { + if (!class_exists('wmf', false)) { include(_MPDF_PATH.'classes/wmf.php'); } + if (empty($this->wmf)) { $this->wmf = new wmf($this); } + $wmfres = $this->wmf->_getWMFimage($data); + if ($wmfres[0]==0) { + if ($wmfres[1]) { return $this->_imageError($file, $firsttime, $wmfres[1]); } + return $this->_imageError($file, $firsttime, 'Error parsing WMF image'); + } + $info = array('x'=>$wmfres[2][0],'y'=>$wmfres[2][1],'w'=>$wmfres[3][0],'h'=>$wmfres[3][1],'data'=>$wmfres[1]); + $info['i']=count($this->formobjects)+1; + $info['type']='wmf'; + $this->formobjects[$file]=$info; + return $info; + } +/*-- END IMAGES-WMF --*/ // UNKNOWN TYPE - try GD imagecreatefromstring else { @@ -9118,6 +10635,7 @@ function _jpgDataFromHeader($hdr) { function file_get_contents_by_curl($url, &$data) { $timeout = 5; $ch = curl_init($url); + curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1'); // mPDF 5.7.4 curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ); @@ -9128,11 +10646,21 @@ function file_get_contents_by_curl($url, &$data) { function file_get_contents_by_socket($url, &$data) { + // mPDF 5.7.3 $timeout = 1; $p = parse_url($url); $file = $p['path']; + if ($p['scheme']=='https') { + $prefix = 'ssl://'; + $port = ($p['port'] ? $p['port'] : 443); + } + else { + $prefix = ''; + $port = ($p['port'] ? $p['port'] : 80); + } if ($p['query']) { $file .= '?'.$p['query']; } - if(!($fh = @fsockopen($p['host'], 80, $errno, $errstr, $timeout))) { return false; } + if(!($fh = @fsockopen($prefix.$p['host'], $port, $errno, $errstr, $timeout))) { return false; } + $getstring = "GET ".$file." HTTP/1.0 \r\n" . "Host: ".$p['host']." \r\n" . @@ -9166,6 +10694,11 @@ function _imageTypeFromString(&$data) { else if (substr($data, 0, 8)== chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) { $type = 'png'; } +/*-- IMAGES-WMF --*/ + else if (substr($data, 0, 4)== chr(215).chr(205).chr(198).chr(154)) { + $type = 'wmf'; + } +/*-- END IMAGES-WMF --*/ else if (preg_match('//is',$data)) { $type = 'svg'; } @@ -9215,10 +10748,20 @@ function _freadint($f) function _UTF16BEtextstring($s) { $s = $this->UTF8ToUTF16BE($s, true); +/*-- ENCRYPTION --*/ + if ($this->encrypted) { + $s = $this->_RC4($this->_objectkey($this->_current_obj_id), $s); + } +/*-- END ENCRYPTION --*/ return '('. $this->_escape($s).')'; } function _textstring($s) { +/*-- ENCRYPTION --*/ + if ($this->encrypted) { + $s = $this->_RC4($this->_objectkey($this->_current_obj_id), $s); + } +/*-- END ENCRYPTION --*/ return '('. $this->_escape($s).')'; } @@ -9230,6 +10773,11 @@ function _escape($s) } function _putstream($s) { +/*-- ENCRYPTION --*/ + if ($this->encrypted) { + $s = $this->_RC4($this->_objectkey($this->_current_obj_id), $s); + } +/*-- END ENCRYPTION --*/ $this->_out('stream'); $this->_out($s); $this->_out('endstream'); @@ -9241,10 +10789,44 @@ function _out($s,$ln=true) { if ($this->bufferoutput) { $this->headerbuffer.= $s."\n"; } +/*-- COLUMNS --*/ + else if (($this->ColActive) && !$this->processingHeader && !$this->processingFooter) { + // Captures everything in buffer for columns; Almost everything is sent from fn. Cell() except: + // Images sent from Image() or + // later sent as _out($textto) in printbuffer + // Line() + if (preg_match('/q \d+\.\d\d+ 0 0 (\d+\.\d\d+) \d+\.\d\d+ \d+\.\d\d+ cm \/(I|FO)\d+ Do Q/',$s,$m)) { // Image data + $h = ($m[1]/_MPDFK); + // Update/overwrite the lowest bottom of printing y value for a column + $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y+$h; + } +/*-- TABLES --*/ + else if (preg_match('/\d+\.\d\d+ \d+\.\d\d+ \d+\.\d\d+ ([\-]{0,1}\d+\.\d\d+) re/',$s,$m) && $this->tableLevel>0) { // Rect in table + $h = ($m[1]/_MPDFK); + // Update/overwrite the lowest bottom of printing y value for a column + $this->ColDetails[$this->CurrCol]['bottom_margin'] = max($this->ColDetails[$this->CurrCol]['bottom_margin'],($this->y+$h)); + } +/*-- END TABLES --*/ + else { // Td Text Set in Cell() + if (isset($this->ColDetails[$this->CurrCol]['bottom_margin'])) { $h = $this->ColDetails[$this->CurrCol]['bottom_margin'] - $this->y; } + else { $h = 0; } + } + if ($h < 0) { $h = -$h; } + $this->columnbuffer[] = array( + 's' => $s, // Text string to output + 'col' => $this->CurrCol, // Column when printed + 'x' => $this->x, // x when printed + 'y' => $this->y, // this->y when printed (after column break) + 'h' => $h // actual y at bottom when printed = y+h + ); + } +/*-- END COLUMNS --*/ +/*-- TABLES --*/ else if ($this->table_rotate && !$this->processingHeader && !$this->processingFooter) { // Captures eveything in buffer for rotated tables; $this->tablebuffer .= $s . "\n"; } +/*-- END TABLES --*/ else if ($this->kwt && !$this->processingHeader && !$this->processingFooter) { // Captures eveything in buffer for keep-with-table (h1-6); $this->kwt_buffer[] = array( @@ -9287,6 +10869,63 @@ function _out($s,$ln=true) { } } +/*-- WATERMARK --*/ +// add a watermark +function watermark( $texte, $angle=45, $fontsize=96, $alpha=0.2 ) { + if ($this->PDFA || $this->PDFX) { $this->Error('PDFA and PDFX do not permit transparency, so mPDF does not allow Watermarks!'); } + if (!$this->watermark_font) { $this->watermark_font = $this->default_font; } + $this->SetFont( $this->watermark_font, "B", $fontsize, false ); // Don't output + $texte= $this->purify_utf8_text($texte); + if ($this->text_input_as_HTML) { + $texte= $this->all_entities_to_utf8($texte); + } + if ($this->usingCoreFont) { $texte = mb_convert_encoding($texte,$this->mb_enc,'UTF-8'); } + // DIRECTIONALITY + $this->magic_reverse_dir($texte, true, $this->directionality); // *RTL* + // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($texte); // *INDIC* + + $this->SetAlpha($alpha); + + $this->SetTColor($this->ConvertColor(0)); + $szfont = $fontsize; + $loop = 0; + $maxlen = (min($this->w,$this->h) ); // sets max length of text as 7/8 width/height of page + while ( $loop == 0 ) + { + $this->SetFont( $this->watermark_font, "B", $szfont, false ); // Don't output + $offset = ((sin(deg2rad($angle))) * ($szfont/_MPDFK)); + + $strlen = $this->GetStringWidth($texte); + if ( $strlen > $maxlen - $offset ) + $szfont --; + else + $loop ++; + } + + $this->SetFont( $this->watermark_font, "B", $szfont-0.1, true, true); // Output The -0.1 is because SetFont above is not written to PDF + // Repeating it will not output anything as mPDF thinks it is set + $adj = ((cos(deg2rad($angle))) * ($strlen/2)); + $opp = ((sin(deg2rad($angle))) * ($strlen/2)); + $wx = ($this->w/2) - $adj + $offset/3; + $wy = ($this->h/2) + $opp; + $this->Rotate($angle,$wx,$wy); + $this->Text($wx,$wy,$texte); + $this->Rotate(0); + $this->SetTColor($this->ConvertColor(0)); + + $this->SetAlpha(1); + +} + +function watermarkImg( $src, $alpha=0.2 ) { + if ($this->PDFA || $this->PDFX) { $this->Error('PDFA and PDFX do not permit transparency, so mPDF does not allow Watermarks!'); } + if ($this->watermarkImgBehind) { $this->watermarkImgAlpha = $this->SetAlpha($alpha, 'Normal', true); } + else { $this->SetAlpha($alpha, $this->watermarkImgAlphaBlend); } + $this->Image($src,0,0,0,0,'','', true, true, true); + if (!$this->watermarkImgBehind) { $this->SetAlpha(1); } +} +/*-- END WATERMARK --*/ function Rotate($angle,$x=-1,$y=-1) @@ -9364,6 +11003,14 @@ function _Arc($x1, $y1, $x2, $y2, $x3, $y3) +/*-- DIRECTW --*/ +function Shaded_box( $text,$font='',$fontstyle='B',$szfont='',$width='70%',$style='DF',$radius=2.5,$fill='#FFFFFF',$color='#000000',$pad=2 ) { + // F (shading - no line),S (line, no shading),DF (both) + if (!class_exists('directw', false)) { include(_MPDF_PATH.'classes/directw.php'); } + if (empty($this->directw)) { $this->directw = new directw($this); } + $this->directw->Shaded_box( $text,$font,$fontstyle,$szfont,$width,$style,$radius,$fill,$color,$pad); +} +/*-- END DIRECTW --*/ function UTF8StringToArray($str, $addSubset=true) { @@ -9475,6 +11122,130 @@ function UTF8ToUTF16BE($str, $setbom=true) { // ==================================================== // ==================================================== +/*-- CJK-FONTS --*/ + +// from class PDF_Chinese CJK EXTENSIONS +function AddCIDFont($family,$style,$name,&$cw,$CMap,$registry,$desc) +{ + $fontkey=strtolower($family).strtoupper($style); + if(isset($this->fonts[$fontkey])) + $this->Error("Font already added: $family $style"); + $i=count($this->fonts)+$this->extraFontSubsets+1; + $name=str_replace(' ','',$name); + if ($family == 'sjis') { $up = -120; } else { $up = -130; } + // ? 'up' and 'ut' do not seem to be referenced anywhere + $this->fonts[$fontkey]=array('i'=>$i,'type'=>'Type0','name'=>$name,'up'=>$up,'ut'=>40,'cw'=>$cw,'CMap'=>$CMap,'registry'=>$registry,'MissingWidth'=>1000,'desc'=>$desc); +} + +function AddCJKFont($family) { + + if ($this->PDFA || $this->PDFX) { + $this->Error("Adobe CJK fonts cannot be embedded in mPDF (required for PDFA1-b and PDFX/1-a)."); + } + if ($family == 'big5') { $this->AddBig5Font(); } + else if ($family == 'gb') { $this->AddGBFont(); } + else if ($family == 'sjis') { $this->AddSJISFont(); } + else if ($family == 'uhc') { $this->AddUHCFont(); } +} + +function AddBig5Font() +{ + //Add Big5 font with proportional Latin + $family='big5'; + $name='MSungStd-Light-Acro'; + $cw=$this->Big5_widths; + $CMap='UniCNS-UTF16-H'; + $registry=array('ordering'=>'CNS1','supplement'=>4); + $desc = array( + 'Ascent' => 880, + 'Descent' => -120, + 'CapHeight' => 880, + 'Flags' => 6, + 'FontBBox' => '[-160 -249 1015 1071]', + 'ItalicAngle' => 0, + 'StemV' => 93, + ); + $this->AddCIDFont($family,'',$name,$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry,$desc); +} + + +function AddGBFont() +{ + //Add GB font with proportional Latin + $family='gb'; + $name='STSongStd-Light-Acro'; + $cw=$this->GB_widths; + $CMap='UniGB-UTF16-H'; + $registry=array('ordering'=>'GB1','supplement'=>4); + $desc = array( + 'Ascent' => 752, + 'Descent' => -271, + 'CapHeight' => 737, + 'Flags' => 6, + 'FontBBox' => '[-25 -254 1000 880]', + 'ItalicAngle' => 0, + 'StemV' => 58, + 'Style' => '<< /Panose <000000000400000000000000> >>', + ); + $this->AddCIDFont($family,'',$name,$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry,$desc); +} + + +function AddSJISFont() +{ + //Add SJIS font with proportional Latin + $family='sjis'; + $name='KozMinPro-Regular-Acro'; + $cw=$this->SJIS_widths; + $CMap='UniJIS-UTF16-H'; + $registry=array('ordering'=>'Japan1','supplement'=>5); + $desc = array( + 'Ascent' => 880, + 'Descent' => -120, + 'CapHeight' => 740, + 'Flags' => 6, + 'FontBBox' => '[-195 -272 1110 1075]', + 'ItalicAngle' => 0, + 'StemV' => 86, + 'XHeight' => 502, + ); + $this->AddCIDFont($family,'',$name,$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry,$desc); +} + +function AddUHCFont() +{ + //Add UHC font with proportional Latin + $family='uhc'; + $name='HYSMyeongJoStd-Medium-Acro'; + $cw=$this->UHC_widths; + $CMap='UniKS-UTF16-H'; + $registry=array('ordering'=>'Korea1','supplement'=>2); + $desc = array( + 'Ascent' => 880, + 'Descent' => -120, + 'CapHeight' => 720, + 'Flags' => 6, + 'FontBBox' => '[-28 -148 1001 880]', + 'ItalicAngle' => 0, + 'StemV' => 60, + 'Style' => '<< /Panose <000000000600000000000000> >>', + ); + $this->AddCIDFont($family,'',$name,$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'B',$name.',Bold',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'I',$name.',Italic',$cw,$CMap,$registry,$desc); + $this->AddCIDFont($family,'BI',$name.',BoldItalic',$cw,$CMap,$registry,$desc); +} + +/*-- END CJK-FONTS --*/ ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @@ -9503,6 +11274,7 @@ function SetDefaultFont($font) { $font = $this->SetFont($font); // returns substituted font if necessary $this->default_font = $font; $this->original_default_font = $font; + if (!$this->watermark_font ) { $this->watermark_font = $font; } // *WATERMARK* $this->defaultCSS['BODY']['FONT-FAMILY'] = $font; $this->cssmgr->CSS['BODY']['FONT-FAMILY'] = $font; } @@ -9524,9 +11296,28 @@ function SetDefaultBodyCSS($prop, $val) { function SetDirectionality($dir='ltr') { +/*-- RTL --*/ + if (strtolower($dir) == 'rtl') { + if ($this->directionality != 'rtl') { + // Swop L/R Margins so page 1 RTL is an 'even' page + $tmp = $this->DeflMargin; + $this->DeflMargin = $this->DefrMargin; + $this->DefrMargin = $tmp; + $this->orig_lMargin = $this->DeflMargin; + $this->orig_rMargin = $this->DefrMargin; + + $this->SetMargins($this->DeflMargin,$this->DefrMargin,$this->tMargin); + } + $this->directionality = 'rtl'; + $this->defaultAlign = 'R'; + $this->defaultTableAlign = 'R'; + } + else { +/*-- END RTL --*/ $this->directionality = 'ltr'; $this->defaultAlign = 'L'; $this->defaultTableAlign = 'L'; + } // *RTL* $this->cssmgr->CSS['BODY']['DIRECTION'] = $this->directionality; } @@ -9613,8 +11404,9 @@ function GetFullPath(&$path,$basepath='') { if(substr($path,0,1) == '#') { return; } - if (stristr($path,"mailto:") !== false) { return; } - if (strpos($path,"../") !== false ) { //It is a Relative Link + // mPDF 5.7.4 + if (substr($path,0,7) == "mailto:") { return; } + if (substr($path,0,3) == "../") { //It is a Relative Link $backtrackamount = substr_count($path,"../"); $maxbacktrack = substr_count($basepath,"/") - 3; // mPDF 5.6.18 $filepath = str_replace("../",'',$path); @@ -9632,6 +11424,7 @@ function GetFullPath(&$path,$basepath='') { $root = ''; if (!empty($tr['scheme'])) { $root .= $tr['scheme'].'://'; } $root .= $tr['host']; + $root .= ($tr['port'] ? (':'.$tr['port']) : ''); // mPDF 5.7.3 $path = $root . $path; } else { $path = $basepath . $path; } @@ -9644,6 +11437,8 @@ function GetFullPath(&$path,$basepath='') { function _get_file($path) { // If local file try using local path (? quicker, but also allowed even if allow_url_fopen false) $contents = ''; + // mPDF 5.7.3 + if (strpos($path,"//") === false ) { $path = preg_replace('/\.css\?.*$/', '.css', $path); } $contents = @file_get_contents($path); if ($contents) { return $contents; } if ($this->basepathIsLocal) { @@ -9788,10 +11583,12 @@ function Header($content='') { $this->cMarginR = 0; +/*-- HTMLHEADERS-FOOTERS --*/ if (($this->mirrorMargins && ($this->page%2==0) && $this->HTMLHeaderE) || ($this->mirrorMargins && ($this->page%2==1) && $this->HTMLHeader) || (!$this->mirrorMargins && $this->HTMLHeader)) { $this->writeHTMLHeaders(); return; } +/*-- END HTMLHEADERS-FOOTERS --*/ $this->processingHeader=true; $h = $this->headerDetails; if(count($h)) { @@ -9868,8 +11665,16 @@ function Header($content='') { // CONVERT CODEPAGE if ($this->usingCoreFont) { $hd = mb_convert_encoding($hd,$this->mb_enc,'UTF-8'); } // DIRECTIONALITY RTL + $this->magic_reverse_dir($hd, true, $this->directionality); // *RTL* // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($hd); // *INDIC* $align = $pos; +/*-- RTL --*/ + if ($this->directionality == 'rtl') { + if ($pos == 'L') { $align = 'R'; } + else if ($pos == 'R') { $align = 'L'; } + } +/*-- END RTL --*/ if ($pos!='L' && (strpos($hd,$this->aliasNbPg)!==false || strpos($hd,$this->aliasNbPgGp)!==false)) { if (strpos($hd,$this->aliasNbPgGp)!==false) { $type= 'nbpggp'; } else { $type= 'nbpg'; } $this->_out('{mpdfheader'.$type.' '.$pos.' ff='.$hff.' fs='.$hfst.' fz='.$hfsz.'}'); @@ -9895,12 +11700,14 @@ function Header($content='') { } } $this->SetY($this->tMargin); + if ($this->ColActive) { $this->pgwidth = $this->ColWidth; } // *COLUMNS* $this->processingHeader=false; } +/*-- TABLES --*/ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='',$horf = 'H',$level, $firstSpread=true, $finalSpread=true) { if(($horf=='H' || $horf=='F') && !empty($content)) { // mPDF 5.7.2 $table = &$this->table[1][1]; @@ -9940,6 +11747,24 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', $y = $this->y; +/*-- COLUMNS --*/ + // If outside columns, this is done in PaintDivBB + if ($this->ColActive) { + //OUTER FILL BGCOLOR of DIVS + if ($this->blklvl > 0) { + $firstblockfill = $this->GetFirstBlockFill(); + if ($firstblockfill && $this->blklvl >= $firstblockfill) { + $divh = $content[$i][0]['h']; + $bak_x = $this->x; + $this->DivLn($divh,-3,false); + // Reset current block fill + $bcor = $this->blk[$this->blklvl]['bgcolorarray']; + $this->SetFColor($bcor); + $this->x = $bak_x; + } + } + } +/*-- END COLUMNS --*/ $colctr = 0; foreach($content[$i] as $tablehf) { @@ -9954,6 +11779,17 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', else if (($this->mirrorMargins) && ($tablestartpage == 'EVEN') && (($this->page)%2==1)) { // ODD $x = $x +$this->MarginCorrection; } +/*-- COLUMNS --*/ + // Added to correct for Columns + if ($this->ColActive) { + if ($this->directionality == 'rtl') { // *RTL* + $x -= ($this->CurrCol - $tablestartcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $x += ($this->CurrCol - $tablestartcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + } +/*-- END COLUMNS --*/ if ($colctr==1) { $x0 = $x; } @@ -10063,6 +11899,7 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', } +/*-- BACKGROUNDS --*/ if (isset($tablehf['gradient']) && $tablehf['gradient'] && $paintcell){ $g = $this->grad->parseBackgroundGradient($tablehf['gradient']); if ($g) { @@ -10137,6 +11974,7 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', } } } +/*-- END BACKGROUNDS --*/ //Cell Border if ($table['borders_separate'] && $paintcell && $border) { @@ -10235,6 +12073,7 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', } $textbuffer = array(); +/*-- BACKGROUNDS --*/ if (!$this->ColActive) { if (isset($content[$i][0]['trgradients']) && ($colctr==1 || $table['borders_separate'])) { $g = $this->grad->parseBackgroundGradient($content[$i][0]['trgradients']); @@ -10336,6 +12175,7 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', } } } +/*-- END BACKGROUNDS --*/ // TABLE BORDER - if separate OR collapsed and only table border if (($table['borders_separate'] || ($this->simpleTables && !$table['simple']['border'])) && $table['border']) { @@ -10382,7 +12222,9 @@ function TableHeaderFooter($content='',$tablestartpage='',$tablestartcolumn ='', $this->colsums = array(); } } +/*-- END TABLES --*/ +/*-- HTMLHEADERS-FOOTERS --*/ function SetHTMLHeader($header='',$OE='',$write=false) { $height = 0; @@ -10596,6 +12438,7 @@ function writeHTMLFooters() { $this->saveHTMLFooter[$this->page][$OE]['ph'] = $this->h; } } +/*-- END HTMLHEADERS-FOOTERS --*/ function DefHeaderByName($name,$arr) { if (!$name) { $name = '_default'; } @@ -10620,6 +12463,7 @@ function SetFooterByName($name,$side='O') { else { $this->footerDetails['odd'] = $this->pagefooters[$name]; } } +/*-- HTMLHEADERS-FOOTERS --*/ function DefHTMLHeaderByName($name,$html) { if (!$name) { $name = '_default'; } @@ -10641,8 +12485,9 @@ function SetHTMLHeaderByName($name,$side='O',$write=false) { function SetHTMLFooterByName($name,$side='O') { if (!$name) { $name = '_default'; } - $this->SetHTMLFooter($this->pageHTMLfooters[$name],$side,$write); + $this->SetHTMLFooter($this->pageHTMLfooters[$name],$side); } +/*-- END HTMLHEADERS-FOOTERS --*/ function SetHeader($Harray=array(),$side='',$write=false) { @@ -10687,6 +12532,7 @@ function SetHeader($Harray=array(),$side='',$write=false) { else if ($side=='E') { $this->headerDetails['even'] = $Harray; } else { $this->headerDetails = $Harray; } } +/*-- HTMLHEADERS-FOOTERS --*/ // Overwrite any HTML Header previously set if ($side=='E') { $this->SetHTMLHeader('','E'); } else if ($side=='O') { $this->SetHTMLHeader(''); } @@ -10694,6 +12540,7 @@ function SetHeader($Harray=array(),$side='',$write=false) { $this->SetHTMLHeader(''); $this->SetHTMLHeader('','E'); } +/*-- END HTMLHEADERS-FOOTERS --*/ if ($write) { $save_y = $this->y; @@ -10747,6 +12594,7 @@ function SetFooter($Farray=array(),$side='') { else if ($side=='E') { $this->footerDetails['even'] = $Farray; } else { $this->footerDetails = $Farray; } } +/*-- HTMLHEADERS-FOOTERS --*/ // Overwrite any HTML Footer previously set if ($side=='E') { $this->SetHTMLFooter('','E'); } else if ($side=='O') { $this->SetHTMLFooter(''); } @@ -10754,12 +12602,31 @@ function SetFooter($Farray=array(),$side='') { $this->SetHTMLFooter(''); $this->SetHTMLFooter('','E'); } +/*-- END HTMLHEADERS-FOOTERS --*/ +} + +/*-- WATERMARK --*/ +function setUnvalidatedText($txt='', $alpha=-1) { + if ($alpha>=0) $this->watermarkTextAlpha = $alpha; + $this->watermarkText = $txt; +} +function SetWatermarkText($txt='', $alpha=-1) { + if ($alpha>=0) $this->watermarkTextAlpha = $alpha; + $this->watermarkText = $txt; } +function SetWatermarkImage($src, $alpha=-1, $size='D', $pos='F') { + if ($alpha>=0) $this->watermarkImageAlpha = $alpha; + $this->watermarkImage = $src; + $this->watermark_size = $size; + $this->watermark_pos = $pos; +} +/*-- END WATERMARK --*/ //Page footer function Footer() { +/*-- CSS-PAGE --*/ // PAGED MEDIA - CROP / CROSS MARKS from @PAGE if ($this->show_marks == 'CROP' || $this->show_marks == 'CROPCROSS') { // Show TICK MARKS @@ -10843,17 +12710,36 @@ function Footer() { $this->firstPageBoxHeader=''; $this->firstPageBoxFooter=''; } +/*-- END CSS-PAGE --*/ +/*-- HTMLHEADERS-FOOTERS --*/ if (($this->mirrorMargins && ($this->page%2==0) && $this->HTMLFooterE) || ($this->mirrorMargins && ($this->page%2==1) && $this->HTMLFooter) || (!$this->mirrorMargins && $this->HTMLFooter)) { $this->writeHTMLFooters(); +/*-- WATERMARK --*/ + if (($this->watermarkText) && ($this->showWatermarkText)) { + $this->watermark( $this->watermarkText, 45, 120, $this->watermarkTextAlpha); // Watermark text + } + if (($this->watermarkImage) && ($this->showWatermarkImage)) { + $this->watermarkImg( $this->watermarkImage, $this->watermarkImageAlpha); // Watermark image + } +/*-- END WATERMARK --*/ return; } +/*-- END HTMLHEADERS-FOOTERS --*/ $this->processingHeader=true; $this->ResetMargins(); // necessary after columns $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; +/*-- WATERMARK --*/ + if (($this->watermarkText) && ($this->showWatermarkText)) { + $this->watermark( $this->watermarkText, 45, 120, $this->watermarkTextAlpha); // Watermark text + } + if (($this->watermarkImage) && ($this->showWatermarkImage)) { + $this->watermarkImg( $this->watermarkImage, $this->watermarkImageAlpha); // Watermark image + } +/*-- END WATERMARK --*/ $h = $this->footerDetails; if(count($h)) { @@ -10925,7 +12811,9 @@ function Footer() { // CONVERT CODEPAGE if ($this->usingCoreFont) { $hd = mb_convert_encoding($hd,$this->mb_enc,'UTF-8'); } // DIRECTIONALITY RTL + $this->magic_reverse_dir($hd, true, $this->directionality); // *RTL* // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($hd); // *INDIC* $align = $pos; if ($this->directionality == 'rtl') { if ($pos == 'L') { $align = 'R'; } @@ -11015,8 +12903,196 @@ function hardHyphenate($word, $maxWidth) { } +/*-- HYPHENATION --*/ +/////////////////// +/////////////////// +// HYPHENATION +/////////////////// +// Soft hyphs +function softHyphenate($word, $maxWidth) { + // Don't hyphenate web addresses + if (preg_match('/^(http:|www\.)/',$word)) { return array(false,'','',''); } + + // Get dictionary + $poss = array(); + $softhyphens = array(); + $offset = 0; + $p = true; + if ($this->usingCoreFont) { + $wl = strlen($word); + } + else { + $wl = mb_strlen($word,'UTF-8'); + } + while($offset < $wl) { + // Soft Hyphens chr(173) + if (!$this->usingCoreFont) { + $p = mb_strpos($word, "\xc2\xad", $offset, 'UTF-8'); + } + else if ($this->FontFamily!='csymbol' && $this->FontFamily!='czapfdingbats') { + $p = strpos($word, chr(173), $offset); + } + // mPDF 5.7.2 + //if ($p !== false) { $poss[] = $p - count($poss); } + if ($p !== false) { $poss[] = $p; } + else { break; } + $offset = $p+1; + } + $success = false; + foreach($poss AS $i) { + if ($this->usingCoreFont) { + $a = substr($word,0,$i); + if ($this->GetStringWidth($a.'-') > $maxWidth) { break ; } + $pre = $a; + $post = substr($word,$i,strlen($word)); + $prelength = strlen($pre); + } + else { + $a = mb_substr($word,0,$i,'UTF-8'); + if ($this->GetStringWidth($a.'-') > $maxWidth) { break ; } + $pre = $a; + $post = mb_substr($word,$i,mb_strlen($word,'UTF-8'),'UTF-8'); + $prelength = mb_strlen($pre, 'UTF-8'); + } + $success = true; + } + return array($success,$pre,$post,$prelength); +} + +/////////////////// +// Word hyphenation +function hyphenateWord($word, $maxWidth) { + // Do everything inside this function in utf-8 + // Don't hyphenate web addresses + if (preg_match('/^(http:|www\.)/',$word)) { return array(false,'','',''); } + + + // Get dictionary + if (!$this->loadedSHYdictionary) { + if (file_exists(_MPDF_PATH.'patterns/dictionary.txt')) { + $this->SHYdictionary = file(_MPDF_PATH.'patterns/dictionary.txt',FILE_SKIP_EMPTY_LINES); + foreach($this->SHYdictionary as $entry) { + $entry = trim($entry); + $poss = array(); + $offset = 0; + $p = true; + $wl = mb_strlen($entry ,'UTF-8'); + while($offset < $wl) { + $p = mb_strpos($entry, '/', $offset, 'UTF-8'); + if ($p !== false) { $poss[] = $p - count($poss); } + else { break; } + $offset = $p+1; + } + if (count($poss)) { $this->SHYdictionaryWords[str_replace('/', '', mb_strtolower($entry))] = $poss; } + } + } + $this->loadedSHYdictionary = true; + } + + if (!in_array($this->SHYlang,$this->SHYlanguages)) { return array(false,'','',''); } + // If no pattern loaded or not the best one + if (count($this->SHYpatterns) < 1 || ($this->loadedSHYpatterns && $this->loadedSHYpatterns != $this->SHYlang)) { + include(_MPDF_PATH."patterns/" . $this->SHYlang . ".php"); + $patterns = explode(' ', $patterns); + $new_patterns = array(); + for($i = 0; $i < count($patterns); $i++) { + $value = $patterns[$i]; + $new_patterns[preg_replace('/[0-9]/', '', $value)] = $value; + } + $this->SHYpatterns = $new_patterns; + $this->loadedSHYpatterns = $this->SHYlang; + } + + if ($this->usingCoreFont) { $word = mb_convert_encoding($word,'UTF-8',$this->mb_enc); } + + $prepre = ''; + $postpost = ''; + $startpunctuation = "\xc2\xab\xc2\xbf\xe2\x80\x98\xe2\x80\x9b\xe2\x80\x9c\xe2\x80\x9f"; + $endpunctuation = "\xe2\x80\x9e\xe2\x80\x9d\xe2\x80\x9a\xe2\x80\x99\xc2\xbb"; + $pre = ''; + $post = ''; + + + if (preg_match('/^(["\''.$startpunctuation .'])+(.{'.$this->SHYcharmin.',})$/u',$word,$m)) { + $prepre = $m[1]; + $word = $m[2]; + } + if (preg_match('/^(.{'.$this->SHYcharmin.',})([\'\.,;:!?"'.$endpunctuation .']+)$/u',$word,$m)) { + $word = $m[1]; + $postpost = $m[2]; + } + if(mb_strlen($word,'UTF-8') < $this->SHYcharmin) { + return array(false,'','',''); + } + $success = false; + + if(isset($this->SHYdictionaryWords[mb_strtolower($word)])) { + foreach($this->SHYdictionaryWords[mb_strtolower($word)] AS $i) { + $a = $prepre . mb_substr($word,0,$i,'UTF-8'); + if ($this->usingCoreFont) { $testa = mb_convert_encoding($a,$this->mb_enc,'UTF-8'); } + else { $testa = $a; } + if ($this->GetStringWidth($testa.'-') > $maxWidth) { break ; } + $pre = $a; + $post = mb_substr($word,$i,mb_strlen($word,'UTF-8'),'UTF-8') . $postpost; + $success = true; + } + } + + if (!$success) { + $text_word = '_' . $word . '_'; + $word_length = mb_strlen($text_word,'UTF-8'); + + $single_character = preg_split('//u', $text_word); + + $text_word = mb_strtolower($text_word,'UTF-8'); + $hyphenated_word = array(); + $numb3rs = array('0' => true, '1' => true, '2' => true, '3' => true, '4' => true, '5' => true, '6' => true, '7' => true, '8' => true, '9' => true); + for($position = 0; $position <= ($word_length - $this->SHYcharmin); $position++) { + $maxwins = min(($word_length - $position), $this->SHYcharmax); + for($win = $this->SHYcharmin; $win <= $maxwins; $win++) { + if(isset($this->SHYpatterns[mb_substr($text_word, $position, $win,'UTF-8')])) { + $pattern = $this->SHYpatterns[mb_substr($text_word, $position, $win,'UTF-8')]; + $digits = 1; + $pattern_length = mb_strlen($pattern,'UTF-8'); + for($i = 0; $i < $pattern_length; $i++) { + $char = $pattern[$i]; + if(isset($numb3rs[$char])) { + $zero = ($i == 0) ? $position - 1 : $position + $i - $digits; + if(!isset($hyphenated_word[$zero]) || $hyphenated_word[$zero] != $char) $hyphenated_word[$zero] = $char; + $digits++; + } + } + } + } + } + + for($i = $this->SHYleftmin; $i <= (mb_strlen($word,'UTF-8') - $this->SHYrightmin); $i++) { + if(isset($hyphenated_word[$i]) && $hyphenated_word[$i] % 2 != 0) { + $a = $prepre . mb_substr($word,0,$i,'UTF-8'); + if ($this->usingCoreFont) { $testa = mb_convert_encoding($a,$this->mb_enc,'UTF-8'); } + else { $testa = $a; } + if ($this->GetStringWidth($testa.'-') > $maxWidth + 0.0001) { break ; } + $pre = $a; + $post = mb_substr($word,$i,mb_strlen($word,'UTF-8'),'UTF-8') . $postpost; + $success = true; + } + } + } + if ($this->usingCoreFont) { + $pre = mb_convert_encoding($pre,$this->mb_enc,'UTF-8'); + $post = mb_convert_encoding($post,$this->mb_enc,'UTF-8'); + $prelength = strlen($pre); + } + else { + $prelength = mb_strlen($pre); + } + return array($success,$pre,$post,$prelength); + +} +/*-- END HYPHENATION --*/ +/*-- HTML-CSS --*/ /////////////////// /// HTML parser /// /////////////////// @@ -11027,6 +13103,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { // $init - Clears and sets buffers to Top level block etc. if (empty($html)) { $html = ''; } + if ($this->progressBar) { $this->UpdateProgressBar(1,0,'Parsing CSS & Headers'); } // *PROGRESS-BAR* if ($init) { $this->headerbuffer=''; @@ -11108,6 +13185,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if ($sub == 1) { return ''; } if (!isset($this->cssmgr->CSS['BODY'])) { $this->cssmgr->CSS['BODY'] = array(); } +/*-- BACKGROUNDS --*/ if (isset($properties['BACKGROUND-GRADIENT'])) { $this->bodyBackgroundGradient = $properties['BACKGROUND-GRADIENT']; } @@ -11116,9 +13194,11 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $ret = $this->SetBackground($properties, $this->pgwidth); if ($ret) { $this->bodyBackgroundImage = $ret; } } +/*-- END BACKGROUNDS --*/ +/*-- CSS-PAGE --*/ // If page-box is set - if ($this->state==0 && isset($this->cssmgr->CSS['@PAGE']) && $this->cssmgr->CSS['@PAGE'] ) { + if ($this->state==0 && ((isset($this->cssmgr->CSS['@PAGE']) && $this->cssmgr->CSS['@PAGE']) || (isset($this->cssmgr->CSS['@PAGE>>PSEUDO>>FIRST']) && $this->cssmgr->CSS['@PAGE>>PSEUDO>>FIRST'])) ) { // mPDF 5.7.3 $this->page_box['current'] = ''; $this->page_box['using'] = true; list($pborientation,$pbmgl,$pbmgr,$pbmgt,$pbmgb,$pbmgh,$pbmgf,$hname,$fname,$bg,$resetpagenum,$pagenumstyle,$suppress,$marks,$newformat) = $this->SetPagedMediaCSS('', false, 'O'); @@ -11129,11 +13209,12 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $this->orig_bMargin = $this->bMargin = $pbmgb; $this->orig_hMargin = $this->margin_header = $pbmgh; $this->orig_fMargin = $this->margin_footer = $pbmgf; - list($pborientation,$pbmgl,$pbmgr,$pbmgt,$pbmgb,$pbmgh,$pbmgf,$hname,$fname,$bg,$resetpagenum,$pagenumstyle,$suppress,$marks,$newformat) = $this->SetPagedMediaCSS('', true, 'O'); // first page + list($pborientation,$pbmgl,$pbmgr,$pbmgt,$pbmgb,$pbmgh,$pbmgf,$hname,$fname,$bg,$resetpagenum,$pagenumstyle,$suppress,$marks,$newformat) = $this->SetPagedMediaCSS('', true, 'O'); // true=first page $this->show_marks = $marks; if ($hname && !preg_match('/^html_(.*)$/i',$hname)) $this->firstPageBoxHeader = $hname; if ($fname && !preg_match('/^html_(.*)$/i',$fname)) $this->firstPageBoxFooter = $fname; } +/*-- END CSS-PAGE --*/ $parseonly = false; $this->bufferoutput = false; @@ -11163,6 +13244,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if ($this->autoFontGroups) { $html = $this->AutoFont($html); } +/*-- HTMLHEADERS-FOOTERS --*/ preg_match_all('/]*)>(.*?)<\/htmlpageheader>/si',$html,$h); for($i=0;$ipageHTMLfooters[$n[1]]['h'] = $this->_gethtmlheight($f[2][$i]); } } +/*-- END HTMLHEADERS-FOOTERS --*/ $html = preg_replace('//si','',$html); $html = preg_replace('//si','',$html); @@ -11185,10 +13268,12 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { } +/*-- HTMLHEADERS-FOOTERS --*/ if (isset($hname) && preg_match('/^html_(.*)$/i',$hname,$n)) $this->SetHTMLHeader($this->pageHTMLheaders[$n[1]],'O',true); if (isset($fname) && preg_match('/^html_(.*)$/i',$fname,$n)) $this->SetHTMLFooter($this->pageHTMLfooters[$n[1]],'O'); +/*-- END HTMLHEADERS-FOOTERS --*/ $html=str_replace('checkCJK = false; if ($this->onlyCoreFonts) { $html = $this->SubstituteChars($html); } else { + if (preg_match("/([".$this->pregRTLchars."])/u", $html)) { $this->biDirectional = true; } // *RTL* if (preg_match("/([\x{20000}-\x{2FFFF}])/u", $html)) { $this->checkSIP = true; } if (preg_match("/([\x{10000}-\x{1FFFF}])/u", $html)) { $this->checkSMP = true; } +/*-- CJK-FONTS --*/ + if (preg_match("/([".$this->pregCJKchars."])/u", $html)) { $this->checkCJK = true; } +/*-- END CJK-FONTS --*/ } // Don't allow non-breaking spaces that are converted to substituted chars or will break anyway and mess up table width calc. @@ -11220,6 +13309,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { mb_internal_encoding($this->mb_enc); } $pbc = 0; + if ($this->progressBar) { $this->UpdateProgressBar(1,0); } // *PROGRESS-BAR* $this->subPos = -1; $cnt = count($a); for($i=0;$i<$cnt; $i++) { @@ -11258,8 +13348,12 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $e = preg_replace("/[\xe2\x80\x8c\xe2\x80\x8d\xe2\x80\x8e\xe2\x80\x8f]/u",'',$e); $cnt += $this->SubstituteCharsMB($a, $i, $e); } + if ($this->biDirectional) { // *RTL* // mPDF 5.7+ + $e = preg_replace_callback("/([".$this->pregRTLchars."]+)/u", array($this, 'arabJoinPregCallback'), $e ); // *RTL* + } // *RTL* // Font-specific ligature substitution for Indic fonts + if (isset($this->CurrentFont['indic']) && $this->CurrentFont['indic']) $this->ConvertIndic($e); // *INDIC* // mPDF 5.6.62 removes U+200E/U+200F LTR and RTL mark and U+200C/U+200D Zero-width Joiner and Non-joiner $e = preg_replace("/[\xe2\x80\x8c\xe2\x80\x8d\xe2\x80\x8e\xe2\x80\x8f]/u",'',$e); @@ -11279,10 +13373,36 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { // FORM ELEMENTS if ($this->specialcontent) { +/*-- FORMS --*/ + //SELECT tag (form element) + if ($this->specialcontent == "type=select") { + $e = ltrim($e); + $stringwidth = $this->GetStringWidth($e); + if (!isset($this->selectoption['MAXWIDTH']) || $stringwidth > $this->selectoption['MAXWIDTH']) { $this->selectoption['MAXWIDTH'] = $stringwidth; } + if (!isset($this->selectoption['SELECTED']) || $this->selectoption['SELECTED'] == '') { $this->selectoption['SELECTED'] = $e; } + // mPDD 1.4 Active Forms + if (isset($this->selectoption['ACTIVE']) && $this->selectoption['ACTIVE']) { + $this->selectoption['ITEMS'][]=array('exportValue'=>$this->selectoption['currentVAL'], 'content'=>$e, 'selected'=>$this->selectoption['currentSEL']); + } + } + // TEXTAREA + else { + $objattr = unserialize($this->specialcontent); + $objattr['text'] = $e; + $te = "\xbb\xa4\xactype=textarea,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if ($this->tdbegin) { + $this->_saveCellTextBuffer($te, $this->HREF); + } + else { + $this->_saveTextBuffer($te, $this->HREF); + } + } +/*-- END FORMS --*/ } // TABLE else if ($this->tableLevel) { +/*-- TABLES --*/ if ($this->tdbegin) { if (($this->ignorefollowingspaces) && !$this->ispre) { $e = ltrim($e); } if ($e || $e==='0') { @@ -11311,6 +13431,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { } } + if ($this->checkCJK && preg_match("/([".$this->pregCJKchars."])/u", $e)) { $this->tableCJK = true; } // *CJK-FONTS* // mPDF 5.6.13 Decimal mark alignment if (substr($this->cell[$this->row][$this->col]['a'],0,1) == 'D') { @@ -11340,6 +13461,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $this->linebreakjustfinished=false; } } +/*-- END TABLES --*/ } // ALL ELSE else { @@ -11352,6 +13474,11 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { else { // TAG ** if($e[0]=='/') { +/*-- PROGRESS-BAR --*/ + if ($this->progressBar) { // 10% increments + if (intval($i*10/$cnt) != $pbc) { $pbc = intval($i*10/$cnt); $this->UpdateProgressBar(1,$pbc*10,$tag); } + } +/*-- END PROGRESS-BAR --*/ // Check for tags where HTML specifies optional end tags, @@ -11365,6 +13492,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { continue; } +/*-- CSS-POSITION --*/ if ($this->inFixedPosBlock) { if (in_array($endtag, $this->outerblocktags) || in_array($endtag, $this->innerblocktags)) { $this->fixedPosBlockDepth--; } if ($this->fixedPosBlockDepth == 0) { @@ -11376,6 +13504,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $this->fixedPosBlock .= '<'.$e.'>'; continue; } +/*-- END CSS-POSITION --*/ if ($this->allow_html_optional_endtags && !$parseonly) { if (($endtag == 'DIV' || $endtag =='FORM' || $endtag =='CENTER') && $this->lastoptionaltag == 'P') { $this->CloseTag($this->lastoptionaltag ); } if ($this->lastoptionaltag == 'LI' && $endtag == 'OL') { $this->CloseTag($this->lastoptionaltag ); } @@ -11383,6 +13512,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if ($this->lastoptionaltag == 'DD' && $endtag == 'DL') { $this->CloseTag($this->lastoptionaltag ); } if ($this->lastoptionaltag == 'DT' && $endtag == 'DL') { $this->CloseTag($this->lastoptionaltag ); } if ($this->lastoptionaltag == 'OPTION' && $endtag == 'SELECT') { $this->CloseTag($this->lastoptionaltag ); } +/*-- TABLES --*/ if ($endtag == 'TABLE') { if ($this->lastoptionaltag == 'THEAD' || $this->lastoptionaltag == 'TBODY' || $this->lastoptionaltag == 'TFOOT') { $this->CloseTag($this->lastoptionaltag); @@ -11397,6 +13527,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if ($endtag == 'TR') { if ($this->lastoptionaltag == 'TD' || $this->lastoptionaltag == 'TH') { $this->CloseTag($this->lastoptionaltag ); } } +/*-- END TABLES --*/ } $this->CloseTag($endtag); } @@ -11412,6 +13543,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { continue; } +/*-- CSS-POSITION --*/ if ($this->inFixedPosBlock) { if (strpos($e,' ')) { $te = strtoupper(substr($e,0,strpos($e,' '))); } else { $te = strtoupper($e); } @@ -11419,6 +13551,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if (in_array($te, $this->outerblocktags) || in_array($te, $this->innerblocktags)) { $this->fixedPosBlockDepth++; } continue; } +/*-- END CSS-POSITION --*/ $regexp = '|=\'(.*?)\'|s'; // eliminate single quotes, if any $e = preg_replace($regexp,"=\"\$1\"",$e); // changes anykey=anyvalue to anykey="anyvalue" (only do this inside [some] tags) @@ -11437,6 +13570,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if (isset($auxiliararray[2])) { $path = $auxiliararray[2]; } else { $path = ''; } if (trim($path) != '' && !(stristr($e,"src=") !== false && substr($path,0,4)=='var:')) { + $path=htmlspecialchars_decode($path); // mPDF 5.7.4 URLs $orig_srcpath = $path; $this->GetFullPath($path); $regexp = '/ (href|src)="(.*?)"/i'; @@ -11478,11 +13612,13 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { } } $this->OpenTag($tag,$attr); +/*-- CSS-POSITION --*/ if ($this->inFixedPosBlock) { $this->fixedPosBlockBBox = array($tag,$attr, $this->x, $this->y); $this->fixedPosBlock = ''; $this->fixedPosBlockDepth = 1; } +/*-- END CSS-POSITION --*/ // mPDF 5.5.09 if (preg_match('/\/$/',$e)) { $this->closeTag($tag); } @@ -11500,6 +13636,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { if (count($this->textbuffer) && !$parseonly) { $this->printbuffer($this->textbuffer); } if (!$parseonly) $this->textbuffer=array(); +/*-- CSS-FLOAT --*/ // If ended with a float, need to move to end page $currpos = $this->page*1000 + $this->y; if (isset($this->blk[$this->blklvl]['float_endpos']) && $this->blk[$this->blklvl]['float_endpos'] > $currpos) { @@ -11517,8 +13654,11 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { } $this->y = (($this->blk[$this->blklvl]['float_endpos'] *1000) % 1000000)/1000; // mod changes operands to integers before processing } +/*-- END CSS-FLOAT --*/ +/*-- CSS-IMAGE-FLOAT --*/ $this->printfloatbuffer(); +/*-- END CSS-IMAGE-FLOAT --*/ //Create Internal Links, if needed if (!empty($this->internallink) ) { @@ -11540,6 +13680,7 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $this->bufferoutput = false; +/*-- CSS-POSITION --*/ if (count($this->fixedPosBlockSave) && $sub != 4) { foreach($this->fixedPosBlockSave AS $fpbs) { $old_page = $this->page; @@ -11548,10 +13689,12 @@ function WriteHTML($html,$sub=0,$init=true,$close=true) { $this->page = $old_page; } } +/*-- END CSS-POSITION --*/ } } +/*-- CSS-POSITION --*/ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $bounding=array()) { // $overflow can be 'hidden', 'visible' or 'auto' - 'auto' causes autofit to size @@ -11570,6 +13713,14 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi $save_x = $this->x; $this->fullImageHeight = $this->h; $save_cols = false; +/*-- COLUMNS --*/ + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ + $save_annots = $this->title2annots; // *ANNOTATIONS* $this->writingHTMLheader = true; // a FIX to stop pagebreaks etc. $this->writingHTMLfooter = true; $this->InFooter = true; // suppresses autopagebreaks @@ -11672,6 +13823,7 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi $pb['BORDER-BOTTOM-RIGHT-RADIUS-V'] = $p['BORDER-BOTTOM-RIGHT-RADIUS-V']; if (isset($p['BACKGROUND-COLOR'])) { $pb['BACKGROUND-COLOR'] = $p['BACKGROUND-COLOR']; } if (isset($p['BOX-SHADOW'])) { $pb['BOX-SHADOW'] = $p['BOX-SHADOW']; } +/*-- BACKGROUNDS --*/ if (isset($p['BACKGROUND-IMAGE'])) { $pb['BACKGROUND-IMAGE'] = $p['BACKGROUND-IMAGE']; } if (isset($p['BACKGROUND-IMAGE-RESIZE'])) { $pb['BACKGROUND-IMAGE-RESIZE'] = $p['BACKGROUND-IMAGE-RESIZE']; } if (isset($p['BACKGROUND-IMAGE-OPACITY'])) { $pb['BACKGROUND-IMAGE-OPACITY'] = $p['BACKGROUND-IMAGE-OPACITY']; } @@ -11682,6 +13834,7 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi if (isset($p['BACKGROUND-ORIGIN'])) { $pb['BACKGROUND-ORIGIN'] = $p['BACKGROUND-ORIGIN']; } // mPDF 5.6.12 if (isset($p['BACKGROUND-CLIP'])) { $pb['BACKGROUND-CLIP'] = $p['BACKGROUND-CLIP']; } // mPDF 5.6.12 +/*-- END BACKGROUNDS --*/ $this->setCSS($pb,'BLOCK',$tag); @@ -11834,10 +13987,12 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi //================================================================ //================================================================ +/*-- BACKGROUNDS --*/ if (isset($pb['BACKGROUND-IMAGE']) && $pb['BACKGROUND-IMAGE']) { $ret = $this->SetBackground($pb, $this->blk[1]['inner_width']); if ($ret) { $this->blk[1]['background-image'] = $ret; } } +/*-- END BACKGROUNDS --*/ //================================================================ $y = $cont_y + $bbox_top + $bbox_mt + $bbox_bt + $bbox_pt; @@ -11982,6 +14137,7 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi $bpcctr = 1; while(($ratio / $target ) > 1) { + if ($this->progressBar) { $this->UpdateProgressBar(4,intval(100/($ratio/$target)),('Auto-sizing fixed-position block: '.$bpcctr++)); } // *PROGRESS-BAR* $this->x = $x; $this->y = $y; @@ -12010,6 +14166,7 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi $actual_h = $this->y - $y; $ratio = $actual_h / $use_w; } + if ($this->progressBar) { $this->UpdateProgressBar(4,'100',' '); } // *PROGRESS-BAR* } $shrink_f = $w/$use_w; @@ -12206,10 +14363,17 @@ function WriteFixedPosHTML($html='',$x, $y, $w, $h, $overflow='visible', $boundi $this->ResetMargins(); $this->pgwidth = $this->w - $this->lMargin - $this->rMargin; $this->SetXY($save_x,$save_y) ; + $this->title2annots = $save_annots; // *ANNOTATIONS* $this->InFooter = false; // turns back on autopagebreaks $this->pageoutput[$this->page]=array(); $this->pageoutput[$this->page]['Font']=''; +/*-- COLUMNS --*/ + if ($save_cols) { + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); + } +/*-- END COLUMNS --*/ } +/*-- END CSS-POSITION --*/ @@ -12288,6 +14452,7 @@ function border_details($bd) { +/*-- END HTML-CSS --*/ // Return either a number (factor) - based on current set fontsize (if % or em) - or exact lineheight (with 'mm' after it) @@ -12305,11 +14470,31 @@ function fixLineheight($v) { } +/*-- BORDER-RADIUS --*/ +function _borderPadding($a, $b, &$px, &$py) { + // $px and py are padding long axis (x) and short axis (y) + $added = 0; // extra padding + + $x = $a-$px; + $y = $b-$py; + // Check if Falls within ellipse of border radius + if ( ( (($x+$added)*($x+$added))/($a*$a) + (($y+$added)*($y+$added))/($b*$b) ) <=1 ) { return false; } + + $t = atan2($y,$x); + + $newx = $b / sqrt((($b*$b)/($a*$a)) + ( tan($t) * tan($t) ) ); + $newy = $a / sqrt((($a*$a)/($b*$b)) + ( (1/tan($t)) * (1/tan($t)) ) ); + $px = max($px, $a - $newx + $added); + $py = max($py, $b - $newy + $added); +} +/*-- END BORDER-RADIUS --*/ +/*-- HTML-CSS --*/ +/*-- CSS-PAGE --*/ function SetPagedMediaCSS($name='', $first, $oddEven) { if ($oddEven == 'E') { if ($this->directionality=='rtl') { $side = 'R'; } @@ -12378,6 +14563,9 @@ function SetPagedMediaCSS($name='', $first, $oddEven) { else { $zp = array(); } if (isset($zp['SIZE'])) { unset($zp['SIZE']); } if (isset($zp['SHEET-SIZE'])) { unset($zp['SHEET-SIZE']); } + // Disallow margin-left or -right on :FIRST // mPDF 5.7.3 + if (isset($zp['MARGIN-LEFT'])) { unset($zp['MARGIN-LEFT']); } + if (isset($zp['MARGIN-RIGHT'])) { unset($zp['MARGIN-RIGHT']); } if (is_array($zp) && !empty($zp)) { $p = array_merge($p,$zp); } // If named page @@ -12424,6 +14612,9 @@ function SetPagedMediaCSS($name='', $first, $oddEven) { else { $zp = array(); } if (isset($zp['SIZE'])) { unset($zp['SIZE']); } if (isset($zp['SHEET-SIZE'])) { unset($zp['SHEET-SIZE']); } + // Disallow margin-left or -right on :FIRST // mPDF 5.7.3 + if (isset($zp['MARGIN-LEFT'])) { unset($zp['MARGIN-LEFT']); } + if (isset($zp['MARGIN-RIGHT'])) { unset($zp['MARGIN-RIGHT']); } if (is_array($zp) && !empty($zp)) { $p = array_merge($p,$zp); } } @@ -12450,6 +14641,7 @@ function SetPagedMediaCSS($name='', $first, $oddEven) { if ($p['SIZE']['W'] > $p['SIZE']['H']) { $p['ORIENTATION'] = 'L'; } else { $p['ORIENTATION'] = 'P'; } } + if (is_array($p['SIZE'])) { if ($p['SIZE']['W'] > $this->fw) { $p['SIZE']['W'] = $this->fw; } // mPD 4.2 use fw not fPt if ($p['SIZE']['H'] > $this->fh) { $p['SIZE']['H'] = $this->fh; } @@ -12494,12 +14686,14 @@ function SetPagedMediaCSS($name='', $first, $oddEven) { if (isset($p['BACKGROUND-COLOR']) && $p['BACKGROUND-COLOR']) { $bg['BACKGROUND-COLOR'] = $p['BACKGROUND-COLOR']; } +/*-- BACKGROUNDS --*/ if (isset($p['BACKGROUND-GRADIENT']) && $p['BACKGROUND-GRADIENT']) { $bg['BACKGROUND-GRADIENT'] = $p['BACKGROUND-GRADIENT']; } if (isset($p['BACKGROUND-IMAGE']) && $p['BACKGROUND-IMAGE']) { $bg['BACKGROUND-IMAGE'] = $p['BACKGROUND-IMAGE']; } if (isset($p['BACKGROUND-REPEAT']) && $p['BACKGROUND-REPEAT']) { $bg['BACKGROUND-REPEAT'] = $p['BACKGROUND-REPEAT']; } if (isset($p['BACKGROUND-POSITION']) && $p['BACKGROUND-POSITION']) { $bg['BACKGROUND-POSITION'] = $p['BACKGROUND-POSITION']; } if (isset($p['BACKGROUND-IMAGE-RESIZE']) && $p['BACKGROUND-IMAGE-RESIZE']) { $bg['BACKGROUND-IMAGE-RESIZE'] = $p['BACKGROUND-IMAGE-RESIZE']; } if (isset($p['BACKGROUND-IMAGE-OPACITY'])) { $bg['BACKGROUND-IMAGE-OPACITY'] = $p['BACKGROUND-IMAGE-OPACITY']; } +/*-- END BACKGROUNDS --*/ if (isset($p['MARGIN-LEFT'])) { $mgl = $this->ConvertSize($p['MARGIN-LEFT'],$pgw) + $outer_width_LR; } if (isset($p['MARGIN-RIGHT'])) { $mgr = $this->ConvertSize($p['MARGIN-RIGHT'],$pgw) + $outer_width_LR; } @@ -12514,9 +14708,11 @@ function SetPagedMediaCSS($name='', $first, $oddEven) { return array($orientation,$mgl,$mgr,$mgt,$mgb,$mgh,$mgf,$header,$footer,$bg,$resetpagenum,$pagenumstyle,$suppress,$marks,$newformat); } +/*-- END CSS-PAGE --*/ +/*-- CSS-FLOAT --*/ // Added mPDF 3.0 Float DIV - CLEAR function ClearFloats($clear, $blklvl=0) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($blklvl,true); @@ -12577,6 +14773,7 @@ function GetFloatDivInfo($blklvl=0,$clear=false) { } return array($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width); } +/*-- END CSS-FLOAT --*/ @@ -12588,7 +14785,7 @@ function OpenTag($tag,$attr) // Correct tags where HTML specifies optional end tags, // and/or does not allow nesting e.g. P inside P, or if ($this->allow_html_optional_endtags) { - if (($tag == 'P' || $tag == 'DIV' || $tag == 'H1' || $tag == 'H2' || $tag == 'H3' || $tag == 'H4' || $tag == 'H5' || $tag == 'H6' || $tag == 'UL' || $tag == 'OL' || $tag == 'TABLE' || $tag=='PRE' || $tag=='FORM' || $tag=='ADDRESS' || $tag=='BLOCKQUOTE' || $tag=='CENTER' || $tag=='DL' || $tag == 'HR' ) && $this->lastoptionaltag == 'P') { $this->CloseTag($this->lastoptionaltag ); } + if (($tag == 'P' || $tag == 'DIV' || $tag == 'H1' || $tag == 'H2' || $tag == 'H3' || $tag == 'H4' || $tag == 'H5' || $tag == 'H6' || $tag == 'UL' || $tag == 'OL' || $tag == 'TABLE' || $tag=='PRE' || $tag=='FORM' || $tag=='ADDRESS' || $tag=='BLOCKQUOTE' || $tag=='CENTER' || $tag=='DL' || $tag == 'HR' || $tag=='ARTICLE' || $tag=='ASIDE' || $tag=='FIELDSET' || $tag=='HGROUP' || $tag=='MAIN' || $tag=='NAV' || $tag=='SECTION' ) && $this->lastoptionaltag == 'P') { $this->CloseTag($this->lastoptionaltag ); } // mPDF 5.7.3 if ($tag == 'DD' && $this->lastoptionaltag == 'DD') { $this->CloseTag($this->lastoptionaltag ); } if ($tag == 'DD' && $this->lastoptionaltag == 'DT') { $this->CloseTag($this->lastoptionaltag ); } if ($tag == 'DT' && $this->lastoptionaltag == 'DD') { $this->CloseTag($this->lastoptionaltag ); } @@ -12639,6 +14836,7 @@ function OpenTag($tag,$attr) $objattr['fontsize'] = $this->FontSizePt; $e = "\xbb\xa4\xactype=dottab,objattr=".serialize($objattr)."\xbb\xa4\xac"; +/*-- TABLES --*/ // Output it to buffers if ($this->tableLevel) { if (!isset($this->cell[$this->row][$this->col]['maxs'])) { @@ -12651,6 +14849,7 @@ function OpenTag($tag,$attr) $this->_saveCellTextBuffer($e); } else { +/*-- END TABLES --*/ $this->_saveTextBuffer($e); } // *TABLES* break; @@ -12745,6 +14944,7 @@ function OpenTag($tag,$attr) break; +/*-- HTMLHEADERS-FOOTERS --*/ case 'SETHTMLPAGEHEADER': case 'SETHTMLPAGEFOOTER': $this->ignorefollowingspaces = true; @@ -12778,6 +14978,7 @@ function OpenTag($tag,$attr) else { $this->SetHTMLFooter('','E'); } } break; +/*-- END HTMLHEADERS-FOOTERS --*/ case 'SETPAGEHEADER': case 'SETPAGEFOOTER': @@ -12823,6 +15024,22 @@ function OpenTag($tag,$attr) break; +/*-- TOC --*/ + case 'TOC': //added custom-tag - set Marker for insertion later of ToC + if (!class_exists('tocontents', false)) { include(_MPDF_PATH.'classes/tocontents.php'); } + if (empty($this->tocontents)) { $this->tocontents = new tocontents($this); } + $this->tocontents->openTagTOC($attr); + break; + + + + case 'TOCPAGEBREAK': // custom-tag - set Marker for insertion later of ToC AND adds PAGEBREAK + if (!class_exists('tocontents', false)) { include(_MPDF_PATH.'classes/tocontents.php'); } + if (empty($this->tocontents)) { $this->tocontents = new tocontents($this); } + list($isbreak,$toc_id) = $this->tocontents->openTagTOCPAGEBREAK($attr); + if ($isbreak) break; + // No break - continues as PAGEBREAK... +/*-- END TOC --*/ case 'PAGE_BREAK': //custom-tag @@ -12833,7 +15050,6 @@ function OpenTag($tag,$attr) $save_blklvl = $this->blklvl; $save_blk = $this->blk; $save_silp = $this->saveInlineProperties(); - $save_spanlvl = $this->spanlvl; $save_ilp = $this->InlineProperties; // Close any open block tags @@ -12844,6 +15060,13 @@ function OpenTag($tag,$attr) } $this->ignorefollowingspaces = true; $save_cols = false; +/*-- COLUMNS --*/ + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ if (isset($attr['SHEET-SIZE']) && $tag != 'FORMFEED' && !$this->restoreBlockPageBreaks) { @@ -12902,7 +15125,19 @@ function OpenTag($tag,$attr) else if ($type == 'NEXT-EVEN') { $this->AddPage($orient,'NEXT-EVEN', $resetpagenum, $pagenumstyle, $suppress,$mgl,$mgr,$mgt,$mgb,$mgh,$mgf,$ohname,$ehname,$ofname,$efname,$ohvalue,$ehvalue,$ofvalue,$efvalue,$pagesel,$newformat); } else { $this->AddPage($orient,'', $resetpagenum, $pagenumstyle, $suppress,$mgl,$mgr,$mgt,$mgb,$mgh,$mgf,$ohname,$ehname,$ofname,$efname,$ohvalue,$ehvalue,$ofvalue,$efvalue,$pagesel,$newformat); } +/*-- TOC --*/ + if ($tag == 'TOCPAGEBREAK') { + if ($toc_id) { $this->tocontents->m_TOC[$toc_id]['TOCmark'] = $this->page; } + else { $this->tocontents->TOCmark = $this->page; } + } +/*-- END TOC --*/ +/*-- COLUMNS --*/ + if ($save_cols) { + // Restore columns + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); + } +/*-- END COLUMNS --*/ if (($tag == 'FORMFEED' || $this->restoreBlockPagebreaks) && !$this->tableLevel && !$this->listlvl) { $this->blk = $save_blk; // Re-open block tags @@ -12917,7 +15152,6 @@ function OpenTag($tag,$attr) unset($this->blk[$b+1]); $this->OpenTag($tc,$ac); } - $this->spanlvl = $save_spanlvl; $this->InlineProperties = $save_ilp; $this->restoreInlineProperties($save_silp); } @@ -12925,12 +15159,185 @@ function OpenTag($tag,$attr) break; +/*-- TOC --*/ + case 'TOCENTRY': + if (isset($attr['CONTENT']) && $attr['CONTENT']) { + $objattr = array(); + $objattr['CONTENT'] = htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES); + $objattr['type'] = 'toc'; + if (isset($attr['LEVEL']) && $attr['LEVEL']) { $objattr['toclevel'] = $attr['LEVEL']; } else { $objattr['toclevel'] = 0; } + if (isset($attr['NAME']) && $attr['NAME']) { $objattr['toc_id'] = $attr['NAME']; } else { $objattr['toc_id'] = 0; } + $e = "\xbb\xa4\xactype=toc,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if($this->tableLevel) { $this->cell[$this->row][$this->col]['textbuffer'][] = array($e); } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($e); + } // *TABLES* + } + break; +/*-- END TOC --*/ + +/*-- INDEX --*/ + case 'INDEXENTRY': + if (isset($attr['CONTENT']) && $attr['CONTENT']) { + if (isset($attr['XREF']) && $attr['XREF']) { + $this->IndexEntry(htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES),$attr['XREF']); + break; + } + $objattr = array(); + $objattr['CONTENT'] = htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES); + $objattr['type'] = 'indexentry'; + $e = "\xbb\xa4\xactype=indexentry,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if($this->tableLevel) { $this->cell[$this->row][$this->col]['textbuffer'][] = array($e); } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($e); + } // *TABLES* + } + break; + + + case 'INDEXINSERT': + if (isset($attr['FONT-SIZE'])) { $reffontsize = $attr['FONT-SIZE']; } else { $reffontsize = ''; } + if (isset($attr['LINE-SPACING']) && $attr['LINE-SPACING']) { $linespacing = $attr['LINE-SPACING']; } else { $linespacing = ''; } + if (isset($attr['DIV-FONT-SIZE']) && $attr['DIV-FONT-SIZE']) { $divlettfontsize = $attr['DIV-FONT-SIZE']; } else { $divlettfontsize = ''; } + if (isset($attr['FONT']) && $attr['FONT']) { $reffont = $attr['FONT']; } else { $reffont = ''; } + if (isset($attr['DIV-FONT']) && $attr['DIV-FONT']) { $divlettfont = $attr['DIV-FONT']; } else { $divlettfont = ''; } + if (isset($attr['COLS']) && $attr['COLS']) { $cols = $attr['COLS']; } else { $cols = 1; } + if (isset($attr['OFFSET']) && $attr['OFFSET']) { $offset = $attr['OFFSET']; } else { $offset = 3; } + if (isset($attr['GAP']) && $attr['GAP']) { $gap = $attr['GAP']; } else { $gap = 5; } + + if (isset($attr['USEDIVLETTERS']) && (strtoupper($attr['USEDIVLETTERS'])=='OFF' || $attr['USEDIVLETTERS']==-1 || $attr['USEDIVLETTERS']==='0')) { $usedivletters = 0; } + else { $usedivletters = 1; } + + if (isset($attr['LINKS']) && (strtoupper($attr['LINKS'])=='ON' || $attr['LINKS']==1)) { $links = true; } + else { $links = false; } + $this->CreateIndex($cols, $reffontsize, $linespacing, $offset, $usedivletters, $divlettfontsize, $gap, $reffont,$divlettfont, $links); + break; +/*-- END INDEX --*/ + +/*-- WATERMARK --*/ + + case 'WATERMARKTEXT': + if (isset($attr['CONTENT']) && $attr['CONTENT']) { $txt = htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES); } else { $txt = ''; } + if (isset($attr['ALPHA']) && $attr['ALPHA']>0) { $alpha = $attr['ALPHA']; } else { $alpha = -1; } + $this->SetWatermarkText($txt, $alpha); + break; + + + case 'WATERMARKIMAGE': + if (isset($attr['SRC'])) { $src = $attr['SRC']; } else { $src = ''; } + if (isset($attr['ALPHA']) && $attr['ALPHA']>0) { $alpha = $attr['ALPHA']; } else { $alpha = -1; } + if (isset($attr['SIZE']) && $attr['SIZE']) { + $size = $attr['SIZE']; + if (strpos($size,',')) { $size = explode(',',$size); } + } + else { $size = 'D'; } + if (isset($attr['POSITION']) && $attr['POSITION']) { // mPDF 5.7.2 + $pos = $attr['POSITION']; + if (strpos($pos,',')) { $pos = explode(',',$pos); } + } + else { $pos = 'P'; } + $this->SetWatermarkImage($src, $alpha, $size, $pos); + break; +/*-- END WATERMARK --*/ + +/*-- BOOKMARKS --*/ + case 'BOOKMARK': + if (isset($attr['CONTENT'])) { + $objattr = array(); + $objattr['CONTENT'] = htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES); + $objattr['type'] = 'bookmark'; + if (isset($attr['LEVEL']) && $attr['LEVEL']) { $objattr['bklevel'] = $attr['LEVEL']; } else { $objattr['bklevel'] = 0; } + $e = "\xbb\xa4\xactype=bookmark,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if($this->tableLevel) { $this->cell[$this->row][$this->col]['textbuffer'][] = array($e); } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($e); + } // *TABLES* + } + break; +/*-- END BOOKMARKS --*/ + +/*-- ANNOTATIONS --*/ + case 'ANNOTATION': + + //if (isset($attr['CONTENT']) && !$this->writingHTMLheader && !$this->writingHTMLfooter) { // Stops annotations in FixedPos + if (isset($attr['CONTENT'])) { + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + $objattr['CONTENT'] = htmlspecialchars_decode($attr['CONTENT'],ENT_QUOTES); + $objattr['type'] = 'annot'; + $objattr['POPUP'] = ''; + } + else { break; } + if (isset($attr['POS-X'])) { $objattr['POS-X'] = $attr['POS-X']; } else { $objattr['POS-X'] = 0; } + if (isset($attr['POS-Y'])) { $objattr['POS-Y'] = $attr['POS-Y']; } else { $objattr['POS-Y'] = 0; } + if (isset($attr['ICON'])) { $objattr['ICON'] = $attr['ICON']; } else { $objattr['ICON'] = 'Note'; } + if (isset($attr['AUTHOR'])) { $objattr['AUTHOR'] = $attr['AUTHOR']; } + else if (isset($attr['TITLE'])) { $objattr['AUTHOR'] = $attr['TITLE']; } else { $objattr['AUTHOR'] = ''; } + if (isset($attr['FILE'])) { $objattr['FILE'] = $attr['FILE']; } else { $objattr['FILE'] = ''; } + if (isset($attr['SUBJECT'])) { $objattr['SUBJECT'] = $attr['SUBJECT']; } else { $objattr['SUBJECT'] = ''; } + if (isset($attr['OPACITY']) && $attr['OPACITY']>0 && $attr['OPACITY']<=1) { $objattr['OPACITY'] = $attr['OPACITY']; } + else if ($this->annotMargin) { $objattr['OPACITY'] = 1; } + else { $objattr['OPACITY'] = $this->annotOpacity; } + if (isset($attr['COLOR'])) { + $cor = $this->ConvertColor($attr['COLOR']); + if ($cor) { $objattr['COLOR'] = $cor; } + else { $objattr['COLOR'] = $this->ConvertColor('yellow'); } + } + else { $objattr['COLOR'] = $this->ConvertColor('yellow'); } + if (isset($attr['POPUP']) && !empty($attr['POPUP'])) { + $pop = preg_split('/\s+/',trim($attr['POPUP'])); + if (count($pop)>1) { $objattr['POPUP'] = $pop; } + else { $objattr['POPUP'] = true; } + } + $e = "\xbb\xa4\xactype=annot,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if($this->tableLevel) { $this->cell[$this->row][$this->col]['textbuffer'][] = array($e); } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($e); + } // *TABLES* + break; +/*-- END ANNOTATIONS --*/ +/*-- COLUMNS --*/ + case 'COLUMNS': //added custom-tag + if (isset($attr['COLUMN-COUNT']) && ($attr['COLUMN-COUNT'] || $attr['COLUMN-COUNT']==='0')) { + // Close any open block tags + for ($b= $this->blklvl;$b>0;$b--) { $this->CloseTag($this->blk[$b]['tag']); } + if(!empty($this->textbuffer)) { //Output previously buffered content + $this->printbuffer($this->textbuffer); + $this->textbuffer=array(); + } + if (isset($attr['VALIGN']) && $attr['VALIGN']) { + if ($attr['VALIGN'] == 'J') { $valign = 'J'; } + else { $valign = $align[$attr['VALIGN']]; } + } + else { $valign = ''; } + if (isset($attr['COLUMN-GAP']) && $attr['COLUMN-GAP']) { $this->SetColumns($attr['COLUMN-COUNT'],$valign,$attr['COLUMN-GAP']); } + else { $this->SetColumns($attr['COLUMN-COUNT'],$valign); } + } + $this->ignorefollowingspaces = true; + break; + case 'COLUMN_BREAK': //custom-tag + case 'COLUMNBREAK': //custom-tag + case 'NEWCOLUMN': //custom-tag + $this->ignorefollowingspaces = true; + $this->NewColumn(); + $this->ColumnAdjust = false; // disables all column height adjustment for the page. + break; +/*-- END COLUMNS --*/ case 'BDO': @@ -12994,14 +15401,41 @@ function OpenTag($tag,$attr) case 'TIME': case 'SPAN': +/*-- ANNOTATIONS --*/ + if ($this->title2annots && isset($attr['TITLE'])) { + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + + $objattr['CONTENT'] = $attr['TITLE']; + $objattr['type'] = 'annot'; + $objattr['POS-X'] = 0; + $objattr['POS-Y'] = 0; + $objattr['ICON'] = 'Comment'; + $objattr['AUTHOR'] = ''; + $objattr['SUBJECT'] = ''; + $objattr['OPACITY'] = $this->annotOpacity; + $objattr['COLOR'] = $this->ConvertColor('yellow'); + $annot = "\xbb\xa4\xactype=annot,objattr=".serialize($objattr)."\xbb\xa4\xac"; + } +/*-- END ANNOTATIONS --*/ + + // mPDF 5.7.3 Inline tags + if (!isset($this->InlineProperties[$tag])) { $this->InlineProperties[$tag] = array($this->saveInlineProperties()); } + else { $this->InlineProperties[$tag][] = $this->saveInlineProperties(); } + if (isset($annot)) { // *ANNOTATIONS* + if (!isset($this->InlineAnnots[$tag])) { $this->InlineAnnots[$tag] = array($annot); } // *ANNOTATIONS* + else { $this->InlineAnnots[$tag][] = $annot; } // *ANNOTATIONS* + } // *ANNOTATIONS* - if ($tag == 'SPAN') { - $this->spanlvl++; - $this->InlineProperties['SPAN'][$this->spanlvl] = $this->saveInlineProperties(); - } - else { - if (!isset($this->InlineProperties[$tag])) $this->InlineProperties[$tag] = $this->saveInlineProperties(); // mPDF 5.4.13 - } $properties = $this->cssmgr->MergeCSS('INLINE',$tag,$attr); if (!empty($properties)) $this->setCSS($properties,'INLINE'); break; @@ -13010,6 +15444,15 @@ function OpenTag($tag,$attr) case 'A': if (isset($attr['NAME']) and $attr['NAME'] != '') { $e = ''; +/*-- BOOKMARKS --*/ + if ($this->anchor2Bookmark) { + $objattr = array(); + $objattr['CONTENT'] = htmlspecialchars_decode($attr['NAME'],ENT_QUOTES); + $objattr['type'] = 'bookmark'; + if (isset($attr['LEVEL']) && $attr['LEVEL']) { $objattr['bklevel'] = $attr['LEVEL']; } else { $objattr['bklevel'] = 0; } + $e = "\xbb\xa4\xactype=bookmark,objattr=".serialize($objattr)."\xbb\xa4\xac"; + } +/*-- END BOOKMARKS --*/ if($this->tableLevel) { // *TABLES* $this->_saveCellTextBuffer($e, '', $attr['NAME']); // *TABLES* } // *TABLES* @@ -13019,23 +15462,23 @@ function OpenTag($tag,$attr) } if (isset($attr['HREF'])) { $this->InlineProperties['A'] = $this->saveInlineProperties(); - $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + $properties = $this->cssmgr->MergeCSS('INLINE',$tag,$attr); if (!empty($properties)) $this->setCSS($properties,'INLINE'); - $this->HREF=htmlspecialchars_decode(urldecode($attr['HREF'])); + $this->HREF=$attr['HREF']; // mPDF 5.7.4 URLs } break; - case 'LEGEND': // mPDF 5.4.18 + case 'LEGEND': $this->InlineProperties['LEGEND'] = $this->saveInlineProperties(); - $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + $properties = $this->cssmgr->MergeCSS('INLINE',$tag,$attr); if (!empty($properties)) $this->setCSS($properties,'INLINE'); break; - case 'PROGRESS': // mPDF 5.5.09 - case 'METER': // mPDF 5.5.09 - $this->inMeter = true; // mPDF 5.5.09 + case 'PROGRESS': + case 'METER': + $this->inMeter = true; if (isset($attr['MAX']) && $attr['MAX']) { $max = $attr['MAX']; } else { $max = 1; } @@ -13080,7 +15523,7 @@ function OpenTag($tag,$attr) $objattr['border_left']['w'] = 0; $objattr['border_right']['w'] = 0; - $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + $properties = $this->cssmgr->MergeCSS('INLINE',$tag,$attr); if(isset($properties ['DISPLAY']) && strtolower($properties ['DISPLAY'])=='none') { return; } @@ -13167,7 +15610,7 @@ function OpenTag($tag,$attr) $maxWidth = $this->blk[$this->blklvl]['inner_width']; $maxHeight = $this->h - ($this->tMargin + $this->bMargin + 1) ; if ($this->fullImageHeight) { $maxHeight = $this->fullImageHeight; } - if ($w + $extrawidth > $maxWidth ) { + if (($w + $extrawidth) > ($maxWidth + 0.0001) ) { // mPDF 5.7.4 0.0001 to allow for rounding errors when w==maxWidth $w = $maxWidth - $extrawidth; $h=abs($w*$info['h']/$info['w']); } @@ -13208,6 +15651,7 @@ function OpenTag($tag,$attr) } +/*-- TABLES --*/ if($this->tableLevel) { if ($this->blockjustfinished || $this->listjustfinished) { @@ -13224,6 +15668,7 @@ function OpenTag($tag,$attr) $this->cell[$this->row][$this->col]['s'] = 0 ;// reset } else { +/*-- END TABLES --*/ if (count($this->textbuffer)) { $this->textbuffer[count($this->textbuffer)-1][0] = preg_replace('/ $/','',$this->textbuffer[count($this->textbuffer)-1][0]); } @@ -13262,10 +15707,8 @@ function OpenTag($tag,$attr) case 'DT': case 'DD': case 'FIELDSET': - // mPDF 5.5.22 case 'DETAILS': case 'SUMMARY': - // mPDF 5.5.09 case 'ARTICLE': case 'ASIDE': case 'FIGURE': @@ -13275,6 +15718,7 @@ function OpenTag($tag,$attr) case 'HGROUP': case 'NAV': case 'SECTION': + case 'MAIN': // mPDF 5.7.3 $p = $this->cssmgr->PreviewBlockCSS($tag,$attr); if(isset($p['DISPLAY']) && strtolower($p['DISPLAY'])=='none') { $this->blklvl++; @@ -13296,8 +15740,17 @@ function OpenTag($tag,$attr) } } +/*-- FORMS --*/ + if($tag == 'FORM') { + if (isset($attr['METHOD']) && strtolower($attr['METHOD'])=='get') { $this->form->formMethod = 'GET'; } + else { $this->form->formMethod = 'POST'; } + if (isset($attr['ACTION'])) { $this->form->formAction = $attr['ACTION']; } + else { $this->form->formAction = ''; } + } +/*-- END FORMS --*/ +/*-- CSS-POSITION --*/ if ((isset($p['POSITION']) && (strtolower($p['POSITION'])=='fixed' || strtolower($p['POSITION'])=='absolute')) && $this->blklvl==0) { if ($this->inFixedPosBlock) { $this->Error("Cannot nest block with position:fixed or position:absolute"); @@ -13305,6 +15758,7 @@ function OpenTag($tag,$attr) $this->inFixedPosBlock = true; return; } +/*-- END CSS-POSITION --*/ // Start Block $this->ignorefollowingspaces = true; @@ -13313,14 +15767,17 @@ function OpenTag($tag,$attr) $this->lastblockbottommargin = 0; $this->blockjustfinished=false; +/*-- LISTS --*/ + if ($this->listlvl>0) { return; } +/*-- END LISTS --*/ $this->InlineProperties = array(); - $this->spanlvl = 0; $this->listjustfinished=false; $this->divbegin=true; $this->linebreakjustfinished=false; +/*-- TABLES --*/ if ($this->tableLevel) { // If already something on the line @@ -13344,6 +15801,7 @@ function OpenTag($tag,$attr) break; } +/*-- END TABLES --*/ if ($tag == 'P' || $tag == 'DT' || $tag == 'DD') { $this->lastoptionaltag = $tag; } // Save current HTML specified optional endtag else { $this->lastoptionaltag = ''; } @@ -13356,7 +15814,6 @@ function OpenTag($tag,$attr) $save_blklvl = $this->blklvl; $save_blk = $this->blk; $save_silp = $this->saveInlineProperties(); - $save_spanlvl = $this->spanlvl; $save_ilp = $this->InlineProperties; $this->blklvl++; @@ -13371,8 +15828,10 @@ function OpenTag($tag,$attr) $this->Reset(); $properties = $this->cssmgr->MergeCSS('BLOCK',$tag,$attr); $pagesel = ''; +/*-- CSS-PAGE --*/ if (isset($properties['PAGE'])) { $pagesel = $properties['PAGE']; } +/*-- END CSS-PAGE --*/ // If page-box has changed AND/OR PAGE-BREAK-BEFORE $save_cols = false; @@ -13383,7 +15842,13 @@ function OpenTag($tag,$attr) // Output any text left in buffer if (count($this->textbuffer)) { $this->printbuffer($this->textbuffer); $this->textbuffer=array(); } } - +/*-- COLUMNS --*/ + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ // Must Add new page if changed page properties if (isset($properties['PAGE-BREAK-BEFORE'])) { @@ -13392,7 +15857,9 @@ function OpenTag($tag,$attr) else if (strtoupper($properties['PAGE-BREAK-BEFORE']) == 'ALWAYS') { $this->AddPage($this->CurOrientation,'','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } else if ($this->page_box['current'] != $pagesel) { $this->AddPage($this->CurOrientation,'','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } // *CSS-PAGE* } +/*-- CSS-PAGE --*/ else if ($pagesel != $this->page_box['current']) { $this->AddPage($this->CurOrientation,'','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } +/*-- END CSS-PAGE --*/ // if using htmlheaders, the headers need to be rewritten when new page // done by calling WriteHTML() within resethtmlheaders @@ -13419,6 +15886,12 @@ function OpenTag($tag,$attr) $this->Reset(); $properties = $this->cssmgr->MergeCSS('BLOCK',$tag,$attr); } +/*-- COLUMNS --*/ + if ($save_cols) { + // Restore columns + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); + } +/*-- END COLUMNS --*/ if ($this->restoreBlockPagebreaks && isset($properties['PAGE-BREAK-BEFORE']) && $properties['PAGE-BREAK-BEFORE']) { $this->blk = $save_blk; // Re-open block tags @@ -13433,7 +15906,6 @@ function OpenTag($tag,$attr) unset($this->blk[$b+1]); $this->OpenTag($tc,$ac); } - $this->spanlvl = $save_spanlvl; $this->InlineProperties = $save_ilp; $this->restoreInlineProperties($save_silp); } @@ -13499,6 +15971,7 @@ function OpenTag($tag,$attr) if (isset($currblk['css_set_width'])) { $setwidth = $currblk['css_set_width']; } else { $setwidth = 0; } +/*-- CSS-FLOAT --*/ if (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) == 'RIGHT' && !$this->ColActive) { // Cancel Keep-Block-together $currblk['keep_block_together'] = false; @@ -13604,8 +16077,46 @@ function OpenTag($tag,$attr) if ($r_exists) { $currblk['padding_right'] = max(($r_width-$currblk['margin_right']-$bdr), $pdr); } if ($l_exists) { $currblk['padding_left'] = max(($l_width-$currblk['margin_left']-$bdl), $pdl); } } +/*-- END CSS-FLOAT --*/ +/*-- BORDER-RADIUS --*/ + // Automatically increase padding if required for border-radius + if ($this->autoPadding && !$this->ColActive && !$this->keep_block_together) { + if ($currblk['border_radius_TL_H']>$currblk['padding_left'] && $currblk['border_radius_TL_V']>$currblk['padding_top']) { + if ($currblk['border_radius_TL_H']>$currblk['border_radius_TL_V']) { + $this->_borderPadding($currblk['border_radius_TL_H'],$currblk['border_radius_TL_V'], $currblk['padding_left'], $currblk['padding_top']); + } + else { + $this->_borderPadding($currblk['border_radius_TL_V'],$currblk['border_radius_TL_H'], $currblk['padding_top'], $currblk['padding_left']); + } + } + if ($currblk['border_radius_TR_H']>$currblk['padding_right'] && $currblk['border_radius_TR_V']>$currblk['padding_top']) { + if ($currblk['border_radius_TR_H']>$currblk['border_radius_TR_V']) { + $this->_borderPadding($currblk['border_radius_TR_H'],$currblk['border_radius_TR_V'], $currblk['padding_right'], $currblk['padding_top']); + } + else { + $this->_borderPadding($currblk['border_radius_TR_V'],$currblk['border_radius_TR_H'], $currblk['padding_top'], $currblk['padding_right']); + } + } + if ($currblk['border_radius_BL_H']>$currblk['padding_left'] && $currblk['border_radius_BL_V']>$currblk['padding_bottom']) { + if ($currblk['border_radius_BL_H']>$currblk['border_radius_BL_V']) { + $this->_borderPadding($currblk['border_radius_BL_H'],$currblk['border_radius_BL_V'], $currblk['padding_left'], $currblk['padding_bottom']); + } + else { + $this->_borderPadding($currblk['border_radius_BL_V'],$currblk['border_radius_BL_H'], $currblk['padding_bottom'], $currblk['padding_left']); + } + } + if ($currblk['border_radius_BR_H']>$currblk['padding_right'] && $currblk['border_radius_BR_V']>$currblk['padding_bottom']) { + if ($currblk['border_radius_BR_H']>$currblk['border_radius_BR_V']) { + $this->_borderPadding($currblk['border_radius_BR_H'],$currblk['border_radius_BR_V'], $currblk['padding_right'], $currblk['padding_bottom']); + } + else { + $this->_borderPadding($currblk['border_radius_BR_V'],$currblk['border_radius_BR_H'], $currblk['padding_bottom'], $currblk['padding_right']); + } + } + } +/*-- END BORDER-RADIUS --*/ // Hanging indent - if negative indent: ensure padding is >= indent @@ -13614,7 +16125,12 @@ function OpenTag($tag,$attr) $cbti = $this->ConvertSize($currblk['text_indent'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); if ($cbti < 0) { $hangind = -($cbti); + if ($currblk['direction'] == 'rtl') { // *RTL* + $currblk['padding_right'] = max($currblk['padding_right'],$hangind); // *RTL* + } // *RTL* + else { // *RTL* $currblk['padding_left'] = max($currblk['padding_left'],$hangind); + } // *RTL* } if (isset($currblk['css_set_width'])) { @@ -13643,12 +16159,20 @@ function OpenTag($tag,$attr) } } else { + if ($currblk['direction'] == 'rtl') { // *RTL* // Try to reduce margin-left to accomodate - if still too wide, set margin-left=0 (reduces width) + $currblk['margin_left'] = $prevblk['inner_width'] - ($currblk['css_set_width'] + $currblk['border_left']['w'] + $currblk['padding_left'] + $currblk['border_right']['w'] + $currblk['padding_right'] + $currblk['margin_right']); // *RTL* + if ($currblk['margin_left'] < 0) { // *RTL* + $currblk['margin_left'] = 0; // *RTL* + } // *RTL* + } // *RTL* + else { // *RTL* // Try to reduce margin-right to accomodate - if still too wide, set margin-right=0 (reduces width) $currblk['margin_right'] = $prevblk['inner_width'] - ($currblk['css_set_width'] + $currblk['border_left']['w'] + $currblk['padding_left'] + $currblk['border_right']['w'] + $currblk['padding_right'] + $currblk['margin_left']); if ($currblk['margin_right'] < 0) { $currblk['margin_right'] = 0; } + } // *RTL* } } @@ -13676,11 +16200,14 @@ function OpenTag($tag,$attr) $this->x = $this->lMargin + $currblk['outer_left_margin']; +/*-- BACKGROUNDS --*/ if (isset($properties['BACKGROUND-IMAGE']) && $properties['BACKGROUND-IMAGE'] && !$this->kwt && !$this->ColActive && !$this->keep_block_together) { $ret = $this->SetBackground($properties, $currblk['inner_width']); if ($ret) { $currblk['background-image'] = $ret; } } +/*-- END BACKGROUNDS --*/ +/*-- TABLES --*/ if ($this->use_kwt && isset($attr['KEEP-WITH-TABLE']) && !$this->ColActive && !$this->keep_block_together) { $this->kwt = true; $this->kwt_y0 = $this->y; @@ -13696,6 +16223,7 @@ function OpenTag($tag,$attr) $this->kwt_toc = array(); } else { +/*-- END TABLES --*/ $this->kwt = false; } // *TABLES* @@ -13751,6 +16279,7 @@ function OpenTag($tag,$attr) if (isset($properties['HEIGHT'])) { $objattr['linewidth'] = $this->ConvertSize($properties['HEIGHT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } +/*-- TABLES --*/ if ($this->tableLevel) { $objattr['W-PERCENT'] = 100; if (isset($properties['WIDTH']) && stristr($properties['WIDTH'],'%')) { @@ -13762,6 +16291,7 @@ function OpenTag($tag,$attr) $objattr['W-PERCENT'] = $attr['WIDTH']; } } +/*-- END TABLES --*/ $objattr['type'] = 'hr'; $objattr['height'] = $objattr['linewidth'] + $objattr['margin_top'] + $objattr['margin_bottom']; @@ -13770,6 +16300,7 @@ function OpenTag($tag,$attr) // Clear properties - tidy up $properties = array(); +/*-- TABLES --*/ // Output it to buffers if ($this->tableLevel) { if (!isset($this->cell[$this->row][$this->col]['maxs'])) { @@ -13782,53 +16313,642 @@ function OpenTag($tag,$attr) $this->_saveCellTextBuffer($e, $this->HREF); } else { +/*-- END TABLES --*/ $this->_saveTextBuffer($e, $this->HREF); } // *TABLES* break; - - - // *********** FORM ELEMENTS ******************** - - - - // *********** GRAPH ******************** - case 'JPGRAPH': - if (!$this->useGraphs) { break; } - if ($attr['TABLE']) { $gid = strtoupper($attr['TABLE']); } - else { $gid = '0'; } - if (!is_array($this->graphs[$gid]) || count($this->graphs[$gid])==0 ) { break; } - include_once(_MPDF_PATH.'graph.php'); - $this->graphs[$gid]['attr'] = $attr; - - - if (isset($this->graphs[$gid]['attr']['WIDTH']) && $this->graphs[$gid]['attr']['WIDTH']) { - $this->graphs[$gid]['attr']['cWIDTH']=$this->ConvertSize($this->graphs[$gid]['attr']['WIDTH'],$pgwidth); - } // mm - if (isset($this->graphs[$gid]['attr']['HEIGHT']) && $this->graphs[$gid]['attr']['HEIGHT']) { - $this->graphs[$gid]['attr']['cHEIGHT']=$this->ConvertSize($this->graphs[$gid]['attr']['HEIGHT'],$pgwidth); - } - - $graph_img = print_graph($this->graphs[$gid],$this->blk[$this->blklvl]['inner_width']); - if ($graph_img) { - if(isset($attr['ROTATE'])) { - if ($attr['ROTATE']==90 || $attr['ROTATE']==-90) { - $tmpw = $graph_img['w']; - $graph_img['w']= $graph_img['h']; - $graph_img['h']= $tmpw; - } - } - $attr['SRC'] = $graph_img['file']; - $attr['WIDTH'] = $graph_img['w']; - $attr['HEIGHT'] = $graph_img['h']; - } - else { break; } - - // *********** IMAGE ******************** - case 'IMG': - $objattr = array(); +/*-- BARCODES --*/ + + case 'BARCODE': + if(isset($attr['CODE']) && $attr['CODE']) { + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['padding_top'] = 0; + $objattr['padding_bottom'] = 0; + $objattr['padding_left'] = 0; + $objattr['padding_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + $objattr['code'] = $attr['CODE']; + + if(isset($attr['TYPE'])) { + $objattr['btype'] = trim(strtoupper($attr['TYPE'])); + } + else { $objattr['btype'] = 'EAN13'; } // default + if (preg_match('/^(EAN13|ISBN|ISSN|EAN8|UPCA|UPCE)P([25])$/',$objattr['btype'],$m)) { + $objattr['btype'] = $m[1]; + $objattr['bsupp'] = $m[2]; + if (preg_match('/^(\S+)\s+(.*)$/',$objattr['code'],$mm)) { + $objattr['code'] = $mm[1]; + $objattr['bsupp_code'] = $mm[2]; + } + } + else { $objattr['bsupp'] = 0; } + + if(isset($attr['TEXT']) && $attr['TEXT']==1) { $objattr['showtext'] = 1; } + else { $objattr['showtext'] = 0; } + if(isset($attr['SIZE']) && $attr['SIZE']>0) { $objattr['bsize'] = $attr['SIZE']; } + else { $objattr['bsize'] = 1; } + if(isset($attr['HEIGHT']) && $attr['HEIGHT']>0) { $objattr['bheight'] = $attr['HEIGHT']; } + else { $objattr['bheight'] = 1; } + if(isset($attr['PR']) && $attr['PR']>0) { $objattr['pr_ratio'] = $attr['PR']; } + else { $objattr['pr_ratio'] = ''; } + $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + if(isset($properties ['DISPLAY']) && strtolower($properties ['DISPLAY'])=='none') { + return; + } + if (isset($properties['MARGIN-TOP'])) { $objattr['margin_top']=$this->ConvertSize($properties['MARGIN-TOP'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-BOTTOM'])) { $objattr['margin_bottom'] = $this->ConvertSize($properties['MARGIN-BOTTOM'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-LEFT'])) { $objattr['margin_left'] = $this->ConvertSize($properties['MARGIN-LEFT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-RIGHT'])) { $objattr['margin_right'] = $this->ConvertSize($properties['MARGIN-RIGHT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + + if (isset($properties['PADDING-TOP'])) { $objattr['padding_top']=$this->ConvertSize($properties['PADDING-TOP'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['PADDING-BOTTOM'])) { $objattr['padding_bottom'] = $this->ConvertSize($properties['PADDING-BOTTOM'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['PADDING-LEFT'])) { $objattr['padding_left'] = $this->ConvertSize($properties['PADDING-LEFT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['PADDING-RIGHT'])) { $objattr['padding_right'] = $this->ConvertSize($properties['PADDING-RIGHT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + + if (isset($properties['BORDER-TOP'])) { $objattr['border_top'] = $this->border_details($properties['BORDER-TOP']); } + if (isset($properties['BORDER-BOTTOM'])) { $objattr['border_bottom'] = $this->border_details($properties['BORDER-BOTTOM']); } + if (isset($properties['BORDER-LEFT'])) { $objattr['border_left'] = $this->border_details($properties['BORDER-LEFT']); } + if (isset($properties['BORDER-RIGHT'])) { $objattr['border_right'] = $this->border_details($properties['BORDER-RIGHT']); } + + if (isset($properties['VERTICAL-ALIGN'])) { $objattr['vertical-align'] = $align[strtolower($properties['VERTICAL-ALIGN'])]; } + if (isset($properties['COLOR']) && $properties['COLOR'] != '') { $objattr['color'] = $this->ConvertColor($properties['COLOR']); } + else { $objattr['color'] = false; } + if (isset($properties['BACKGROUND-COLOR']) && $properties['BACKGROUND-COLOR'] != '') { $objattr['bgcolor'] = $this->ConvertColor($properties['BACKGROUND-COLOR']); } + else { $objattr['bgcolor'] = false; } + + if (!class_exists('PDFBarcode', false)) { + include(_MPDF_PATH.'classes/barcode.php'); + } + $this->barcode = new PDFBarcode(); + + if ($objattr['btype'] == 'EAN13' || $objattr['btype'] == 'ISBN' || $objattr['btype'] == 'ISSN' || $objattr['btype'] == 'UPCA' || $objattr['btype'] == 'UPCE' || $objattr['btype'] == 'EAN8') { + $code = preg_replace('/\-/','',$objattr['code']); + if ($objattr['btype'] == 'ISSN' || $objattr['btype'] == 'ISBN') { + $arrcode = $this->barcode->getBarcodeArray($code, 'EAN13'); + } + else { $arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype'] ); } + if ($arrcode === false) { $this->Error('Error in barcode string.'); } + + if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) { // EAN-2 or -5 Supplement + $supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN'.$objattr['bsupp'] ); + $w = ($arrcode["maxw"] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode["maxw"] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize']; + } + else { + $w = ($arrcode["maxw"] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize']; + } + $h = $arrcode['nom-H'] * $objattr['bsize'] * $objattr['bheight']; + // Add height for ISBN string + margin from top of bars + if (($objattr['showtext'] && $objattr['btype'] == 'EAN13') || $objattr['btype'] == 'ISBN' || $objattr['btype'] == 'ISSN') { + $tisbnm = 1.5 * $objattr['bsize']; // Top margin between TOP TEXT (isbn - if shown) & bars + $isbn_fontsize = 2.1 * $objattr['bsize']; + $h += $isbn_fontsize + $tisbnm ; + } + } + // QR-code + else if ($objattr['btype'] == 'QR') { + $w = $h = $objattr['bsize']*25; // Factor of 25mm (default) + $objattr['errorlevel'] = 'L'; + if (isset($attr['ERROR'])) { $objattr['errorlevel'] = $attr['ERROR']; } + } + else if ($objattr['btype'] == 'IMB' || $objattr['btype'] == 'RM4SCC' || $objattr['btype'] == 'KIX' || $objattr['btype'] == 'POSTNET' || $objattr['btype'] == 'PLANET') { + $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'] ); + if ($arrcode === false) { $this->Error('Error in barcode string.'); } + $w = ($arrcode["maxw"] * $arrcode['nom-X'] * $objattr['bsize']) + $arrcode['quietL'] + $arrcode['quietR']; + $h = ($arrcode['nom-H'] * $objattr['bsize']) + (2*$arrcode['quietTB']); + } + else if (in_array($objattr['btype'], array('C128A','C128B','C128C','EAN128A','EAN128B','EAN128C','C39','C39+','C39E','C39E+','S25','S25+','I25','I25+','I25B','I25B+','C93','MSI','MSI+','CODABAR','CODE11'))) { + $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio'] ); + if ($arrcode === false) { $this->Error('Error in barcode string.'); } + $w = ($arrcode["maxw"] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize']; + $h = ((2*$arrcode['lightTB'] * $arrcode['nom-X']) + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight']; + } + else { break; } + + $extraheight = $objattr['padding_top'] + $objattr['padding_bottom'] + $objattr['margin_top'] + $objattr['margin_bottom'] + $objattr['border_top']['w'] + $objattr['border_bottom']['w']; + $extrawidth = $objattr['padding_left'] + $objattr['padding_right'] + $objattr['margin_left'] + $objattr['margin_right'] + $objattr['border_left']['w'] + $objattr['border_right']['w']; + + $objattr['type'] = 'barcode'; + $objattr['height'] = $h + $extraheight; + $objattr['width'] = $w + $extrawidth; + $objattr['barcode_height'] = $h; + $objattr['barcode_width'] = $w; +/*-- CSS-IMAGE-FLOAT --*/ + if (!$this->ColActive && !$this->tableLevel && !$this->listlvl && !$this->kwt && !$this->keep_block_together) { + if (isset($properties['FLOAT']) && (strtoupper($properties['FLOAT']) == 'RIGHT' || strtoupper($properties['FLOAT']) == 'LEFT')) { + $objattr['float'] = substr(strtoupper($properties['FLOAT']),0,1); + } + } +/*-- END CSS-IMAGE-FLOAT --*/ + + $e = "\xbb\xa4\xactype=barcode,objattr=".serialize($objattr)."\xbb\xa4\xac"; + + // Clear properties - tidy up + $properties = array(); + +/*-- TABLES --*/ + // Output it to buffers + if ($this->tableLevel) { + $this->_saveCellTextBuffer($e, $this->HREF); + $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; + } + else { +/*-- END TABLES --*/ + $this->_saveTextBuffer($e, $this->HREF); + + } // *TABLES* + } + break; +/*-- END BARCODES --*/ + + + // *********** FORM ELEMENTS ******************** + +/*-- FORMS --*/ + case 'SELECT': + $this->lastoptionaltag = ''; // Save current HTML specified optional endtag + $this->InlineProperties[$tag] = $this->saveInlineProperties(); + $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + if (isset($properties['FONT-FAMILY'])) { + $this->SetFont($properties['FONT-FAMILY'],$this->FontStyle,0,false); + } + if (isset($properties['FONT-SIZE'])) { + $mmsize = $this->ConvertSize($properties['FONT-SIZE'],$this->default_font_size/_MPDFK); + $this->SetFontSize($mmsize*_MPDFK,false); + } + if (isset($attr['SPELLCHECK']) && strtolower($attr['SPELLCHECK'])=='true') { + $this->selectoption['SPELLCHECK'] = true; + } + + if (isset($properties['COLOR'])) { $this->selectoption['COLOR'] = $this->ConvertColor($properties['COLOR']); } + $this->specialcontent = "type=select"; + if(isset($attr['DISABLED'])) { $this->selectoption['DISABLED'] = $attr['DISABLED']; } + if(isset($attr['READONLY'])) { $this->selectoption['READONLY'] = $attr['READONLY']; } + if(isset($attr['REQUIRED'])) { $this->selectoption['REQUIRED'] = $attr['REQUIRED']; } + if(isset($attr['EDITABLE'])) { $this->selectoption['EDITABLE'] = $attr['EDITABLE']; } + if(isset($attr['TITLE'])) { $this->selectoption['TITLE'] = $attr['TITLE']; } + if(isset($attr['MULTIPLE'])) { $this->selectoption['MULTIPLE'] = $attr['MULTIPLE']; } + if(isset($attr['SIZE']) && $attr['SIZE']>1) { $this->selectoption['SIZE'] = $attr['SIZE']; } + if ($this->useActiveForms) { + if(isset($attr['NAME'])) { $this->selectoption['NAME'] = $attr['NAME']; } + if (isset($attr['ONCHANGE'])) { $this->selectoption['ONCHANGE'] = $attr['ONCHANGE']; } + } + + $properties = array(); + break; + + case 'OPTION': + $this->lastoptionaltag = 'OPTION'; // Save current HTML specified optional endtag + $this->selectoption['ACTIVE'] = true; + $this->selectoption['currentSEL'] = false; + if (empty($this->selectoption)) { + $this->selectoption['MAXWIDTH'] = ''; + $this->selectoption['SELECTED'] = ''; + } + if (isset($attr['SELECTED'])) { + $this->selectoption['SELECTED'] = ''; + $this->selectoption['currentSEL'] = true; + } + if(isset($attr['VALUE'])) { + $attr['VALUE'] = strcode2utf($attr['VALUE']); + $attr['VALUE'] = $this->lesser_entity_decode($attr['VALUE']); + if ($this->onlyCoreFonts) + $attr['VALUE'] = mb_convert_encoding($attr['VALUE'], $this->mb_enc,'UTF-8'); + } + $this->selectoption['currentVAL'] = $attr['VALUE']; + break; + + case 'TEXTAREA': + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + if(isset($attr['DISABLED'])) { $objattr['disabled'] = true; } + if(isset($attr['READONLY'])) { $objattr['readonly'] = true; } + if(isset($attr['REQUIRED'])) { $objattr['required'] = true; } + if(isset($attr['SPELLCHECK']) && strtolower($attr['SPELLCHECK'])=='true') { $objattr['spellcheck'] = true; } + if(isset($attr['TITLE'])) { $objattr['title'] = $attr['TITLE']; } + if ($this->onlyCoreFonts) + $objattr['title'] = mb_convert_encoding($objattr['title'], $this->mb_enc,'UTF-8'); + if ($this->useActiveForms) { + if(isset($attr['NAME'])) { $objattr['fieldname'] = $attr['NAME']; } + $this->form->form_element_spacing['textarea']['outer']['v'] = 0; + $this->form->form_element_spacing['textarea']['inner']['v'] = 0; + if (isset($attr['ONCALCULATE'])) { $objattr['onCalculate'] = $attr['ONCALCULATE']; } + else if (isset($attr['ONCHANGE'])) { $objattr['onCalculate'] = $attr['ONCHANGE']; } + if (isset($attr['ONVALIDATE'])) { $objattr['onValidate'] = $attr['ONVALIDATE']; } + if (isset($attr['ONKEYSTROKE'])) { $objattr['onKeystroke'] = $attr['ONKEYSTROKE']; } + if (isset($attr['ONFORMAT'])) { $objattr['onFormat'] = $attr['ONFORMAT']; } + } + $this->InlineProperties[$tag] = $this->saveInlineProperties(); + $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + if (isset($properties['FONT-FAMILY'])) { + $this->SetFont($properties['FONT-FAMILY'],'',0,false); + } + if (isset($properties['FONT-SIZE'])) { + $mmsize = $this->ConvertSize($properties['FONT-SIZE'],$this->default_font_size/_MPDFK); + $this->SetFontSize($mmsize*_MPDFK,false); + } + if (isset($properties['COLOR'])) { $objattr['color'] = $this->ConvertColor($properties['COLOR']); } + $objattr['fontfamily'] = $this->FontFamily; + $objattr['fontsize'] = $this->FontSizePt; + if ($this->useActiveForms) { + if(isset($properties['TEXT-ALIGN'])) { $objattr['text_align'] = $align[strtolower($properties['TEXT-ALIGN'])]; } + else if(isset($attr['ALIGN'])) { $objattr['text_align'] = $align[strtolower($attr['ALIGN'])]; } + if (isset($properties['OVERFLOW']) && strtolower($properties['OVERFLOW'])=='hidden') { $objattr['donotscroll'] = true; } + if (isset($properties['BORDER-TOP-COLOR'])) { $objattr['border-col'] = $this->ConvertColor($properties['BORDER-TOP-COLOR']); } + if (isset($properties['BACKGROUND-COLOR'])) { $objattr['background-col'] = $this->ConvertColor($properties['BACKGROUND-COLOR']); } + } + $this->SetLineHeight('',$this->form->textarea_lineheight); + $formLineHeight = $this->lineheight; + + $w = 0; + $h = 0; + if(isset($properties['WIDTH'])) $w = $this->ConvertSize($properties['WIDTH'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + if(isset($properties['HEIGHT'])) $h = $this->ConvertSize($properties['HEIGHT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + if ($properties['VERTICAL-ALIGN']) { $objattr['vertical-align'] = $align[strtolower($properties['VERTICAL-ALIGN'])]; } + + $colsize = 20; //HTML default value + $rowsize = 2; //HTML default value + if (isset($attr['COLS'])) $colsize = intval($attr['COLS']); + if (isset($attr['ROWS'])) $rowsize = intval($attr['ROWS']); + + $charsize = $this->GetCharWidth('w',false); + if ($w) { $colsize = round(($w-($this->form->form_element_spacing['textarea']['outer']['h']*2)-($this->form->form_element_spacing['textarea']['inner']['h']*2))/$charsize); } + if ($h) { $rowsize = round(($h-($this->form->form_element_spacing['textarea']['outer']['v']*2)-($this->form->form_element_spacing['textarea']['inner']['v']*2))/$formLineHeight); } + + $objattr['type'] = 'textarea'; + $objattr['width'] = ($colsize * $charsize) + ($this->form->form_element_spacing['textarea']['outer']['h']*2)+($this->form->form_element_spacing['textarea']['inner']['h']*2); + $objattr['height'] = ($rowsize * $formLineHeight) + ($this->form->form_element_spacing['textarea']['outer']['v']*2)+($this->form->form_element_spacing['textarea']['inner']['v']*2); + $objattr['rows'] = $rowsize; + $objattr['cols'] = $colsize; + + $this->specialcontent = serialize($objattr); + + if ($this->tableLevel) { // *TABLES* + $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; // *TABLES* + } // *TABLES* + + // Clear properties - tidy up + $properties = array(); + break; + + + + // *********** FORM - INPUT ******************** + + case 'INPUT': + if (!isset($attr['TYPE'])) $attr['TYPE'] == 'TEXT'; + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + $objattr['type'] = 'input'; + if(isset($attr['DISABLED'])) { $objattr['disabled'] = true; } + if(isset($attr['READONLY'])) { $objattr['readonly'] = true; } + if(isset($attr['REQUIRED'])) { $objattr['required'] = true; } + if(isset($attr['SPELLCHECK']) && strtolower($attr['SPELLCHECK'])=='true') { $objattr['spellcheck'] = true; } + if(isset($attr['TITLE'])) { $objattr['title'] = $attr['TITLE']; } + else if(isset($attr['ALT'])) { $objattr['title'] = $attr['ALT']; } + else $objattr['title'] = ''; + $objattr['title'] = strcode2utf($objattr['title']); + $objattr['title'] = $this->lesser_entity_decode($objattr['title']); + if ($this->onlyCoreFonts) + $objattr['title'] = mb_convert_encoding($objattr['title'], $this->mb_enc,'UTF-8'); + if ($this->useActiveForms) { + if(isset($attr['NAME'])) { $objattr['fieldname'] = $attr['NAME']; } + } + if(isset($attr['VALUE'])) { + $attr['VALUE'] = strcode2utf($attr['VALUE']); + $attr['VALUE'] = $this->lesser_entity_decode($attr['VALUE']); + if ($this->onlyCoreFonts) + $attr['VALUE'] = mb_convert_encoding($attr['VALUE'], $this->mb_enc,'UTF-8'); + $objattr['value'] = $attr['VALUE']; + } + + $this->InlineProperties[$tag] = $this->saveInlineProperties(); + $properties = $this->cssmgr->MergeCSS('',$tag,$attr); + $objattr['vertical-align'] = ''; + + if (isset($properties['FONT-FAMILY'])) { + $this->SetFont($properties['FONT-FAMILY'],$this->FontStyle,0,false); + } + if (isset($properties['FONT-SIZE'])) { + $mmsize = $this->ConvertSize($properties['FONT-SIZE'],($this->default_font_size/_MPDFK)); + $this->SetFontSize($mmsize*_MPDFK,false); + } + if (isset($properties['COLOR'])) { $objattr['color'] = $this->ConvertColor($properties['COLOR']); } + $objattr['fontfamily'] = $this->FontFamily; + $objattr['fontsize'] = $this->FontSizePt; + if ($this->useActiveForms) { + if(isset($attr['ALIGN'])) { $objattr['text_align'] = $align[strtolower($attr['ALIGN'])]; } + else if(isset($properties['TEXT-ALIGN'])) { $objattr['text_align'] = $align[strtolower($properties['TEXT-ALIGN'])]; } + if (isset($properties['BORDER-TOP-COLOR'])) { $objattr['border-col'] = $this->ConvertColor($properties['BORDER-TOP-COLOR']); } + if (isset($properties['BACKGROUND-COLOR'])) { $objattr['background-col'] = $this->ConvertColor($properties['BACKGROUND-COLOR']); } + } + + $type = ''; + $texto=''; + $height = $this->FontSize; + $width = 0; + $spacesize = $this->GetCharWidth(' ',false); + + $w = 0; + if(isset($properties['WIDTH'])) $w = $this->ConvertSize($properties['WIDTH'],$this->blk[$this->blklvl]['inner_width']); + + if ($properties['VERTICAL-ALIGN']) { $objattr['vertical-align'] = $align[strtolower($properties['VERTICAL-ALIGN'])]; } + + switch(strtoupper($attr['TYPE'])){ + case 'HIDDEN': + $this->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces + if ($this->useActiveForms) { + $this->form->SetFormText( 0, 0, $objattr['fieldname'], $objattr['value'], $objattr['value'], '', 0, '', true ); + } + if ($this->InlineProperties[$tag]) { $this->restoreInlineProperties($this->InlineProperties[$tag]); } + unset($this->InlineProperties[$tag]); + break 2; + case 'CHECKBOX': //Draw Checkbox + $type = 'CHECKBOX'; + if (isset($attr['CHECKED'])) { $objattr['checked'] = true; } + else { $objattr['checked'] = false; } + $width = $this->FontSize; + $height = $this->FontSize; + break; + + case 'RADIO': //Draw Radio button + $type = 'RADIO'; + if (isset($attr['CHECKED'])) $objattr['checked'] = true; + $width = $this->FontSize; + $height = $this->FontSize; + break; + +/*-- IMAGES-CORE --*/ + case 'IMAGE': // Draw an Image button + if(isset($attr['SRC'])) { + $type = 'IMAGE'; + $srcpath = $attr['SRC']; + $orig_srcpath = $attr['ORIG_SRC']; + // VSPACE and HSPACE converted to margins in MergeCSS + if (isset($properties['MARGIN-TOP'])) { $objattr['margin_top']=$this->ConvertSize($properties['MARGIN-TOP'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-BOTTOM'])) { $objattr['margin_bottom'] = $this->ConvertSize($properties['MARGIN-BOTTOM'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-LEFT'])) { $objattr['margin_left'] = $this->ConvertSize($properties['MARGIN-LEFT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (isset($properties['MARGIN-RIGHT'])) { $objattr['margin_right'] = $this->ConvertSize($properties['MARGIN-RIGHT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + + + if (isset($properties['BORDER-TOP'])) { $objattr['border_top'] = $this->border_details($properties['BORDER-TOP']); } + if (isset($properties['BORDER-BOTTOM'])) { $objattr['border_bottom'] = $this->border_details($properties['BORDER-BOTTOM']); } + if (isset($properties['BORDER-LEFT'])) { $objattr['border_left'] = $this->border_details($properties['BORDER-LEFT']); } + if (isset($properties['BORDER-RIGHT'])) { $objattr['border_right'] = $this->border_details($properties['BORDER-RIGHT']); } + + $objattr['padding_top'] = 0; + $objattr['padding_bottom'] = 0; + $objattr['padding_left'] = 0; + $objattr['padding_right'] = 0; + + if (isset($properties['VERTICAL-ALIGN'])) { $objattr['vertical-align'] = $align[strtolower($properties['VERTICAL-ALIGN'])]; } + + $w = 0; + $h = 0; + if(isset($properties['WIDTH'])) $w = $this->ConvertSize($properties['WIDTH'],$this->blk[$this->blklvl]['inner_width']); + if(isset($properties['HEIGHT'])) $h = $this->ConvertSize($properties['HEIGHT'],$this->blk[$this->blklvl]['inner_width']); + + $extraheight = $objattr['margin_top'] + $objattr['margin_bottom'] + $objattr['border_top']['w'] + $objattr['border_bottom']['w']; + $extrawidth = $objattr['margin_left'] + $objattr['margin_right'] + $objattr['border_left']['w'] + $objattr['border_right']['w']; + + // Image file + $info=$this->_getImage($srcpath, true, true, $orig_srcpath); + if(!$info) { + $info = $this->_getImage($this->noImageFile); + if ($info) { + $srcpath = $this->noImageFile; + $w = ($info['w'] * (25.4/$this->dpi)); + $h = ($info['h'] * (25.4/$this->dpi)); + } + } + if(!$info) break; + if ($info['cs']=='Indexed') { $objattr['Indexed'] = true; } + $objattr['file'] = $srcpath; + //Default width and height calculation if needed + if($w==0 and $h==0) { +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + // WMF units are twips (1/20pt) + // divide by 20 to get points + // divide by k to get user units + $w = abs($info['w'])/(20*_MPDFK); + $h = abs($info['h']) / (20*_MPDFK); + } + else +/*-- END IMAGES-WMF --*/ + if ($info['type']=='svg') { + // SVG units are pixels + $w = abs($info['w'])/_MPDFK; + $h = abs($info['h'])/_MPDFK; + } + else { + //Put image at default image dpi + $w=($info['w']/_MPDFK) * (72/$this->img_dpi); + $h=($info['h']/_MPDFK) * (72/$this->img_dpi); + } + if (isset($properties['IMAGE-RESOLUTION'])) { + if (preg_match('/from-image/i', $properties['IMAGE-RESOLUTION']) && isset($info['set-dpi']) && $info['set-dpi']>0) { + $w *= $this->img_dpi / $info['set-dpi']; + $h *= $this->img_dpi / $info['set-dpi']; + } + else if (preg_match('/(\d+)dpi/i', $properties['IMAGE-RESOLUTION'], $m)) { + $dpi = $m[1]; + if ($dpi > 0) { + $w *= $this->img_dpi / $dpi; + $h *= $this->img_dpi / $dpi; + } + } + } + } + // IF WIDTH OR HEIGHT SPECIFIED + if($w==0) $w=$h*$info['w']/$info['h']; + if($h==0) $h=$w*$info['h']/$info['w']; + // Resize to maximum dimensions of page + $maxWidth = $this->blk[$this->blklvl]['inner_width']; + $maxHeight = $this->h - ($this->tMargin + $this->bMargin + 10) ; + if ($this->fullImageHeight) { $maxHeight = $this->fullImageHeight; } + if (($w + $extrawidth) > ($maxWidth + 0.0001) ) { // mPDF 5.7.4 0.0001 to allow for rounding errors when w==maxWidth + $w = $maxWidth - $extrawidth; + $h=$w*$info['h']/$info['w']; + } + if ($h + $extraheight > $maxHeight ) { + $h = $maxHeight - $extraheight; + $w=$h*$info['w']/$info['h']; + } + $height = $h + $extraheight; + $width = $w + $extrawidth; + $objattr['type'] = 'image'; + $objattr['itype'] = $info['type']; + $objattr['orig_h'] = $info['h']; + $objattr['orig_w'] = $info['w']; +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + $objattr['wmf_x'] = $info['x']; + $objattr['wmf_y'] = $info['y']; + } + else +/*-- END IMAGES-WMF --*/ + if ($info['type']=='svg') { + $objattr['wmf_x'] = $info['x']; + $objattr['wmf_y'] = $info['y']; + } + $objattr['height'] = $h + $extraheight; + $objattr['width'] = $w + $extrawidth; + + $objattr['image_height'] = $h; + $objattr['image_width'] = $w; + $objattr['ID'] = $info['i']; + $texto = 'X'; + if ($this->useActiveForms) { + if (isset($attr['ONCLICK'])) { $objattr['onClick'] = $attr['ONCLICK']; } + $objattr['type'] = 'input'; + $type = 'IMAGE'; + } + break; + } +/*-- END IMAGES-CORE --*/ + + case 'BUTTON': // Draw a button + case 'SUBMIT': + case 'RESET': + $type = strtoupper($attr['TYPE']); + if ($type=='IMAGE') { $type = 'BUTTON'; } // src path not found + if(isset($attr['NOPRINT'])) { $objattr['noprint'] = true; } + if (!isset($attr['VALUE'])) { + $objattr['value'] = ucfirst(strtolower($type)); + } + + $texto = " " . $objattr['value'] . " "; + $width = $this->GetStringWidth($texto) + ($this->form->form_element_spacing['button']['outer']['h']*2)+($this->form->form_element_spacing['button']['inner']['h']*2); + $height = $this->FontSize + ($this->form->form_element_spacing['button']['outer']['v']*2)+($this->form->form_element_spacing['button']['inner']['v']*2); + if ($this->useActiveForms) { + if (isset($attr['ONCLICK'])) { $objattr['onClick'] = $attr['ONCLICK']; } + } + break; + + case 'PASSWORD': + case 'TEXT': + default: + if ($type == '') { $type = 'TEXT'; } + if(strtoupper($attr['TYPE'])=='PASSWORD') { $type = 'PASSWORD'; } + if (isset($attr['VALUE'])) { + if ($type == 'PASSWORD') { + $num_stars = mb_strlen($attr['VALUE'],$this->mb_enc ); + $texto = str_repeat('*',$num_stars); + } + else { $texto = $attr['VALUE']; } + } + $xw = ($this->form->form_element_spacing['input']['outer']['h']*2)+($this->form->form_element_spacing['input']['inner']['h']*2); + $xh = ($this->form->form_element_spacing['input']['outer']['v']*2)+($this->form->form_element_spacing['input']['inner']['v']*2); + if ($w) { $width = $w + $xw; } + else { $width = (20 * $spacesize) + $xw; } // Default width in chars + if (isset($attr['SIZE']) and ctype_digit($attr['SIZE']) ) $width = ($attr['SIZE'] * $spacesize) + $xw; + $height = $this->FontSize + $xh; + if (isset($attr['MAXLENGTH']) and ctype_digit($attr['MAXLENGTH']) ) $objattr['maxlength'] = $attr['MAXLENGTH']; + if ($this->useActiveForms) { + if (isset($attr['ONCALCULATE'])) { $objattr['onCalculate'] = $attr['ONCALCULATE']; } + else if (isset($attr['ONCHANGE'])) { $objattr['onCalculate'] = $attr['ONCHANGE']; } + if (isset($attr['ONVALIDATE'])) { $objattr['onValidate'] = $attr['ONVALIDATE']; } + if (isset($attr['ONKEYSTROKE'])) { $objattr['onKeystroke'] = $attr['ONKEYSTROKE']; } + if (isset($attr['ONFORMAT'])) { $objattr['onFormat'] = $attr['ONFORMAT']; } + } + break; + } + + $objattr['subtype'] = $type; + $objattr['text'] = $texto; + $objattr['width'] = $width; + $objattr['height'] = $height; + $e = "\xbb\xa4\xactype=input,objattr=".serialize($objattr)."\xbb\xa4\xac"; + + // Clear properties - tidy up + $properties = array(); + +/*-- TABLES --*/ + // Output it to buffers + if ($this->tableLevel) { + $this->_saveCellTextBuffer($e, $this->HREF); + $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; + + } + else { +/*-- END TABLES --*/ + $this->_saveTextBuffer($e, $this->HREF); + } // *TABLES* + + if ($this->InlineProperties[$tag]) { $this->restoreInlineProperties($this->InlineProperties[$tag]); } + unset($this->InlineProperties[$tag]); + + break; // END of INPUT +/*-- END FORMS --*/ + + + // *********** GRAPH ******************** + case 'JPGRAPH': + if (!$this->useGraphs) { break; } + if ($attr['TABLE']) { $gid = strtoupper($attr['TABLE']); } + else { $gid = '0'; } + if (!is_array($this->graphs[$gid]) || count($this->graphs[$gid])==0 ) { break; } + include_once(_MPDF_PATH.'graph.php'); + $this->graphs[$gid]['attr'] = $attr; + + + if (isset($this->graphs[$gid]['attr']['WIDTH']) && $this->graphs[$gid]['attr']['WIDTH']) { + $this->graphs[$gid]['attr']['cWIDTH']=$this->ConvertSize($this->graphs[$gid]['attr']['WIDTH'],$pgwidth); + } // mm + if (isset($this->graphs[$gid]['attr']['HEIGHT']) && $this->graphs[$gid]['attr']['HEIGHT']) { + $this->graphs[$gid]['attr']['cHEIGHT']=$this->ConvertSize($this->graphs[$gid]['attr']['HEIGHT'],$pgwidth); + } + + $graph_img = print_graph($this->graphs[$gid],$this->blk[$this->blklvl]['inner_width']); + if ($graph_img) { + if(isset($attr['ROTATE'])) { + if ($attr['ROTATE']==90 || $attr['ROTATE']==-90) { + $tmpw = $graph_img['w']; + $graph_img['w']= $graph_img['h']; + $graph_img['h']= $tmpw; + } + } + $attr['SRC'] = $graph_img['file']; + $attr['WIDTH'] = $graph_img['w']; + $attr['HEIGHT'] = $graph_img['h']; + } + else { break; } + + // *********** IMAGE ******************** +/*-- IMAGES-CORE --*/ + case 'IMG': + if ($this->progressBar) { $this->UpdateProgressBar(1,'','IMG'); } // *PROGRESS-BAR* + $objattr = array(); $objattr['margin_top'] = 0; $objattr['margin_bottom'] = 0; $objattr['margin_left'] = 0; @@ -13913,9 +17033,14 @@ function OpenTag($tag,$attr) $extraheight = $objattr['padding_top'] + $objattr['padding_bottom'] + $objattr['margin_top'] + $objattr['margin_bottom'] + $objattr['border_top']['w'] + $objattr['border_bottom']['w']; $extrawidth = $objattr['padding_left'] + $objattr['padding_right'] + $objattr['margin_left'] + $objattr['margin_right'] + $objattr['border_left']['w'] + $objattr['border_right']['w']; + // mPDF 5.7.3 TRANSFORMS + if (isset($properties['BACKGROUND-COLOR']) && $properties['BACKGROUND-COLOR'] != '') { $objattr['bgcolor'] = $this->ConvertColor($properties['BACKGROUND-COLOR']); } + +/*-- BACKGROUNDS --*/ if(isset($properties['GRADIENT-MASK']) && preg_match('/(-moz-)*(repeating-)*(linear|radial)-gradient/',$properties['GRADIENT-MASK'])) { $objattr['GRADIENT-MASK'] = $properties['GRADIENT-MASK']; } +/*-- END BACKGROUNDS --*/ // Image file $info=$this->_getImage($srcpath, true, true, $orig_srcpath); @@ -13944,6 +17069,16 @@ function OpenTag($tag,$attr) $objattr['file'] = $srcpath; //Default width and height calculation if needed if($w==0 and $h==0) { +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + // WMF units are twips (1/20pt) + // divide by 20 to get points + // divide by k to get user units + $w = abs($info['w'])/(20*_MPDFK); + $h = abs($info['h']) / (20*_MPDFK); + } + else +/*-- END IMAGES-WMF --*/ if ($info['type']=='svg') { // SVG units are pixels $w = abs($info['w'])/_MPDFK; @@ -13982,7 +17117,7 @@ function OpenTag($tag,$attr) $maxWidth = $this->blk[$this->blklvl]['inner_width']; $maxHeight = $this->h - ($this->tMargin + $this->bMargin + 1) ; if ($this->fullImageHeight) { $maxHeight = $this->fullImageHeight; } - if ($w + $extrawidth > $maxWidth ) { + if (($w + $extrawidth) > ($maxWidth + 0.0001) ) { // mPDF 5.7.4 0.0001 to allow for rounding errors when w==maxWidth $w = $maxWidth - $extrawidth; $h=abs($w*$info['h']/$info['w']); } @@ -13996,6 +17131,13 @@ function OpenTag($tag,$attr) $objattr['orig_h'] = $info['h']; $objattr['orig_w'] = $info['w']; +/*-- IMAGES-WMF --*/ + if ($info['type']=='wmf') { + $objattr['wmf_x'] = $info['x']; + $objattr['wmf_y'] = $info['y']; + } + else +/*-- END IMAGES-WMF --*/ if ($info['type']=='svg') { $objattr['wmf_x'] = $info['x']; $objattr['wmf_y'] = $info['y']; @@ -14004,27 +17146,67 @@ function OpenTag($tag,$attr) $objattr['width'] = $w + $extrawidth; $objattr['image_height'] = $h; $objattr['image_width'] = $w; +/*-- CSS-IMAGE-FLOAT --*/ if (!$this->ColActive && !$this->tableLevel && !$this->listlvl && !$this->kwt && !$this->keep_block_together) { if (isset($properties['FLOAT']) && (strtoupper($properties['FLOAT']) == 'RIGHT' || strtoupper($properties['FLOAT']) == 'LEFT')) { $objattr['float'] = substr(strtoupper($properties['FLOAT']),0,1); } } +/*-- END CSS-IMAGE-FLOAT --*/ + // mPDF 5.7.3 TRANSFORMS + if (isset($properties['TRANSFORM']) && !$this->ColActive && !$this->kwt) { + $objattr['transform'] = $properties['TRANSFORM']; + } $e = "\xbb\xa4\xactype=image,objattr=".serialize($objattr)."\xbb\xa4\xac"; // Clear properties - tidy up $properties = array(); +/*-- TABLES --*/ // Output it to buffers if ($this->tableLevel) { $this->_saveCellTextBuffer($e, $this->HREF); $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; } else { +/*-- END TABLES --*/ $this->_saveTextBuffer($e, $this->HREF); } // *TABLES* +/*-- ANNOTATIONS --*/ + if ($this->title2annots && isset($attr['TITLE'])) { + $objattr = array(); + $objattr['margin_top'] = 0; + $objattr['margin_bottom'] = 0; + $objattr['margin_left'] = 0; + $objattr['margin_right'] = 0; + $objattr['width'] = 0; + $objattr['height'] = 0; + $objattr['border_top']['w'] = 0; + $objattr['border_bottom']['w'] = 0; + $objattr['border_left']['w'] = 0; + $objattr['border_right']['w'] = 0; + $objattr['CONTENT'] = $attr['TITLE']; + $objattr['type'] = 'annot'; + $objattr['POS-X'] = 0; + $objattr['POS-Y'] = 0; + $objattr['ICON'] = 'Comment'; + $objattr['AUTHOR'] = ''; + $objattr['SUBJECT'] = ''; + $objattr['OPACITY'] = $this->annotOpacity; + $objattr['COLOR'] = $this->ConvertColor('yellow'); + $e = "\xbb\xa4\xactype=annot,objattr=".serialize($objattr)."\xbb\xa4\xac"; + if($this->tableLevel) { // *TABLES* + $this->cell[$this->row][$this->col]['textbuffer'][] = array($e); // *TABLES* + } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($e); + } // *TABLES* + } +/*-- END ANNOTATIONS --*/ } break; +/*-- END IMAGES-CORE --*/ // *********** CIRCULAR TEXT = TEXTCIRCLE ******************** @@ -14163,12 +17345,14 @@ function OpenTag($tag,$attr) // Clear properties - tidy up $properties = array(); +/*-- TABLES --*/ // Output it to buffers if ($this->tableLevel) { $this->_saveCellTextBuffer($e, $this->HREF); $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; } else { +/*-- END TABLES --*/ $this->_saveTextBuffer($e, $this->HREF); } // *TABLES* @@ -14178,11 +17362,13 @@ function OpenTag($tag,$attr) break; +/*-- TABLES --*/ case 'TABLE': // TABLE-BEGIN $this->tdbegin = false; $this->lastoptionaltag = ''; // Disable vertical justification in columns + if ($this->ColActive) { $this->colvAlign = ''; } // *COLUMNS* if ($this->lastblocklevelchange == 1) { $blockstate = 1; } // Top margins/padding only else if ($this->lastblocklevelchange < 1) { $blockstate = 0; } // NO margins/padding // called from block after new div e.g.
    ... ... Outputs block top margin/border and padding @@ -14273,7 +17459,6 @@ function OpenTag($tag,$attr) $table['decimal_align'] = false; // mPDF 5.6.13 $this->Reset(); $this->InlineProperties = array(); - $this->spanlvl = 0; $table['nc'] = $table['nr'] = 0; $this->tablethead = 0; $this->tabletfoot = 0; @@ -14341,11 +17526,21 @@ function OpenTag($tag,$attr) } } if (isset($properties['BORDER-RIGHT'])) { + if ($table['direction'] == 'rtl') { // *RTL* + $table['border_details']['R'] = $this->border_details($properties['BORDER-LEFT']); // *RTL* + } // *RTL* + else { // *RTL* $table['border_details']['R'] = $this->border_details($properties['BORDER-RIGHT']); + } // *RTL* $this->setBorder($table['border'], _BORDER_RIGHT, $table['border_details']['R']['s']); } if (isset($properties['BORDER-LEFT'])) { + if ($table['direction'] == 'rtl') { // *RTL* + $table['border_details']['L'] = $this->border_details($properties['BORDER-RIGHT']); // *RTL* + } // *RTL* + else { // *RTL* $table['border_details']['L'] = $this->border_details($properties['BORDER-LEFT']); + } // *RTL* $this->setBorder($table['border'], _BORDER_LEFT, $table['border_details']['L']['s']); } if (isset($properties['BORDER-BOTTOM'])) { @@ -14453,17 +17648,16 @@ function OpenTag($tag,$attr) $table['borders_separate'] = false; } - if (!$table['borders_separate']) { $table['border_spacing_H'] = $table['border_spacing_V'] = 0; } - else if (isset($attr['CELLSPACING'])) { - $table['border_spacing_H'] = $table['border_spacing_V'] = $this->ConvertSize($attr['CELLSPACING'],$this->blk[$this->blklvl]['inner_width']); - } - if (isset($properties['BORDER-SPACING-H'])) { - $table['border_spacing_H'] = $this->ConvertSize($properties['BORDER-SPACING-H'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + // mPDF 5.7.3 + if (isset($properties['BORDER-SPACING-H'])) { + $table['border_spacing_H'] = $this->ConvertSize($properties['BORDER-SPACING-H'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } - if (isset($properties['BORDER-SPACING-V'])) { + if (isset($properties['BORDER-SPACING-V'])) { $table['border_spacing_V'] = $this->ConvertSize($properties['BORDER-SPACING-V'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + if (!$table['borders_separate']) { $table['border_spacing_H'] = $table['border_spacing_V'] = 0; } + if (isset($properties['EMPTY-CELLS'])) { $table['empty_cells'] = strtolower($properties['EMPTY-CELLS']); // 'hide' or 'show' } @@ -14479,12 +17673,14 @@ function OpenTag($tag,$attr) $table['page_break_after'] = strtoupper($properties['PAGE-BREAK-AFTER']); } +/*-- BACKGROUNDS --*/ if (isset($properties['BACKGROUND-GRADIENT']) && !$this->kwt && !$this->ColActive) { $table['gradient'] = $properties['BACKGROUND-GRADIENT']; } if (isset($properties['BACKGROUND-IMAGE']) && $properties['BACKGROUND-IMAGE'] && !$this->kwt && !$this->ColActive) { $ret = $this->SetBackground($properties, $currblk['inner_width']); if ($ret) { $table['background-image'] = $ret; } } +/*-- END BACKGROUNDS --*/ if (isset($properties['OVERFLOW'])) { $table['overflow'] = strtolower($properties['OVERFLOW']); // 'hidden' 'wrap' or 'visible' or 'auto' @@ -14670,12 +17866,14 @@ function OpenTag($tag,$attr) if (isset($properties['BACKGROUND-COLOR'])) { $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['bgcolor'][$this->row] = $properties['BACKGROUND-COLOR']; } else if (isset($attr['BGCOLOR'])) $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['bgcolor'][$this->row] = $attr['BGCOLOR']; +/*-- BACKGROUNDS --*/ if (isset($properties['BACKGROUND-GRADIENT']) && !$this->kwt && !$this->ColActive) { $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['trgradients'][$this->row] = $properties['BACKGROUND-GRADIENT']; } if (isset($properties['BACKGROUND-IMAGE']) && $properties['BACKGROUND-IMAGE'] && !$this->kwt && !$this->ColActive) { $ret = $this->SetBackground($properties, $currblk['inner_width']); if ($ret) { $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['trbackground-images'][$this->row] = $ret; } } +/*-- END BACKGROUNDS --*/ if (isset($properties['TEXT-ROTATE'])) { @@ -14695,7 +17893,6 @@ function OpenTag($tag,$attr) $this->lastoptionaltag = $tag; // Save current HTML specified optional endtag $this->cssmgr->tbCSSlvl++; $this->InlineProperties = array(); - $this->spanlvl = 0; $this->tdbegin = true; $this->col++; while (isset($this->cell[$this->row][$this->col])) { $this->col++; } @@ -14849,6 +18046,7 @@ function OpenTag($tag,$attr) +/*-- BACKGROUNDS --*/ if (isset($properties['BACKGROUND-GRADIENT'])) { $c['gradient'] = $properties['BACKGROUND-GRADIENT']; } else { $c['gradient'] = false; } @@ -14856,6 +18054,7 @@ function OpenTag($tag,$attr) $ret = $this->SetBackground($properties, $this->blk[$this->blklvl]['inner_width']); if ($ret) { $c['background-image'] = $ret; } } +/*-- END BACKGROUNDS --*/ if (isset($properties['VERTICAL-ALIGN'])) { $c['va']=$align[strtolower($properties['VERTICAL-ALIGN'])]; } else if (isset($attr['VALIGN'])) $c['va'] = $align[strtolower($attr['VALIGN'])]; @@ -15038,37 +18237,324 @@ function OpenTag($tag,$attr) } $properties = array(); - if (isset($attr['TEXT-ROTATE'])) { - $c['R'] = $attr['TEXT-ROTATE']; - } - if (isset($attr['NOWRAP']) && $attr['NOWRAP']) $c['nowrap']= 1; + if (isset($attr['TEXT-ROTATE'])) { + $c['R'] = $attr['TEXT-ROTATE']; + } + if (isset($attr['NOWRAP']) && $attr['NOWRAP']) $c['nowrap']= 1; + + $this->cell[$this->row][$this->col] = $c; + unset($c); + $this->cell[$this->row][$this->col]['s'] = 0 ; + + $cs = $rs = 1; + if (isset($attr['COLSPAN']) && $attr['COLSPAN']>1) $cs = $this->cell[$this->row][$this->col]['colspan'] = $attr['COLSPAN']; + if ($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc'] < $this->col+$cs) { + $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc'] = $this->col+$cs; + } // following code moved outside if... + for($l=$this->col; $l < $this->col+$cs ;$l++) { + if ($l-$this->col) $this->cell[$this->row][$l] = 0; + } + + if (isset($attr['ROWSPAN']) && $attr['ROWSPAN']>1) $rs = $this->cell[$this->row][$this->col]['rowspan'] = $attr['ROWSPAN']; + for ($k=$this->row ; $k < $this->row+$rs ;$k++) { + for($l=$this->col; $l < $this->col+$cs ;$l++) { + if ($k-$this->row || $l-$this->col) $this->cell[$k][$l] = 0; + } + } + unset($table); + break; +/*-- END TABLES --*/ + + +/*-- LISTS --*/ + // *********** LISTS ******************** + case 'OL': + case 'UL': + $this->listjustfinished = false; + + if ($this->blockjustfinished && !count($this->textbuffer) && $this->y != $this->tMargin && $this->collapseBlockMargins) { $lastbottommargin = $this->lastblockbottommargin; } + else { $lastbottommargin = 0; } + $this->lastblockbottommargin = 0; + $this->blockjustfinished=false; + + $this->linebreakjustfinished=false; + $this->lastoptionaltag = ''; // Save current HTML specified optional endtag + $this->cssmgr->listCSSlvl++; + if((!$this->tableLevel) && ($this->listlvl == 0)) { + $blockstate = 0; + //if ($this->lastblocklevelchange == 1) { $blockstate = -1; } // Top margins/padding only + //else if ($this->lastblocklevelchange < 1) { $blockstate = 0; } // NO margins/padding + // called from block after new div e.g.
    ...
      ... Outputs block top margin/border and padding + if (count($this->textbuffer) == 0 && $this->lastblocklevelchange == 1 && !$this->tableLevel && !$this->kwt) { + $this->newFlowingBlock( $this->blk[$this->blklvl]['width'],$this->lineheight,'',false,false,1,true, $this->blk[$this->blklvl]['direction']); + $this->finishFlowingBlock(true); // true = END of flowing block + } + else if (count($this->textbuffer)) { $this->printbuffer($this->textbuffer,$blockstate); } + $this->textbuffer=array(); + $this->lastblocklevelchange = -1; + } + // ol and ul types are mixed here + if ($this->listlvl == 0) { + $this->list_indent = array(); + $this->list_align = array(); + $this->list_lineheight = array(); + $this->InlineProperties['LIST'] = array(); + $this->InlineProperties['LISTITEM'] = array(); + } + +/*-- TABLES --*/ + // A simple list for inside a table + if($this->tableLevel) { + $this->list_indent[$this->listlvl] = 0; // mm default indent for each level + if ($tag == 'OL') $this->listtype = '1'; + else if ($tag == 'UL') $this->listtype = 'disc'; + if ($this->listlvl > 0) { + $this->listlist[$this->listlvl]['MAXNUM'] = $this->listnum; //save previous lvl's maxnum + } + $this->listlvl++; + // mPDF 5.6.15 + if (isset($attr['START'])) { $this->listnum = intval($attr['START']); } + else { $this->listnum = 0; } + $this->listlist[$this->listlvl] = array('TYPE'=>$this->listtype,'MAXNUM'=>$this->listnum); + break; + } +/*-- END TABLES --*/ + + + if (($this->PDFA || $this->PDFX) && $tag == 'UL') { + if (($this->PDFA && !$this->PDFAauto) || ($this->PDFX && !$this->PDFXauto)) { $this->PDFAXwarnings[] = "List bullets cannot use core font Zapfdingbats in PDFA1-b or PDFX/1-a. (Substitute characters from current font used if available, otherwise substitutes hyphen '-')"; } + } + + if ($this->cssmgr->listCSSlvl==1) { + $properties = $this->cssmgr->MergeCSS('TOPLIST',$tag,$attr); + } + else { + $properties = $this->cssmgr->MergeCSS('LIST',$tag,$attr); + } + if (!empty($properties)) $this->setCSS($properties,'LIST'); + // List-type + + $this->listtype = ''; + if (isset($properties['LIST-STYLE-TYPE'])) { + $this->listtype = $this->_getListStyle($properties['LIST-STYLE-TYPE']); + } + else if (isset($properties['LIST-STYLE'])) { + $this->listtype = $this->_getListStyle($properties['LIST-STYLE']); + } + else if (isset($attr['TYPE']) && $attr['TYPE']) { $this->listtype = $attr['TYPE']; } + if (!$this->listtype) { + if ($tag == 'OL') $this->listtype = '1'; + if ($tag == 'UL') { + if ($this->listlvl % 3 == 0) $this->listtype = 'disc'; + elseif ($this->listlvl % 3 == 1) $this->listtype = 'circle'; + else $this->listtype = 'square'; + } + } + if ($this->listlvl == 0) { + $this->inherit_lineheight = 0; + $this->listlvl++; // first depth level + // mPDF 5.6.15 + if (isset($attr['START'])) { $this->listnum = intval($attr['START']); } + else { $this->listnum = 0; } + $this->listDir = (isset($this->blk[$this->blklvl]['direction']) ? $this->blk[$this->blklvl]['direction'] : null); + $occur = $this->listoccur[$this->listlvl] = 1; + $this->listlist[$this->listlvl][1] = array('TYPE'=>$this->listtype,'MAXNUM'=>$this->listnum); + } + else { + if (!empty($this->textbuffer)) + { + $this->listitem[] = array($this->listlvl,$this->listnum,$this->textbuffer,$this->listoccur[$this->listlvl],$this->listitemtype); + $this->listnum++; + } + // Save current lineheight to inherit + $this->textbuffer = array(); + $occur = $this->listoccur[$this->listlvl]; + $this->listlist[$this->listlvl][$occur]['MAXNUM'] = $this->listnum; //save previous lvl's maxnum + $this->listlvl++; + // mPDF 5.6.15 + if (isset($attr['START'])) { $this->listnum = intval($attr['START']); } + else { $this->listnum = 0; } + + + if (!isset($this->listoccur[$this->listlvl]) || $this->listoccur[$this->listlvl] == 0) $this->listoccur[$this->listlvl] = 1; + else $this->listoccur[$this->listlvl]++; + $occur = $this->listoccur[$this->listlvl]; + $this->listlist[$this->listlvl][$occur] = array('TYPE'=>$this->listtype,'MAXNUM'=>$this->listnum); + } + + + // TOP LEVEL ONLY + if ($this->listlvl == 1) { + if (isset($properties['MARGIN-TOP'])) { + if ($lastbottommargin) { + $tmp = $this->ConvertSize($properties['MARGIN-TOP'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + if ($tmp > $lastbottommargin) { $properties['MARGIN-TOP'] -= $lastbottommargin; } + else { $properties['MARGIN-TOP'] = 0; } + } + $this->DivLn($this->ConvertSize($properties['MARGIN-TOP'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false),$this->blklvl,true,1); // collapsible + } + if (isset($properties['MARGIN-BOTTOM'])) { + $this->list_margin_bottom = $this->ConvertSize($properties['MARGIN-BOTTOM'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); + } + + if (isset($this->blk[$this->blklvl]['line_height'])) { + $this->list_lineheight[$this->listlvl][$occur] = $this->blk[$this->blklvl]['line_height']; + } + + if (isset($properties['DIRECTION']) && $properties['DIRECTION']) { $this->listDir = strtolower($properties['DIRECTION']); } + else if (isset($attr['DIR']) && $attr['DIR']) { $this->listDir = strtolower($attr['DIR']); } + + } + $this->list_indent[$this->listlvl][$occur] = 5; // mm default indent for each level + if (isset($properties['TEXT-INDENT'])) { $this->list_indent[$this->listlvl][$occur] = $this->ConvertSize($properties['TEXT-INDENT'],$this->blk[$this->blklvl]['inner_width'],$this->FontSize,false); } + + if (isset($properties['TEXT-ALIGN'])) { + $this->list_align[$this->listlvl][$occur] = $align[strtolower($properties['TEXT-ALIGN'])]; + } + + + if (isset($properties['LINE-HEIGHT'])) { + $this->list_lineheight[$this->listlvl][$occur] = $this->fixLineheight($properties['LINE-HEIGHT']); + } + else if ($this->listlvl>1 && isset($this->list_lineheight[($this->listlvl - 1)][1])) { + $this->list_lineheight[$this->listlvl][$occur] = end($this->list_lineheight[($this->listlvl - 1)]); + } + if (!isset($this->list_lineheight[$this->listlvl][$occur]) || !$this->list_lineheight[$this->listlvl][$occur]) { + $this->list_lineheight[$this->listlvl][$occur] = $this->normalLineheight; + } + + $this->InlineProperties['LIST'][$this->listlvl][$occur] = $this->saveInlineProperties(); + $properties = array(); + break; + + + + case 'LI': + // Start Block + $this->lastoptionaltag = $tag; // Save current HTML specified optional endtag + $this->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces +/*-- TABLES --*/ + // A simple list for inside a table + if($this->tableLevel) { + $this->blockjustfinished=false; + + // If already something in the Cell + if ((isset($this->cell[$this->row][$this->col]['maxs']) && $this->cell[$this->row][$this->col]['maxs'] > 0 ) || $this->cell[$this->row][$this->col]['s'] > 0 ) { + $this->_saveCellTextBuffer("\n"); + if (!isset($this->cell[$this->row][$this->col]['maxs'])) { + $this->cell[$this->row][$this->col]['maxs'] = $this->cell[$this->row][$this->col]['s']; + } + elseif($this->cell[$this->row][$this->col]['maxs'] < $this->cell[$this->row][$this->col]['s']) { + $this->cell[$this->row][$this->col]['maxs'] = $this->cell[$this->row][$this->col]['s']; + } + $this->cell[$this->row][$this->col]['s'] = 0 ; + } + if ($this->listlvl == 0) { //in case of malformed HTML code. Example:(...)

    1. Content
    2. Paragraph1

      (...) + $this->listlvl++; // first depth level + $this->listnum = 0; // reset + $this->listlist[$this->listlvl] = array('TYPE'=>'disc','MAXNUM'=>$this->listnum); + } + + $this->listnum++; + switch($this->listlist[$this->listlvl]['TYPE']) { + case 'A': + $blt = $this->dec2alpha($this->listnum,true).$this->list_number_suffix; + break; + case 'a': + $blt = $this->dec2alpha($this->listnum,false).$this->list_number_suffix; + break; + case 'I': + $blt = $this->dec2roman($this->listnum,true).$this->list_number_suffix; + break; + case 'i': + $blt = $this->dec2roman($this->listnum,false).$this->list_number_suffix; + break; + case '1': + $blt = $this->listnum.$this->list_number_suffix; + break; + default: + if ($this->listlvl % 3 == 1 && $this->_charDefined($this->CurrentFont['cw'],8226)) { $blt = "\xe2\x80\xa2"; } // • + else if ($this->listlvl % 3 == 2 && $this->_charDefined($this->CurrentFont['cw'],9900)) { $blt = "\xe2\x9a\xac"; } // ⚬ + else if ($this->listlvl % 3 == 0 && $this->_charDefined($this->CurrentFont['cw'],9642)) { $blt = "\xe2\x96\xaa"; } // ▪ + else { $blt = '-'; } + break; + } - $this->cell[$this->row][$this->col] = $c; - unset($c); - $this->cell[$this->row][$this->col]['s'] = 0 ; + // change to   spaces + if ($this->usingCoreFont) { + $ls = str_repeat(chr(160).chr(160),($this->listlvl-1)*2) . $blt . ' '; + } + else { + $ls = str_repeat("\xc2\xa0\xc2\xa0",($this->listlvl-1)*2) . $blt . ' '; + } - $cs = $rs = 1; - if (isset($attr['COLSPAN']) && $attr['COLSPAN']>1) $cs = $this->cell[$this->row][$this->col]['colspan'] = $attr['COLSPAN']; - if ($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc'] < $this->col+$cs) { - $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc'] = $this->col+$cs; - } // following code moved outside if... - for($l=$this->col; $l < $this->col+$cs ;$l++) { - if ($l-$this->col) $this->cell[$this->row][$l] = 0; + $this->_saveCellTextBuffer($ls, $this->HREF); + $this->cell[$this->row][$this->col]['s'] += $this->GetStringWidth($ls); + break; } - if (isset($attr['ROWSPAN']) && $attr['ROWSPAN']>1) $rs = $this->cell[$this->row][$this->col]['rowspan'] = $attr['ROWSPAN']; - for ($k=$this->row ; $k < $this->row+$rs ;$k++) { - for($l=$this->col; $l < $this->col+$cs ;$l++) { - if ($k-$this->row || $l-$this->col) $this->cell[$k][$l] = 0; - } +/*-- END TABLES --*/ + //Observation: is ignored + if ($this->listlvl == 0) { //in case of malformed HTML code. Example:(...)

    3. Content
    4. Paragraph1

      (...) + //First of all, skip a line + $this->listlvl++; // first depth level + $this->listnum = 0; // reset + $this->listoccur[$this->listlvl] = 1; + $this->listlist[$this->listlvl][1] = array('TYPE'=>'disc','MAXNUM'=>$this->listnum); + } + if ($this->listnum == 0) { + $this->listnum++; + $this->textbuffer = array(); } - unset($table); - break; + else { + if (!empty($this->textbuffer)) { + if (!$this->listjustfinished) { + $this->listitem[] = array($this->listlvl,$this->listnum,$this->textbuffer,$this->listoccur[$this->listlvl],$this->listitemtype); + $this->listnum++; + } + else { + $this->listitem[] = array($this->listlvl,$this->listnum,$this->textbuffer,$this->listoccur[$this->listlvl],$this->listitemtype, true); + } + } + $this->textbuffer = array(); + } + $this->listjustfinished = false; + $this->cssmgr->listCSSlvl++; + $properties = $this->cssmgr->MergeCSS('LIST',$tag,$attr); + if (!empty($properties)) $this->setCSS($properties,'LIST'); + $this->InlineProperties['LISTITEM'][$this->listlvl][$this->listoccur[$this->listlvl]][$this->listnum] = $this->saveInlineProperties(); + // List-type + if (isset($properties['LIST-STYLE-TYPE'])) { + $this->listitemtype = $this->_getListStyle($properties['LIST-STYLE-TYPE']); + } + else if (isset($properties['LIST-STYLE'])) { + $this->listitemtype = $this->_getListStyle($properties['LIST-STYLE']); + } + else if (isset($attr['TYPE']) && $attr['TYPE']) { $this->listitemtype = $attr['TYPE']; } + else $this->listitemtype = ''; + break; +/*-- END LISTS --*/ }//end of switch } +/*-- LISTS --*/ + +function _getListStyle($ls) { + if (stristr($ls,'decimal')) { return '1'; } + else if (preg_match('/(disc|circle|square|arabic-indic|bengali|devanagari|gujarati|gurmukhi|kannada|malayalam|oriya|persian|tamil|telugu|thai|urdu|cambodian|khmer|lao)/i',$ls,$m)) { + return strtolower(trim($m[1])); + } + else if (stristr($ls,'lower-roman')) { return 'i'; } + else if (stristr($ls,'upper-roman')) { return 'I'; } + else if (stristr($ls,'lower-latin')|| stristr($ls,'lower-alpha')) { return 'a'; } + else if (stristr($ls,'upper-latin') || stristr($ls,'upper-alpha')) { return 'A'; } + else if (stristr($ls,'none')) { return 'none'; } + else if (preg_match('/U\+([a-fA-F0-9]+)/i',$ls)) { return $ls; } + else { return ''; } +} +/*-- END LISTS --*/ @@ -15092,16 +18578,33 @@ function CloseTag($tag) || $tag=='MARK' || $tag=='TIME' || $tag=='PROGRESS' || $tag=='METER' ) { // mPDF 5.5.09 - if ($tag == 'SPAN') { - if (isset($this->InlineProperties['SPAN'][$this->spanlvl]) && $this->InlineProperties['SPAN'][$this->spanlvl]) { $this->restoreInlineProperties($this->InlineProperties['SPAN'][$this->spanlvl]); } - unset($this->InlineProperties['SPAN'][$this->spanlvl]); - $this->spanlvl--; - } - else { + // mPDF 5.7.3 Inline tags + if ($tag=='PROGRESS' || $tag=='METER') { if (isset($this->InlineProperties[$tag]) && $this->InlineProperties[$tag]) { $this->restoreInlineProperties($this->InlineProperties[$tag]); } unset($this->InlineProperties[$tag]); + if (isset($this->InlineAnnots[$tag]) && $this->InlineAnnots[$tag]) { $annot = $this->InlineAnnots[$tag]; } // *ANNOTATIONS* + unset($this->InlineAnnots[$tag]); // *ANNOTATIONS* + } + else { + if (isset($this->InlineProperties[$tag]) && count($this->InlineProperties[$tag])) { + $tmpProps = array_pop($this->InlineProperties[$tag]); // mPDF 5.7.4 + $this->restoreInlineProperties($tmpProps); + } + if (isset($this->InlineAnnots[$tag]) && count($this->InlineAnnots[$tag])) { // *ANNOTATIONS* + $annot = array_pop($this->InlineAnnots[$tag]); // *ANNOTATIONS* + } // *ANNOTATIONS* } +/*-- ANNOTATIONS --*/ + if (isset($annot)) { + if($this->tableLevel) { // *TABLES* + $this->cell[$this->row][$this->col]['textbuffer'][] = array($annot); // *TABLES* + } // *TABLES* + else { // *TABLES* + $this->textbuffer[] = array($annot); + } // *TABLES* + } +/*-- END ANNOTATIONS --*/ } if($tag=='METER' || $tag=='PROGRESS') { @@ -15131,21 +18634,84 @@ function CloseTag($tag) +/*-- FORMS --*/ + // *********** FORM ELEMENTS ******************** + + if($tag=='TEXTAREA') { + $this->specialcontent = ''; + if ($this->InlineProperties[$tag]) { $this->restoreInlineProperties($this->InlineProperties[$tag]); } + unset($this->InlineProperties[$tag]); + } + + + if($tag=='SELECT') { + $this->lastoptionaltag = ''; + $texto = ''; + if (isset($this->selectoption['SELECTED'])) { $texto = $this->selectoption['SELECTED']; } + + if ($this->useActiveForms) { $w = $this->selectoption['MAXWIDTH']; } + else { $w = $this->GetStringWidth($texto); } + if ($w == 0) { $w = 5; } + $objattr['type'] = 'select'; + $objattr['text'] = $texto; + if (isset($this->selectoption['NAME'])) { $objattr['fieldname'] = $this->selectoption['NAME']; } + if (isset($this->selectoption['READONLY'])) { $objattr['readonly'] = true; } + if (isset($this->selectoption['REQUIRED'])) { $objattr['required'] = true; } + if (isset($this->selectoption['SPELLCHECK'])) { $objattr['spellcheck'] = true; } + if (isset($this->selectoption['EDITABLE'])) { $objattr['editable'] = true; } + if (isset($this->selectoption['ONCHANGE'])) { $objattr['onChange'] = $this->selectoption['ONCHANGE']; } + if (isset($this->selectoption['ITEMS'])) { $objattr['items'] = $this->selectoption['ITEMS']; } + if (isset($this->selectoption['MULTIPLE'])) { $objattr['multiple'] = $this->selectoption['MULTIPLE']; } + if (isset($this->selectoption['DISABLED'])) { $objattr['disabled'] = $this->selectoption['DISABLED']; } + if (isset($this->selectoption['TITLE'])) { $objattr['title'] = $this->selectoption['TITLE']; } + if (isset($this->selectoption['COLOR'])) { $objattr['color'] = $this->selectoption['COLOR']; } + if (isset($this->selectoption['SIZE'])) { $objattr['size'] = $this->selectoption['SIZE']; } + if (isset($objattr['size']) && $objattr['size']>1) { $rows=$objattr['size']; } else { $rows = 1; } + + $objattr['fontfamily'] = $this->FontFamily; + $objattr['fontsize'] = $this->FontSizePt; + + $objattr['width'] = $w + ($this->form->form_element_spacing['select']['outer']['h']*2)+($this->form->form_element_spacing['select']['inner']['h']*2) + ($this->FontSize*1.4); + $objattr['height'] = ($this->FontSize*$rows) + ($this->form->form_element_spacing['select']['outer']['v']*2)+($this->form->form_element_spacing['select']['inner']['v']*2); + $e = "\xbb\xa4\xactype=select,objattr=".serialize($objattr)."\xbb\xa4\xac"; + + // Clear properties - tidy up + $properties = array(); + + // Output it to buffers + if ($this->tableLevel) { // *TABLES* + $this->_saveCellTextBuffer($e, $this->HREF); + $this->cell[$this->row][$this->col]['s'] += $objattr['width'] ; // *TABLES* + } // *TABLES* + else { // *TABLES* + $this->_saveTextBuffer($e, $this->HREF); + } // *TABLES* + + $this->selectoption = array(); + $this->specialcontent = ''; + + if ($this->InlineProperties[$tag]) { $this->restoreInlineProperties($this->InlineProperties[$tag]); } + unset($this->InlineProperties[$tag]); + + } +/*-- END FORMS --*/ // *********** BLOCKS ******************** - // mPDF 5.4.18 if($tag=='P' || $tag=='DIV' || $tag=='H1' || $tag=='H2' || $tag=='H3' || $tag=='H4' || $tag=='H5' || $tag=='H6' || $tag=='PRE' || $tag=='FORM' || $tag=='ADDRESS' || $tag=='BLOCKQUOTE' || $tag=='CENTER' || $tag=='DT' || $tag=='DD' || $tag=='DL' || $tag=='CAPTION' || $tag=='FIELDSET' || $tag=='ARTICLE' || $tag=='ASIDE' || $tag=='FIGURE' || $tag=='FIGCAPTION' || $tag=='FOOTER' || $tag=='HEADER' || $tag=='HGROUP' - || $tag=='NAV' || $tag=='SECTION' || $tag=='DETAILS' || $tag=='SUMMARY' - ) { // mPDF 5.5.09 // mPDF 5.5.22 + || $tag=='MAIN' || $tag=='NAV' || $tag=='SECTION' || $tag=='DETAILS' || $tag=='SUMMARY' + ) { // mPDF 5.7.3 $this->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces $this->blockjustfinished=true; $this->lastblockbottommargin = $this->blk[$this->blklvl]['margin_bottom']; +/*-- LISTS --*/ + if ($this->listlvl>0) { return; } +/*-- END LISTS --*/ // mPDF 5.6.34 if (preg_match('/^H\d/',$tag) && !$this->tableLevel && !$this->writingToC) { // mPDF 5.6.38 @@ -15159,9 +18725,30 @@ function CloseTag($tag) } } } +/*-- TOC --*/ + if (isset($this->h2toc[$tag])) { + $objattr = array(); + $objattr['type'] = 'toc'; + $objattr['toclevel'] = $this->h2toc[$tag]; + $objattr['CONTENT'] = htmlspecialchars($content); // mPDF 5.6.37 + $e = "\xbb\xa4\xactype=toc,objattr=".serialize($objattr)."\xbb\xa4\xac"; + array_unshift($this->textbuffer,array($e)); + } +/*-- END TOC --*/ +/*-- BOOKMARKS --*/ + if (isset($this->h2bookmarks[$tag])) { + $objattr = array(); + $objattr['type'] = 'bookmark'; + $objattr['bklevel'] = $this->h2bookmarks[$tag]; + $objattr['CONTENT'] = $content; + $e = "\xbb\xa4\xactype=toc,objattr=".serialize($objattr)."\xbb\xa4\xac"; + array_unshift($this->textbuffer,array($e)); + } +/*-- END BOOKMARKS --*/ } } +/*-- TABLES --*/ if($this->tableLevel) { if ($this->linebreakjustfinished) { $this->blockjustfinished=false; } if (isset($this->InlineProperties['BLOCKINTABLE'])) { @@ -15171,6 +18758,7 @@ function CloseTag($tag) if($tag=='PRE') { $this->ispre=false; } return; } +/*-- END TABLES --*/ $this->lastoptionaltag = ''; $this->divbegin=false; @@ -15178,6 +18766,7 @@ function CloseTag($tag) $this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin']; +/*-- CSS-FLOAT --*/ // If float contained in a float, need to extend bottom to allow for it $currpos = $this->page*1000 + $this->y; if (isset($this->blk[$this->blklvl]['float_endpos']) && $this->blk[$this->blklvl]['float_endpos'] > $currpos) { @@ -15195,6 +18784,7 @@ function CloseTag($tag) } $this->y = (($this->blk[$this->blklvl]['float_endpos'] *1000) % 1000000)/1000; // mod changes operands to integers before processing } +/*-- END CSS-FLOAT --*/ //Print content @@ -15233,10 +18823,13 @@ function CloseTag($tag) $this->kwt_height = $this->y - $this->kwt_y0; } +/*-- CSS-IMAGE-FLOAT --*/ $this->printfloatbuffer(); +/*-- END CSS-IMAGE-FLOAT --*/ if($tag=='PRE') { $this->ispre=false; } +/*-- CSS-FLOAT --*/ if ($this->blk[$this->blklvl]['float'] == 'R') { // If width not set, here would need to adjust and output buffer $s = $this->PrintPageBackgrounds(); @@ -15301,6 +18894,7 @@ function CloseTag($tag) $this->ResetMargins(); $this->pageoutput[$this->page] = array(); } +/*-- END CSS-FLOAT --*/ if (isset($this->blk[$this->blklvl]['visibility']) && $this->blk[$this->blklvl]['visibility']!='visible') { $this->SetVisibility('visible'); @@ -15335,7 +18929,6 @@ function CloseTag($tag) $save_blklvl = $this->blklvl; $save_blk = $this->blk; $save_silp = $this->saveInlineProperties(); - $save_spanlvl = $this->spanlvl; $save_ilp = $this->InlineProperties; if ($this->blklvl>1) { // Close any open block tags @@ -15343,30 +18936,30 @@ function CloseTag($tag) // Output any text left in buffer if (count($this->textbuffer)) { $this->printbuffer($this->textbuffer); $this->textbuffer=array(); } } +/*-- COLUMNS --*/ + $save_cols = false; + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ if ($page_break_after == 'RIGHT') { $this->AddPage($this->CurOrientation,'NEXT-ODD','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } else if ($page_break_after == 'LEFT') { $this->AddPage($this->CurOrientation,'NEXT-EVEN','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } else { $this->AddPage($this->CurOrientation,'','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } + // mPDF 5.7.3 if (!$this->restoreBlockPagebreaks) { $this->blklvl = 0; $this->lastblocklevelchange = 0; - $this->blk = array(); - $this->initialiseBlock($this->blk[0]); - $this->blk[0]['width'] =& $this->pgwidth; - $this->blk[0]['inner_width'] =& $this->pgwidth; - $this->blk[0]['blockContext'] = $this->blockContext; - $properties = $this->cssmgr->MergeCSS('BLOCK','BODY',''); - $this->setCSS($properties,'','BODY'); - $this->blklvl++; - $currblk =& $this->blk[$this->blklvl]; - $prevblk =& $this->blk[$this->blklvl-1]; - - $this->initialiseBlock($currblk); - $currblk['tag'] = $tag; - $currblk['attr'] = $attr; - $this->Reset(); - $properties = $this->cssmgr->MergeCSS('BLOCK',$tag,$attr); + $this->restoreInlineProperties($this->blk[0]['InlineProperties']); + } +/*-- COLUMNS --*/ + if ($save_cols) { + // Restore columns + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); } +/*-- END COLUMNS --*/ if ($this->restoreBlockPagebreaks && !$this->tableLevel && !$this->listlvl) { $this->blk = $save_blk; // Re-open block tags @@ -15381,7 +18974,6 @@ function CloseTag($tag) unset($this->blk[$b+1]); $this->OpenTag($tc,$ac); } - $this->spanlvl = $save_spanlvl; $this->InlineProperties = $save_ilp; $this->restoreInlineProperties($save_silp); } @@ -15390,6 +18982,7 @@ function CloseTag($tag) } +/*-- TABLES --*/ if($tag=='TH') $this->SetStyle('B',false); @@ -15502,10 +19095,52 @@ function CloseTag($tag) } if($tag=='TABLE') { // TABLE-END ( + if ($this->progressBar) { $this->UpdateProgressBar(1,'','TABLE'); } // *PROGRESS-BAR* + if ($this->progressBar) { $this->UpdateProgressBar(7,0,''); } // *PROGRESS-BAR* $this->lastoptionaltag = ''; unset($this->cssmgr->tablecascadeCSS[$this->cssmgr->tbCSSlvl]); $this->cssmgr->tbCSSlvl--; $this->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces + + // mPDF 5.7.3 + // In case a colspan (on a row after first row) exceeded number of columns in table + for ($k=0; $k < $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nr']; $k++) { + for($l=0; $l < $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc']; $l++) { + if (!isset($this->cell[$k][$l])) { + for ($n=$l-1; $n>=0; $n--) { + if (isset($this->cell[$k][$n]) && $this->cell[$k][$n]!=0) { break; } + } + $this->cell[$k][$l] = array( + 'a' => 'C', + 'va' => 'M', + 'R' => false, + 'nowrap' => false, + 'bgcolor' => false, + 'padding' => array('L' => false, 'R' => false, 'T' => false, 'B' => false), + 'gradient' => false, + 's' => 0, + 'maxs' => 0, + 'textbuffer' => array(), + 'dfs' => $this->FontSize, + ); + + if (!$this->simpleTables){ + $this->cell[$k][$l]['border'] = 0; + $this->cell[$k][$l]['border_details']['R'] = array('s' => 0, 'w' => 0, 'c' => false, 'style' => 'none', 'dom' => 0); + $this->cell[$k][$l]['border_details']['L'] = array('s' => 0, 'w' => 0, 'c' => false, 'style' => 'none', 'dom' => 0); + $this->cell[$k][$l]['border_details']['T'] = array('s' => 0, 'w' => 0, 'c' => false, 'style' => 'none', 'dom' => 0); + $this->cell[$k][$l]['border_details']['B'] = array('s' => 0, 'w' => 0, 'c' => false, 'style' => 'none', 'dom' => 0); + $this->cell[$k][$l]['border_details']['mbw'] = array('BL' =>0,'BR' =>0,'RT' =>0,'RB' =>0,'TL' =>0,'TR' =>0,'LT' =>0,'LB' =>0); + if ($this->packTableData) { + $this->cell[$k][$l]['borderbin'] = $this->_packCellBorder($this->cell[$k][$l]); + unset($this->cell[$k][$l]['border']); + unset($this->cell[$k][$l]['border_details']); + } + } + } + } + } + $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['cells'] = $this->cell; $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['wc'] = array_pad(array(),$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nc'],array('miw'=>0,'maw'=>0)); $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['hr'] = array_pad(array(),$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['nr'],0); @@ -15572,7 +19207,9 @@ function CloseTag($tag) // Fix Borders ********************************************* $this->_fixTableBorders($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]); + if ($this->progressBar) { $this->UpdateProgressBar(7,10,' '); } // *PROGRESS-BAR* + if ($this->ColActive) { $this->table_rotate = 0; } // *COLUMNS* if ($this->table_rotate <> 0) { $this->tablebuffer = ''; // Max width for rotated table @@ -15599,6 +19236,12 @@ function CloseTag($tag) // Reset lower level table $this->base_table_properties = $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['baseProperties']; + // mPDF 5.7.3 + $this->default_font = $this->base_table_properties['FONT-FAMILY']; + $this->SetFont($this->default_font,'',0,false); + $this->default_font_size = $this->ConvertSize($this->base_table_properties['FONT-SIZE'])*(_MPDFK); + $this->SetFontSize($this->default_font_size,false); + $this->cell = $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['cells']; // mPDF 5.4.10 if (isset($this->cell['PARENTCELL'])) { @@ -15783,6 +19426,7 @@ function CloseTag($tag) for ($nid=1; $nid<=$this->tbctr[$lvl]; $nid++) { list($tableheight,$maxrowheight,$fullpage,$remainingpage, $maxfirstrowheight) = $this->_tableHeight($this->table[$lvl][$nid]); } } + if ($this->progressBar) { $this->UpdateProgressBar(7,20,' '); } // *PROGRESS-BAR* if ($this->table[1][1]['overflow']=='visible') { if ($maxrowheight > $fullpage) { die("mPDF Warning: A Table row is greater than available height. You cannot use CSS overflow:visible"); } if ($maxfirstrowheight > $remainingpage) { $this->AddPage($this->CurOrientation); } @@ -16041,6 +19685,7 @@ function CloseTag($tag) $this->kwt_saved = false; } + if ($this->progressBar) { $this->UpdateProgressBar(7,30,' '); } // *PROGRESS-BAR* // Recursively writes all tables starting at top level $this->_tableWrite($this->table[1][1]); @@ -16120,12 +19765,12 @@ function CloseTag($tag) $this->SetFont($this->default_font,'',0,false); $this->SetLineHeight(); if (isset($this->blk[$this->blklvl]['InlineProperties'])) { $this->restoreInlineProperties($this->blk[$this->blklvl]['InlineProperties']);} + if ($this->progressBar) { $this->UpdateProgressBar(7,100,' '); } // *PROGRESS-BAR* if ($page_break_after) { $save_blklvl = $this->blklvl; $save_blk = $this->blk; $save_silp = $this->saveInlineProperties(); - $save_spanlvl = $this->spanlvl; $save_ilp = $this->InlineProperties; if ($this->blklvl>1) { // Close any open block tags @@ -16133,6 +19778,14 @@ function CloseTag($tag) // Output any text left in buffer if (count($this->textbuffer)) { $this->printbuffer($this->textbuffer); $this->textbuffer=array(); } } +/*-- COLUMNS --*/ + $save_cols = false; + if ($this->ColActive) { + $save_cols = true; + $save_nbcol = $this->NbCol; // other values of gap and vAlign will not change by setting Columns off + $this->SetColumns(0); + } +/*-- END COLUMNS --*/ if ($page_break_after == 'RIGHT') { $this->AddPage($this->CurOrientation,'NEXT-ODD','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } else if ($page_break_after == 'LEFT') { $this->AddPage($this->CurOrientation,'NEXT-EVEN','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } else { $this->AddPage($this->CurOrientation,'','','','','','', '','', '','','','','','',0,0,0,0,$pagesel); } @@ -16148,6 +19801,12 @@ function CloseTag($tag) $this->setCSS($properties,'','BODY'); } +/*-- COLUMNS --*/ + if ($save_cols) { + // Restore columns + $this->SetColumns($save_nbcol,$this->colvAlign,$this->ColGap); + } +/*-- END COLUMNS --*/ if ($this->restoreBlockPagebreaks) { $this->blk = $save_blk; // Re-open block tags @@ -16162,19 +19821,97 @@ function CloseTag($tag) unset($this->blk[$b+1]); $this->OpenTag($tc,$ac); } - $this->spanlvl = $save_spanlvl; $this->InlineProperties = $save_ilp; $this->restoreInlineProperties($save_silp); } } } +/*-- END TABLES --*/ + +/*-- LISTS --*/ + // *********** LISTS ******************** + + if($tag=='LI') { + $this->lastoptionaltag = ''; + unset($this->cssmgr->listcascadeCSS[$this->cssmgr->listCSSlvl]); + $this->cssmgr->listCSSlvl--; + if (isset($this->listoccur[$this->listlvl]) && isset($this->InlineProperties['LIST'][$this->listlvl][$this->listoccur[$this->listlvl]])) { $this->restoreInlineProperties($this->InlineProperties['LIST'][$this->listlvl][$this->listoccur[$this->listlvl]]); } + } + + + if(($tag=='UL') or ($tag=='OL')) { + $this->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces + unset($this->cssmgr->listcascadeCSS[$this->cssmgr->listCSSlvl]); + $this->cssmgr->listCSSlvl--; + + $this->lastoptionaltag = ''; +/*-- TABLES --*/ + // A simple list for inside a table + if($this->tableLevel) { + $this->listlist[$this->listlvl]['MAXNUM'] = $this->listnum; //save previous lvl's maxnum + unset($this->listlist[$this->listlvl]); + $this->listlvl--; + if (isset($this->listlist[$this->listlvl]['MAXNUM'])) { $this->listnum = $this->listlist[$this->listlvl]['MAXNUM']; } // restore previous levels + if ($this->listlvl == 0) { $this->listjustfinished = true; } + return; + } +/*-- END TABLES --*/ + + if ($this->listlvl > 1) { // returning one level + $this->listjustfinished=true; + if (!empty($this->textbuffer)) { + $this->listitem[] = array($this->listlvl,$this->listnum,$this->textbuffer,$this->listoccur[$this->listlvl],$this->listitemtype); + } + else { + $this->listnum--; + } + + $this->textbuffer = array(); + $occur = $this->listoccur[$this->listlvl]; + $this->listlist[$this->listlvl][$occur]['MAXNUM'] = $this->listnum; //save previous lvl's maxnum + $this->listlvl--; + $occur = $this->listoccur[$this->listlvl]; + $this->listnum = $this->listlist[$this->listlvl][$occur]['MAXNUM']; // recover previous level's number + $this->listtype = $this->listlist[$this->listlvl][$occur]['TYPE']; // recover previous level's type + if ($this->InlineProperties['LIST'][$this->listlvl][$occur]) { $this->restoreInlineProperties($this->InlineProperties['LIST'][$this->listlvl][$occur]); } + + } + else { // We are closing the last OL/UL tag + if (!empty($this->textbuffer)) { + $this->listitem[] = array($this->listlvl,$this->listnum,$this->textbuffer,$this->listoccur[$this->listlvl],$this->listitemtype); + } + else { + $this->listnum--; + } + $occur = $this->listoccur[$this->listlvl]; + $this->listlist[$this->listlvl][$occur]['MAXNUM'] = $this->listnum; + $this->textbuffer = array(); + $this->listlvl--; + + $this->printlistbuffer(); + unset($this->InlineProperties['LIST']); + // SPACING AFTER LIST (Top level only) + $this->Ln(0); + if ($this->list_margin_bottom) { + $this->DivLn($this->list_margin_bottom,$this->blklvl,true,1); // collapsible + } + if (isset($this->blk[$this->blklvl]['InlineProperties'])) { $this->restoreInlineProperties($this->blk[$this->blklvl]['InlineProperties']);} + $this->listjustfinished = true; + $this->cssmgr->listCSSlvl = 0; + $this->cssmgr->listcascadeCSS = array(); + $this->blockjustfinished=true; + $this->lastblockbottommargin = $this->list_margin_bottom; + } + } +/*-- END LISTS --*/ } +/*-- TABLES --*/ // This function determines the shrink factor when resizing tables // val is the table_height / page_height_available // returns a scaling factor used as $shrin_k to resize the table @@ -16192,8 +19929,345 @@ function tbsqrt($val, $iteration=3) { else { $ret = 1+(($val-1)/$x); } return $ret; } +/*-- END TABLES --*/ + + +/*-- LISTS --*/ +function printlistbuffer() { + //Save x coordinate + $x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin']; + $this->cMarginL = 0; + $this->cMarginR = 0; + $currIndentLvl = -1; + $lastIndent = array(); + $bak_page = $this->page; + $indent = 0; + foreach($this->listitem as $item) + { + // COLS + $oldcolumn = $this->CurrCol; + + $this->bulletarray = array(); + //Get list's buffered data + $this->listlvl = $lvl = $item[0]; + $num = $item[1]; + $this->textbuffer = $item[2]; + $occur = $item[3]; + if ($item[4]) { $type = $item[4]; } // listitemtype + else { $type = $this->listlist[$lvl][$occur]['TYPE']; } + $maxnum = $this->listlist[$lvl][$occur]['MAXNUM']; + $this->restoreInlineProperties($this->InlineProperties['LIST'][$lvl][$occur]); + $this->SetFont($this->FontFamily,$this->FontStyle,$this->FontSizePt,true,true); // force to write + $clh = $this->FontSize; + + $this->SetLineHeight($this->FontSizePt,$this->list_lineheight[$lvl][$occur]); + $this->listOcc = $occur; + $this->listnum = $num; + + if (isset($this->list_align[$this->listlvl][$occur])) { $this->divalign = $this->list_align[$this->listlvl][$occur]; } + else { + if (isset($this->blk[$this->blklvl]['direction']) && $this->blk[$this->blklvl]['direction']=='rtl') { $this->divalign = 'R'; } + else { $this->divalign = 'L'; } + } + + // Set the bullet fontsize + $bullfs = $this->InlineProperties['LISTITEM'][$lvl][$occur][$num]['size']; + + $space_width = $this->GetCharWidth(' ',false) * 1.5; + + //Set default width & height values + $this->divwidth = $this->blk[$this->blklvl]['inner_width']; + $this->divheight = $this->lineheight; + $typefont = $this->FontFamily; + if (preg_match('/U\+([a-fA-F0-9]+)/i',$type,$m)) { + if ($this->_charDefined($this->CurrentFont['cw'],hexdec($m[1]))) { $list_item_marker = codeHex2utf($m[1]); } + else { $list_item_marker = '-'; } + $blt_width = $this->GetStringWidth($list_item_marker); + $typefont = ''; + if (preg_match('/rgb\(.*?\)/',$type,$m)) { + $list_item_color = $this->ConvertColor($m[0]); + } + } + else { + $list_item_color = false; + + switch($type) //Format type + { + case '1': + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $num; } + else { $list_item_marker = $num . $this->list_number_suffix; } + $blt_width = $this->GetStringWidth(str_repeat('5',strlen($maxnum)).$this->list_number_suffix); + break; + case 'none': + $list_item_marker = ''; + $blt_width = 0; + break; + case 'A': + $anum = $this->dec2alpha($num,true); + $maxnum = $this->dec2alpha($maxnum,true); + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $anum; } + else { $list_item_marker = $anum . $this->list_number_suffix; } + $blt_width = $this->GetStringWidth(str_repeat('W',strlen($maxnum)).$this->list_number_suffix); + break; + case 'a': + $anum = $this->dec2alpha($num,false); + $maxnum = $this->dec2alpha($maxnum,false); + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $anum; } + else { $list_item_marker = $anum . $this->list_number_suffix; } + $blt_width = $this->GetStringWidth(str_repeat('m',strlen($maxnum)).$this->list_number_suffix); + break; + case 'I': + $anum = $this->dec2roman($num,true); + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $anum; } + else { $list_item_marker = $anum . $this->list_number_suffix; } + + if ($maxnum>87) { $bbit = 87; } + else if ($maxnum>86) { $bbit = 86; } + else if ($maxnum>37) { $bbit = 38; } + else if ($maxnum>36) { $bbit = 37; } + else if ($maxnum>27) { $bbit = 28; } + else if ($maxnum>26) { $bbit = 27; } + else if ($maxnum>17) { $bbit = 18; } + else if ($maxnum>16) { $bbit = 17; } + else if ($maxnum>7) { $bbit = 8; } + else if ($maxnum>6) { $bbit = 7; } + else if ($maxnum>3) { $bbit = 4; } + else { $bbit = $maxnum; } + $maxlnum = $this->dec2roman($bbit,true); + $blt_width = $this->GetStringWidth($maxlnum.$this->list_number_suffix); + break; + case 'i': + $anum = $this->dec2roman($num,false); + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $anum; } + else { $list_item_marker = $anum . $this->list_number_suffix; } + + if ($maxnum>87) { $bbit = 87; } + else if ($maxnum>86) { $bbit = 86; } + else if ($maxnum>37) { $bbit = 38; } + else if ($maxnum>36) { $bbit = 37; } + else if ($maxnum>27) { $bbit = 28; } + else if ($maxnum>26) { $bbit = 27; } + else if ($maxnum>17) { $bbit = 18; } + else if ($maxnum>16) { $bbit = 17; } + else if ($maxnum>7) { $bbit = 8; } + else if ($maxnum>6) { $bbit = 7; } + else if ($maxnum>3) { $bbit = 4; } + else { $bbit = $maxnum; } + $maxlnum = $this->dec2roman($bbit,false); + + $blt_width = $this->GetStringWidth($maxlnum.$this->list_number_suffix); + break; + case 'disc': + if ($this->PDFA || $this->PDFX) { + if ($this->_charDefined($this->CurrentFont['cw'],8226)) { $list_item_marker = "\xe2\x80\xa2"; } // • + else { $list_item_marker = '-'; } + $blt_width = $this->GetCharWidth($list_item_marker); + break; + } + $list_item_marker = chr(108); // bullet disc in Zapfdingbats 'l' + $typefont = 'czapfdingbats'; + $blt_width = (0.791 * $this->FontSize/2.5); + break; + case 'circle': + if ($this->PDFA || $this->PDFX) { + if ($this->_charDefined($this->CurrentFont['cw'],9900)) { $list_item_marker = "\xe2\x9a\xac"; } // ⚬ + else { $list_item_marker = '-'; } + $blt_width = $this->GetCharWidth($list_item_marker); + break; + } + $list_item_marker = chr(109); // circle in Zapfdingbats 'm' + $typefont = 'czapfdingbats'; + $blt_width = (0.873 * $this->FontSize/2.5); + break; + case 'square': + if ($this->PDFA || $this->PDFX) { + if ($this->_charDefined($this->CurrentFont['cw'],9642)) { $list_item_marker = "\xe2\x96\xaa"; } // ▪ + else { $list_item_marker = '-'; } + $blt_width = $this->GetCharWidth($list_item_marker); + break; + } + $list_item_marker = chr(110); //black square in Zapfdingbats font 'n' + $typefont = 'czapfdingbats'; + $blt_width = (0.761 * $this->FontSize/2.5); + break; + +/* CSS3 list-styles numeric + I added tamil +arabic-indic | bengali | cambodian | devanagari | gujarati | gurmukhi | kannada | khmer | lao | malayalam | mongolian | myanmar | oriya | persian | telugu | tibetan | thai | urdu +*/ + case 'arabic-indic': + $cp = 0x0660; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $this->list_number_suffix . $rnum; // RTL + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'persian': + case 'urdu': + $cp = 0x06F0; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $this->list_number_suffix . $rnum; // RTL + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'bengali': + $cp = 0x09E6; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'devanagari': + $cp = 0x0966; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'gujarati': + $cp = 0x0AE6; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'gurmukhi': + $cp = 0x0A66; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'kannada': + $cp = 0x0CE6; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'malayalam': + $cp = 0x0D66; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(6, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'oriya': + $cp = 0x0B66; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'telugu': + $cp = 0x0C66; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'tamil': + $cp = 0x0BE6; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(9, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'thai': + $cp = 0x0E50; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(5, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'khmer': + case 'cambodian': + $cp = 0x17E0; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(3, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + case 'lao': + $cp = 0x0ED0; + $rnum = $this->dec2other($num, $cp); + $list_item_marker = $rnum . $this->list_number_suffix; + $blt_width = $this->GetStringWidth(str_repeat($this->dec2other(6, $cp),strlen($maxnum)).$this->list_number_suffix); + break; + default: + if ($this->listDir == 'rtl') { $list_item_marker = $this->list_number_suffix . $num; } + else { $list_item_marker = $num . $this->list_number_suffix; } + $blt_width = $this->GetStringWidth(str_repeat('5',strlen($maxnum)).$this->list_number_suffix); + break; + } + } + + if (isset($item[5]) && $item[5]) { $list_item_marker = ''; } + if ($currIndentLvl < $lvl) { + if ($lvl > 1 || $this->list_indent_first_level) { + $indent += $this->list_indent[$lvl][$occur]; + $lastIndent[$lvl] = $this->list_indent[$lvl][$occur]; + } + } + else if ($currIndentLvl > $lvl) { + while ($currIndentLvl > $lvl) { + $indent -= $lastIndent[$currIndentLvl]; + $currIndentLvl--; + } + } + $currIndentLvl = $lvl; + + +/*-- RTL --*/ + + if ($this->listDir == 'rtl') { + // list_align_style Determines alignment of numbers in numbered lists + if ($this->list_align_style == 'L') { $lalign = 'R'; } + else { $lalign = 'L'; } + $this->divwidth = $this->blk[$this->blklvl]['width'] - ($indent + $blt_width + $space_width) ; + $xb = $this->blk[$this->blklvl]['inner_width'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_left'] - $indent - $blt_width; //Bullet position (relative) + //Output bullet + $this->bulletarray = array('w'=>$blt_width,'h'=>$clh,'txt'=>$list_item_marker,'x'=>$xb,'align'=>$lalign,'font'=>$typefont,'level'=>$lvl, 'occur'=>$occur, 'num'=>$num, 'fontsize'=>$bullfs, 'col'=>$list_item_color ); + $this->x = $x; + } + else { +/*-- END RTL --*/ + + if ($this->list_align_style == 'L') { $lalign = 'L'; } + else { $lalign = 'R'; } + $this->divwidth = $this->blk[$this->blklvl]['width'] - ($indent + $blt_width + $space_width) ; + $xb = $this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'] - $blt_width - $space_width; + //Output bullet + $this->bulletarray = array('w'=>$blt_width,'h'=>$clh,'txt'=>$list_item_marker,'x'=>$xb,'align'=>$lalign,'font'=>$typefont,'level'=>$lvl, 'occur'=>$occur, 'num'=>$num, 'fontsize'=>$bullfs, 'col'=>$list_item_color ); + $this->x = $x + $indent + $blt_width + $space_width; + } // *RTL* + + //Print content + $this->printbuffer($this->textbuffer,'',false,true); + $this->textbuffer=array(); + + // Added to correct for OddEven Margins + if ($this->page != $bak_page) { + if (($this->page-$bak_page) % 2 == 1) { + $x += $this->MarginCorrection; + } + $bak_page = $this->page; + } +/*-- COLUMNS --*/ + // OR COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($this->directionality == 'rtl') { // *RTL* + $x -= ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $x += ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + $oldcolumn = $this->CurrCol; + } +/*-- END COLUMNS --*/ + + } + //Reset all used values + $this->listoccur = array(); + $this->listitem = array(); + $this->listlist = array(); + $this->listlvl = 0; + $this->listnum = 0; + $this->listtype = ''; + $this->textbuffer = array(); + $this->divwidth = 0; + $this->divheight = 0; + $this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin']; +} +/*-- END LISTS --*/ function _saveTextBuffer($t, $link = '', $intlink = '') { // $this->textbuffer[] = array($t,$link,$this->currentfontstyle,$this->colorarray,$this->currentfontfamily,$this->SUP,$this->SUB,$intlink,$this->strike,$this->textparam,$this->spanbgcolorarray,$this->currentfontsize,$this->ReqFontStyle,$this->kerning,$this->lSpacingCSS,$this->wSpacingCSS,$this->spanborddet, $this->textshadow); @@ -16258,6 +20332,7 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $this->spanborddet = array(); $paint_ht_corr = 0; +/*-- CSS-FLOAT --*/ if (count($this->floatDivs)) { list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->GetFloatDivInfo($this->blklvl); if (($this->blk[$this->blklvl]['inner_width']-$l_width-$r_width) < (2*$this->GetCharWidth('W',false))) { @@ -16271,6 +20346,7 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) else { $this->ClearFloats('BOTH', $this->blklvl); } } } +/*-- END CSS-FLOAT --*/ $bak_y = $this->y; $bak_x = $this->x; $align = ''; @@ -16346,13 +20422,13 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) if(isset($vetor[15])) { // Word spacing $this->wSpacingCSS = $vetor[15]; if ($this->wSpacingCSS && strtoupper($this->wSpacingCSS) != 'NORMAL') { - $this->minwSpacing = $this->ConvertSize($this->wSpacingCSS,$this->FontSize); + $this->minwSpacing = $this->ConvertSize($this->wSpacingCSS,$this->FontSize)/$this->shrin_k; // mPDF 5.7.3 } } if(isset($vetor[14])) { // Letter spacing $this->lSpacingCSS = $vetor[14]; if (($this->lSpacingCSS || $this->lSpacingCSS==='0') && strtoupper($this->lSpacingCSS) != 'NORMAL') { - $this->fixedlSpacing = $this->ConvertSize($this->lSpacingCSS,$this->FontSize); + $this->fixedlSpacing = $this->ConvertSize($this->lSpacingCSS,$this->FontSize)/$this->shrin_k; // mPDF 5.7.3 } } if(isset($vetor[13])) { // Font Kerning @@ -16369,6 +20445,12 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) { $this->textparam = $vetor[9] ; // mPDF 5.6.14 $this->SetTextOutline($this->textparam); // mPDF 5.6.07 + // mPDF 5.7.3 inline text-decoration parameters + if ($is_table && $this->shrin_k) { + if (isset($this->textparam['text-baseline'])) { $this->textparam['text-baseline'] /= $this->shrin_k; } + if (isset($this->textparam['decoration-baseline'])) { $this->textparam['decoration-baseline'] /= $this->shrin_k; } + if (isset($this->textparam['decoration-fontsize'])) { $this->textparam['decoration-fontsize'] /= $this->shrin_k; } + } } if(isset($vetor[8]) and $vetor[8] === true) // strike-through the text { @@ -16432,6 +20514,7 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $objattr = $this->_getObjAttr($vetor[0]); +/*-- TABLES --*/ if ($objattr['type'] == 'nestedtable') { if ($objattr['nestedcontent']) { $level = $objattr['level']; @@ -16491,6 +20574,7 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) } } else { +/*-- END TABLES --*/ if ($is_table) { // *TABLES* $maxWidth = $this->divwidth; // *TABLES* } // *TABLES* @@ -16498,9 +20582,11 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $maxWidth = $this->divwidth - ($this->blk[$this->blklvl]['padding_left'] + $this->blk[$this->blklvl]['border_left']['w'] + $this->blk[$this->blklvl]['padding_right'] + $this->blk[$this->blklvl]['border_right']['w']); } // *TABLES* +/*-- CSS-IMAGE-FLOAT --*/ // If float (already) exists at this level if (isset($this->floatmargins['R']) && $this->y <= $this->floatmargins['R']['y1'] && $this->y >= $this->floatmargins['R']['y0']) { $maxWidth -= $this->floatmargins['R']['w']; } if (isset($this->floatmargins['L']) && $this->y <= $this->floatmargins['L']['y1'] && $this->y >= $this->floatmargins['L']['y0']) { $maxWidth -= $this->floatmargins['L']['w']; } +/*-- END CSS-IMAGE-FLOAT --*/ list($skipln) = $this->inlineObject($objattr['type'], '', $this->y, $objattr,$this->lMargin, ($this->flowingBlockAttr['contentWidth']/_MPDFK), $maxWidth, $this->flowingBlockAttr['height'], false, $is_table); // 1 -> New line needed because of width @@ -16545,7 +20631,25 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $old_height = 0; } $this->x = $bak_x; - +/*-- COLUMNS --*/ + // COLS + // OR COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($this->directionality == 'rtl') { // *RTL* + $bak_x -= ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $bak_x += ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + $this->x = $bak_x; + $oldcolumn = $this->CurrCol; + $y = $this->y0 - $paint_ht_corr ; + $this->oldy = $this->y0 - $paint_ht_corr ; + $old_height = 0; + } +/*-- END COLUMNS --*/ + +/*-- CSS-IMAGE-FLOAT --*/ if ($objattr['type'] == 'image' && isset($objattr['float'])) { $fy = $this->y; @@ -16677,8 +20781,11 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) } } else { +/*-- END CSS-IMAGE-FLOAT --*/ $this->WriteFlowingBlock($vetor[0]); +/*-- CSS-IMAGE-FLOAT --*/ } +/*-- END CSS-IMAGE-FLOAT --*/ } // *TABLES* } // END If special content @@ -16695,6 +20802,7 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) } else if (!$is_table) { $this->DivLn($this->lineheight); + if ($this->ColActive) { $this->breakpoints[$this->CurrCol][] = $this->y; } // *COLUMNS* } // Added to correct for OddEven Margins if ($this->page != $oldpage) { @@ -16707,6 +20815,23 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $old_height = 0; } $this->x = $bak_x; +/*-- COLUMNS --*/ + // COLS + // OR COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($this->directionality == 'rtl') { // *RTL* + $bak_x -= ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $bak_x += ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + $this->x = $bak_x; + $oldcolumn = $this->CurrCol; + $y = $this->y0 - $paint_ht_corr ; + $this->oldy = $this->y0 - $paint_ht_corr ; + $old_height = 0; + } +/*-- END COLUMNS --*/ $this->newFlowingBlock( $this->divwidth,$this->divheight,$align,$is_table,$is_list,$blockstate,false,$blockdir); } else { @@ -16723,6 +20848,23 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $this->oldy = $this->tMargin - $paint_ht_corr ; $old_height = 0; } +/*-- COLUMNS --*/ + // COLS + // OR COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($this->directionality == 'rtl') { // *RTL* + $bak_x -= ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $bak_x += ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + $this->x = $bak_x; + $oldcolumn = $this->CurrCol; + $y = $this->y0 - $paint_ht_corr ; + $this->oldy = $this->y0 - $paint_ht_corr ; + $old_height = 0; + } +/*-- END COLUMNS --*/ } @@ -16743,6 +20885,23 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $old_height = 0; } +/*-- COLUMNS --*/ + // COLS + // OR COLUMN CHANGE + if ($this->CurrCol != $oldcolumn) { + if ($this->directionality == 'rtl') { // *RTL* + $bak_x -= ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); // *RTL* + } // *RTL* + else { // *RTL* + $bak_x += ($this->CurrCol - $oldcolumn) * ($this->ColWidth+$this->ColGap); + } // *RTL* + $this->x = $bak_x; + $oldcolumn = $this->CurrCol; + $y = $this->y0 - $paint_ht_corr ; + $this->oldy = $this->y0 - $paint_ht_corr ; + $old_height = 0; + } +/*-- END COLUMNS --*/ } @@ -16767,10 +20926,18 @@ function printbuffer($arrayaux,$blockstate=0,$is_table=false,$is_list=false) $this->currentfontfamily = ''; $this->currentfontsize = ''; $this->currentfontstyle = ''; +/*-- TABLES --*/ if ($this->tableLevel) { $this->SetLineHeight('',$this->table_lineheight); // *TABLES* } else +/*-- END TABLES --*/ +/*-- LISTS --*/ + if ($is_list && $this->list_lineheight[$this->listlvl][$this->listOcc]) { + $this->SetLineHeight('',$this->list_lineheight[$this->listlvl][$this->listOcc]); // sets default line height + } + else +/*-- END LISTS --*/ if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) { $this->SetLineHeight('',$this->blk[$this->blklvl]['line_height']); // sets default line height } @@ -16838,6 +21005,7 @@ function _setBorderLine($b, $k=1) { // mPDF 5.6.52 function PaintDivBB($divider='',$blockstate=0,$blvl=0) { // Borders & backgrounds are done elsewhere for columns - messes up the repositioning in printcolumnbuffer + if ($this->ColActive) { return ; } // *COLUMNS* $save_y = $this->y; if (!$blvl) { $blvl = $this->blklvl; } $x0 = $x1 = $y0 = $y1 = 0; @@ -16883,6 +21051,56 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $brBR_V = 0; $brset = false; +/*-- BORDER-RADIUS --*/ + if (isset($this->blk[$blvl]['border_radius_TL_H'])) { $brTL_H = $this->blk[$blvl]['border_radius_TL_H']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_TL_V'])) { $brTL_V = $this->blk[$blvl]['border_radius_TL_V']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_TR_H'])) { $brTR_H = $this->blk[$blvl]['border_radius_TR_H']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_TR_V'])) { $brTR_V = $this->blk[$blvl]['border_radius_TR_V']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_BR_H'])) { $brBR_H = $this->blk[$blvl]['border_radius_BR_H']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_BR_V'])) { $brBR_V = $this->blk[$blvl]['border_radius_BR_V']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_BL_H'])) { $brBL_H = $this->blk[$blvl]['border_radius_BL_H']; $brset = true; } + if (isset($this->blk[$blvl]['border_radius_BL_V'])) { $brBL_V = $this->blk[$blvl]['border_radius_BL_V']; $brset = true; } + + // mPDF 5.4.17 + //if (!$this->blk[$blvl]['border_top'] || $divider == 'pagetop' || $continuingpage || $this->keep_block_together) { + if (!$this->blk[$blvl]['border_top'] || $divider == 'pagetop' || $continuingpage) { + $brTL_H = 0; + $brTL_V = 0; + $brTR_H = 0; + $brTR_V = 0; + } + // mPDF 5.4.17 + //if (!$this->blk[$blvl]['border_bottom'] || $blockstate == 1 || $divider == 'pagebottom' || $this->keep_block_together) { + if (!$this->blk[$blvl]['border_bottom'] || $blockstate == 1 || $divider == 'pagebottom') { + $brBL_H = 0; + $brBL_V = 0; + $brBR_H = 0; + $brBR_V = 0; + } + + // Disallow border-radius if it is smaller than the border width. + if ($brTL_H < min($border_left, $border_top)) { $brTL_H = $brTL_V = 0; } + if ($brTL_V < min($border_left, $border_top)) { $brTL_V = $brTL_H = 0; } + if ($brTR_H < min($border_right, $border_top)) { $brTR_H = $brTR_V = 0; } + if ($brTR_V < min($border_right, $border_top)) { $brTR_V = $brTR_H = 0; } + if ($brBL_H < min($border_left, $border_bottom)) { $brBL_H = $brBL_V = 0; } + if ($brBL_V < min($border_left, $border_bottom)) { $brBL_V = $brBL_H = 0; } + if ($brBR_H < min($border_right, $border_bottom)) { $brBR_H = $brBR_V = 0; } + if ($brBR_V < min($border_right, $border_bottom)) { $brBR_V = $brBR_H = 0; } + + // CHECK FOR radii that sum to > width or height of div ******** + $f = min($h/($brTL_V + $brBL_V + 0.001), $h/($brTR_V + $brBR_V + 0.001), $w/($brTL_H + $brTR_H + 0.001), $w/($brBL_H + $brBR_H + 0.001)); + if ($f < 1) { + $brTL_H *= $f; + $brTL_V *= $f; + $brTR_H *= $f; + $brTR_V *= $f; + $brBL_H *= $f; + $brBL_V *= $f; + $brBR_H *= $f; + $brBR_V *= $f; + } +/*-- END BORDER-RADIUS --*/ $tbcol = $this->ConvertColor(255); for($l=0; $l <= $blvl; $l++) { @@ -16953,12 +21171,45 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $legbreakR += $border_top/2; $this->_setDashBorder($tbd['style'],$divider,$continuingpage,'T'); } +/*-- BORDER-RADIUS --*/ + else if (($brTL_V && $brTL_H) || ($brTR_V && $brTR_H) || $tbd['style']=='solid' || $tbd['style']=='double' ) { // mPDF 5.6.58 + $this->SetLineJoin(0); + $this->SetLineCap(0); + } + $s = ''; + if ($brTR_H && $brTR_V) { + $s .= ($this->_EllipseArc($x0 + $w - $brTR_H, $y0 + $brTR_V, $brTR_H - $border_top/2 , $brTR_V - $border_top/2 , 1, 2, true))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F m ',($x0 + $w)*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; } else { $s .= (sprintf('%.3F %.3F m ',($x0 + $w - ($border_top/2))*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; } +/*-- BORDER-RADIUS --*/ + if ($brTL_H && $brTL_V ) { + // mPDF 5.4.18 + if ($legend) { + if ($legbreakR < ($x0 + $w - $brTR_H)) { + $s .= (sprintf('%.3F %.3F l ', $legbreakR*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; + } + if ($legbreakL > ($x0 + $brTL_H )) { + $s .= (sprintf('%.3F %.3F m ',$legbreakL*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; + $s .= (sprintf('%.3F %.3F l ',($x0 + $brTL_H )*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK)."\n"); + } + else { + $s .= (sprintf('%.3F %.3F m ',($x0 + $brTL_H )*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; + } + } + else { + $s .= (sprintf('%.3F %.3F l ',($x0 + $brTL_H )*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; + } + $s .= ($this->_EllipseArc($x0 + $brTL_H, $y0 + $brTL_V, $brTL_H - $border_top/2 , $brTL_V - $border_top/2 , 2, 1))."\n"; + } + else { +/*-- END BORDER-RADIUS --*/ // mPDF 5.4.18 if ($legend) { if ($legbreakR < ($x0 + $w)) { @@ -16986,6 +21237,9 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { else { $s .= (sprintf('%.3F %.3F l ',($x0 + ($border_top/2))*_MPDFK, ($this->h-($y0 + ($border_top/2)))*_MPDFK))."\n"; } +/*-- BORDER-RADIUS --*/ + } +/*-- END BORDER-RADIUS --*/ $s .= 'S'."\n"; $this->_out($s); @@ -17021,12 +21275,30 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $this->_setBorderLine($tbd); if ($tbd['style']=='dotted' || $tbd['style']=='dashed') { $this->_setDashBorder($tbd['style'],$divider,$continuingpage,'B'); } +/*-- BORDER-RADIUS --*/ + else if (($brBL_V && $brBL_H) || ($brBR_V && $brBR_H) || $tbd['style']=='solid' || $tbd['style']=='double' ) { // mPDF 5.6.58 + $this->SetLineJoin(0); + $this->SetLineCap(0); + } + $s = ''; + if ($brBL_H && $brBL_V) { + $s .= ($this->_EllipseArc($x0 + $brBL_H, $y0 + $h - $brBL_V, $brBL_H - $border_bottom/2 , $brBL_V - $border_bottom/2 , 3, 2, true))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F m ',($x0)*_MPDFK, ($this->h-($y0 + $h - ($border_bottom/2)))*_MPDFK))."\n"; } else { $s .= (sprintf('%.3F %.3F m ',($x0 + ($border_bottom/2))*_MPDFK, ($this->h-($y0 + $h - ($border_bottom/2)))*_MPDFK))."\n"; } +/*-- BORDER-RADIUS --*/ + if ($brBR_H && $brBR_V ) { + $s .= (sprintf('%.3F %.3F l ',($x0 + $w - ($border_bottom/2) - $brBR_H )*_MPDFK, ($this->h-($y0 + $h - ($border_bottom/2)))*_MPDFK))."\n"; + $s .= ($this->_EllipseArc($x0 + $w - $brBR_H, $y0 + $h - $brBR_V, $brBR_H - $border_bottom/2 , $brBR_V - $border_bottom/2 , 4, 1))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F l ',($x0 + $w)*_MPDFK, ($this->h-($y0 + $h - ($border_bottom/2)))*_MPDFK))."\n"; } @@ -17067,12 +21339,30 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $this->_setBorderLine($tbd); if ($tbd['style']=='dotted' || $tbd['style']=='dashed') { $this->_setDashBorder($tbd['style'],$divider,$continuingpage,'L'); } +/*-- BORDER-RADIUS --*/ + else if (($brTL_V && $brTL_H) || ($brBL_V && $brBL_H) || $tbd['style']=='solid' || $tbd['style']=='double' ) { // mPDF 5.6.58 + $this->SetLineJoin(0); + $this->SetLineCap(0); + } + $s = ''; + if ($brTL_V && $brTL_H) { + $s .= ($this->_EllipseArc($x0 + $brTL_H, $y0 + $brTL_V, $brTL_H - $border_left/2 , $brTL_V - $border_left/2, 2, 2, true))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F m ',($x0 + ($border_left/2))*_MPDFK, ($this->h-($y0))*_MPDFK))."\n"; } else { $s .= (sprintf('%.3F %.3F m ',($x0 + ($border_left/2))*_MPDFK, ($this->h-($y0 + ($border_left/2)))*_MPDFK))."\n"; } +/*-- BORDER-RADIUS --*/ + if ($brBL_V && $brBL_H ) { + $s .= (sprintf('%.3F %.3F l ',($x0 + ($border_left/2))*_MPDFK, ($this->h-($y0 + $h - ($border_left/2)- $brBL_V) )*_MPDFK))."\n"; + $s .= ($this->_EllipseArc($x0 + $brBL_H, $y0 + $h - $brBL_V, $brBL_H - $border_left/2 , $brBL_V - $border_left/2, 3, 1))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F l ',($x0 + ($border_left/2))*_MPDFK, ($this->h-($y0 + $h) )*_MPDFK))."\n"; } @@ -17112,12 +21402,30 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $this->_setBorderLine($tbd); if ($tbd['style']=='dotted' || $tbd['style']=='dashed') { $this->_setDashBorder($tbd['style'],$divider,$continuingpage,'R'); } +/*-- BORDER-RADIUS --*/ + else if (($brTR_V && $brTR_H) || ($brBR_V && $brBR_H) || $tbd['style']=='solid' || $tbd['style']=='double' ) { // mPDF 5.6.58 + $this->SetLineJoin(0); + $this->SetLineCap(0); + } + $s = ''; + if ($brBR_V && $brBR_H) { + $s .= ($this->_EllipseArc($x0 + $w - $brBR_H, $y0 + $h - $brBR_V, $brBR_H - $border_right/2 , $brBR_V - $border_right/2, 4, 2, true))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F m ',($x0 + $w - ($border_right/2))*_MPDFK, ($this->h-($y0 + $h))*_MPDFK))."\n"; } else { $s .= (sprintf('%.3F %.3F m ',($x0 + $w - ($border_right/2))*_MPDFK, ($this->h-($y0 + $h - ($border_right/2)))*_MPDFK))."\n"; } +/*-- BORDER-RADIUS --*/ + if ($brTR_V && $brTR_H ) { + $s .= (sprintf('%.3F %.3F l ',($x0 + $w - ($border_right/2))*_MPDFK, ($this->h-($y0 + ($border_right/2) + $brTR_V) )*_MPDFK))."\n"; + $s .= ($this->_EllipseArc($x0 + $w - $brTR_H, $y0 + $brTR_V, $brTR_H - $border_right/2 , $brTR_V - $border_right/2, 1, 1))."\n"; + } + else +/*-- END BORDER-RADIUS --*/ if ($tbd['style']=='solid' || $tbd['style']=='double') { $s .= (sprintf('%.3F %.3F l ',($x0 + $w - ($border_right/2))*_MPDFK, ($this->h-($y0) )*_MPDFK))."\n"; } @@ -17209,9 +21517,29 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { // Set clipping path $s = ' q 0 w '; // Line width=0 $s .= sprintf('%.3F %.3F m ', ($bgx0+$brbgTL_H )*_MPDFK, ($this->h-$bgy0)*_MPDFK); // start point TL before the arc +/*-- BORDER-RADIUS --*/ + if ($brbgTL_H || $brbgTL_V) { + $s .= $this->_EllipseArc($bgx0+$brbgTL_H, $bgy0+$brbgTL_V, $brbgTL_H , $brbgTL_V , 2); // segment 2 TL + } +/*-- END BORDER-RADIUS --*/ $s .= sprintf('%.3F %.3F l ', ($bgx0)*_MPDFK, ($this->h-($bgy1-$brbgBL_V ))*_MPDFK); // line to BL +/*-- BORDER-RADIUS --*/ + if ($brbgBL_H || $brbgBL_V) { + $s .= $this->_EllipseArc($bgx0+$brbgBL_H, $bgy1-$brbgBL_V, $brbgBL_H , $brbgBL_V , 3); // segment 3 BL + } +/*-- END BORDER-RADIUS --*/ $s .= sprintf('%.3F %.3F l ', ($bgx1-$brbgBR_H )*_MPDFK, ($this->h-($bgy1))*_MPDFK); // line to BR +/*-- BORDER-RADIUS --*/ + if ($brbgBR_H || $brbgBR_V) { + $s .= $this->_EllipseArc($bgx1-$brbgBR_H, $bgy1-$brbgBR_V, $brbgBR_H , $brbgBR_V , 4); // segment 4 BR + } +/*-- END BORDER-RADIUS --*/ $s .= sprintf('%.3F %.3F l ', ($bgx1)*_MPDFK, ($this->h-($bgy0+$brbgTR_V))*_MPDFK); // line to TR +/*-- BORDER-RADIUS --*/ + if ($brbgTR_H || $brbgTR_V) { + $s .= $this->_EllipseArc($bgx1-$brbgTR_H, $bgy0+$brbgTR_V, $brbgTR_H , $brbgTR_V , 1); // segment 1 TR + } +/*-- END BORDER-RADIUS --*/ $s .= sprintf('%.3F %.3F l ', ($bgx0+$brbgTL_H )*_MPDFK, ($this->h-$bgy0)*_MPDFK); // line to TL @@ -17522,6 +21850,7 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $this->pageBackgrounds[$blvl][] = array('shadowonly'=>true, 'col'=>'', 'clippath'=>'', 'visibility'=>$this->visibility, 'shadow'=>$shadow, 'z-index'=>$this->current_layer); // mPDF 5.6.01 } +/*-- BACKGROUNDS --*/ if (isset($this->blk[$blvl]['gradient'])) { $g = $this->grad->parseBackgroundGradient($this->blk[$blvl]['gradient']); if ($g) { @@ -17632,12 +21961,73 @@ function PaintDivBB($divider='',$blockstate=0,$blvl=0) { $this->pageBackgrounds[$blvl][] = array('x'=>$x0, 'y'=>$y0, 'w'=>$w, 'h'=>$h, 'image_id'=>$image_id, 'orig_w'=>$orig_w, 'orig_h'=>$orig_h, 'x_pos'=>$x_pos, 'y_pos'=>$y_pos, 'x_repeat'=>$x_repeat, 'y_repeat'=>$y_repeat, 'clippath'=>$s, 'resize'=>$resize, 'opacity'=>$opacity, 'itype'=>$itype, 'visibility'=>$this->visibility, 'z-index'=>$this->current_layer, 'size'=>$size, 'bpa'=>$bpa ); // mPDF 5.6.01 5.6.10 } } +/*-- END BACKGROUNDS --*/ // Float DIV $this->blk[$blvl]['bb_painted'][$this->page] = true; } +/*-- BORDER-RADIUS --*/ + +function _EllipseArc($x0, $y0, $rx, $ry, $seg = 1, $part=false, $start=false) { // Anticlockwise segment 1-4 TR-TL-BL-BR (part=1 or 2) + $s = ''; + if ($rx<0) { $rx = 0; } + if ($ry<0) { $ry = 0; } + $rx *= _MPDFK; + $ry *= _MPDFK; + $astart = 0; + if ($seg == 1) { // Top Right + $afinish = 90; + $nSeg = 4; + } + else if ($seg == 2) { // Top Left + $afinish = 180; + $nSeg = 8; + } + else if ($seg == 3) { // Bottom Left + $afinish = 270; + $nSeg = 12; + } + else { // Bottom Right + $afinish = 360; + $nSeg = 16; + } + $astart = deg2rad((float) $astart); + $afinish = deg2rad((float) $afinish); + $totalAngle = $afinish - $astart; + $dt = $totalAngle / $nSeg; // segment angle + $dtm = $dt/3; + $x0 *= _MPDFK; + $y0 = ($this->h - $y0) * _MPDFK; + $t1 = $astart; + $a0 = $x0 + ($rx * cos($t1)); + $b0 = $y0 + ($ry * sin($t1)); + $c0 = -$rx * sin($t1); + $d0 = $ry * cos($t1); + $op = false; + for ($i = 1; $i <= $nSeg; $i++) { + // Draw this bit of the total curve + $t1 = ($i * $dt) + $astart; + $a1 = $x0 + ($rx * cos($t1)); + $b1 = $y0 + ($ry * sin($t1)); + $c1 = -$rx * sin($t1); + $d1 = $ry * cos($t1); + if ($i>($nSeg-4) && (!$part || ($part == 1 && $i<=$nSeg-2) || ($part == 2 && $i>$nSeg-2))) { + if ($start && !$op) { + $s .= sprintf('%.3F %.3F m ', $a0, $b0); + } + $s .= sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c ', ($a0 + ($c0 * $dtm)), ($b0 + ($d0 * $dtm)), ($a1 - ($c1 * $dtm)) , ($b1 - ($d1 * $dtm)), $a1 , $b1 ); + $op = true; + } + $a0 = $a1; + $b0 = $b1; + $c0 = $c1; + $d0 = $d1; + } + return $s; +} +/*-- END BORDER-RADIUS --*/ @@ -17750,6 +22140,7 @@ function PaintDivLnBorder($state=0,$blvl=0,$h) { function PaintImgBorder($objattr,$is_table) { // Borders are disabled in columns - messes up the repositioning in printcolumnbuffer + if ($this->ColActive) { return ; } // *COLUMNS* if ($is_table) { $k = $this->shrin_k; } else { $k = 1; } $h = (isset($objattr['BORDER-HEIGHT']) ? $objattr['BORDER-HEIGHT'] : 0); $w = (isset($objattr['BORDER-WIDTH']) ? $objattr['BORDER-WIDTH'] : 0); @@ -17809,6 +22200,7 @@ function PaintImgBorder($objattr,$is_table) { $this->SetAlpha(1); } +/*-- END HTML-CSS --*/ @@ -17842,10 +22234,19 @@ function Reset() { $this->currentfontfamily = ''; $this->currentfontsize = ''; +/*-- TABLES --*/ if ($this->tableLevel) { $this->SetLineHeight('',$this->table_lineheight); // *TABLES* } else +/*-- END TABLES --*/ +/*-- LISTS --*/ + + if ($this->listlvl && $this->list_lineheight[$this->listlvl][$this->bulletarray['occur']]) { + $this->SetLineHeight('',$this->list_lineheight[$this->listlvl][$this->bulletarray['occur']]); // sets default line height + } + else +/*-- END LISTS --*/ if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) { $this->SetLineHeight('',$this->blk[$this->blklvl]['line_height']); // sets default line height } @@ -17875,6 +22276,7 @@ function Reset() { } +/*-- HTML-CSS --*/ function ReadMetaTags($html) { // changes anykey=anyvalue to anykey="anyvalue" (only do this when this happens inside tags) $regexp = '/ (\\w+?)=([^\\s>"]+)/si'; @@ -17911,6 +22313,10 @@ function ReadCharset($html) { function setCSS($arrayaux,$type='',$tag='') { // type= INLINE | BLOCK | LIST // tag= BODY if (!is_array($arrayaux)) return; //Removes PHP Warning + // mPDF 5.7.3 inline text-decoration parameters + $preceeding_fontkey = $this->FontFamily . $this->FontStyle; + $preceeding_fontsize = $this->FontSize; + // Set font size first so that e.g. MARGIN 0.83em works on font size for this element if (isset($arrayaux['FONT-SIZE'])) { $v = $arrayaux['FONT-SIZE']; @@ -18051,6 +22457,32 @@ function setCSS($arrayaux,$type='',$tag='') { // type= INLINE | BLOCK | LIST // $this->blk[$this->blklvl]['margin_right'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); break; +/*-- BORDER-RADIUS --*/ + case 'BORDER-TOP-LEFT-RADIUS-H': + $this->blk[$this->blklvl]['border_radius_TL_H'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-TOP-LEFT-RADIUS-V': + $this->blk[$this->blklvl]['border_radius_TL_V'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-TOP-RIGHT-RADIUS-H': + $this->blk[$this->blklvl]['border_radius_TR_H'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-TOP-RIGHT-RADIUS-V': + $this->blk[$this->blklvl]['border_radius_TR_V'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-BOTTOM-LEFT-RADIUS-H': + $this->blk[$this->blklvl]['border_radius_BL_H'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-BOTTOM-LEFT-RADIUS-V': + $this->blk[$this->blklvl]['border_radius_BL_V'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-BOTTOM-RIGHT-RADIUS-H': + $this->blk[$this->blklvl]['border_radius_BR_H'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; + case 'BORDER-BOTTOM-RIGHT-RADIUS-V': + $this->blk[$this->blklvl]['border_radius_BR_V'] = $this->ConvertSize($v,$this->blk[$this->blklvl-1]['inner_width'],$this->FontSize,false); + break; +/*-- END BORDER-RADIUS --*/ case 'BOX-SHADOW': $bs = $this->cssmgr->setCSSboxshadow($v); @@ -18111,11 +22543,13 @@ function setCSS($arrayaux,$type='',$tag='') { // type= INLINE | BLOCK | LIST // } break; +/*-- BACKGROUNDS --*/ case 'BACKGROUND-GRADIENT': if ($type == 'BLOCK') { $this->blk[$this->blklvl]['gradient'] = $v; } break; +/*-- END BACKGROUNDS --*/ case 'DIRECTION': if ($v) { $this->blk[$this->blklvl]['direction'] = strtolower($v); } @@ -18245,31 +22679,42 @@ function setCSS($arrayaux,$type='',$tag='') { // type= INLINE | BLOCK | LIST // case 'VERTICAL-ALIGN': //super and sub only dealt with here e.g. and switch (strtoupper($v)) { - case 'SUPER': + case 'SUPER': $this->SUP=true; $this->SUB=false; // mPDF 5.6.07 - break; - case 'SUB': + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['text-baseline'])) { $this->textparam['text-baseline'] += ($this->baselineSup)*$preceeding_fontsize; } + else { $this->textparam['text-baseline'] = ($this->baselineSup)*$preceeding_fontsize; } + break; + case 'SUB': $this->SUB=true; $this->SUP=false; // mPDF 5.6.07 - break; - case 'BASELINE': // mPDF 5.6.07 + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['text-baseline'])) { $this->textparam['text-baseline'] += ($this->baselineSub)*$preceeding_fontsize; } + else { $this->textparam['text-baseline'] = ($this->baselineSub)*$preceeding_fontsize; } + break; + case 'BASELINE': // mPDF 5.6.07 $this->SUB=false; $this->SUP=false; - break; - } - break; - - case 'TEXT-DECORATION': // none underline line-through (strikeout) //Does not support: overline, blink - if (stristr($v,'LINE-THROUGH')) { - $this->strike = true; - } - else if (stristr($v,'UNDERLINE')) { - $this->SetStyle('U',true); - } - else if (stristr($v,'NONE')) { - $this->SetStyle('U',false); - $this->strike = false; // mPDF 5.6.07 + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['text-baseline'])) { unset($this->textparam['text-baseline']); } + break; + // mPDF 5.7.3 inline text-decoration parameters + default: + $lh = $this->_computeLineheight($this->blk[$this->blklvl]['line_height']); + $sz = $this->ConvertSize($v,$lh,$this->FontSize,false); + $this->SUP=false; + $this->SUB=false; + if ($sz) { + if ($sz > 0) { + $this->SUP=true; + } + else { + $this->SUB=true; + } + if (isset($this->textparam['text-baseline'])) { $this->textparam['text-baseline'] += $sz; } + else { $this->textparam['text-baseline'] = $sz; } + } } break; @@ -18367,8 +22812,42 @@ function setCSS($arrayaux,$type='',$tag='') { // type= INLINE | BLOCK | LIST // }//end of foreach + + + // mPDF 5.7.3 inline text-decoration parameters + // Needs to be set at the end - after vertical-align = super/sub, so that textparam['text-baseline'] is set + if (isset($arrayaux['TEXT-DECORATION'])) { + $v = $arrayaux['TEXT-DECORATION']; // none underline line-through (strikeout) //Does not support: overline, blink + if (stristr($v,'LINE-THROUGH')) { + $this->strike = true; + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['text-baseline'])) { $this->textparam['s-decoration']['baseline'] = $this->textparam['text-baseline']; } + else { $this->textparam['s-decoration']['baseline'] = 0; } + $this->textparam['s-decoration']['fontkey'] = $this->FontFamily . $this->FontStyle; + $this->textparam['s-decoration']['fontsize'] = $this->FontSize; + $this->textparam['s-decoration']['color'] = strtoupper($this->TextColor); // change 0 0 0 rg to 0 0 0 RG + } + if (stristr($v,'UNDERLINE')) { + $this->SetStyle('U',true); + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['text-baseline'])) { $this->textparam['u-decoration']['baseline'] = $this->textparam['text-baseline']; } + else { $this->textparam['u-decoration']['baseline'] = 0; } + $this->textparam['u-decoration']['fontkey'] = $this->FontFamily . $this->FontStyle; + $this->textparam['u-decoration']['fontsize'] = $this->FontSize; + $this->textparam['u-decoration']['color'] = strtoupper($this->TextColor); // change 0 0 0 rg to 0 0 0 RG + } + if (stristr($v,'NONE')) { + $this->SetStyle('U',false); + $this->strike = false; + // mPDF 5.7.3 inline text-decoration parameters + if (isset($this->textparam['u-decoration'])) { unset($this->textparam['u-decoration']); } + if (isset($this->textparam['s-decoration'])) { unset($this->textparam['s-decoration']); } + } + } + } +/*-- END HTML-CSS --*/ function SetStyle($tag,$enable) { @@ -18429,7 +22908,7 @@ function DisableTags($str='') if ($str == '') //enable all tags { //Insert new supported tags in the long string below. - $this->enabledtags = "