Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.21 veröffentlicht (11.06.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Mitgliederliste ohne "Zuletzt online" anzeigen
#1
Hallo liebe Fortgeschrittene und Experten,

ich hoffe, Ihr könnt mir helfen. Ich bin gerade dabei, ein taufrisches Forum anzupassen (bin also noch weitgehend ahnungslos). Ich habe folgenden Wunsch:

Mitglieder sollen die Mitgliederliste zwar angezeigt bekommen, aber nur mit den Namen aller Mitglieder (alphabetisch) und dem zugehörigen Avatarbild.

Ein Klick auf den Mitglieds-Namen oder das Avatarbild soll dann das Fenster öffnen, in dem man dem ausgewählten Mitglied eine PN schreiben kann.

Weitere Infos soll die Mitgliederliste nicht enthalten - insbesondere soll sie nicht zeigen, wann jemand zuletzt online war. Diese Info sollen nur Admins zu sehen bekommen.

Leider habe ich weder in den Fragen hier noch in den Einstellmöglichkeiten des Forums einen Weg gefunden, das zu realisieren. 

Dankbar für Eure Hilfe, freundlich grüßend
a.
Zitieren
#2
einstellen, in dem Sinn über das AdminPanel, geht so nicht, aber du kannst das Template für die Mitgliederliste, das dir zu umfangreich ist, kopieren und dann das Template bearbeiten, die Kopie aber aufheben, das für den Fall der Fälle wenn was schief geht, zumindestens das Original noch verfügbar ist.

In dem Template nimmst die Sachen raus die du da nicht haben willst, dann werden die auch nicht ausgegeben Wink

Solche und ähnliche Fragen kannst du aber auch bei Storming-Gates stellen Wink
Zitieren
#3
Hallo FlederMaus,

vielen Dank für Deinen Tipp. Wenn ich das richtig verstehe, wäre die Info, wer zuletzt wann online war, dann aber ganz raus aus der Mitgliederliste. Sie wäre also dort für niemanden mehr sichtbar, auch nicht für die Admins (für die sie ja bleiben sollte) - oder?

Freundliche Grüße
a.
Zitieren
#4
(13.05.2019, 15:32)a.no-nym schrieb: Hallo FlederMaus,

vielen Dank für Deinen Tipp. Wenn ich das richtig verstehe, wäre die Info, wer zuletzt wann online war, dann aber ganz raus aus der Mitgliederliste. Sie wäre also dort für niemanden mehr sichtbar, auch nicht für die Admins (für die sie ja bleiben sollte) - oder?

Freundliche Grüße
a.

Das ist in sofern richtig, da es mit 1 Kopie nur für alle gilt, du kannst aber auch das Template gruppenweise kopieren, also zB.

mitgliederliste (original)
mitgliederliste_admin / oder eben _team
mitgliederliste_reguser

je nachdem wie unterschiedlich das ausgegeben werden sollte .. dann kannst du zB. für die _admin(_team)-Ausgabe die Daten drin lassen, aber für die _reguser-Ausgabe die Felder rausnehmen

wenn du das gemacht hast musst du in der passenden PHP dazu eine Einstellung vornehmen die die Gruppenzuweisung macht ..

"wenn gruppen-ID /admin/ zeige _admin-Template oder sonst regulär _reguser" Wink

bei wbblite1 wr es so lösbar - ich habe leider die variablen von MyBB dazu nicht im Kopf *schäm

Zitat:switch ($wbbuserdata['groupid']) {
    case 1:
    case 2:
    case 3:
        eval ("\$header = \"".$tpl->get("header")."\";");
        break;
    case 4:
        eval ("\$header = \"".$tpl->get("header_user")."\";");
        break;
    default:
       eval ("\$header = \"".$tpl->get("header_gast")."\";");
}

Das Beispiel ist zwar für den header, aber das lässt sich mit dem angepassten templatenamen und den variablen für MyBB auch bei MyBB so einfummeln. das funktioniert für jede Seite, es muss halt nur dann entsprechend die Templates geben .. ist eine statische Lösung - keine "dynamische" aber mir hat das die 16 Jahre lang so gereicht Wink

ich hoffe du kannst damit was anfangen

ich habe mir das eben mal noch angesehen in der memberlist.php vom MyBB ...

da müsste es dann an folgender Stelle ergänzt werden:
memberlist.php suche
Code:
eval("\$memberlist = \"".$templates->get("memberlist")."\";");

ergänze mit den switch-optionen oben auf

Code:
switch($usergroup['gid']) {
    case 1:
    case 2:
    eval("\$memberlist = \"".$templates->get("memberlist_user")."\";");
    case 3:
    eval("\$memberlist = \"".$templates->get("memberlist_mods")."\";");
        break;
    case 4:
        eval("\$memberlist = \"".$templates->get("memberlist")."\";");
        break;
    default:
       eval("\$memberlist = \"".$templates->get("memberlist_gast")."\";");
}

bei dem mybb bin ich mir nicht sicher ob das so reicht wegen der Syntax - oben bei switch($usergroup['gid']) -, aber wenn es nicht klappt, kann dir ja sicher StefanT. die richtige Syntax verraten oder einer der anderen, die schon bei MyBB Erfahrung haben, mit den Variablen

du brauchst übrigens nur die Group-IDs angeben die du auch nutzen willst, das spart Platz und hält es übersichtlich Wink
Zitieren
#5
Code:
switch($mybb->user['usergroup']) {
   case 1:
   case 2:
   eval("\$memberlist = \"".$templates->get("memberlist_user")."\";");
   case 3:
   eval("\$memberlist = \"".$templates->get("memberlist_mods")."\";");
       break;
   case 4:
       eval("\$memberlist = \"".$templates->get("memberlist")."\";");
       break;
   default:
      eval("\$memberlist = \"".$templates->get("memberlist_gast")."\";");
}

so sollte es funktionieren Big Grin

dann eben angepasst an die Gruppen die es anders sehen sollen, als original Wink
Zitieren
#6
Hallo FlederMaus,

herzlichen Dank für Deine Nach-Arbeit Smile. Auch auf die Gefahr hin, dass ich mich blamiere: Ich habe die Stelle in der php-Datei nun herausgesucht - fast am Ende, bei mir Zeile 510.
In der allerletzten Zeile (517) steht eine geschweifte Klammer, genau wie auch am Ende Deines Code-Schnipsels. Nach meinem vagen (Un)Verständnis reicht es, wenn am Ende eine geschweifte Klammer stehenbleibt - zumindest sehe ich in den letzten Zeilen keine ungeschlossene "Eröffnungsklammer", die am Schluss ein Gegenstück erfordern würde?

Freundliche Grüße
a.

P.S.: Ich habe gelernt, dass ich .php-Dateien nicht mit dem Windows-Editor oder einfachen Editoren usw. bearbeiten darf, deshalb verwende ich nun "Brackets". Nicht ganz klar ist mir jetzt allerdings, ob ich Deinen Codeschnipsel gefahrlos kopieren und bei Brackets einfügen könnte - oder ob das auch irgendwie die Gefahr von unsichtbaren "Artefakten" birgt (?).
Zitieren
#7
(22.05.2019, 22:34)a.no-nym schrieb: P.S.: Ich habe gelernt, dass ich .php-Dateien nicht mit dem Windows-Editor oder einfachen Editoren usw. bearbeiten darf, deshalb verwende ich nun "Brackets". Nicht ganz klar ist mir jetzt allerdings, ob ich Deinen Codeschnipsel gefahrlos kopieren und bei Brackets einfügen könnte - oder ob das auch irgendwie die Gefahr von unsichtbaren "Artefakten" birgt (?).

Du kannst bspw. auch einfach Notepad++ benutzen. Du kannst PHP Dateien bearbeiten, wie du lustig bist (mach dir am besten vorher aber ein Backup der Datei, welche du bearbeiten willst). Du solltest die Codes allerdings an die richtige Stelle einsetzen mit richtiger Syntax, ansonsten könntest du dein Forum schnell "kaputt schießen" und Fehlermeldungen im Browser des Benutzers hervorrufen. Dann hilft nur noch das Rückgängig machen bzw. das Backup der Datei einzuspielen.

Mal angenommen du hast eine simple if-Abfrage, wie:

PHP-Code:
if ($i $k) {
echo 
"$i ist kleiner als $k";
} else {
echo 
"$i ist nicht kleiner als $k";
} ; 

dann solltest du schon wissen, was du da bearbeitest. Wenn du Code an die falsche Stelle setzt, bspw. den Ausdruck falsch erweiterst landest du schnell in einem Syntax-Error.
My  PHP-Version: 7.3.1 | MySQL-Version: 5.7.21
My  Plugins: See all
------
Es gibt nur 10 Arten von Menschen. Die, die binär verstehen - und die, die es nicht tun
Zitieren
#8
Hallo itsmeJAY,

vielen Dank für Deine Nachricht. Weil es Notepad++ für Mac OS nicht gibt, nutze ich den Editor Brackets. Meine Nachforschungen haben ergeben, dass dieser von vielen Entwicklern als Alternative zu Notepad++ empfohlen wird und nicht die Probleme des Windows-Editors mitbringt (der ja anscheinend irgendwelche unsichtbaren Spuren hinterlässt, die den Code stören).

Wenn ich nun eine .php-Datei bearbeiten möchte, öffne sich sie ja ohne Umwege direkt mit dem Editor (in meinem Fall also mit Brackets). Meine Frage ist nun: Wenn ich Code dort hineintrage, indem ich hier im Forum markiere, in die Zwischenablage kopiere und dann im Editor einfüge - bringt das auch irgendwelche Gefahren von unsichtbaren "Mitbringseln" mit sich oder kann ich das bedenkenlos so machen? (Dass das Ganze hinterher nur funktioniert, wenn der Code an sich richtig ist, habe ich verstanden.)

Dass Veränderungen immer die Gefahr mit sich bringen, etwas zu zerschießen, ist mir bewusst. Deshalb wollte ich gern wissen, ob im konkreten Fall ans Ende zwei } gehören oder nur eine.

