Hackear código do Moodle para abrir scorm fora do popup

Hackear código do Moodle para abrir scorm fora do popup

por Lino Vaz Moniz -
Número de respostas: 1

Se você está no desespero porque o popup é bloqueado no navegador quando o aluno abre o SCORM na Plataforma Moodle, uma solução rápida, porém não recomendada é hacker de código.

O hacker a seguir não contempla todos os cenários e precisa de teste exaustivo para verificar a questão de tentativas. Se você aprimorar isso, compartilhe.

Vamos lá,
O aluno acessou SCORM

Para alterar o comportamento do botão entrar, para abrir numa nova aba e não em um popup, vamos

a) Abra o arquivo MOODLE_DIR_INSTALL/mod/scorm/locallib.php

b) Comente as linhas 1029 e 1030. A posição pode variar dependendo da sua versão do Moodle. Mas são as linhas contornadas em laranja. Adiciona, em baixo, as duas linhas, código a seguir. Linhas contornadas em verde.

$url=$CFG->wwwroot."/mod/scorm/player.php?scoid=$launchsco&cm=$cm->id&currentorg=articulate_rise&display=popup&mode=normal";
echo "<a class=\"btn btn-primary\" href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\" role=\"button\">Entrar</a>";


c) Salve o arquivo e faça um teste. Deve funcionar. Para mim funcionou.

Ressalto que não fiz tratamento de algumas variáveis e controle no link. Aproveite e aprimore. Não saia dizendo por aqui que faço hacker de código!!! 

Em resposta à Lino Vaz Moniz

Re: Hackear código do Moodle para abrir scorm fora do popup

por Luciano Almeida -

Ótima iniciativa grande Lino,

Vou incrementar com um ajuste ao comportamento no arquivo www.seumoodle.com.br/mod/scorm/view.js.

Incrementos nas linhas 82 e 96.
1. Abra o arquivo view.js e comento a linha /*winobj = window.open(launch_url,'Popup', poptions);*/
depois incluir: winobj = window.open(launch_url,'_self');


2. no mesmo arquivo view.js, comente a linha: /*winobj = window.open(launch_url, 'Popup', poptions);*/, em seguida incluir: winobj = window.open(launch_url,'_self');




Espero ter contribuído com a comunidade e aguardo comentários.