4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Requests & Discussions) => Topic started by: www.katzen.ag on October 27, 2007, 12:55:25 AM

Title: Whos Online mit Bild / Whos Online with Pic
Post by: www.katzen.ag on October 27, 2007, 12:55:25 AM
English follows German

Hi an Alle,

ich weiss, ich weiss, das wurde schon einmal hier besprochen!
Aber die Komunikation in dem entsprechendem Thread hat mich mehr verwirrt als geholfen.
Also noch einmal für Dummys.

Ich möchte unter Jedem User, die online sind, gerne mit Bild erscheinen lassen - mehr nicht.

-------------------------------------------------------------------------------------------
So sieht es jetzt aus:

Wer ist Online?
Zur Zeit Besucher online: 4
Es sind gerade 3 registrierte(r) Mitglieder und 1 Besucher online.

KatzenAG  Renate Gisela
-------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

Will aber:

Wer ist Online?
Zur Zeit Besucher online: 4
Es sind gerade 3 registrierte(r) Mitglieder und 1 Besucher online.

KatzenAG        Renate         Gisela
-------------  -------------   -------------
|             |  |              |  |              |
|    Pic     |  |   Pic       |  |   Pic       |
|             |  |              |  |              |
-------------  -------------   -------------

---------------------------------------------------------------------------------------------


Kann Jemand helfen? 8O

Wäre echt cool...



Hi everybody,

I know this topic has been discused already but I am really confused.
I would like just a Pic under the whos_online list for each user (see e.g. above).

Is this posibble? 8O

Thanks


Title: Re: Whos Online mit Bild / Whos Online with Pic
Post by: thunderstrike on October 27, 2007, 07:10:30 AM
This topic is help:

http://www.4homepages.de/forum/index.php?topic=11578.0
Title: Re: Whos Online mit Bild / Whos Online with Pic
Post by: www.katzen.ag on October 27, 2007, 10:47:10 AM
Hi thunderstrike,

thanks a lot. But my problem is that I have a different sessions.php. Probably I have changed it in the past.
Normaly it's easy to realize. I have to change in sessions.php:

