$query = $db->simple_select(TABLE_PREFIX."users", "uid, username, displaygroup, usergroup, ignorelist, hideemail, receivepms", "displaygroup IN ($groups_in) OR (displaygroup='0' AND usergroup IN ($groups_in)) OR uid IN ($users_in)", array('order_by' => 'username'));
Ersetze mit:
PHP-Code:
$query = $db->simple_select(TABLE_PREFIX."users", "uid, username, displaygroup, usergroup, ignorelist, hideemail, receivepms, lastactive, invisible, lastvisit", "displaygroup IN ($groups_in) OR (displaygroup='0' AND usergroup IN ($groups_in)) OR uid IN ($users_in)", array('order_by' => 'username'));
Ohne größere Änderung ist das nicht möglich.
Allerdings gibt es einen Umweg, wie du das machen kannst.
Dazu musst du deine Moderatoren allerdings der jeweiligen Kategorie zuordnen. (Es gibt noch eine andere Möglichkeit, die wird aber zur Performencelast und lässt sich wie gesagt nur durch eine größere Änderung machen).
Öffne: showteam.php
Suche:
PHP-Code:
$query = $db->query(" SELECT m.*, f.name FROM ".TABLE_PREFIX."moderators m LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.uid) LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid) WHERE f.active = 'yes' ORDER BY u.username ");
Ersetze mit:
PHP-Code:
$query = $db->query(" SELECT m.*, f.name, f.type FROM ".TABLE_PREFIX."moderators m LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.uid) LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid) WHERE f.active = 'yes' ORDER BY u.username, f.type asc, f.disporder asc ");
Garlant schrieb:Ohne größere Änderung ist das nicht möglich.
Allerdings gibt es einen Umweg, wie du das machen kannst.
Dazu musst du deine Moderatoren allerdings der jeweiligen Kategorie zuordnen. (Es gibt noch eine andere Möglichkeit, die wird aber zur Performencelast und lässt sich wie gesagt nur durch eine größere Änderung machen).
Das Problem ist, setzte ich meine Mods in die Kategorie werden die sicher überall als Mod angezeigt? Oder nicht? Weil ich hab die Codeänderung vorgenommen, das die Mods nur in dem Forum in der Mod-Farbe angezeigt werden, wo diese eingetragen sind.
Die untere Methode wird wesentlich mehr Queries verbrauchen, da mehr Queries generiert werden müssen (pro Forum 1 neuer query der gebraucht wird, und Mulitipliziert mal die Anzahl deiner Moderatoren). Also wird die Teamseite mit steigender Zahl der Queries langsamer und gleichzeitig steigt die Last auf die Datenbank.
Die 1. Methode generiert keinen Query mehr, sie erweitertet einen bereits bestehenden Query um 1,2 Datensätze.
Ich rate zur "schonenden Methode", ist zumindest meine Sicht.
Kleines Update:
PHP-Code:
$query = $db->query(" SELECT m.*, f.name, f.type FROM ".TABLE_PREFIX."moderators m LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.uid) LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid) WHERE f.active = 'yes' ORDER BY u.username, f.type asc, f.disporder asc ");
Bitte nochmal ersetzen mit:
PHP-Code:
$query = $db->query(" SELECT m.*, f.name, f.type FROM ".TABLE_PREFIX."moderators m LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.uid) LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid) WHERE f.active = 'yes' ORDER BY u.username, f.fid asc, f.type ");