Пример #1
0
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;
}
Пример #2
0
 /**
  * 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;
     }
 }
Пример #3
0
// 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;