Liberação de Login Automatizado.

Bom dia pessoal.

Estou com um sistema que vai ter muitos usuários. Estou querendo automatizar o cadastro.

  1. Vou disponibilizar o cadastro que envie um email pra ele com o link de ativação. No SC7 crio os grupos por exemplo grupo1 com as suas devidas permissões. Depois que ele fez o cadastro gostaria de ele logasse no grupo1 com as suas devidas permissões sem eu ter que setar que grupo ele pertence.

  2. Gostaria que após 15 dias do cadastro fosse expirado o login e seria redirecionado para uma URL.
    Coloco esse código no evento onvalidade da aplicação segurança? E está correto o cógido?
    sc_lookup(dataset,“SELECT datediff
    (curdate(), data_cadastro)
    FROM tabela_usuarios
    WHERE var_login = {login}”);

if(!empty({dataset}[0][0] > 15)){

  sc_message("Sua versão demonstrativa expirou");
  sc_redir(url: "www.minhaurl.com.br");	

}
else{

sc_redir('menu',var_login={login});
}

Desde já agradeço.

Aparentemente sim, coloque no Onvalidate, entra na sua base de dados:

  1. Pegue um usuário para teste coloque uma data de cadastro atual lá e tente
    logar na aplicação.

  2. Pegue o usuário na base novamente e mude a data de cadastro para anterior a 15 dias
    ai tente logar novamente ele tem que passar pela rotina.

Um abraço.

Olá Jailton,

Segue o código completo:

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({pswd}));

$sql = "SELECT
active,
name,
email,
data_cad
FROM sec_users
WHERE login = $slogin
AND pswd = ".$spswd;
sc_lookup(rs, $sql);

$sql_data = "SELECT datediff
(curdate(), data_cad)
FROM sec_users WHERE login = $slogin
AND pswd = ".$spswd;
sc_lookup(rs1, $sql_data);

if(count({rs}) == 0)
{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
sc_error_message({lang_error_login});
sc_error_exit();
}
else if({rs[0][0]} == ‘Y’)
{
$usr_login = {login};
$usr_name = {rs[0][1]};
$usr_email = {rs[0][2]};
$data_atual = {rs1[0][0]};
sc_set_global($usr_login);
sc_set_global($usr_name);
sc_set_global($usr_email);
sc_set_global($data_atual);

}
[b]else if($data_atual > 5)
{
sc_redir(“http://www.minhaurl.com.br”);

}[/b]

else
{
sc_error_message({lang_error_not_active});
sc_error_exit();
}

Não acontece nada.

Ok Deu certo a questão de datas. Mas a questão dos grupos?

1. Vou disponibilizar o cadastro que envie um email pra ele com o link de ativação. No SC7 crio os grupos por exemplo grupo1 com as suas devidas permissões. Depois que ele fez o cadastro gostaria de ele logasse no grupo1 com as suas devidas permissões sem eu ter que setar que grupo ele pertence.

Daniel,

Simples: basta que no OnAfterInsert do formulário de cadastro de usuários, tu fazes um INSERT na tabela seg_users_groups (não sei se é este nome mesmo mas é por ai) com o login do usuário e o código do grupo ao qual ele deve pertencer.