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; }