function conectados()
 {
     //se puede acceder a los usuarios conectados
     $ADODB_FETCH_MODE = ADODB_FETCH_BOTH;
     //crea una nueva conexin con una bbdd (mysql)
     $this->db = NewADOConnection($this->db_type);
     //le dice que no salgan los errores de conexin de la ddbb por pantalla
     $this->db->debug = false;
     //realiza una conexin permanente con la bbdd
     $this->db->Connect($this->db_ip, $this->db_user, $this->db_passwd, $this->db_name);
     //mete la consulta
     $this->sql = "SELECT * FROM sessions WHERE down = '0000-00-00 00:00:00'";
     //la ejecuta y guarda los resultados
     $this->result = $this->db->Execute($this->sql);
     //si falla
     if ($this->result === false) {
         $this->error = 1;
         $this->db->close();
         return 0;
     }
     $usuario = new users();
     $this->num = 0;
     $this->conectados_list = null;
     while (!$this->result->EOF) {
         //cogemos los datos del usuario
         $this->conectados_list[$this->num][$this->ddbb_id_session] = $this->result->fields[$this->ddbb_id_session];
         $this->conectados_list[$this->num][$this->ddbb_id_session_php] = $this->result->fields[$this->ddbb_id_session_php];
         $this->conectados_list[$this->num][$this->ddbb_id_user] = $this->result->fields[$this->ddbb_id_user];
         $this->conectados_list[$this->num][$this->ddbb_up] = $this->result->fields[$this->ddbb_up];
         $usuario->read_fields($this->conectados_list[$this->num][$this->ddbb_id_user]);
         $this->conectados_list[$this->num][$this->ddbb_name] = $usuario->full_name;
         //Modificaci�n del formato de las fechas para la presentaci�n
         list($anno, $mes, $dia, $hora, $minutos, $segundos) = sscanf($this->conectados_list[$this->num][$this->ddbb_up], "%d-%d-%d %d:%d:%d");
         if ($mes < 10) {
             $mes = "0" . $mes;
         }
         if ($dia < 10) {
             $dia = "0" . $dia;
         }
         if ($hora < 10) {
             $hora = "0" . $hora;
         }
         if ($minutos < 10) {
             $minutos = "0" . $minutos;
         }
         if ($segundos < 10) {
             $segundos = "0" . $segundos;
         }
         $this->conectados_list[$this->num][$this->ddbb_up] = "{$dia}-{$mes}-{$anno} {$hora}:{$minutos}:{$segundos}";
         //nos movemos hasta el siguiente registro de resultado de la consulta
         $this->result->MoveNext();
         $this->num++;
     }
     $this->db->close();
     return $this->num;
 }
 function view($id, $tpl)
 {
     /*
     	Cosas que faltan por hacer:
     		De forma general, mirar los permisos del usuario que vaya a acceder aqui, para saber si tiene permisos de borrar editar ver etc...
     		Averiguar como pasar el numero de registros, si va a ser a grupos a grupos, si va a ser a modulos, a modulos
     		Order By (y mantener la b�squeda en el caso de que hubiera hecha una y averiguar la "pesta�a" a la que hace referencia)
     		Busquedas
     */
     $cadena = '';
     // Leemos el empleado y se lo pasamos a la plantilla
     $this->read($id);
     $tpl->assign('objeto', $this);
     if ($this->id_user == 0 || $this->id_user == '') {
         $tpl->assign("user_emp", "Sin Usuario");
     } else {
         $usuario = new users();
         $usuario->read_fields($this->id_user);
         $tpl->assign("user_emp", $usuario->login);
     }
     if ($this->birthday != "0000-00-00") {
         list($anno, $mes, $dia) = sscanf($this->birthday, "%d-%d-%d");
         $tpl->assign("cumplecambiado", "{$dia}-{$mes}-{$anno}");
     } else {
         $tpl->assign("cumplecambiado", "00-00-0000");
     }
     //Se comprueba si hay permiso para borrar o modificar
     $permisos_mod_del = new permissions();
     $permisos_mod_del->get_permissions_modify_delete('emps');
     $tpl->assign('acciones', $permisos_mod_del->per_mod_del);
     if (!$_SESSION['super'] || !$_SESSION['admin']) {
         $holydays = false;
         $i = 0;
         while ($i != $this->num_modules) {
             if ($this->per_modules[$i]->per == 1 && $this->per_modules[$i]->module_name == 'holydays') {
                 //Se comprueba si se tiene permiso para ver
                 $j = 0;
                 while ($j < $this->per_modules[$i]->num_methods) {
                     if ($this->per_modules[$i]->per_methods[$j]->per == 1 && $this->per_modules[$i]->per_methods[$j]->method_name == 'view') {
                         $holydays = true;
                     }
                     $j++;
                 }
             }
             $i++;
         }
     } else {
         $holydays = true;
     }
     $mensaje = null;
     $mensaje[0]['id_mensaje'] = 1;
     $mensaje[0]['mes'] = "Sentimos informarle de que no tiene permiso para acceder a esta informaci�n";
     $cadena = "";
     $tabla_vacaciones = new table(false);
     $tabla_vacaciones->parameter_add = "&id_emp=" . $this->id_emp;
     if ($holydays) {
         //listado de holydays
         if ($this->get_holydays($this->id_emp) == 0) {
             $per = new permissions();
             $num = $per->get_permissions_list('holydays');
             $cadena = $cadena . $tabla_vacaciones->tabla_vacia('holydays', $per->add);
             $variables_vacaciones = $tabla_vacaciones->nombres_variables;
         } else {
             $per = new permissions();
             $num = $per->get_permissions_list('holydays');
             $permisos;
             $j = 0;
             for ($i = 0; $i < count($per->permissions_module); $i++) {
                 if ($per->permissions_module[$i] == "modify" || $per->permissions_module[$i] == "delete") {
                     $permisos[$j] = $per->permissions_module[$i];
                     $j++;
                 }
             }
             $cadena = $cadena . $tabla_vacaciones->make_tables('holydays', $this->holydays_list, array('Fecha de baja', 25, 'Fecha de alta', 25, 'Motivo', 25), array('id_holy', 'gone', 'come', 'ill'), $_SESSION['num_regs'], $permisos, $per->add);
             $variables_vacaciones = $tabla_vacaciones->nombres_variables;
         }
     } else {
         $cadena = $cadena . $tabla_vacaciones->make_tables('holydays', $mensaje, array('ACCION NO PERMITIDA', 50), array('id_mensaje', 'mes'), 10, null, false);
         $variables_vacaciones = $tabla_vacaciones->nombres_variables;
     }
     $i = 0;
     while ($i < count($variables_vacaciones)) {
         for ($j = 0; $j < count($variables_vacaciones); $j++) {
             $variables[$i] = $variables_vacaciones[$j];
             $i++;
         }
     }
     $tpl->assign('variables', $variables);
     $tpl->assign('cadena', $cadena);
     return $tpl;
 }
 function view($id, $tpl)
 {
     $cadena = '';
     // Leemos el conductor y se lo pasamos a la plantilla
     $this->read($id);
     $tpl->assign('objeto', $this);
     //Puede darse el caso de contratar un condutor temporalmente y no asignarle un usuario de la empresa
     $empleado = new emps();
     $empleado->read($this->id_emp);
     if ($empleado->id_user == 0 || $empleado->id_user == '') {
         $tpl->assign("emp_driver", "Sin Usuario");
     } else {
         $usuario = new users();
         $usuario->read_fields($empleado->id_user);
         $tpl->assign("emp_driver", $usuario->login);
     }
     //Como puede que un mismo empleado tenga a su cargo más de un vehículo, no se podrá optar por este camino a borrar o modificar
     /*$permisos_mod_del = new permissions();
     		$permisos_mod_del->get_permissions_modify_delete('drivers');
     		$tpl->assign('acciones',$permisos_mod_del->per_mod_del);*/
     //Para borrar o modificar se debe acceder mediante la tabla
     //Se prepara la lista de vehiculos
     $tabla_listado = new table(true);
     $per = new permissions();
     $per->get_permissions_list('drivers');
     //Toda persona con permso podrá modificar o borrar los datos del conductor, podrá hacerlo
     $j = 0;
     for ($i = 0; $i < count($per->permissions_module); $i++) {
         if ($per->permissions_module[$i] == "modify" || $per->permissions_module[$i] == "delete") {
             $permisos[$j] = $per->permissions_module[$i];
             $j++;
         }
     }
     if ($this->num_vehicles == 0) {
         $cadena = '' . $cadena . $tabla_listado->tabla_vacia('drivers', $per->add);
         $variables = $tabla_listado->nombres_variables;
     } else {
         $cadena = '' . $tabla_listado->make_tables('drivers', $this->vehicles_list, array('Alias del vehículo', 60, 'Fecha de asignacion', 20), array($this->ddbb_id_driver, $this->ddbb_alias, 'fecha_cambiada'), $_SESSION['num_regs'], $permisos, $per->add);
         $variables = $tabla_listado->nombres_variables;
     }
     $tpl->assign('variables', $variables);
     $tpl->assign('cadena', $cadena);
     return $tpl;
 }