public static function get_online_users($condition, $parameters) { $users = array(); $result = self::$querier->select("SELECT \n\t\ts.user_id, s.timestamp, s.location_script, s.location_title,\n\t\tm.display_name, m.level, m.groups,\n\t\tf.user_avatar\n\t\tFROM " . DB_TABLE_SESSIONS . " s\n\t\tLEFT JOIN " . DB_TABLE_MEMBER . " m ON m.user_id = s.user_id \n\t\tLEFT JOIN " . DB_TABLE_MEMBER_EXTENDED_FIELDS . " f ON f.user_id = s.user_id " . $condition, $parameters); while ($row = $result->fetch()) { $user = new OnlineUser(); $user->set_id($row['user_id']); $user->set_display_name($row['display_name']); $user->set_level($row['user_id'] != User::VISITOR_LEVEL ? $row['level'] : User::VISITOR_LEVEL); $user->set_groups(explode('|', $row['groups'])); $user->set_last_update(new Date($row['timestamp'], Timezone::SERVER_TIMEZONE)); $user->set_location_script($row['location_script']); $user->set_location_title(stripslashes($row['location_title'])); $user->set_avatar($row['user_avatar']); $users[] = $user; } $result->dispose(); return $users; }