[RESOLVIDO] Provável Bug em variaveis globais.

Pessoal,

Ambiente de desenvolvimento
Scriptcase 8.1.011 (Atualizado manualmente)
Linux Debian 3.2.60-1+deb7u1 x86_64
Apache 2.0
PHP 5.4.44-0
Banco de Dados 5.6.19

Após realizar a atualização manual para o último release do ScriptCase (8.1.011), começou a dar o seguinte erro em aplicações que estavam funcionando normalmente.

Parse error: syntax error, unexpected ‘’ (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /publica/scriptcase8/app/seplage/form_localizacao/form_localizacao_apl.php on line 4446

Acessei o servidor e copiei o referido arquivo e analisando a linha de erro 4446, encontrei o que acredito ser um Bug:

$this->cod_seplage_ = htmlentities("" . $_SESSION[‘var_cod_seplage’] . “”);

Penso que deveria ser:

$this->cod_seplage_ = htmlentities("" . $_SESSION[‘var_cod_seplage’] . “”);

Este problema está acontecendo em todo lugar onde tenho variáveis definidas acessando: “Configuração de Variáveis”.

Segue um recorte do código para facilitar a equipe da NM achar o possivel bug:

while ($sc_seq_vert <= $this->sc_max_reg_incl) 
  { 
	  $this->cod_localizacao_ = "";  
	  $this->cod_seplage_ = htmlentities("\" . $_SESSION[\'var_cod_seplage\'] . \"");  
	
	  ...
	  if (($this->Embutida_form || $this->Embutida_multi) && isset($_SESSION['sc_session'][$this->Ini->sc_page]['form_localizacao']['foreign_key']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['form_localizacao']['foreign_key']))
	  {
		  foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['form_localizacao']['foreign_key'] as $sFKName => $sFKValue)
		  {
			  if (isset($this->sc_conv_var[$sFKName]))
			  {
				  $sFKName = $this->sc_conv_var[$sFKName];
			  }
			  eval("\$this->" . $sFKName . " = \"" . $sFKValue . "\";");
		  }
	  }
	  ...
	  $sc_seq_vert++; 
  }

Não sei se outros usuários estão com este problema, mas, começou exatamente, após a última atualização.

Fico no aguardo.

att.
Flávio

Olá,

O problema foi resolvido na atualização 8.1.012 liberada agora pouco. Por favor atualize o ScriptCase.

[b]Correção Específica[/b]
  • Corrigido problema na execução de formulários utilizando variável global definido no valor inicial do campo.

John, bom dia.

Desculpa não ter respondido sobre este release antes, pois, postei o problema no fim do expediente da Sexta-feira e ontem não trabalhei.

O problema persiste de acordo com os meus testes e olhando no forum, existe outro usuário com o mesmo problema:

https://www.scriptcase.com.br/forum/index.php/topic,11998.msg62039.html#msg62039

Ambiente de desenvolvimento
Scriptcase 8.1.013 (Atualizado manualmente)
Linux Debian 3.2.60-1+deb7u1 x86_64
Apache 2.0
PHP 5.4.44-0
Banco de Dados 5.6.19

Fico no aguardo,

att.
Flávio

Prezados,

Os que estiverem com este erro, recomendo vocês atualizarem para a versão 8.1.014.

O problema ocorria nos formulários múltiplo registro geral e grid editável.