Quote
if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
  $time_out = time() - 300;
  $sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible")."
     FROM ".SESSIONS_TABLE." s
     LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
     WHERE s.session_lastaction >= $time_out
     ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
  $result = $site_db->query($sql);
  while ($row = $site_db->fetch_array($result)) {
    if ($row['session_user_id'] != GUEST && (isset($row['user_id']) && $row['user_id'] != GUEST)) {
      if (!isset($prev_user_ids[$row['session_user_id']])) {
        $is_invisible = (isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1) ? 1 : 0;
        $invisibleuser = ($is_invisible) ? "*" : "";
        $username = (isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1) ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']];
        if (!$is_invisible || $user_info['user_level'] == ADMIN) {
          $user_online_list .= ($user_online_list != "") ? ", " : "";
          $user_profile_link = (!empty($url_show_profile)) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&amp;".URL_USER_ID."=".$row['session_user_id'];
          $user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
        }
        (!$is_invisible) ? $num_visible_online++ : $num_invisible_online++;
        $num_registered_online++;

in to

Quote
if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
  $time_out = time() - 300;
  $sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible").", userpic
     FROM ".SESSIONS_TABLE." s
     LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
     WHERE s.session_lastaction >= $time_out
     ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
  $result = $site_db->query($sql);
  while ($row = $site_db->fetch_array($result)) {
    if ($row['session_user_id'] != GUEST && (isset($row['user_id']) && $row['user_id'] != GUEST)) {
      if (!isset($prev_user_ids[$row['session_user_id']])) {
        $is_invisible = (isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1) ? 1 : 0;
        $invisibleuser = ($is_invisible) ? "" : "";
        $username = (isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1) ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']];
        if (!$is_invisible || $user_info['user_level'] == ADMIN) {
          $user_online_list .= ($user_online_list != "") ? "<br />" : "";
          $user_profile_link = (!empty($url_show_profile)) ? str_replace("{user_id}", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&amp;".URL_USER_ID."=".$row['session_user_id'];
          $userpic_img = ($config['userpic'] && @file_exists(ROOT_PATH."data/userpic/".$row['userpic']) && $user_info['user_level'] >= USER) ? "<br /><img src=\"".ROOT_PATH."data/userpic/".$row['userpic']."\" width=\"".$userpic_width."\" height=\"".$userpic_height."\">" : "";
          $whos_online_userpic = str_replace("{userpic_img}", "", $userpic_img);
          $user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\"><center>".$whos_online_userpic."<br />".$username."</a>".$invisibleuser."</center>".REPLACE_EMPTY. REPLACE_EMPTY;
        }
        (!$is_invisible) ? $num_visible_online++ : $num_invisible_online++;
        $num_registered_online++;

But I don't use the standard sessions.php. In my case I have got:

Quote
//-----------------------------------------------------
//--- Get User Caches ---------------------------------
//-----------------------------------------------------
$num_total_online = 0;
$num_visible_online = 0;
$num_invisible_online = 0;
$num_registered_online = 0;
$num_guests_online = 0;
$user_online_list = "";
$prev_user_ids = array();
$prev_session_ips = array();

if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
  $time_out = time() - 300;
  $sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible")."
     FROM ".SESSIONS_TABLE." s
     LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
     WHERE s.session_lastaction >= $time_out
     ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
  $result = $site_db->query($sql);
$user_online_list .= "<form class=\"whosonline\"><div class=\"listbox\" id=\"foo\">";
$i="";
  while ($row = $site_db->fetch_array($result)) {
    if ($row['session_user_id'] != GUEST && (isset($row['user_id']) && $row['user_id'] != GUEST)) {
      if (!isset($prev_user_ids[$row['session_user_id']])) {
        $is_invisible = (isset($row[$user_table_fields['user_invisible']]) && $row[$user_table_fields['user_invisible']] == 1) ? 1 : 0;
        $invisibleuser = ($is_invisible) ? "*" : "";
        $username = (isset($row[$user_table_fields['user_level']]) && $row[$user_table_fields['user_level']] == ADMIN && $config['highlight_admin'] == 1) ? sprintf("<b>%s</b>", $row[$user_table_fields['user_name']]) : $row[$user_table_fields['user_name']];
        if (!$is_invisible || $user_info['user_level'] == ADMIN) {
  $i++;
  $user_profile_link = (!empty($url_show_profile)) ? preg_replace("/{user_id}/", $row['session_user_id'], $url_show_profile) : ROOT_PATH."member.php?action=showprofile&".URL_USER_ID."=".$row['session_user_id'];
  $user_online_list .= "<label><input type=\"radio\"  name=\"ck[]\" value=\"".$i."\" onClick=\"goToURL('parent','".$site_sess->url($user_profile_link)."');return document.MM_returnValue\" /><span>".$username."</span> </label>";
}
        (!$is_invisible) ? $num_visible_online++ : $num_invisible_online++;
        $num_registered_online++;
      }
      $prev_user_ids[$row['session_user_id']] = 1;
    }
    else {
      if (!isset($prev_session_ips[$row['session_ip']])) {
        $num_guests_online++;
      }
    }
    $prev_session_ips[$row['session_ip']] = 1;
  }
  $user_online_list .= "</select></form>";
$num_total_online = $num_registered_online + $num_guests_online;
  //$num_invisible_online = $num_registered_online - $num_visible_online;

  $site_template->register_vars(array(
    "num_total_online" => $num_total_online,
    "num_invisible_online" => $num_invisible_online,
    "num_registered_online" => $num_registered_online,
    "num_guests_online" => $num_guests_online,
    "user_online_list" => $user_online_list,
    "lang_user_online" => str_replace('{num_total_online}', $num_total_online, $lang['user_online']),
    "lang_user_online_detail" => str_replace(array('{num_registered_online}','{num_invisible_online}','{num_guests_online}'), array($num_registered_online,$num_invisible_online,$num_guests_online), $lang['user_online_detail']),
  ));
  $whos_online = $site_template->parse_template("whos_online");
  $site_template->register_vars("whos_online", $whos_online);
  unset($whos_online);
  unset($prev_user_ids);
  unset($prev_session_ips);
}
?>

 8O 8O 8O
Title: Re: Whos Online mit Bild / Whos Online with Pic
Post by: thunderstrike on October 27, 2007, 02:11:58 PM
If no get how this work - no need for hardwork - use this:

http://www.4homepages.de/forum/index.php?topic=18629.0

and work with HTML. ;)
Title: Re: Whos Online mit Bild / Whos Online with Pic
Post by: www.katzen.ag on October 27, 2007, 10:27:08 PM
Ahm... also not possible because of my different sessions.php.
I think I should forgot my idea  :(

However, thanks a lot for your intrest  :D

Hakan
Title: Re: Whos Online mit Bild / Whos Online with Pic
Post by: thunderstrike on October 27, 2007, 11:54:45 PM
One little note ...

Quote
$i="";

for:

Code: [Select]
$i = 0;