UlabGrid2MoodleSesionVNC+Online VNCusers (Integrado)
From P2pgrid
El bloque online_vncusers ha sido desinstalado y el código encargado de mostrar los usuarios en línea utilizando sesionvnc ha sido integrado en el paquete del módulo actividad sesionvnc.
La función actualizaVNCusers() es llamada al cargar la página gracias al evento "onload" de javascript y se encarga de comprobar si hay nuevos usuarios VNC conectados, utilizando para ello AJAX, la función setTimeout de javascript y una llamada recursiva a sí misma.
- sesionvnc/view.php
function actualizaVNCusers(courseid){
var contenedor;
contenedor = document.getElementById('vnc');
ajax = new nuevoAjax();
ajax.open("GET","actualizaVNCusers.php?courseid="+courseid,true);
ajax.onreadystatechange = function () {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText
}
}
ajax.send(null);
setTimeout('actualizaVNCusers('+courseid+')',10000);
}
echo "<BODY onload=actualizaVNCusers($course->id) onUnload=desconexion()>";
- sesionvnc/actualizaVNCusers.php
<?php
/**
* This file allow showing the connected VNC users
*
* @author José Andrés del Campo
* @version $Id: actualizaVNCusers.php,v 2 2008/10/02 Jose Andres del Campo
* @package sesionvnc
**/
require_once("../../config.php");
$courseid = optional_param('courseid', 0, PARAM_INT); //id
if ($vncusers = get_records_select('vncuser_lastaccess','connected="1"')){
echo '<b>Online VNC-users</b><hr><table border="0">';
foreach ($vncusers as $vncuser) {
if ($users = get_records_select('user','id='.$vncuser->userid.'')){
foreach ($users as $user) {
print '- <a href="javascript:infoVNCuser('.$user->id.','.$courseid.')"> '.$user->firstname. " ".$user->lastname."</a><br>";
}
}
}
echo "</table>";
}
?>
Así, ya no es necesario instalar el bloque online_vncusers, simplemente sería necesario instalar el módulo actividad sesionvnc con lo que se logra simplificar el proceso de instalación y evitar comprobaciones como que el bloque online_vncusers no puede funcionar si no está instalado sesionvnc y que sesionvnc no podía cargar el bloque si no había sido instalado.
