From efd9248527b82859892e8553da916cce86f6a557 Mon Sep 17 00:00:00 2001 From: Eriksen Costa Date: Sun, 11 Jul 2010 23:54:55 -0300 Subject: [PATCH] Adicionado módulo Calendário: --- ieducar/intranet/educar_calendario_ano_letivo_lst.php | 46 +++++++++++++++++++++++++++++++++++----------- ieducar/intranet/educar_calendario_dia_cad.php | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------- ieducar/intranet/educar_relatorio_diario_classe_avaliacao_proc.php | 2 +- ieducar/intranet/educar_relatorio_diario_classe_proc.php | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------- ieducar/intranet/scripts/ied/forms.js | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/scripts/ied/phpjs.js | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/scripts/phpjs/ieducar.package.js | 174 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ieducar/intranet/templates/nvp_htmlhead.tpl | 3 ++- ieducar/lib/App/Model/IedFinder.php | 22 ++++++++++++++++++++++ ieducar/misc/database/deltas/21_cria_tabelas_modulo_calendario.sql | 31 +++++++++++++++++++++++++++++++ ieducar/misc/database/ieducar.sql | 28 ++++++++++++++++++++++++++++ ieducar/modules/Calendario/Model/Turma.php | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Calendario/Model/TurmaDataMapper.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Calendario/TODO.txt | 16 ++++++++++++++++ ieducar/modules/Calendario/_data/install.sql | 31 +++++++++++++++++++++++++++++++ ieducar/modules/Calendario/_tests/TurmaTest.php | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/tests/unit/App/Model/IedFinderTest.php | 19 +++++++++++++++++++ 17 files changed, 909 insertions(+), 257 deletions(-) create mode 100644 ieducar/intranet/scripts/ied/forms.js create mode 100644 ieducar/intranet/scripts/ied/phpjs.js delete mode 100644 ieducar/intranet/scripts/phpjs/ieducar.package.js create mode 100644 ieducar/misc/database/deltas/21_cria_tabelas_modulo_calendario.sql create mode 100644 ieducar/modules/Calendario/Model/Turma.php create mode 100644 ieducar/modules/Calendario/Model/TurmaDataMapper.php create mode 100644 ieducar/modules/Calendario/TODO.txt create mode 100644 ieducar/modules/Calendario/_data/install.sql create mode 100644 ieducar/modules/Calendario/_tests/TurmaTest.php diff --git a/ieducar/intranet/educar_calendario_ano_letivo_lst.php b/ieducar/intranet/educar_calendario_ano_letivo_lst.php index 561ba67..1a6d3f6 100644 --- a/ieducar/intranet/educar_calendario_ano_letivo_lst.php +++ b/ieducar/intranet/educar_calendario_ano_letivo_lst.php @@ -34,6 +34,9 @@ require_once 'include/clsBanco.inc.php'; require_once 'include/pmieducar/geral.inc.php'; require_once 'clsCalendario.inc.php'; +require_once 'Calendario/Model/TurmaDataMapper.php'; +require_once 'App/Model/IedFinder.php'; + /** * clsIndexBase class. * @@ -246,6 +249,12 @@ class indice extends clsConfig $inicio_ano = explode('/', dataFromPgToBr($inicio_ano)); $fim_ano = explode('/', dataFromPgToBr($fim_ano)); + // Turmas da escola + $turmas = App_Model_IedFinder::getTurmas($registro['ref_cod_escola']); + + // Mapper de Calendario_Model_TurmaDataMapper + $calendarioTurmaMapper = new Calendario_Model_TurmaDataMapper(); + $obj_calendario = new clsCalendario(); $obj_calendario->setLargura(600); $obj_calendario->permite_trocar_ano = TRUE; @@ -292,9 +301,31 @@ class indice extends clsConfig $tipo = strtoupper($det_motivo['tipo']) == 'E' ? 'Dia Extra-Letivo' : 'Dia Não Letivo'; + // Busca pelas turmas que estão marcadas para esse dia + $args = array( + 'calendarioAnoLetivo' => $registro['cod_calendario_ano_letivo'], + 'mes' => $dia['mes'], + 'dia' => $dia['dia'], + 'ano' => $this->ano + ); + + $calendarioTurmas = $calendarioTurmaMapper->findAll(array(), $args); + + $nomeTurmas = array(); + foreach ($calendarioTurmas as $calendarioTurma) { + $nomeTurmas[] = $turmas[$calendarioTurma->turma]; + } + + if (0 == count($nomeTurmas)) { + $calendarioTurmas = ''; + } + else { + $calendarioTurmas = 'Turmas: '; + } + $descricao = sprintf( - '
%s
Motivo: %s
Descrição: %s
%s', - $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $botao_editar + '
%s
Motivo: %s
Descrição: %s
%s
%s', + $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $calendarioTurmas, $botao_editar ); $array_descricao[$dia['dia']] = $descricao; @@ -306,16 +337,9 @@ class indice extends clsConfig elseif (strtoupper($det_motivo['tipo']) == 'N') { $obj_calendario->adicionarLegenda('Não Letivo', '#VERDE_ESCURO'); $obj_calendario->adicionarArrayDias('Não Letivo', array($dia['dia'])); - - $descricao = sprintf( - '
Descrição: %s
%s', - $dia['descricao'], $botao_editar - ); - - $array_descricao[$dia['dia']] = $descricao; - - $obj_calendario->diaDescricao($array_dias, $array_descricao); } + + $obj_calendario->diaDescricao($array_dias, $array_descricao); } elseif ($dia['descricao']) { $array_dias[$dia['dia']] = $dia['dia']; diff --git a/ieducar/intranet/educar_calendario_dia_cad.php b/ieducar/intranet/educar_calendario_dia_cad.php index a672fc3..d1afede 100644 --- a/ieducar/intranet/educar_calendario_dia_cad.php +++ b/ieducar/intranet/educar_calendario_dia_cad.php @@ -33,6 +33,9 @@ require_once 'include/clsCadastro.inc.php'; require_once 'include/clsBanco.inc.php'; require_once 'include/pmieducar/geral.inc.php'; +require_once 'App/Model/IedFinder.php'; +require_once 'Calendario/Model/TurmaDataMapper.php'; + /** * clsIndexBase class. * @@ -79,6 +82,85 @@ class indice extends clsCadastro var $ano; var $ref_cod_escola; + /** + * @var Calendario_Model_TurmaDataMapper + */ + var $_calendarioTurmaDataMapper = NULL; + + /** + * Getter. + * @access protected + * @return Calendario_Model_TurmaDataMapper + */ + function _getCalendarioTurmaDataMapper() + { + if (is_null($this->_calendarioTurmaDataMapper)) { + $this->_calendarioTurmaDataMapper = new Calendario_Model_TurmaDataMapper(); + } + return $this->_calendarioTurmaDataMapper; + } + + /** + * Verifica se existe uma instância de Calendario_Model_Turma. + * + * @access protected + * @param int $codCalendarioAnoLetivo Código da chave primária pmieducar.calendario_ano_letivo + * @param int $mes + * @param int $dia + * @param int $ano + * @param int $codTurma Código da chave primária de pmieducar.turma + * @return bool + */ + function _hasEntry($codCalendarioAnoLetivo, $mes, $dia, $ano, $codTurma) + { + $args = array( + 'calendarioAnoLetivo' => $codCalendarioAnoLetivo, + 'mes' => $mes, + 'dia' => $dia, + 'ano' => $ano, + 'turma' => $codTurma + ); + + try { + $this->_getCalendarioTurmaDataMapper()->find($args); + return TRUE; + } + catch (Exception $e) { + } + + return FALSE; + } + + /** + * Retorna um array de instâncias de Calendario_Model_Turma para um dado + * calendário de ano letivo de escola em mês, dia e ano específicos. + * + * @access protected + * @param int $codCalendarioAnoLetivo Código de pmieducar.calendario_ano_letivo + * @param int $mes + * @param int $dia + * @param int $ano + * @return array (cod_turma => Calendario_Model_Turma) + */ + function _getEntries($codCalendarioAnoLetivo, $mes, $dia, $ano) + { + $where = array( + 'calendarioAnoLetivo' => $codCalendarioAnoLetivo, + 'mes' => $mes, + 'dia' => $dia, + 'ano' => $ano + ); + + $turmas = $this->_getCalendarioTurmaDataMapper()->findAll(array(), $where); + + $ret = array(); + foreach ($turmas as $turma) { + $ret[$turma->turma] = $turma; + } + + return $ret; + } + function Inicializar() { $retorno = 'Novo'; @@ -168,27 +250,33 @@ class indice extends clsCadastro // Foreign keys $opcoes = array('' => 'Selecione'); - if (class_exists('clsPmieducarCalendarioDiaMotivo')) { - $objTemp = new clsPmieducarCalendarioDiaMotivo(); - $lista = $objTemp->lista(NULL, $ref_cod_escola, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, 1 - ); + $objTemp = new clsPmieducarCalendarioDiaMotivo(); + $lista = $objTemp->lista(NULL, $ref_cod_escola, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, 1 + ); - if (is_array($lista) && count($lista)) { - foreach ($lista as $registro) { - $opcoes[$registro['cod_calendario_dia_motivo']] = $registro['nm_motivo']; - } + if (is_array($lista) && count($lista)) { + foreach ($lista as $registro) { + $opcoes[$registro['cod_calendario_dia_motivo']] = $registro['nm_motivo']; } } - else { - $opcoes = array('' => 'Erro na geracao'); - } $this->campoLista( 'ref_cod_calendario_dia_motivo', 'Calendário Dia Motivo', $opcoes, $this->ref_cod_calendario_dia_motivo, '', FALSE, '', '', FALSE, FALSE ); + $seletor = ''; + $this->campoRotulo('turmas_rotulo', 'Turmas', $seletor); + $turmas = App_Model_IedFinder::getTurmas($ref_cod_escola); + + foreach ($turmas as $codTurma => $nomeTurma) { + $checked = $this->_hasEntry($this->ref_cod_calendario_ano_letivo, + $this->mes, $this->dia, $this->ano, $codTurma); + + $this->campoCheck('turmas[' . $codTurma . ']', '', $checked, $nomeTurma, FALSE); + } + $this->campoMemo('descricao', 'Descrição', $this->descricao, 30, 10, TRUE); } @@ -210,6 +298,17 @@ class indice extends clsCadastro $cadastrou = $obj->cadastra(); + foreach ($this->turmas as $codTurma => $turma) { + $calendarioTurma = new Calendario_Model_Turma(array( + 'calendarioAnoLetivo' => $this->ref_cod_calendario_ano_letivo, + 'ano' => $this->ano, + 'mes' => $this->mes, + 'dia' => $this->dia, + 'turma' => $codTurma + )); + $this->_getCalendarioTurmaDataMapper()->save($calendarioTurma); + } + if ($cadastrou) { $this->mensagem .= 'Cadastro efetuado com sucesso.
'; $url = sprintf( @@ -237,11 +336,48 @@ class indice extends clsCadastro $obj = new clsPmieducarCalendarioDia( $this->ref_cod_calendario_ano_letivo, $this->mes, $this->dia, $this->pessoa_logada, $this->pessoa_logada, $this->ref_cod_calendario_dia_motivo, - $this->descricao, $this->data_cadastro, $this->data_exclusao, $this->ativo + $this->descricao, $this->data_cadastro, $this->data_exclusao, 1 ); $editou = $obj->edita(); + // Inicialização de arrays + $insert = $delete = $entries = $intersect = array(); + + if (isset($this->turmas)) { + foreach ($this->turmas as $codTurma => $turma) { + $calendarioTurma = new Calendario_Model_Turma(array( + 'calendarioAnoLetivo' => $this->ref_cod_calendario_ano_letivo, + 'ano' => $this->ano, + 'mes' => $this->mes, + 'dia' => $this->dia, + 'turma' => $codTurma + )); + $insert[$codTurma] = $calendarioTurma; + } + } + + // Instâncias persistidas de Calendario_Model_Turma + $entries = $this->_getEntries($this->ref_cod_calendario_ano_letivo, + $this->mes, $this->dia, $this->ano); + + // Instâncias para apagar + $delete = array_diff(array_keys($entries), array_keys($insert)); + + // Instâncias já persistidas + $intersect = array_intersect(array_keys($entries), array_keys($insert)); + + foreach ($delete as $id) { + $this->_getCalendarioTurmaDataMapper()->delete($entries[$id]); + } + + foreach ($insert as $key => $entry) { + if (in_array($key, $intersect)) { + continue; + } + $this->_getCalendarioTurmaDataMapper()->save($entry); + } + if ($editou) { $this->mensagem .= 'Edição efetuada com sucesso.
'; $url = sprintf( @@ -269,10 +405,19 @@ class indice extends clsCadastro $obj = new clsPmieducarCalendarioDia( $this->ref_cod_calendario_ano_letivo, $this->mes, $this->dia, $this->pessoa_logada, $this->pessoa_logada, NULL, NULL, - $this->data_cadastro, $this->data_exclusao, 1 + $this->data_cadastro, $this->data_exclusao, 0 ); $excluiu = $obj->edita(); + + $entries = $this->_getEntries( + $this->ref_cod_calendario_ano_letivo, $this->mes, $this->dia, $this->ano + ); + + foreach ($entries as $entry) { + $this->_getCalendarioTurmaDataMapper()->delete($entry); + } + if ($excluiu) { $this->mensagem .= 'Exclusão efetuada com sucesso.
'; $url = sprintf( diff --git a/ieducar/intranet/educar_relatorio_diario_classe_avaliacao_proc.php b/ieducar/intranet/educar_relatorio_diario_classe_avaliacao_proc.php index 1438075..0283411 100644 --- a/ieducar/intranet/educar_relatorio_diario_classe_avaliacao_proc.php +++ b/ieducar/intranet/educar_relatorio_diario_classe_avaliacao_proc.php @@ -189,7 +189,7 @@ class indice extends clsCadastro return TRUE; } - $titlo = 'Diário de Classe - ' . $this->ano; + $titulo = 'Diário de Classe - ' . $this->ano; $prox_mes = $this->mes + 1; $this->pdf = new clsPDF($titulo, $titulo, 'A4', '', FALSE, FALSE); diff --git a/ieducar/intranet/educar_relatorio_diario_classe_proc.php b/ieducar/intranet/educar_relatorio_diario_classe_proc.php index c372f78..83cc874 100644 --- a/ieducar/intranet/educar_relatorio_diario_classe_proc.php +++ b/ieducar/intranet/educar_relatorio_diario_classe_proc.php @@ -247,7 +247,9 @@ class indice extends clsCadastro $dia = 1; } - $total_semanas += $this->getNumeroDiasMes($dia, $mes, $this->ano, $mes_final); + $total_semanas += $this->getNumeroDiasMes($this->ref_cod_turma, $dia, $mes, + $this->ano, $mes_final); + $total_semanas += $ndm; } $this->pdf = new clsPDF('Diário de Classe - ' . $this->ano, @@ -340,7 +342,7 @@ class indice extends clsCadastro if (FALSE == $lista_quadro_horarios && TRUE == $this->temporario) { $this->indefinido = TRUE; - $total_semanas = $coreExt['Config']->get( + $total_semanas = $coreExt['Config']->get( $coreExt['Config']->report->diario_classe->dias_temporarios, 30 ); } @@ -361,7 +363,7 @@ class indice extends clsCadastro } $total_semanas += $this->getDiasSemanaMes( - $dia, $mes_, $this->ano, $dia_semana, $mes_final + $this->ref_cod_turma, $dia, $mes_, $this->ano, $dia_semana, $mes_final ); } } @@ -681,8 +683,60 @@ class indice extends clsCadastro $this->pdf->linha_relativa(660, 517, 130, 0); } - function getNumeroDiasMes($dia, $mes, $ano, $mes_final = FALSE) + /** + * Retorna o número de dias de um mês a partir de certo dia descartando + * domingos, sábados e dias não letivos. + * + * @param int $codTurma + * @param int $dia + * @param int $mes + * @param int $ano + * @param bool $mes_final + * @return int + */ + function getNumeroDiasMes($codTurma, $dia, $mes, $ano, $mes_final = FALSE) + { + return $this->_getNumeroDias($codTurma, $dia, $mes, $ano, + array($this, '_counterNumeroDiaMes'), $mes_final); + } + + /** + * Retorna o número de dias de um mês contabilizando apenas o dia da semana + * (domingo, segunda, ... sábado) desejado, descartando dias não letivos + * enquanto a data do dia da semana não for maior que a data final do + * período definido pelo módulo escolhido. + * + * @param int $codTurma + * @param int $dia + * @param int $mes + * @param int $ano + * @param int $dia_semana + * @param bool $mes_final + * @return int + */ + function getDiasSemanaMes($codTurma, $dia, $mes, $ano, $dia_semana, + $mes_final = FALSE) + { + return $this->_getNumeroDias($codTurma, $dia, $mes, $ano, + array($this, '_counterDiasSemanaMes'), $mes_final, $dia_semana); + } + + /** + * @access protected + * @param int $codTurma + * @param int $dia + * @param int $mes + * @param int $ano + * @param array $counter + * @param int $dia_semana + * @param bool $mes_final + * @return int + */ + function _getNumeroDias($codTurma, $dia, $mes, $ano, $counter, + $mes_final = FALSE, $dia_semana = NULL) { + static $calendarioTurmaMapper = NULL; + $year = $ano; $month = $mes; @@ -693,24 +747,44 @@ class indice extends clsCadastro $last_day_of_month = date('d', $last_day_of_month); - $numero_dias = 0; - $obj_calendario = new clsPmieducarCalendarioAnoLetivo(); $obj_calendario->setCamposLista('cod_calendario_ano_letivo'); - $lista = $obj_calendario->lista(NULL, $this->ref_cod_escola, NULL, NULL, - $this->ano, NULL, NULL, NULL, NULL, 1); + $lista_calendario = $obj_calendario->lista(NULL, $this->ref_cod_escola, + NULL, NULL, $this->ano, NULL, NULL, NULL, NULL, 1); - if ($lista) { - $lista_calendario = array_shift($lista); - } + // Dias não letivos da turma + $diasNaoLetivosTurma = array(); + + if (is_array($lista_calendario)) { + $lista_calendario = array_shift($lista_calendario); + + $obj_dia = new clsPmieducarCalendarioDia(); + $obj_dia->setCamposLista('dia'); + $dias_nao_letivo = $obj_dia->lista($lista_calendario, $mes, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, "'n'"); + + // Instancia o mapper apenas uma vez + if (is_null($calendarioTurmaMapper)) { + require_once 'Calendario/Model/TurmaDataMapper.php'; + $calendarioTurmaMapper = new Calendario_Model_TurmaDataMapper(); + } - $obj_dia = new clsPmieducarCalendarioDia(); - $obj_dia->setCamposLista('dia'); - $dias_nao_letivo = $obj_dia->lista($lista_calendario, $mes, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, "'n'"); + // Carrega os dias do mês da turma + $where = array( + 'calendarioAnoLetivo' => $lista_calendario, + 'ano' => $ano, + 'mes' => $mes, + 'turma' => $codTurma + ); + + $diasTurma = $calendarioTurmaMapper->findAll(array(), $where); - if (!$dias_nao_letivo) { - $dias_nao_letivo = array(); + // Separa apenas os dias da turma que forem não-letivos + foreach ($diasTurma as $diaTurma) { + if (in_array($diaTurma->dia, $dias_nao_letivo)) { + $diasNaoLetivosTurma[] = $diaTurma->dia; + } + } } if ($mes_final) { @@ -718,12 +792,39 @@ class indice extends clsCadastro $dia = 1; } + // Argumentos para o callback $counter + $args = array( + 'dia' => $dia, + 'mes' => $mes, + 'ano' => $ano, + 'last_day_of_month' => $last_day_of_month, + 'diasNaoLetivosTurma' => $diasNaoLetivosTurma, + 'dia_semana' => $dia_semana + ); + + return call_user_func_array($counter, $args); + } + + /** + * @access protected + * @param int $dia + * @param int $mes + * @param int $ano + * @param int $last_day_of_month + * @param array $diasNaoLetivosTurma + * @return int + */ + function _counterNumeroDiaMes($dia, $mes, $ano, $last_day_of_month, + $diasNaoLetivosTurma) + { + $numero_dias = 0; + for ($day = $dia; $day <= $last_day_of_month; $day++) { - $date = mktime(1, 1, 1, $month, $day, $year); + $date = mktime(1, 1, 1, $mes, $day, $ano); $dia_semana_corrente = getdate($date); $dia_semana_corrente = $dia_semana_corrente['wday'] + 1; - if (($dia_semana_corrente != 1 && $dia_semana_corrente != 7) && (array_search($day, $dias_nao_letivo) === FALSE)) { + if (($dia_semana_corrente != 1 && $dia_semana_corrente != 7) && !in_array($day, $diasNaoLetivosTurma)) { $numero_dias++; } } @@ -731,53 +832,32 @@ class indice extends clsCadastro return $numero_dias; } - function getDiasSemanaMes($dia, $mes, $ano, $dia_semana, $mes_final = FALSE) + /** + * @access protected + * @param int $dia + * @param int $mes + * @param int $ano + * @param int $last_day_of_month + * @param array $diasNaoLetivosTurma + * @return int + */ + function _counterDiasSemanaMes($dia, $mes, $ano, $last_day_of_month, + $diasNaoLetivosTurma, $dia_semana) { - $year = $ano; - $month = $mes; - - $date = mktime(1, 1, 1, $month, $dia, $year); - - $first_day_of_month = strtotime('-' . (date('d', $date) - 1) . ' days', $date); - $last_day_of_month = strtotime('+' . (date('t', $first_day_of_month) - 1) . ' days', $first_day_of_month); - - $last_day_of_month = date('d', $last_day_of_month); - $numero_dias = 0; - $obj_calendario = new clsPmieducarCalendarioAnoLetivo(); - $obj_calendario->setCamposLista('cod_calendario_ano_letivo'); - $lista_calendario = $obj_calendario->lista(NULL, $this->ref_cod_escola, NULL, - NULL, $this->ano, NULL, NULL, NULL, NULL, 1); - - if (is_array($lista_calendario)) { - $lista_calendario = array_shift($lista_calendario); - } - - $obj_dia = new clsPmieducarCalendarioDia(); - $obj_dia->setCamposLista('dia'); - $dias_nao_letivo = $obj_dia->lista($lista_calendario, $mes, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, "'n'"); - - if (!$dias_nao_letivo) { - $dias_nao_letivo = array(); - } - - if ($mes_final) { - $last_day_of_month = $dia; - $dia = 1; - } - for($day = $dia; $day <= $last_day_of_month; $day++) { - $date = mktime(1, 1, 1, $month, $day, $year); + $date = mktime(1, 1, 1, $mes, $day, $ano); $dia_semana_corrente = getdate($date); $dia_semana_corrente = $dia_semana_corrente['wday'] + 1; $data_atual = sprintf('%s/%s/%s', $day, $mes, $ano); $data_final = sprintf('%s/%s', $this->data_fim, $ano); - if (($dia_semana == $dia_semana_corrente) && - (array_search($day, $dias_nao_letivo) === FALSE) && data_maior($data_final, $data_atual) + if ( + ($dia_semana == $dia_semana_corrente) && + !in_array($day, $diasNaoLetivosTurma) && + data_maior($data_final, $data_atual) ) { $numero_dias++; } diff --git a/ieducar/intranet/scripts/ied/forms.js b/ieducar/intranet/scripts/ied/forms.js new file mode 100644 index 0000000..6ca4a6e --- /dev/null +++ b/ieducar/intranet/scripts/ied/forms.js @@ -0,0 +1,61 @@ +/** + * i-Educar - Sistema de gestão escolar + * + * Copyright (C) 2006 Prefeitura Municipal de Itajaí + * + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Eriksen Costa + * @license @@license@@ + * @since Arquivo disponível desde a versão 2.0.0 + * @version $Id$ + */ + +/** + * Closure com funções utilitárias para o manuseamento de formulários. + */ +var ied_forms = new function() { + var checker = 0; + + /** + * Seleciona/deseleciona campos checkbox de um formulário. Cada chamada ao + * método executa uma ação de forma alternada: a primeira vez, altera a + * propriedade dos checkboxes para "checked", na segunda, remove a + * propriedade "checked" dos mesmos. Esse padrão segue nas chamadas + * subsequentes. + * + * @param document docObj + * @param string formId + * @param string fieldsName + */ + this.checkAll = function(docObj, formId, fieldsName) { + if (checker === 0) { + checker = 1; + } else { + checker = 0; + } + + var regex = new RegExp(fieldsName); + var form = docObj.getElementById(formId); + + for (var i = 0; i < form.elements.length; i++) { + var elementName = form.elements[i].name; + if (null !== elementName.match(regex)) { + form.elements[i].checked = checker == 1 ? true : false; + } + } + }; +}; \ No newline at end of file diff --git a/ieducar/intranet/scripts/ied/phpjs.js b/ieducar/intranet/scripts/ied/phpjs.js new file mode 100644 index 0000000..38cf890 --- /dev/null +++ b/ieducar/intranet/scripts/ied/phpjs.js @@ -0,0 +1,174 @@ +/** + * i-Educar - Sistema de gestão escolar + * + * Copyright (C) 2006 Prefeitura Municipal de Itajaí + * + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * Contém funções PHP portadas para o Javascript. + * + * Pacote PHPJS disponível em: + * + * + * Transliterado com iconv para ISO-8859-1. + * $ iconv -f UTF-8 -t ISO-8859-1//translit + * + * Contém as seguintes funções: + * - checkdate + * + * @author Eriksen Costa + * @license @@license@@ + * @since Arquivo disponível desde a versão 2.0.0 + * @version $Id$ + */ + +/** + * Singleton para evitar múltipla instanciação de PHP_JS. Para obter o objeto, + * basta chamar o método getInstance(): + * + * + * phpjs = ied_phpjs.getInstance() + * phpjs.PHP_JS_FUNCTION(args, ...); + * + * + * @return PHP_JS + */ +var ied_phpjs = new function() { + var phpjs = new PHP_JS(); + this.getInstance = function() { + return phpjs; + } +} + + + /* + * More info at: http://phpjs.org + * + * This is version: 3.17 + * php.js is copyright 2010 Kevin van Zonneveld. + * + * Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld + * (http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White + * (http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jonas Raoni + * Soares Silva (http://www.jsfromhell.com), Jack, Philip Peterson, Legaev + * Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, + * lmeyrick (https://sourceforge.net/projects/bcmath-js/), Nate, Philippe + * Baumann, Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), + * Jani Hartikainen, Ash Searle (http://hexmen.com/blog/), travc, Ole + * Vrijenhoek, Carlos R. L. Rodrigues (http://www.jsfromhell.com), + * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, + * Michael Grier, Johnny Mast (http://www.phpvrouwen.nl), stag019, Rafal + * Kukawski (http://blog.kukawski.pl), pilus, T.Wild, Andrea Giammarchi + * (http://webreflection.blogspot.com), WebDevHobo + * (http://webdevhobo.blogspot.com/), GeekFG (http://geekfg.blogspot.com), + * d3x, Erkekjetter, marrtins, Steve Hilder, Martin + * (http://www.erlenwiese.de/), Robin, Oleg Eremeev, mdsjack + * (http://www.mdsjack.bo.it), majak, Mailfaker (http://www.weedem.fr/), + * David, felix, Mirek Slugen, KELAN, Paul Smith, Marc Palau, Chris, Josh + * Fraser + * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), + * Breaking Par Consulting Inc + * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), + * Tim de Koning (http://www.kingsquare.nl), Arpad Ray (mailto:arpad@php.net), + * Public Domain (http://www.json.org/json2.js), Michael White, Steven + * Levithan (http://blog.stevenlevithan.com), Joris, gettimeofday, Sakimori, + * Alfonso Jimenez (http://www.alfonsojimenez.com), Aman Gupta, Caio Ariede + * (http://caioariede.com), AJ, Diplom@t (http://difane.com/), saulius, + * Pellentesque Malesuada, Thunder.m, Tyler Akins (http://rumkin.com), Felix + * Geisendoerfer (http://www.debuggable.com/felix), gorthaur, Imgen Tata + * (http://www.myipdf.com/), Karol Kowalski, Kankrelune + * (http://www.webfaktory.info/), Lars Fischer, Subhasis Deb, josh, Frank + * Forte, Douglas Crockford (http://javascript.crockford.com), Adam Wallner + * (http://web2.bitbaro.hu/), Marco, paulo kuong, madipta, Gilbert, duncan, + * ger, mktime, Oskar Larsson Högfeldt (http://oskar-lh.name/), Arno, Nathan, + * Mateusz "loonquawl" Zalega, ReverseSyntax, Francois, Scott Cariss, Slawomir + * Kaniecki, Denny Wardhana, sankai, 0m3r, noname, john + * (http://www.jd-tech.net), Nick Kolosov (http://sammy.ru), Sanjoy Roy, + * Shingo, nobbler, Fox, marc andreu, T. Wild, class_exists, Jon Hohle, + * Pyerre, JT, Thiago Mata (http://thiagomata.blog.com), Linuxworld, Ozh, + * nord_ua, lmeyrick (https://sourceforge.net/projects/bcmath-js/this.), + * Thomas Beaucourt (http://www.webapp.fr), David Randall, merabi, T0bsn, + * Soren Hansen, Peter-Paul Koch (http://www.quirksmode.org/js/beat.html), + * MeEtc (http://yass.meetcweb.com), Bryan Elliott, Tim Wiel, Brad Touesnard, + * XoraX (http://www.xorax.info), djmix, Hyam Singer + * (http://www.impact-computing.com/), Paul, J A R, kenneth, Raphael (Ao + * RUDLER), David James, Steve Clay, Ole Vrijenhoek (http://www.nervous.nl/), + * Marc Jansen, Francesco, Der Simon (http://innerdom.sourceforge.net/), echo + * is bad, Lincoln Ramsay, Eugene Bulkin (http://doubleaw.com/), JB, Bayron + * Guevara, Stoyan Kyosev (http://www.svest.org/), LH, Matt Bradley, date, + * Kristof Coomans (SCK-CEN Belgian Nucleair Research Centre), Pierre-Luc + * Paour, Martin Pool, Brant Messenger (http://www.brantmessenger.com/), Kirk + * Strobeck, Saulo Vallory, Christoph, Wagner B. Soares, Artur Tchernychev, + * Valentina De Rosa, Jason Wong (http://carrot.org/), Daniel Esteban, + * strftime, Rick Waldron, Mick@el, Anton Ongson, Simon Willison + * (http://simonwillison.net), Gabriel Paderni, Philipp Lenssen, Marco van + * Oort, Bug?, Blues (http://tech.bluesmoon.info/), Tomasz Wesolowski, rezna, + * Eric Nagel, Bobby Drake, Luke Godfrey, Pul, uestla, Alan C, Zahlii, Ulrich, + * Yves Sucaet, hitwork, sowberry, johnrembo, Brian Tafoya + * (http://www.premasolutions.com/), Nick Callen, Steven Levithan + * (stevenlevithan.com), ejsanders, Scott Baker, Philippe Jausions + * (http://pear.php.net/user/jausions), Aidan Lister + * (http://aidanlister.com/), Norman "zEh" Fuchs, Rob, HKM, ChaosNo1, metjay, + * strcasecmp, strcmp, Taras Bogach, jpfle, Alexander Ermolaev + * (http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, + * dptr1988, Le Torbi, Pedro Tainha (http://www.pedrotainha.com), James, + * penutbutterjelly, Christian Doebler, baris ozdil, Greg Frazier, Tod + * Gentille, Alexander M Beedie, Ryan W Tenney (http://ryan.10e.us), + * FGFEmperor, gabriel paderni, Atli Þór, Maximusya, daniel airton wermann + * (http://wermann.com.br), 3D-GRAF, Yannoo, jakes, Riddler + * (http://www.frontierwebdev.com/), T.J. Leahy, stensi, Matteo, Billy, vlado + * houba, Itsacon (http://www.itsacon.net/), Jalal Berrami, Victor, fearphage + * (http://http/my.opera.com/fearphage/), Luis Salazar + * (http://www.freaky-media.com/), FremyCompany, Tim de Koning, taith, Cord, + * Manish, davook, Benjamin Lupton, Garagoth, Andrej Pavlovic, Dino, William, + * rem, Russell Walker (http://www.nbill.co.uk/), Jamie Beck + * (http://www.terabit.ca/), setcookie, Michael, YUI Library: + * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at + * http://hacks.bluesmoon.info/strftime/strftime.js, DtTvB + * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, meo, + * Greenseed, Luke Smith (http://lucassmith.name), Kheang Hok Chin + * (http://www.distantia.ca/), Rival, Diogo Resende, Allan Jensen + * (http://www.winternet.no), Howard Yeend, Jay Klehr, Amir Habibi + * (http://www.residence-mixte.com/), mk.keck, Yen-Wei Liu, Leslie Hoare, Ben + * Bryan, Cagri Ekin, booeyOH + * + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES + * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + + // Compression: minified + (function(){if(typeof(this.PHP_JS)==="undefined"){var PHP_JS=function(cfgObj){if(!(this instanceof PHP_JS)){return new PHP_JS(cfgObj);} + this.window=cfgObj&&cfgObj.window?cfgObj.window:window;this.php_js={};this.php_js.ini={};if(cfgObj){for(var ini in cfgObj.ini){this.php_js.ini[ini]={};this.php_js.ini[ini].local_value=cfgObj.ini[ini];this.php_js.ini[ini].global_value=cfgObj.ini[ini];}}};} + var php_js_shared={};PHP_JS.prototype={constructor:PHP_JS,checkdate:function(m,d,y){return m>0&&m<13&&y>0&&y<32768&&d>0&&d<=(new Date(y,m,0)).getDate();}};this.PHP_JS=PHP_JS;}()); \ No newline at end of file diff --git a/ieducar/intranet/scripts/phpjs/ieducar.package.js b/ieducar/intranet/scripts/phpjs/ieducar.package.js deleted file mode 100644 index 38cf890..0000000 --- a/ieducar/intranet/scripts/phpjs/ieducar.package.js +++ /dev/null @@ -1,174 +0,0 @@ -/** - * i-Educar - Sistema de gestão escolar - * - * Copyright (C) 2006 Prefeitura Municipal de Itajaí - * - * - * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo - * sob os termos da Licença Pública Geral GNU conforme publicada pela Free - * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) - * qualquer versão posterior. - * - * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM - * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU - * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral - * do GNU para mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto - * com este programa; se não, escreva para a Free Software Foundation, Inc., no - * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. - * - * Contém funções PHP portadas para o Javascript. - * - * Pacote PHPJS disponível em: - * - * - * Transliterado com iconv para ISO-8859-1. - * $ iconv -f UTF-8 -t ISO-8859-1//translit - * - * Contém as seguintes funções: - * - checkdate - * - * @author Eriksen Costa - * @license @@license@@ - * @since Arquivo disponível desde a versão 2.0.0 - * @version $Id$ - */ - -/** - * Singleton para evitar múltipla instanciação de PHP_JS. Para obter o objeto, - * basta chamar o método getInstance(): - * - * - * phpjs = ied_phpjs.getInstance() - * phpjs.PHP_JS_FUNCTION(args, ...); - * - * - * @return PHP_JS - */ -var ied_phpjs = new function() { - var phpjs = new PHP_JS(); - this.getInstance = function() { - return phpjs; - } -} - - - /* - * More info at: http://phpjs.org - * - * This is version: 3.17 - * php.js is copyright 2010 Kevin van Zonneveld. - * - * Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld - * (http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White - * (http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jonas Raoni - * Soares Silva (http://www.jsfromhell.com), Jack, Philip Peterson, Legaev - * Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, - * lmeyrick (https://sourceforge.net/projects/bcmath-js/), Nate, Philippe - * Baumann, Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), - * Jani Hartikainen, Ash Searle (http://hexmen.com/blog/), travc, Ole - * Vrijenhoek, Carlos R. L. Rodrigues (http://www.jsfromhell.com), - * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, - * Michael Grier, Johnny Mast (http://www.phpvrouwen.nl), stag019, Rafal - * Kukawski (http://blog.kukawski.pl), pilus, T.Wild, Andrea Giammarchi - * (http://webreflection.blogspot.com), WebDevHobo - * (http://webdevhobo.blogspot.com/), GeekFG (http://geekfg.blogspot.com), - * d3x, Erkekjetter, marrtins, Steve Hilder, Martin - * (http://www.erlenwiese.de/), Robin, Oleg Eremeev, mdsjack - * (http://www.mdsjack.bo.it), majak, Mailfaker (http://www.weedem.fr/), - * David, felix, Mirek Slugen, KELAN, Paul Smith, Marc Palau, Chris, Josh - * Fraser - * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), - * Breaking Par Consulting Inc - * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), - * Tim de Koning (http://www.kingsquare.nl), Arpad Ray (mailto:arpad@php.net), - * Public Domain (http://www.json.org/json2.js), Michael White, Steven - * Levithan (http://blog.stevenlevithan.com), Joris, gettimeofday, Sakimori, - * Alfonso Jimenez (http://www.alfonsojimenez.com), Aman Gupta, Caio Ariede - * (http://caioariede.com), AJ, Diplom@t (http://difane.com/), saulius, - * Pellentesque Malesuada, Thunder.m, Tyler Akins (http://rumkin.com), Felix - * Geisendoerfer (http://www.debuggable.com/felix), gorthaur, Imgen Tata - * (http://www.myipdf.com/), Karol Kowalski, Kankrelune - * (http://www.webfaktory.info/), Lars Fischer, Subhasis Deb, josh, Frank - * Forte, Douglas Crockford (http://javascript.crockford.com), Adam Wallner - * (http://web2.bitbaro.hu/), Marco, paulo kuong, madipta, Gilbert, duncan, - * ger, mktime, Oskar Larsson Högfeldt (http://oskar-lh.name/), Arno, Nathan, - * Mateusz "loonquawl" Zalega, ReverseSyntax, Francois, Scott Cariss, Slawomir - * Kaniecki, Denny Wardhana, sankai, 0m3r, noname, john - * (http://www.jd-tech.net), Nick Kolosov (http://sammy.ru), Sanjoy Roy, - * Shingo, nobbler, Fox, marc andreu, T. Wild, class_exists, Jon Hohle, - * Pyerre, JT, Thiago Mata (http://thiagomata.blog.com), Linuxworld, Ozh, - * nord_ua, lmeyrick (https://sourceforge.net/projects/bcmath-js/this.), - * Thomas Beaucourt (http://www.webapp.fr), David Randall, merabi, T0bsn, - * Soren Hansen, Peter-Paul Koch (http://www.quirksmode.org/js/beat.html), - * MeEtc (http://yass.meetcweb.com), Bryan Elliott, Tim Wiel, Brad Touesnard, - * XoraX (http://www.xorax.info), djmix, Hyam Singer - * (http://www.impact-computing.com/), Paul, J A R, kenneth, Raphael (Ao - * RUDLER), David James, Steve Clay, Ole Vrijenhoek (http://www.nervous.nl/), - * Marc Jansen, Francesco, Der Simon (http://innerdom.sourceforge.net/), echo - * is bad, Lincoln Ramsay, Eugene Bulkin (http://doubleaw.com/), JB, Bayron - * Guevara, Stoyan Kyosev (http://www.svest.org/), LH, Matt Bradley, date, - * Kristof Coomans (SCK-CEN Belgian Nucleair Research Centre), Pierre-Luc - * Paour, Martin Pool, Brant Messenger (http://www.brantmessenger.com/), Kirk - * Strobeck, Saulo Vallory, Christoph, Wagner B. Soares, Artur Tchernychev, - * Valentina De Rosa, Jason Wong (http://carrot.org/), Daniel Esteban, - * strftime, Rick Waldron, Mick@el, Anton Ongson, Simon Willison - * (http://simonwillison.net), Gabriel Paderni, Philipp Lenssen, Marco van - * Oort, Bug?, Blues (http://tech.bluesmoon.info/), Tomasz Wesolowski, rezna, - * Eric Nagel, Bobby Drake, Luke Godfrey, Pul, uestla, Alan C, Zahlii, Ulrich, - * Yves Sucaet, hitwork, sowberry, johnrembo, Brian Tafoya - * (http://www.premasolutions.com/), Nick Callen, Steven Levithan - * (stevenlevithan.com), ejsanders, Scott Baker, Philippe Jausions - * (http://pear.php.net/user/jausions), Aidan Lister - * (http://aidanlister.com/), Norman "zEh" Fuchs, Rob, HKM, ChaosNo1, metjay, - * strcasecmp, strcmp, Taras Bogach, jpfle, Alexander Ermolaev - * (http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, - * dptr1988, Le Torbi, Pedro Tainha (http://www.pedrotainha.com), James, - * penutbutterjelly, Christian Doebler, baris ozdil, Greg Frazier, Tod - * Gentille, Alexander M Beedie, Ryan W Tenney (http://ryan.10e.us), - * FGFEmperor, gabriel paderni, Atli Þór, Maximusya, daniel airton wermann - * (http://wermann.com.br), 3D-GRAF, Yannoo, jakes, Riddler - * (http://www.frontierwebdev.com/), T.J. Leahy, stensi, Matteo, Billy, vlado - * houba, Itsacon (http://www.itsacon.net/), Jalal Berrami, Victor, fearphage - * (http://http/my.opera.com/fearphage/), Luis Salazar - * (http://www.freaky-media.com/), FremyCompany, Tim de Koning, taith, Cord, - * Manish, davook, Benjamin Lupton, Garagoth, Andrej Pavlovic, Dino, William, - * rem, Russell Walker (http://www.nbill.co.uk/), Jamie Beck - * (http://www.terabit.ca/), setcookie, Michael, YUI Library: - * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at - * http://hacks.bluesmoon.info/strftime/strftime.js, DtTvB - * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, meo, - * Greenseed, Luke Smith (http://lucassmith.name), Kheang Hok Chin - * (http://www.distantia.ca/), Rival, Diogo Resende, Allan Jensen - * (http://www.winternet.no), Howard Yeend, Jay Klehr, Amir Habibi - * (http://www.residence-mixte.com/), mk.keck, Yen-Wei Liu, Leslie Hoare, Ben - * Bryan, Cagri Ekin, booeyOH - * - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES - * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - - // Compression: minified - (function(){if(typeof(this.PHP_JS)==="undefined"){var PHP_JS=function(cfgObj){if(!(this instanceof PHP_JS)){return new PHP_JS(cfgObj);} - this.window=cfgObj&&cfgObj.window?cfgObj.window:window;this.php_js={};this.php_js.ini={};if(cfgObj){for(var ini in cfgObj.ini){this.php_js.ini[ini]={};this.php_js.ini[ini].local_value=cfgObj.ini[ini];this.php_js.ini[ini].global_value=cfgObj.ini[ini];}}};} - var php_js_shared={};PHP_JS.prototype={constructor:PHP_JS,checkdate:function(m,d,y){return m>0&&m<13&&y>0&&y<32768&&d>0&&d<=(new Date(y,m,0)).getDate();}};this.PHP_JS=PHP_JS;}()); \ No newline at end of file diff --git a/ieducar/intranet/templates/nvp_htmlhead.tpl b/ieducar/intranet/templates/nvp_htmlhead.tpl index 531e3a0..ee68c3e 100755 --- a/ieducar/intranet/templates/nvp_htmlhead.tpl +++ b/ieducar/intranet/templates/nvp_htmlhead.tpl @@ -20,9 +20,10 @@ + + -