* * 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 Prefeitura Municipal de Itajaí * @category i-Educar * @license @@license@@ * @package iEd_Pmieducar * @since Arquivo disponível desde a versão 1.0.0 * @version $Id$ */ require_once 'include/clsBase.inc.php'; require_once 'include/clsListagem.inc.php'; 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'; require_once 'include/localizacaoSistema.php'; /** * clsIndexBase class. * * @author Prefeitura Municipal de Itajaí * @category i-Educar * @license @@license@@ * @package iEd_Pmieducar * @since Classe disponível desde a versão 1.0.0 * @version @@package_version@@ */ class clsIndexBase extends clsBase { function Formular() { $this->SetTitulo($this->_instituicao . ' i-Educar - Calendário Ano Letivo'); $this->addScript('calendario'); $this->processoAp = 620; $this->addEstilo("localizacaoSistema"); } } /** * indice class. * * @author Prefeitura Municipal de Itajaí * @category i-Educar * @license @@license@@ * @package iEd_Pmieducar * @since Classe disponível desde a versão 1.0.0 * @version @@package_version@@ */ class indice extends clsConfig { var $pessoa_logada; var $titulo; var $limite; var $offset; var $cod_calendario_ano_letivo; var $ref_cod_escola; var $ref_usuario_exc; var $ref_usuario_cad; var $data_cadastra; var $data_exclusao; var $ativo; var $inicio_ano_letivo; var $termino_ano_letivo; var $ref_cod_instituicao; var $ano; var $mes; function renderHTML() { @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; $_SESSION['calendario']['ultimo_valido'] = 0; $obj_permissoes = new clsPermissoes(); if ($obj_permissoes->nivel_acesso($this->pessoa_logada) > 7) { $retorno .= ' '; $retorno .= ' '; $retorno .= '
Usuário sem permissão para acessar esta página
'; return $retorno; } $retorno .= ' '; $localizacao = new LocalizacaoSistema(); $localizacao->entradaCaminhos( array( $_SERVER['SERVER_NAME']."/intranet" => "Início", "educar_index.php" => "i-Educar - Escola", "" => "Calendário do ano letivo" )); $this->locale = $localizacao->montar(); if ($this->locale){ $retorno .= ""; } if ($_POST) { $this->ref_cod_escola = $_POST['ref_cod_escola'] ? $_POST['ref_cod_escola'] : $_SESSION['calendario']['ref_cod_escola']; $this->ref_cod_instituicao = $_POST['ref_cod_instituicao'] ? $_POST['ref_cod_instituicao'] : $_SESSION['calendario']['ref_cod_instituicao']; if ($_POST['mes']) { $this->mes = $_POST['mes']; } if ($_POST['ano']) { $this->ano = $_POST['ano']; } if ($_POST['cod_calendario_ano_letivo']) { $this->cod_calendario_ano_letivo = $_POST['cod_calendario_ano_letivo']; } } elseif (isset($_SESSION['calendario'])) { // passa todos os valores em SESSION para atributos do objeto foreach ($_SESSION['calendario'] as $var => $val) { $this->$var = ($val === '') ? NULL : $val; } } if ($_GET) { header('Location: educar_calendario_ano_letivo_lst.php'); } if (!$this->mes) { $this->mes = date('n'); } if (!$this->ano) { $this->ano = date('Y'); } $nivel_usuario = $obj_permissoes->nivel_acesso($this->pessoa_logada); if (! $this->ref_cod_escola) { $this->ref_cod_escola = $obj_permissoes->getEscola($this->pessoa_logada); } if (! $this->ref_cod_instituicao) { $this->ref_cod_instituicao = $obj_permissoes->getInstituicao($this->pessoa_logada); } $get_escola = 1; $obrigatorio = FALSE; include 'educar_calendario_pesquisas.php'; $obj_calendario_ano_letivo = new clsPmieducarCalendarioAnoLetivo(); $obj_calendario_ano_letivo->setOrderby('ano ASC'); $obj_calendario_ano_letivo->setLimite($this->limite, $this->offset); $lista = array(); $obj_calendario_ano_letivo->setOrderby('ano'); switch ($nivel_usuario) { // Poli-institucional case 1: case 2: case 4: if (!isset($this->ref_cod_escola)) { break; } $lista = $obj_calendario_ano_letivo->lista( $this->cod_calendario_ano_letivo, $this->ref_cod_escola, NULL, NULL, (!isset($this->cod_calendario_ano_letivo) ? $this->ano : NULL), NULL, NULL, 1 ); break; } $total = $obj_calendario_ano_letivo->_total; if (empty($lista)) { if ($nivel_usuario == 4) { $retorno .= ''; } else { if ($_POST) { $retorno .= ''; } else { $retorno .= ''; } } } // Monta a lista if (is_array($lista) && count($lista)) { foreach ($lista as $key => $registro) { // Guarda dados na $_SESSION $_SESSION['calendario'] = array( 'cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo'], 'ref_cod_instituicao' => $this->ref_cod_instituicao, 'ref_cod_escola' => $this->ref_cod_escola, 'ano' => $this->ano, 'mes' => $this->mes ); // Nome da escola $obj_ref_cod_escola = new clsPmieducarEscola($registro['ref_cod_escola']); $det_ref_cod_escola = $obj_ref_cod_escola->detalhe(); $registro['nm_escola'] = $det_ref_cod_escola['nome']; // Início e término do ano letivo. $obj_ano_letivo_modulo = new clsPmieducarAnoLetivoModulo(); $inicio_ano = $obj_ano_letivo_modulo->menorData( $registro['ano'], $this->ref_cod_escola ); $fim_ano = $obj_ano_letivo_modulo->maiorData( $registro['ano'], $this->ref_cod_escola ); $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; $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA'); $obj_dia_calendario = new clsPmieducarCalendarioDia( $registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL, NULL ); $lista_dia = $obj_dia_calendario->lista( $registro['cod_calendario_ano_letivo'], $this->mes, NULL, NULL, NULL, NULL ); if ($lista_dia) { $array_dias = array(); $array_descricao = array(); foreach ($lista_dia as $dia) { $descricao = ''; $url = sprintf( 'educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s&ref_cod_escola=%s&dia=%s&mes=%s&ano=%s', $registro['cod_calendario_ano_letivo'], $this->ref_cod_escola, $dia['dia'], $dia['mes'], $this->ano ); $botao_editar = sprintf('

', $url); if ($dia['ref_cod_calendario_dia_motivo']) { $array_dias[$dia['dia']] = $dia['dia']; $obj_motivo = new clsPmieducarCalendarioDiaMotivo($dia['ref_cod_calendario_dia_motivo']); $det_motivo = $obj_motivo->detalhe(); /** * @todo CoreExt_Enum? */ $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
%s', $tipo, $det_motivo['nm_motivo'], $dia['descricao'], $calendarioTurmas, $botao_editar ); $array_descricao[$dia['dia']] = $descricao; if (strtoupper($det_motivo['tipo']) == 'E') { $obj_calendario->adicionarLegenda('Extra Letivo', 'LARANJA_ESCURO'); $obj_calendario->adicionarArrayDias('Extra Letivo', array($dia['dia'])); } elseif (strtoupper($det_motivo['tipo']) == 'N') { $obj_calendario->adicionarLegenda('Não Letivo', '#VERDE_ESCURO'); $obj_calendario->adicionarArrayDias('Não Letivo', array($dia['dia'])); } $obj_calendario->diaDescricao($array_dias, $array_descricao); } elseif ($dia['descricao']) { $array_dias[$dia['dia']] = $dia['dia']; $descricao = sprintf( '
Descrição: %s
%s', $dia['descricao'], $botao_editar ); $array_descricao[$dia['dia']] = $descricao; } } if (! empty($array_dias)) { $obj_calendario->diaDescricao($array_dias, $array_descricao); } } if ($this->mes <= (int) $inicio_ano[1] && $this->ano == (int) $inicio_ano[2]) { if ($this->mes == (int) $inicio_ano[1]) { $obj_calendario->adicionarLegenda('Início Ano Letivo', 'AMARELO'); $obj_calendario->adicionarArrayDias('Início Ano Letivo', array($inicio_ano[0])); } $dia_inicio = (int) $inicio_ano[0]; $dias = array(); if ($this->mes < (int) $inicio_ano[1]) { $NumeroDiasMes = (int) date('t', $this->mes); for ($d = 1 ; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Não Letivo'); if (!empty($dias)){ $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } else { $dia_inicio; for ($d = 1 ; $d < $dia_inicio ; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); if (! empty($dias)){ $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7'); $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } } elseif ($this->mes >= (int)$fim_ano[1] && $this->ano == (int)$fim_ano[2] ){ $dia_inicio = (int)$fim_ano[0]; $dias = array(); if ($this->mes > (int)$fim_ano[1]) { $NumeroDiasMes = (int) date('t',$this->mes); for ($d = 1 ; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Não Letivo'); if (! empty($dias)) { $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } else { $NumeroDiasMes = (int) date('t', $this->mes); for ($d = $fim_ano[0] ; $d <= $NumeroDiasMes; $d++) { $dias[] = $d; } $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); if (! empty($dias)) { $obj_calendario->adicionarLegenda('Não Letivo', '#F7F7F7'); $obj_calendario->adicionarArrayDias('Não Letivo', $dias); } } if ($this->mes == (int) $fim_ano[1]) { $obj_calendario->adicionarLegenda('Término Ano Letivo', 'AMARELO'); $obj_calendario->adicionarArrayDias('Término Ano Letivo', array($fim_ano[0])); } } else { $obj_calendario->setLegendaPadrao('Dias Letivos', 'AZUL_CLARO'); } $obj_calendario->setCorDiaSemana(array(0, 6), 'ROSA'); $obj_anotacao = new clsPmieducarCalendarioDiaAnotacao(); $lista_anotacoes = $obj_anotacao->lista( NULL, $this->mes, $registro['cod_calendario_ano_letivo'], NULL, 1 ); if ($lista_anotacoes) { $dia_anotacao = array(); foreach ($lista_anotacoes as $anotacao) { if ($this->mes == (int) $anotacao['ref_mes']) { $dia_anotacao[$anotacao['ref_dia']] = $anotacao['ref_dia']; } } $obj_calendario->adicionarIconeDias($dia_anotacao, 'A'); } $obj_calendario->all_days_url = sprintf( 'educar_calendario_anotacao_lst.php?ref_cod_calendario_ano_letivo=%s', $registro['cod_calendario_ano_letivo'] ); // Gera código HTML do calendário $calendario = $obj_calendario->getCalendario( $this->mes, $this->ano, 'mes_corrente', $_GET, array('cod_calendario_ano_letivo' => $registro['cod_calendario_ano_letivo']) ); $retorno .= sprintf( '', $registro['nm_escola'], $calendario ); } } if ($obj_permissoes->permissao_cadastra(620, $this->pessoa_logada, 7)) { if ($_POST && empty($lista) && $_SESSION['calendario']['ultimo_valido']) { $url = sprintf( 'educar_calendario_ano_letivo_lst.php?ref_cod_instituicao=%s&ref_cod_escola=%s&ano=%s', $this->ref_cod_instituicao, $this->ref_cod_escola, $_SESSION['calendario']['ano'] ); $bt_voltar = sprintf( '', $url ); } $url = sprintf( 'educar_calendario_ano_letivo_cad.php?ref_cod_instituicao=%s&ref_cod_escola=%s', $this->ref_cod_instituicao, $this->ref_cod_escola ); $retorno .= sprintf(' ', $bt_voltar, $url); } $retorno .='
{$this->locale}
Sem Calendário Letivo
Sem Calendário para o ano selecionado
Selecione uma escola para exibir o calendário
%s%s
 
%s
'; return $retorno; } } // Instancia objeto de página $pagina = new clsIndexBase(); // Instancia objeto de conteúdo $miolo = new indice(); // Atribui o conteúdo à página $pagina->addForm($miolo); // Gera o código HTML $pagina->MakeAll();