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ó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); } }