Estou utilizando a macro na validação do campo cnpj, que foi inserido na tela do login, conforme abaixo:
sc_change_connection("_central", {cnpj}."_central" ; “_sez”, {cnpj}."_sez"; “conn_mysql”, {cnpj}."_central");
No caso, como não tem outro jeito, por enquanto, todas as conexões, foram definidas no SC e é feito a troca nessa função, que é um evento onchange ajax. Como eu disse no outro post, esta funcionando nas outras aplicações e funciona, a partir do momento que faço a inversão na função prep_conect() dentro do index.php da aplicação.
Segue abaixo o trecho do index.php da aplicação apl_login, depois de regerado:
function prep_conect()
{
$con_devel = (isset($_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_conexao’])) ? $_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_conexao’] : “”;
$perfil_trab = “”;
$this->nm_falta_var = “”;
$this->nm_falta_var_db = “”;
$nm_crit_perfil = false;
if (isset($_SESSION[‘scriptcase’][‘sc_connection’]) && !empty($_SESSION[‘scriptcase’][‘sc_connection’]))
{
foreach ($_SESSION[‘scriptcase’][‘sc_connection’] as $NM_con_orig => $NM_con_dest)
{
if (isset($_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_conexao’]) && $_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_conexao’] == $NM_con_orig)
{
/NM/ $_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_conexao’] = $NM_con_dest;
}
if (isset($_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_perfil’]) && $_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_perfil’] == $NM_con_orig)
{
/NM/ $_SESSION[‘scriptcase’][‘apl_Login’][‘glo_nm_perfil’] = $NM_con_dest;
}
if (isset($SESSION[‘scriptcase’][‘apl_Login’]['glo_con’ . $NM_con_orig]))
{
$SESSION[‘scriptcase’][‘apl_Login’]['glo_con’ . $NM_con_orig] = $NM_con_dest;
}
}
}
Veja que a definição do $con_devel esta no inicio da função, e abaixo, vem a redefinição das variáveis da conexão em sessão. Ou seja, para ter efeito, a definição do $con_devel, tem que vir abaixo da redefinição das variáveis da conexão. Desta forma, sempre fica a conexão original da aplicação.