Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#66531
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.
Editado pela última vez por Rejota em 26 Abr 2016, 17:49, em um total de 1 vez.
#66534
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)); ?>
#66549
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!
#66552
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
Editado pela última vez por valdeir2000 em 26 Abr 2016, 22:49, em um total de 1 vez.