Exemple #1
0
 function Novo()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     @session_write_close();
     $this->data_fechamento = Portabilis_Date_Utils::brToPgSQL($this->data_fechamento);
     if (!$this->canCreateTurma($this->ref_cod_escola, $this->ref_ref_cod_serie, $this->turma_turno_id)) {
         return false;
     }
     $this->ref_cod_instituicao_regente = $this->ref_cod_instituicao;
     if (isset($this->multiseriada)) {
         $this->multiseriada = 1;
     } else {
         $this->multiseriada = 0;
     }
     if (isset($this->visivel)) {
         $this->visivel = TRUE;
     } else {
         $this->visivel = FALSE;
     }
     // Não segue o padrao do curso
     if ($this->padrao_ano_escolar == 0) {
         $this->turma_modulo = unserialize(urldecode($this->turma_modulo));
         $this->turma_dia_semana = unserialize(urldecode($this->turma_dia_semana));
         if ($this->turma_modulo) {
             $obj = new clsPmieducarTurma(NULL, NULL, $this->pessoa_logada, $this->ref_ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_infra_predio_comodo, $this->nm_turma, $this->sgl_turma, $this->max_aluno, $this->multiseriada, NULL, NULL, 1, $this->ref_cod_turma_tipo, $this->hora_inicial, $this->hora_final, $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento);
             $cadastrou = $obj->cadastra();
             if ($cadastrou) {
                 // Cadastra módulo
                 foreach ($this->turma_modulo as $campo) {
                     $campo['data_inicio_'] = dataToBanco($campo['data_inicio_']);
                     $campo['data_fim_'] = dataToBanco($campo['data_fim_']);
                     $obj = new clsPmieducarTurmaModulo($cadastrou, $campo['ref_cod_modulo_'], $campo['sequencial_'], $campo['data_inicio_'], $campo['data_fim_']);
                     $cadastrou1 = $obj->cadastra();
                     if (!$cadastrou1) {
                         $this->mensagem = Portabilis_String_utils::toLatin1('Cadastro não realizado.');
                         echo "<!--\nErro ao cadastrar clsPmieducarTurmaModulo\nvalores obrigatorios\nis_numeric( {$cadastrou} ) && is_numeric( {$campo["ref_cod_modulo_"]} ) && is_numeric( {$campo["sequencial_"]} ) && is_string( {$campo["data_inicio_"]} ) && is_string( {$campo["data_fim_"]} )\n-->";
                         return FALSE;
                     }
                 }
                 if ($this->turma_dia_semana) {
                     // Cadastra dia semana
                     foreach ($this->turma_dia_semana as $campo) {
                         $obj = new clsPmieducarTurmaDiaSemana($campo["dia_semana_"], $cadastrou, $campo["hora_inicial_"], $campo["hora_final_"]);
                         $cadastrou2 = $obj->cadastra();
                         if (!$cadastrou2) {
                             $this->mensagem = 'Cadastro não realizado.';
                             echo "<!--\nErro ao cadastrar clsPmieducarTurmaDiaSemana\nvalores obrigat&oacute;rios\nis_numeric( {$cadastrou} ) && is_numeric( {$campo["dia_semana_"]} ) && is_string( {$campo["hora_inicial_"]} ) && is_string( {$campo["hora_final_"]} )\n-->";
                             return FALSE;
                         }
                     }
                 }
                 $this->mensagem .= 'Cadastro efetuado com sucesso.';
                 header('Location: educar_turma_lst.php');
                 die;
             }
             $this->mensagem = Portabilis_String_utils::toLatin1('Cadastro não realizado.');
             echo "<!--\nErro ao cadastrar clsPmieducarTurma\nvalores obrigatorios\nis_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_ref_cod_serie} ) && is_numeric( {$this->ref_cod_escola} ) && is_numeric( {$this->ref_cod_infra_predio_comodo} ) && is_string( {$this->nm_turma} ) && is_numeric( {$this->max_aluno} ) && is_numeric( {$this->multiseriada} ) && is_numeric( {$this->ref_cod_turma_tipo} )\n-->";
             return FALSE;
         }
         echo '<script type="text/javascript">alert(stringUtils.toUtf8("É necessário adicionar pelo menos 1 módulo!"))</script>';
         $this->mensagem = Portabilis_String_utils::toLatin1("Cadastro não realizado.");
         return FALSE;
     } elseif ($this->padrao_ano_escolar == 1) {
         $obj = new clsPmieducarTurma(null, null, $this->pessoa_logada, $this->ref_ref_cod_serie, $this->ref_cod_escola, $this->ref_cod_infra_predio_comodo, $this->nm_turma, $this->sgl_turma, $this->max_aluno, $this->multiseriada, null, null, 1, $this->ref_cod_turma_tipo, $this->hora_inicial, $this->hora_final, $this->hora_inicio_intervalo, $this->hora_fim_intervalo, $this->ref_cod_regente, $this->ref_cod_instituicao_regente, $this->ref_cod_instituicao, $this->ref_cod_curso, $this->ref_ref_cod_serie_mult, $this->ref_cod_escola, $this->visivel, $this->turma_turno_id, $this->tipo_boletim, $this->ano, $this->data_fechamento);
         $cadastrou = $obj->cadastra();
         if ($cadastrou) {
             $this->mensagem .= 'Cadastro efetuado com sucesso.';
             header('Location: educar_turma_lst.php');
             die;
         }
         $this->mensagem = Portabilis_String_utils::toLatin1('Cadastro não realizado.');
         echo "<!--\nErro ao cadastrar clsPmieducarTurma\nvalores obrigatorios\nis_numeric( {$this->pessoa_logada} ) && is_numeric( {$this->ref_ref_cod_serie} ) && is_numeric( {$this->ref_cod_escola} ) && is_numeric( {$this->ref_cod_infra_predio_comodo} ) && is_string( {$this->nm_turma} ) && is_numeric( {$this->max_aluno} ) && is_numeric( {$this->multiseriada} ) && is_numeric( {$this->ref_cod_turma_tipo} )\n-->";
         return FALSE;
     }
     $this->atualizaComponentesCurriculares($this->serie_param, $this->escola_param, $this->cod_turma, $this->disciplinas, $this->carga_horaria, $this->usar_componente);
 }
 function copiarTurma($turmaOrigem, $anoOrigem, $anoDestino)
 {
     $sql = "select 1 from turma where ativo = 1 and visivel = true\n            and ref_ref_cod_escola = \$1 and nm_turma = \$2 and ref_ref_cod_serie = \$3 and ano = \$4 limit 1";
     $params = array($turmaOrigem['ref_ref_cod_escola'], $turmaOrigem['nm_turma'], $turmaOrigem['ref_ref_cod_serie'], $anoDestino);
     $existe = Portabilis_Utils_Database::selectField($sql, $params);
     if ($existe != 1) {
         $fields = array('ref_usuario_exc', 'ref_usuario_cad', 'ref_ref_cod_serie', 'ref_ref_cod_escola', 'ref_cod_infra_predio_comodo', 'nm_turma', 'sgl_turma', 'max_aluno', 'multiseriada', 'data_cadastro', 'data_exclusao', 'ativo', 'ref_cod_turma_tipo', 'hora_inicial', 'hora_final', 'hora_inicio_intervalo', 'hora_fim_intervalo', 'ref_cod_regente', 'ref_cod_instituicao_regente', 'ref_cod_instituicao', 'ref_cod_curso', 'ref_ref_cod_serie_mult', 'ref_ref_cod_escola_mult', 'visivel', 'turma_turno_id', 'tipo_boletim', 'ano');
         $turmaDestino = new clsPmieducarTurma();
         foreach ($fields as $fieldName) {
             $turmaDestino->{$fieldName} = $turmaOrigem[$fieldName];
         }
         $turmaDestino->ano = $anoDestino;
         $turmaDestinoId = $turmaDestino->cadastra();
         $this->copiarComponenteCurricularTurma($turmaOrigem['cod_turma'], $turmaDestinoId);
         $this->copiarModulosTurma($turmaOrigem['cod_turma'], $turmaDestinoId, $anoOrigem, $anoDestino);
         $this->copiarDiasSemanaTurma($turmaOrigem['cod_turma'], $turmaDestinoId);
     }
 }