Author Topic: whos online as dropdown list  (Read 16603 times)

0 Members and 1 Guest are viewing this topic.

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
whos online as dropdown list
« on: November 19, 2005, 07:37:00 PM »
well, it should be possible to show the online users in a dropdown list.

my php skills are not very good, maybe someone can help me.

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: whos online as dropdown list
« Reply #1 on: November 22, 2005, 04:08:06 PM »
nobody?

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #2 on: November 22, 2005, 04:18:28 PM »
without a few Skills? I dont think so...

When you meen you have Skills enough take a look in the session.php and search for this Part:

Code: [Select]
$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
Good luck... (o:

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: whos online as dropdown list
« Reply #3 on: November 22, 2005, 04:43:24 PM »
das hab ich auch schon rausgefunden das es was mit dieser Zeile zu tun hat, aber das funktioniert nicht sowie es sollte. darum brauch ja hilfe von jemanden der sich da etwas besser auskennt.

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #4 on: November 22, 2005, 06:20:29 PM »
Wenn Du mir sagst wo Dein Problem liegt und mit was genau du nicht weiter kommst, dann kann ich Dir vielleicht helfen...

Aber eine Komplettlösung gibt es von meiner Seite leider nicht...

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: whos online as dropdown list
« Reply #5 on: November 23, 2005, 04:59:15 PM »
hab mal ein rumprobiert und nur mit dieser zeile funktioniert es nicht

$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;

dann wird nämlich jeder user in einer eigenen liste dargestellt.

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #6 on: November 23, 2005, 05:48:25 PM »
Also das ist dein Lösungsansatz?
Einfach die Zeile hier her zu kopieren die ich oben geposted habe?  8O

Klar funzt das so nicht... (o:

Also Du musst es ungefähr so aufbauen:

Quote
$user_online_list .=<select name="select">; <--- muss vor der schleife definiert werden

$user_online_list .= "<option value="">$username</option>

$user_online_list .=</select> <--- muss am Ende der schleife

Klar muss das Ende und der Anfang ausserhalb der Schleife stehen weil das Script sonst für jeden User ein Dropdown anlegen würde...

So jetzt viel Spass beim fummeln... *g*

Wenn Du ein fertiges Dropdown nach deinen Vorstellungen hier rein stellst passe ich dir vielleicht den Code an, aber versprechen kann ich es dir nicht... (o:


Offline izone

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: whos online as dropdown list
« Reply #7 on: November 23, 2005, 06:23:50 PM »
Would you please explain it in English too. Thanks :D

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #8 on: November 23, 2005, 08:52:43 PM »
This is not a working MOD only a method of resolution... (o:

Please wait a while and hope that this will be a working MOD...

Then i will translate it in english, ok?

Offline izone

  • Newbie
  • *
  • Posts: 38
    • View Profile
Re: whos online as dropdown list
« Reply #9 on: November 24, 2005, 10:43:35 AM »
Thanks.

I look forward to see it as a mod soon.  :D

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: whos online as dropdown list
« Reply #10 on: November 25, 2005, 05:27:31 PM »
also mit der hilfe von TheOracle sind wir jetzt zu folgendem gekommen

Code: [Select]
//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."index.php?page_name=member_profile&action=showprofile&amp;".URL_USER_ID."=".$row['session_user_id'];
         $user_online_list .= "

         <FORM ACTION=\"".$user_profile_link."\" METHOD=\"POST\" ONCHANGE=\"submit(this.value)\">\n
         <SELECT NAME=\"".URL_USER_ID."\" CLASS=\"select\">\n
         <OPTION VALUE=\"\">---</OPTION>\n

         ";

         $user_profile_link_array = array($user_profile_link);
         $check_if_visible = (!$is_invisible || $user_info['user_level'] == ADMIN) ? $invisibleuser : "";
         $user_online_list .= "

         <OPTGROUP LABEL=\"".$lang['whos_online_visible_list']."\">\n

         ";

         while (false !== ($set_profile_list = each($user_profile_link_array))) {

         $user_online_list .= "
         <OPTION LABEL=\"user_select_list\" VALUE=\"set_profile_list\">".$username."</OPTION>\n

         ";

         } ###### End of while statement.

         unset ($check_if_visible);
         unset ($user_profile_link_array);
         $user_online_list .= "

         </OPTGROUP>\n</SELECT>\n</FORM>\n

         ";
         
        //}

allerdings taucht da immer noch der fehler das jeder user in einer eigenen dropdownliste dargestellt wird.

ne idee?

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #11 on: November 25, 2005, 05:47:54 PM »
muss jetzt wech schaue es mir morgen an...

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #12 on: November 26, 2005, 09:10:46 PM »
Der Code für die session.php
Code: [Select]
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);
  //Start Whos online Selectbox
  $user_online_list .= "<form name=\"whosonline\"><select name=\"whosonline\" size=\"3\" onchange=\"MM_jumpMenu('parent',this,0)\" class=\"whosonline\">";
  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&;".URL_USER_ID."=".$row['session_user_id'];
          $user_online_list .= "<option value=\"".$site_sess->url($user_profile_link)."\">".$username."".$invisibleuser."</option>";
        }
        (!$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;
  }
  //Ende Whos Selectbox
  $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);
}

Javascript für die header.html
Code: [Select]
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

Für die CSS Datei
Code: [Select]
.whosonline{
font-size: 9px;
width:100%;
border:1px black solid;
color:#000000;
margin:1px;
}

Beim auswählen springt der dann sofort zu dem Profil...

Wenn Du nur ein Dropdown willst musst Du size=\"10\" entfernen und wenn Du eine kleiner Liste willst wähle statt 10 zB 5... (o:

Wie findet ihr den diese Idee:
http://4images.ovdw.net/test.html

Werde mal versuchen das umzusetzen aber bisher habe ich damit noch ein paar Probleme...

Offline Jako

  • Newbie
  • *
  • Posts: 46
    • View Profile
Re: whos online as dropdown list
« Reply #13 on: November 27, 2005, 02:28:08 AM »
dankeschöne funktioniert super

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: whos online as dropdown list
« Reply #14 on: November 27, 2005, 03:37:02 AM »
habe mal beide versionen online gestellt... (o:

Schaust Du hier:
http://www.4homepages.de/forum/index.php?topic=10579.msg53072#msg53072