Para exibir os usuários online nos últimos 5 minutos com programação em PHP, siga os seguintes passos:
1° Passo
Importe a biblioteca de funções do Moodle:
require_once("../config.php");
2° Passo
Calcule a data em segundos de 5 minutos atrás:
$data=time()-(5*60);
3° Passo
Escreva o comando SQL para consultar os usuários online nos últimos 5 minutos:
$sql="SELECT DISTINCT u.id, u.firstname, u.lastname FROM {$CFG->prefix}user u INNER JOIN {$CFG->prefix}log l ON u.id = l.userid WHERE time >= $data " ;
4° Passo
Execute a consulta no Banco de Dados:
$users=get_records_sql($sql);
5° Passo
Imprime na tela os usuários online:
$cont=0;
foreach ($users as $user){
echo $user->id;
echo " ";
echo $user->firstname ." ".$user->lastname."<br>";
$cont++;
}
echo $cont." usuario online";
Viu como é moleza. Agora juntando todo o código fica assim:
<?php
require_once("../config.php");
$data=time()-(5*60);
$sql="SELECT DISTINCT u.id, u.firstname, u.lastname FROM {$CFG->prefix}user u INNER JOIN {$CFG->prefix}log l ON u.id = l.userid WHERE time >= $data " ;
$users=get_records_sql($sql);
$cont=0;
foreach ($users as $user){
echo $user->id;
echo " ";
echo $user->firstname ." ".$user->lastname."<br>";
$cont++;
}
echo $cont." usuario online";
?>
Implementar no Moodle
Para executar esse código no Moodle, crie uma pasta denominado _extra dentro da raiz da instalação do Moodle. Em seguida, crie um arquivo denominado user_online.php dentro da pasta _extra. Coloque o código php nesse arquivo.
Feito isso, acesse o endereço: http://[endereço do moodle]/_extra/user_online.php
Download
Se estiver com preguiça de criar o arquivo e digitar o código, faça download desse exemplo. Descompacte o arquivo e cole na pasta _extra na raiz do seu Moodle. Caso a pasta _extra não exista ainda, crie-a. Agora faça o teste.
Veja Também:
Listar Usuários Online do Moodle com Comando SQL
olá
ResponderExcluircomo fazer pra listar somente os cursos do usuario logado?
em uma pagina separada ?
Dê uma olhada nesse post http://moodlesql.blogspot.com/2011/12/listar-cursos-que-o-aluno-esta-inscrito.html
ResponderExcluirbom dia!
ResponderExcluircomigo não funcionou.
fiz passo a passo, mas quando acesso a pagina ela fica em branco.
o que seria?
Que erro que deu?
ResponderExcluirAo rodar o código, ative o erro do Moodle para ver o que está acontecendo. Veja como fazer isso no link: http://moodlephp.blogspot.com/2011/03/ativar-exibicao-do-erro-no-moodle.html
Este comentário foi removido pelo autor.
ResponderExcluirOlá Lino! Gostaria de exibir os usuários logados que esteja em um determinado curso. O que devo adicionar a consulta?
ResponderExcluirAbração!