Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Mitgliederliste erweitern
#1
Nach dem Forellen-Thema nun wieder was ernsthaftes. Noch zwei oder drei kleine Änderungen, dann läuft das Board so, wie ich es haben will und ihr habt Ruhe vor mir Wink

In der Mitgliederliste hätte ich gerne noch zwei zusätzliche Spalten:

1. Private Nachricht, damit man auch von der Liste aus eine PN an das Mitglied schicken kann

und

2. eine Spalte die anzeigt, wann das Mitglied das letzte Mal online war.

Beide Daten liegen ja im Profil des Mitglieds vor, dürfte also nicht allzu schwer sein, die in die Liste zu integrieren. Ich bin (noch) zu blöd dazu, aber wie ich Euch mittlerweile kenne, gibt´s dafür bestimmt eine einfache Lösung!

 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#2
Das kannst du folgendermaßen machen:

Zuerst musst du in den Admin-Panel und die Templates ändern:

Template: memberlist
Code:
<table border="0" cellspacing="$theme[borderwidth]" cellpadding="$theme[tablespace]" class="tborder">
<tr>
<td class="thead" colspan="8"><strong>$lang->member_list</strong></td>
</tr>
<tr>
<td class="tcat"><span class="smalltext"><strong>$lang->username</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>$lang->email</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>PM</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>$lang->website</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>$lang->location</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>$lang->joined</strong></span></td>
<td class="tcat" align="center"><span class="smalltext"><strong>Letzter Besuch:</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>$lang->posts</strong></span></td>
</tr>
$member
...


Template: memberlist_row
Code:
<tr>
<td class="trow1"><a href="member.php?action=profile&amp;uid=$users[uid]">$users[username]</a></td>
<td class="trow2" align="center">$useremail</td>
<td class="trow1" align="center">$pm</td>
<td class="trow2" align="center">$usersite</td>
<td class="trow1">$users[location]</td>
<td class="trow2">$users[regdate]</td>
<td class="trow1">$users[lastvisit]</td>
<td class="trow2">$users[postnum]</td>
</tr>


und jetzt noch die Datei memberlist.php

Suche nach (ca.Zeile 130):
PHP-Code:
$users['location'] = htmlspecialchars_uni(stripslashes($users['location']));
    if(
$users['hideemail'] != "yes")
    {
        
$useremail "";
    }
    else
    {
        
$useremail "<a href=\"member.php?action=emailuser&amp;uid=$users[uid]\"><img src=\"$theme[imglangdir]/postbit_email.gif\" border=\"0\" /></a>";
    } 

Füge darunter folgendes ein:
PHP-Code:
if($users['pmnotify'] != "yes")
    {
        
$pm "";
    }
    else  
    {
        
$pm "<a href=\"private.php?action=send&amp;uid=$users[uid]\"><img src=\"$theme[imglangdir]/postbit_pm.gif\" border=\"0\" /></a>";
    }
    
$users['lastvisit'] = mydate($mybb->settings['dateformat'], $users['lastvisit']); 

müsste eigentlich funktionieren Wink

mfg,
matze
Zitieren
#3
Funktioniert und ist (fast) perfekt!

Im Template "memberlist" muß der nächste colspan-Wert nach $member auch noch auf "8" geändert werden.

In der "memberlist.php" habe ich zusätzlich noch

PHP-Code:
$users['lastvisit_time'] = mydate($mybb->settings['timeformat'], $users['lastactive']); 
eingefügt um auch die Uhrzeit des letzten Besuchs anzuzeigen und das Template "memberlist_row" demenstsprechend korrigiert:

Code:
<td class="trow1" align="right">$users[lastvisit] - $users[lastvisit_time] Uhr</td>

Bis hierhin alles prima.

Wenn jetzt aber bei einem Mitglied in der Datenbank im Feld "lastvisit" eine "0" steht, weil z.B. der Account auf Aktivierung wartet, wird in der Mitgliederliste beim letzten Besuch das Datum 01.01.1970 angezeigt.

Durch eine einfache if-else Abfrage läßt sich das doch bestimmt dahingehend ändern, daß in diesem Fall ein kurzer Text (z.B. Account wartet auf Aktivierung, Nie etc.) ausgegeben wird, oder?

Und noch eins obendrauf wenn wir schon dabei sind:

Der letzte Besuch des Mitglieds sollte auch in die Sortier-Optionen (am Ende der Liste) aufgenommen werden, worauf dabei zu achten ist, daß die Ausgabe nach Datum UND Uhrzeit korrekt ist. Hab´s probiert, komme aber nicht so recht klar damit.

So ... ich schmeiß mich jetzt in die Falle, während ihr Euch damit die Nacht um die Ohren schlagen könnt Wink

 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#4
Das erste Problem sollte so zu lösen sein:
PHP-Code:
$users['lastvisit'] = mydate($mybb->settings['dateformat'], $users['lastvisit']);
$users['lastvisit_time'] = mydate($mybb->settings['timeformat'], $users['lastactive']);

if (
$users['lastvisit'] != "0")
{
$user_last_visit "".$users['lastvisit']." - ".$users['lastvisit_time']." Uhr";
}
else
{
$user_last_visit "Nie";

Du musst nur im Template
Code:
<td class="trow1" align="right">$users[lastvisit] - $users[lastvisit_time] Uhr</td>
ersetzen durch
Code:
<td class="trow1" align="right">$user_last_visit</td>

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
@Michael:

Negativ ... das war´s leider nicht Sad Es wird immer noch der 01.01.1970 angezeigt!

Ich hab´s jetzt mal mit den von Dir beschriebenen Änderungen online gestellt. Guckst Du hier: www.en-gedi.de/forum/memberlist.php

 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#6
Da habe ich wohl nicht aufgepasst. Wink

Ersetze in meinem Code die Zeile
PHP-Code:
if ($users['lastvisit'] != "0"
durch
PHP-Code:
if ($users['lastvisit'] != mydate($mybb->settings['dateformat'], "0")) 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Danke ... das war´s! Jetzt noch das Ganze in die Sortieroptionen aufnehmen und ich bin glücklich Wink
 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#8
OK, erster Versuch! Big Grin

Öffne das Template memberlist und suche nach
Code:
<option value="postnum"$postnumsel>$lang->sort_posts</option>
Darunter einfügen
Code:
<option value="lastvisit"$lastvisitsel>Letzter Besuch</option>

Datei memberlist.php öffnen und suchen nach
PHP-Code:
elseif($mybb->input['by'] == "username")
{
    
$usernamesel " selected=\"selected\"";

Darunter einfügen:
PHP-Code:
elseif($mybb->input['by'] == "lastvisit")
{
    
$lastvisitsel " selected=\"selected\"";


Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#9
Erster Versuch leider fehlgeschlagen Wink

Zum Nachschauen ... aktualisierte Version ist online: www.en-gedi.de/forum/memberlist.php

 
The User, Formerly Known As "En-Gedi"
 
Zitieren
#10
Kannst du mir mal bitte deine memberlist.php per Mail an support[at]mybboard[punkt]de schicken? Danke!

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren