[RESOLVIDO] - Módulo de Segurança + sc_redir()

Na aplicação form_add_users, do módulo de segurança, quando é necessário validar o cadastro do usuários por email, temos o seguinte código no evento onApplicationInit:

if(isset($_GET[‘a’]) && substr($GET[‘a’],0,4) == 'new’) {
sc_exec_sql("UPDATE tb_seg_users SET active = ‘Y’, activation_code =’’ WHERE activation_code = ". sc_sql_injection($_GET[‘a’]));
sc_redir(‘Login’);
}

O sc_redir(‘Login’); não funciona causando Error 500.

Banco MySQL, Versão 9.6.018

O que pode ser?

Qual o nome da aplicação de login?

Você a renomeou?

Não … a mesma se chama Login

Está gerada?

É em produção?

Sim … está geranda.
Não … ainda no ambiente do SC.

‘Login’ seria alguma palavra reservada?

Login é o nome da app de login

Geralmente o módulo de segurança cria um prefixo para apps de segurança.

Deixei em branco nessa etapa, para não criar prefixos diferentes, já que estariam em pasta específica.

Se a app existe e a pasta Login existe o sc_redir não pode dar erro.

Tudo, “aparentemente” certinho … apps, pastas … mas não funfa.

Log PHP:
[Fri Aug 20 22:31:41.382017 2021] [php7:error] [pid 750] [client 192.168.56.1:52878] PHP Fatal error: Uncaught Error: Call to undefined method form_add_users_apl::nmgp_redireciona_form() in /var/www/html/sc9/app/eShot/form_add_users/form_add_users_apl.php:405\nStack trace:\n#0 /var/www/html/sc9/app/eShot/form_add_users/form_add_users_apl.php(1082): form_add_users_apl->ini_controle()\n#1 /var/www/html/sc9/app/eShot/form_add_users/index.php(2432): form_add_users_apl->controle()\n#2 {main}\n thrown in /var/www/html/sc9/app/eShot/form_add_users/form_add_users_apl.php on line 405

Exclua a pasta form_add_user e gere novamente.

Eureka!!!

Eu havia removido o sc_redir(‘Login’); do onAfterInsert.
Fiz isso por que no método send_mail_to_new_user() implementei um sc_alert() que não estava funcionando quando tinha o sc_redir().

Qual a relação do onApplicationInit e onAfterInsert em relação ao sc_redir(), continuo sem saber.