Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
Wer war Online
#91
Hallo

ich habe das Plugin auch installiert. Auch die Zeit wird angezeigt. Aber ist es irgendwie möglich das sie nicht nach Namen sortiert sondern nach online Zeit sortiert werden können?

   

Lg  Rolleyes
Zitieren
#92
Zwei kleine Änderungen in den DB-Querys der Plugin-Datei sollten das möglich machen.
Eine Einstellungsmöglichkeit bietet das Plugin von Hause aus momentan nicht.
Zitieren
#93
Ah ok und kannst du mir evtl auch verraten welche das sind?  Big Grin
Zitieren
#94
Nöö Big Grin 

In der /inc/plugins/onlinetoday.php findest du in Zeile 85-89 folgenden Query:
PHP-Code:
$queries[] = $db->simple_select(
      "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)"
      "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup,u.displaygroup",
      "u.lastactive > $timesearch ORDER BY u.username ASC, s.time DESC"
        ); 
ändere ihn in:
PHP-Code:
$queries[] = $db->simple_select(
      "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)"
      "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup, u.displaygroup",
      "u.lastactive > $timesearch ORDER BY s.time DESC"
        ); 

Das sollte eigentlich genügen. Teste es. Vorher Backup der Datei machen. Wink
Zitieren
#95
Big Grin
Danke schaut schon viel besser aus so. Wenn auch noch nicht ganz perfekt komischer Weise.
Aber so kann man es lassen. 

   

Lieben Dank
Zitieren
#96
Das passt so noch nicht.
Mach es mal rückgängig. Ich schaue am WE nochmal genauer drüber.
Hab das nur mal überflogen, da Zeitmangel. Wink
Zitieren
#97
@Schnapsnase 

was sagst zu dem?
@ KleineHexe versuch dass mal:
von Standart aus:

bei Original !suche:
Code:
$queries[] = $db->simple_select(
      "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)",
      "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup,u.displaygroup",
      "u.lastactive > $timesearch ORDER BY u.username ASC, s.time DESC"
        );


und ersetze:

Code:
$queries[] = $db->simple_select(
       "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)",
       "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup, u.displaygroup, u.lastactive",
       "u.lastactive > $timesearch ORDER BY u.lastactive DESC, s.time DESC"
        );

solltest du noch die veränderte Version verwenden

dann suche:

Code:
$queries[] = $db->simple_select(
      "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)",
      "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup, u.displaygroup",
      "u.lastactive > $timesearch ORDER BY s.time DESC"
        );

und ersetze :
Code:
$queries[] = $db->simple_select(
       "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)",
       "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup, u.displaygroup, u.lastactive",
       "u.lastactive > $timesearch ORDER BY u.lastactive DESC, s.time DESC"
        );


lg Tc4me
Zitieren
#98
@Tc4me

Ich kann es momentan nicht testen.
Ich hätte es aber eher so versucht:

PHP-Code:
$queries[] = $db->simple_select(
      "users u LEFT JOIN ".TABLE_PREFIX."sessions s ON (u.uid=s.uid)",
      "s.sid, s.ip, s.time, s.location, u.uid, u.username, u.invisible, u.usergroup,u.displaygroup",
      "u.lastactive > $timesearch ORDER BY s.time DESC, u.username ASC"
        ); 

Dann noch ein Setting ins Plugin, wo die Sortierung einstellbar ist.
Per if-Anweisung dann nur zwischen ORDER BY sort, sort1
oder ORDER BY sort1, sort hin und her wechseln. Wink
Zitieren
#99
und interessant noch dazu  Sort ASC oder DESC ..  :-)

Geile Ideen hätte /wir ja genug, aber das Plugin dazu schreiben ..ähmmm bin zu .. schaff ich nicht
Zitieren
Wenn ich am WE ein paar Min. Zeit finde, schreibe ich das Plugin um.
In MyBB gestaltet sich das so:

PHP-Code:
if($mybb->settings['wolorder'] == 'username')
{
$order_by 'u.username ASC';
$order_by2 's.time DESC';
}
else
{
$order_by 's.time DESC';
$order_by2 'u.username ASC';
}

$query $db->query("
SELECT s.sid, s.ip, s.uid, s.time, s.location, s.location1, u.username, u.invisible, u.usergroup, u.displaygroup
FROM "
.TABLE_PREFIX."sessions s
LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
WHERE s.time > '"
.$timesearch."'
ORDER BY 
{$order_by}{$order_by2}
"
); 

Genauso kann man das auch im Plugin machen. Noch ein Setting dazu und fertig. Wink
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Wer war online MyBB.de Bot 54 8.264 17.01.2024, 13:51
Letzter Beitrag: MyBB.de Bot
  Wer war heute online? MyBB.de Bot 40 16.111 17.09.2008, 16:41
Letzter Beitrag: StefanT