Haroldo, coloquei o código da função toda no notepad++ e o editor aponta que a “}” imediatamente antes do echo não está “fechando” com nenhuma “{”.
Está me parecendo que isso é um bugzinho que o montador php não “pegou”.
Não pode ser?
Porém ocorreu que eu fiz 2 modificações no código da função:
Primeiro eu comentei a instrução sc_redir(encerra_prova) e coloquei diretamente a instrução echo ‘’;
Como não funcionou, voltei a instrução sc_redir original e comentei o script. Veja abaixo:
if ([w_tempoRestante]<=0)
{
$w_comandoSQL4= 'UPDATE public."tb_provasGeradasProCandidato" SET "provaCompletada" = 1, "dataProvaCompletada" = now() WHERE "numeroDaProva" ='.[w_numeroProva].';';
sc_exec_sql($w_comandoSQL4);
sc_commit_trans();
[w_msgStatusProva]= "TEMPO DE PROVA ENCERRADO : PROVA No. ".{numeroDaProva}." - Candidato : ".{w_nomeCandidato}. " FINALIZADA !";
sc_alert([w_msgStatusProva]);
sc_redir(encerra_prova);
// echo ‘’;
}
else
{
{w_horastempoDecorrido} = intval([w_tempoRestante]/3600);
{w_minutostempoDecorrido} = intval(([w_tempoRestante]-({w_horastempoDecorrido}*3600))/60);
{w_segundostempoDecorrido} = [w_tempoRestante] - ({w_horastempoDecorrido}*3600)-({w_minutostempoDecorrido}*60);
}
… e o resultado no código gerado no php foi completamente outro daquele que lhe enviei.
Veja:
if ($this->sc_temp_w_tempoRestante<=0)
{
$w_comandoSQL4= 'UPDATE public."tb_provasGeradasProCandidato" SET "provaCompletada" = 1, "dataProvaCompletada" = now() WHERE "numeroDaProva" ='.$this->sc_temp_w_numeroProva.';';
$nm_select = $w_comandoSQL4;
$_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
$_SESSION['scriptcase']['sc_sql_ult_conexao'] = '';
$rf = $this->Db->Execute($nm_select);
if ($rf === false)
{
$this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
$this->NM_rollback_db();
if ($this->NM_ajax_flag)
{
Realizar_Prova_pack_ajax_response();
}
exit;
}
$rf->Close();
;
if ($this->Ini->sc_tem_trans_banco)
{
$this->Db->CommitTrans();
$this->Ini->sc_tem_trans_banco = false;
}
$this->sc_temp_w_msgStatusProva= "TEMPO DE PROVA ENCERRADO : PROVA No. ".$this->numerodaprova ." - Candidato : ".$this->w_nomecandidato . " FINALIZADA !";
$this->nm_mens_alert[] = $this->sc_temp_w_msgStatusProva; [u][b]if ($this->NM_ajax_flag) { $this->sc_ajax_alert($this->sc_temp_w_msgStatusProva); } if (isset($this->sc_temp_w_tempoRestante)) { $_SESSION['w_tempoRestante'] = $this->sc_temp_w_tempoRestante;}
if (isset($this->sc_temp_w_numeroProva)) { $_SESSION[‘w_numeroProva’] = $this->sc_temp_w_numeroProva;}
if (isset($this->sc_temp_w_msgStatusProva)) { $_SESSION[‘w_msgStatusProva’] = $this->sc_temp_w_msgStatusProva;}
if (!isset($this->Campos_Mens_erro) || empty($this->Campos_Mens_erro))
{
$this->nmgp_redireciona_form($this->Ini->path_link . “” . SC_dir_app_name(‘encerra_prova’) . “/”, $this->nm_location, “”, “_self”, “ret_self”, 440, 630);[/b][/u]
};
}
else
{
$this->w_horastempodecorrido = intval($this->sc_temp_w_tempoRestante/3600);
$this->w_minutostempodecorrido = intval(($this->sc_temp_w_tempoRestante-($this->w_horastempodecorrido *3600))/60);
$this->w_segundostempodecorrido = $this->sc_temp_w_tempoRestante - ($this->w_horastempodecorrido *3600)-($this->w_minutostempodecorrido *60);
}
Vc tem ideia do que pode estar acontecendo???