variables=$_SESSION; $this->table="gaudi_sessiones"; } function ObtenTablaSession() { return $this->table; } function AsignaVariableSession($clave, $valor) { $_SESSION[$clave]=$valor; $this->variables[$clave]=$valor; } function ObtenVariableSession($clave) { return $_SESSION[$clave]; } function ObtenVariablesSession() { return $this->variables; } function EliminaVariableSession($clave) { unset($_SESSION[$clave]); unset($this->variables[$clave]); } function Destruye() { $this->EliminaVariableSession("authdata"); } function ObtenID() { return session_id(); } function ObtenUltimaModificacion() { global $objDB; $query_str="SELECT acceso FROM ".$this->table." WHERE id_session='".$this->ObtenID()."'"; $result=$objDB->Execute($query_str); if ($result===false) return 0; if (!$result->EOF) { // tenemos un registro $campo=$result->fields[0]; $ts=strtotime($campo); } else $ts=0; $result->Close(); return $ts; } function ModificaTiempo() { global $objDB; // vemos si existe la sesion o hay que crearla $id_session=$this->ObtenID(); $result=$objDB->Execute("SELECT id_session FROM ".$this->table." WHERE id_session='".mysql_real_escape_string($id_session)."'"); if ($result===false) return false; if (!$result->EOF) { $objDB->Execute("UPDATE ".$this->table." SET acceso=NOW() WHERE id_session='$id_session'"); } else { $objDB->Execute("INSERT INTO ".$this->table." VALUES ('$id_session','".$this->variables['memberid']."', NOW())"); } $result->Close(); } function EliminaSession() { global $objDB; $objDB->Execute("DELETE FROM ".$this->table." WHERE id_sesion='".$this->ObtenID()."'"); } function CompruebaDesconexionUsuario() { global $objIdioma; global $objUsuarios; $tiempo=$this->ObtenUltimaModificacion(); $ahora=time(); $dif=$ahora - $tiempo; if ($dif>3600) { // hace mas de una hora, lo desconectamos //$smarty->assign("error", $objLocale->ObtenTexto(5)); $objParam->request["id"]="desconexion"; $objUsuarios->LogoutUsuario(); } else { $this->ModificaTiempo(); } } function GrabaPendientes($datos) { $this->AsignaVariableSession("pendiente_tarea", $datos["tarea"]); $this->AsignaVariableSession("pendiente_hash", $datos["hash"]); $this->AsignaVariableSession("pendiente_email", $datos["email"]); } function CompruebaPendientes() { if(isset($this->variables['pendiente_tarea'])) { return true; } else { return false; } } function EliminaPendientes() { $this-> EliminaVariableSession("pendiente_tarea"); $this-> EliminaVariableSession("pendiente_email"); $this-> EliminaVariableSession("pendiente_hash"); } } ?>= (strlen($texto) + strlen($arrayTexto[$contador]))) { $texto .= ' '.$arrayTexto[$contador]; $contador++; } return $texto; } function Alert($msg) { echo ""; } function urlAmigable($variable_sin_codificar) { $url = strtolower($variable_sin_codificar); $find = array(' ','&','\r\n','\n','+'); $url = str_replace ($find, '-', $url); $find = array('/[^a-z0-9\-<>]/','/[\-]+/','/<[^>]*>/'); $repl = array('','-',''); $url = preg_replace ($find, $repl, $url); return $url; } function urlSimple($variable) { $url = strtolower($variable); $url = str_replace ('-', ' ', $url); return $url; } function StrZero($num, $size) { return str_pad($num, $size, "0", STR_PAD_LEFT); } function Reload() { global $objConfig; $url=$objConfig->url()."index.html"; header($url); } ?>