Página 1 de 1

Criar tarefa CRON para executar uma rota admin (RESOLVIDO)

Enviado: 25 Abr 2016, 09:21
por Rejota
Olá amigos do opencart Brasil!
Estou precisando de uma ajuda, preciso executar uma rota no administrativo de uma loja opencart, porém a execução tem que ser realizada automaticamente. Agendar a tarefa CRON sem problemas, a questão é por a rota ser admin não consigo executá-la sem estar conectado ao administrativo.
Se algum colega tiver uma solução, por favor me ajudem!

Obrigado e fico no aguardo.

Re: Criar tarefa CRON para executar uma rota admin

Enviado: 25 Abr 2016, 12:03
por valdeir2000
Tem uma coisa que não é muito seguro de fazer, mas é uma alternativa.
Código: Selecionar todos
if ((isset($request->get['token'])) && $request->get['token'] == 'f11a2bde7bdec935c9938799410be638') {
  $session->data['user_id'] = 1;
  $session->data['token'] = 'f11a2bde7bdec935c9938799410be638';
}
Colocando o código acima no index.php do admin, é possível acessar: http://www.MINHA-LOJA.com.br/admin/inde ... 99410be638

Mas como foi supracitado, não é o melhor método.

O melhor método é criar uma rota no "catalog", fazer uma autenticação via "Basic Access Authentication"e executar a tarefa.

Ps.: O código utilizado para criar o hash acima foi
Código: Selecionar todos
<?php echo md5(password_hash('Hello World', PASSWORD_BCRYPT)); ?>

Re: Criar tarefa CRON para executar uma rota admin

Enviado: 25 Abr 2016, 16:38
por Rejota
Desde já agradeço sua ajuda.
Vou testar o primeiro modo que me passou e também a opção mais segura, posto aqui os resultados.
Obrigado

Re: Criar tarefa CRON para executar uma rota admin

Enviado: 26 Abr 2016, 09:04
por Rejota
Olá valdeir2000, fiz conforme me indicou porém agora quando executo a rota na 1ª vez não tenho acesso, somente quando executo a rota novamente, isto no CRON é um problema pois a tarefa não pode ser executada - não consegue entrar no adm. Estou tentando uma alternativa para logar no 1º acesso, mas se tiver alguma ideia por favor me ajude :D .
Obrigado pela força!

Re: Criar tarefa CRON para executar uma rota admin

Enviado: 26 Abr 2016, 13:36
por valdeir2000
Isso acontece pois você não colocou no lugar correto, procure por $session = new Session; e adicione o código na linha seguinte.

Na versão 2.2.x basta colocar depois da linha $session->start(); no arquivo system/framework.php

Re: Criar tarefa CRON para executar uma rota admin

Enviado: 26 Abr 2016, 17:49
por Rejota
Agora sim! funcionou de prima.
Obrigado valdeir2000.