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
Enhanced Account Switcher
Oh. Nein, die steht da nicht korrekt drin. o.O Mein Account fehlt. Wie kann das sein? Kann man den Cache irgendwie erneuern?
Zitieren
Ich habe es schon auf der Liste fürs nächste Update, dass der Cache automatisch erneuert wird, wenn die Freundesliste bearbeitet wurde.
Im Moment könntest du einfach mal irgendeine PN öffnen zum Lesen, das sollte ihn auch erneuern.
Zitieren
Hey, okay, PN zum Lesen öffnen hat geholfen. Big Grin Danke.
Zitieren
Gut, dass wir das Problem gefunden haben. Smile
Es gibt noch ein paar andere Stellen, an denen die automatisch Cache-Aktualisierung hinzugefügt werden muss, wie bei den Gruppen im Benutzer CP, falls jemand zB einer Grupe angehört, die den Accountswitcher nicht benutzen darf und dann aber einer anderen Gruppe beitritt, die es darf, da fehlt bisher auch noch die Aktualisierung.
Zitieren
Auf jeden Fall Smile

Ist es aufwändig, beim Cache einfach einen Button zum Aktualisieren gleich mit einzubauen wie bei manchen anderen Caches? Dann könnte man das einfach bei Bedarf - wenn man den Trick mit dem PN Lesen nicht weiß. Big Grin
Zitieren
Es gibt auch im ACP in der Pluginübersicht den Punkt: "Accountverknüpfungen bereinigen"
Dabei wird auf jeden Fall auch immer der Cache mit aktualisiert.
Zitieren
Hallo waldo,

mit dem Accountswitcher an sich habe ich gar kein Problem, viel mehr komme ich bei einem Problem nicht weiter, das mit dem Accountswitcher zusammenhängt Rolleyes Deshalb hoffe ich, ist es in Ordnung, wenn ich meine Frage direkt hier im Thema stelle.

Auf einer neuen Seite würde ich gerne die Anzahl Beiträge der Mitglieder in einem bestimmten Forum ausgeben lassen.. nun scheitere ich daran, das Ganze zu bündeln. Jeder User soll nur einmal auf der Übersicht auftauchen, dabei sollen aber die Beiträge von all seinen Accounts zusammengezählt werden.

Meine Abfrage sieht momentan so aus:

PHP-Code:
$query$db->query("
SELECT COUNT(p.pid) AS count, u.uid, u.username
FROM "
.TABLE_PREFIX."users u 
LEFT JOIN "
.TABLE_PREFIX."posts p ON (p.uid = u.uid)
WHERE p.fid = '2' AND p.visible = '1'
GROUP BY p.uid
ORDER BY count DESC, u.username ASC
"
); 

Kannst du mir vielleicht auf die Sprünge helfen, wie ich die as_uid-Spalte berücksichtigen kann?
Zitieren
Soll jeder "echte" User nur einmal auftauchen, oder jeder Account?
ZB ein User hat einen Hauptaccount und zwei angehängte - sollen alle drei jeweils einmal auftauchen und hinter den drei Accounts steht jeweils die gleiche Gesamt-Beitragszahl?
Oder soll nur jeweils der Hauptaccount einmal aufgeführt werden und dahinter die Beitragszahl, die auch alle Beiträge der angehängten Accoiuts enthält? Smile
Zitieren
(31.03.2017, 19:34)waldo schrieb: Oder soll nur jeweils der Hauptaccount einmal aufgeführt werden und dahinter die Beitragszahl, die auch alle Beiträge der angehängten Accoiuts enthält? Smile

So habe ich mir das vorgestellt Wink
Tut mir leid, war die Erklärung etwas irritierend.
Zitieren
Ich wollte nur sicher gehen. Wink

Also ich habe es als ganz einfache Liste ausgegeben, weil mir das zum Testen der Anzeige gereicht hat. Es gibt bestimmt auch noch eine elegantere Methode, um die Beitragszahl zu ermitteln, aber es funktioniert zumindest erst mal.

PHP-Code:
$query$db->query("
    SELECT COUNT(p.pid) AS count, u.uid, u.username, u.as_uid
   FROM "
.TABLE_PREFIX."users u
   LEFT JOIN "
.TABLE_PREFIX."posts p ON (p.uid = u.uid)
   WHERE p.fid = '2' AND p.visible = '1'
   GROUP BY p.uid
   ORDER BY count DESC, u.username ASC
"
);

$user_count $allcount $accounts $account = array();
while (
$user_count $db->fetch_array($query)) {
   if (!$user_count['uid']) {
       continue;
   }
   $accounts[$user_count['uid']] = $user_count;
   $allcount[$user_count['as_uid']] = $user_count['count'] + $allcount[$user_count['as_uid']];
   if ($user_count['as_uid'] == 0) {
       $allcount[$user_count['uid']] = $user_count['count'] + $allcount[$user_count['uid']];
   }
}

foreach (
$accounts as $account) {
   if ($account['as_uid'] == 0) {
       echo 'Beiträge aller Accounts von '.$account['username'].' in diesem Forum: '.$allcount[$account['uid']].'<br />';
   }

Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Auto Language Switcher MyBB.de Bot 3 2.154 11.10.2019, 04:05
Letzter Beitrag: MyBB.de Bot
  Account Switcher MyBB.de Bot 33 12.470 02.05.2016, 00:15
Letzter Beitrag: Miss_Kogg
  SSL Switcher MyBB.de Bot 0 1.753 20.03.2012, 18:15
Letzter Beitrag: MyBB.de Bot
  Enhanced Signature Separator(ESS) MyBB.de Bot 0 1.801 14.02.2011, 19:01
Letzter Beitrag: MyBB.de Bot