Freundliche Grüße
a.
Zitieren
#9
Du kannst problemlos über einen Editor Texte kopieren. Es sollte sich jedoch um einen simplen Plain Text-Editor handeln.
Beim Kopieren nehme ich ebenfalls den Editor-Umweg, um keine unsichtbaren Steuerzeichen oder Formatiereungen mit zu kopieren.

Unter Mac OS kannst du ebenfalls den Standard-Editor TextEdit benutzen und den Modus bzw. Format auf Plain Text setzen.

-

Die geschlossene geschweifte Klammer am Ende hat seinen Sinn - auch wenn die geöffnete nicht sofort ersichtlich ist, wird sie sich schon irgendwo befinden Smile (in diesem Fall bei Zeile 65-70).

Je nach Schachtelung innerhalb eins Quelltextes können auch viele Klammern aufeinander folgen. Doch zu jeder geschlossenen gehört eine geöffnete.

[ExiTuS]
Zitieren
#10
Hallo Exitus,
dank Deiner Antwort habe ich jetzt entdeckt, dass ich die geöffnete Klammer in der ersten Zeile des Codes von Fledermaus nicht wahrgenommen hatte. Nun ergibt das Ganze Sinn. Smile  

Bezüglich des andern Themas stehe ich leider immer noch auf dem Schlauch - ich kann da nur um Entschuldigung bitten. Du schreibst "Beim Kopieren nehme ich ebenfalls den Editor-Umweg, um keine unsichtbaren Steuerzeichen oder Formatierungen mit zu kopieren." Welcher Umweg ist hier gemeint?

Ich öffne die .php-Datei direkt mit dem Editor - keine Gefahr von Verunreinigungen. 
Tippe ich zu ergänzenden Code direkt von Hand dort ein - keine Gefahr von Verunreinigungen durch Steuerzeichen usw.

Nun möchte ich aber einen Code-Abschnitt wie den von Fledermaus dort einfügen (und den möglichst nicht von Hand in den Editor tippen, denn das bringt zwar sicher nicht die Gefahr von Verunreinigungen durch Steuerzeichen mit sich, dafür aber eine stark erhöhte Gefahr von Verunreinigungen durch mich Wink - weshalb ich das gern vermeiden würde.

Wenn ich den Code nun so aus dem Forum hole, als würde ich einen beliebigen Text irgendwohin kopieren wollen, (sprich: markieren, kopieren, einfügen) - besteht dann auch die Gefahr von Verunreinigungen durch Steuerzeichen usw?
Oder kann ich den Code auf die beschriebene Weise hier im Forum einsammeln und gefahrlos im Editor direkt in die bereits geöffnete .php-Datei einfügen (von der ich natürlich vorher eine Kopie gemacht habe)? 

Sorry für das Brett vorm Kopf und danke für Eure Geduld!

Freundliche Grüße
a.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Bewertungs-System [Zuletzt bewertet] + [Bewertungs-Übersicht] Lukαs 0 482 22.01.2012, 14:57
Letzter Beitrag: Lukαs
  Zuletzt bearbeitet von Malone 1 676 05.03.2008, 21:02
Letzter Beitrag: Michael
  Benutzergruppe in der Mitgliederliste anzeigen Sarah 3 1.048 26.04.2007, 15:41
Letzter Beitrag: Sarah