function sess_read($key) { global $perfil, $cfg; // Write and Close handlers are called after destructing objects since PHP 5.0.5 // Thus destructors can use sessions but session handler can't use objects. // So we are moving session closure before destructing objects. register_shutdown_function('session_write_close'); // Handle the case of first time visitors and clients that don't store cookies (eg. web crawlers). if (!isset($_COOKIE[session_name()])) { $perfil = setGuest(); return ''; } $mysql = new MYSQL($cfg); // Otherwise, if the session is still active, we have a record of the client's session in the database. $perfil = mysql_fetch_object($mysql->SqlSelect("SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.ID_USER = s.ID_USER WHERE s.ID_SESSION = '%s'", $key)); // We found the client's session record and they are an authenticated, // active user. if ($perfil && $perfil->ID_USER > 0 && $perfil->status == 1) { // This is done to unserialize the data member of $perfil $perfil = SB_unpack($perfil); // Add roles element to $perfil $perfil->roles = array(); $perfil->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user'; $result = $mysql->SqlSelect("SELECT r.ID_ROLE, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.ID_ROLE = r.ID_ROLE WHERE ur.ID_USER = %d", $perfil->ID_USER); while ($role = mysql_fetch_object($result)) { $perfil->roles[$role->ID_ROLE] = $role->name; } } else { $session = isset($perfil->session) ? $perfil->session : ''; $perfil = setGuest($session); } return $perfil->session; }
/** * Retorna o perfil de um usário especifico * @param integer <id> $id_user - id do usuário * @return StdClass|Ambiguous */ function getPerfil($id_user) { if ($id_user <= 0 || !is_numeric($id_user)) { return setGuest(); } $result = $this->SqlSelect("SELECT * FROM {users} WHERE ID_USER = '******'"); $user = mysql_fetch_object($result); if ($this->is_denied('email', $user->user_email) || $this->is_denied('ip', $user->user_ip)) { $message = _t("Your profile is locked, its access rules were limited guest."); $message .= _t('For more information contact an <a href="!url">administrator</a>.', array('!url' => url("user/1", array('absolute' => TRUE)))); setMessage($message, 'warning'); return setGuest(); } else { return $user; } }
// Anzeige des Usernamens $_ShowUserOnline = FALSE; // Anzeige ob Anwesend oder Abwesend (grün oder rot) $_ShowUserLastTime = FALSE; // letzte Stempelzeit von heute anzeigen $_ShowUserAllTime = FALSE; // alle Stempelzeiten von heute anzeigen $_ShowUserPic = FALSE; // Bid des users anzeigen if (file_exists("./include/Settings/multilogin.xml")) { $multilogin = simplexml_load_file("./include/Settings/multilogin.xml"); } else { create_mulitsettings(); $multilogin = simplexml_load_file("./include/Settings/multilogin.xml"); } setGuest(); // falls eingeloogt, dann User - Einstellungen laden if (isset($_SESSION['admin'])) { setUser(); } // admin-Pannel? (admin.php), dann Admin - Einstellungen laden if ($_logcheck->_admins && isset($_SESSION['admin'])) { setAdmin(); } function setGuest() { global $multilogin; global $_ShowUsername; global $_ShowUserOnline; global $_ShowUserLastTime; global $_ShowUserAllTime;