Seite 1 von 1

Wer war online-Mod - als Tabelle

Verfasst: 17.11.2008 19:59
von regie 510
Hallo zusammen,

das fand ich bei RapidForum eine sehr feine Sache:

[ externes Bild ][ externes Bild ]

Die HTML-Tabelle und die eigene Seite würde ich noch selbst hinbekommen (so weit bin ich immerhin schon ;) ), die PN-Verknüpfungen wohl auch. "Eigenschaften" und "Postingränge" sind nicht so wichtig. Aber "Letzte Aktion", "Letzter Beitrag" und "Beitragszahl" wären interessant.

Da ich PHP-mäßig der totale Anfänger bin, bekomme ich das nicht gebacken.

Gruß, Norbert

Verfasst: 17.11.2008 20:10
von Mahony
Hallo
Dann rufe mal deine memberlist.php auf, denn da siehst du ähnliches.



Grüße: Mahony

Verfasst: 17.11.2008 20:39
von regie 510
Hallo Mahony,

stimmt, diese Tabelle sieht sehr ähnlich aus. Puh, aber jetzt mit den ganzen Variablen etc. da durchzublicken :oops:

Was ich z.B. als Wert für "Letzte Aktion" und "Letzter Beitrag" wo eintragen muß, da klemmt's schon. Die Sortierreihenfolge muß auch stimmen. Ich glaube, da bin ich noch recht überfordert.

Gruß, Norbert

Verfasst: 17.11.2008 21:29
von regie 510
Also die Tabelle sollte folgende Spalten enthalten:

1. Benutzername

2. PN

3. E-Mail

4. Letzte Aktion (Letztes Logindatum)

5. Letzter Beitrag

6. Beiträge (Anzahl)

Die Sortierreihenfolge sollte sich nach dem letzten Login richten - diese Zeile sollte immer oben stehen, man muß nicht nach Kriterien auswählen können.

Könnte man evtl. die memberlist.php als Basis benutzen? Ich wäre jedem sehr dankbar, wenn er mir beim Aufbau dieser Tabelle unter die Arme greifen könnte. Vielleicht wäre diese "Konstruktion" noch für andere interessant.

Gruß, Norbert

Verfasst: 23.11.2008 18:06
von mark2
Ha.
Man kann nicht nur die memberlist als Grundlage nutzen, das ist die memberlist!
Das einzige was auf der memberlist fehlt ist das last visit Datum, das du letzte Aktion nennst wofür es einen mod gibt und das mit dem letzten Beitrag könnte man hinbekommen.
Der Last Visit mod wird also dafür benötigt!

Stell mal deine memberlist.php und memberlist_body.tpl als Download zur Verfügung. Nicht den code hier rein posten!

Verfasst: 23.11.2008 19:01
von regie 510
Hallo Markus,

danke für Deine Antwort. Von der Konstruktion einer kompletten Tabelle bin ich abgekommen als ich gemerkt habe, wie flexibel die Memberlist zu handhaben ist. Durch heftiges Suchen hier im Forum stieß ich auf eine zufriedenstellende Lösung, welche ich mit Hilfe des Last Visit- und des Today Yesterday-Mod HIER beschrieben habe.

Verfasst: 23.11.2008 19:23
von mark2
Hast du das mit dem letzten geschriebenen Beitrag auch schon?

Ich habe das gerade anhand dieser Anleitung gemacht. Natürlich auch gleich so dass Today/Yesturday auf die Uhrzeit und allow_view_online mit einwirken ;)

Hab das so gemacht. Allerdings habe ich das in die usercp_viewprofile.php eingebaut.

Code: Alles auswählen

//Begin Last Post in Profile
$sql = 'SELECT p.post_id, p.topic_id, p.post_time, t.topic_title FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
 WHERE p.topic_id = t.topic_id    AND p.poster_id=' . $profiledata['user_id'] . ' ORDER BY p.post_time DESC LIMIT 0,1';
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, "Could not obtain users post information.", '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
   $currentpost = $row['topic_title'];
   $currentpostid=$row['post_id'];
   $currenttopicid=$row['topic_id'];
  // $currentposttime = $row['post_time'];
   $currentposttime = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($row['post_time'])? create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']):$lang['Never_last_logon']):$lang['Hidde_last_logon'];

      if ( $board_config['time_today'] < $row['post_time'])
      {
         $currentposttime = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($row['post_time'])? sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $row['post_time'], $board_config['board_timezone'])):$lang['Never_last_logon']):$lang['Hidde_last_logon'];
      }
      else if ( $board_config['time_yesterday'] < $row['post_time'])
      {
         $currentposttime = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($row['post_time'])? sprintf($lang['Yesterday_at'], create_date($board_config['default_timeformat'], $row['post_time'], $board_config['board_timezone'])):$lang['Never_last_logon']):$lang['Hidde_last_logon'];
                 }
}
$db->sql_freeresult($result);
//Ende Last Post in Profile
Gefällt mir so gut das ich es bei mir auch gleich eingebaut habe.

Verfasst: 23.11.2008 19:42
von regie 510
Danke, feine Sache! Langsam aber sicher wird's was mit dem Forum :wink: