Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.27 veröffentlicht (22.06.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Mitgliederliste ohne "Zuletzt online" anzeigen
#21
@FlederMaus
Wenn Du dann für weitere Gruppen die Ausgabe differenzieren willst, arbeitest Du einfach statt mit <else> mit <elseif> weiter.
Das kannst Du dann beliebig weit ausdehnen und wenn nötig sogar auf einzelne User runterbrechen. Wink
Zitieren
#22
das ist dann die elegante-Feinschliff-Lösung zu meinem Holzhammer-Template-Kopieren Wink
Zitieren
#23
Hallo, liebe Profis!

Ich habe nun nach einigen Fehlversuchen folgende Lösung ausgeknobelt, die zwar sicher wenig elegant ist, die ich aber wenigstens so weit überschauen konnte, dass ich die Realisierung hingekriegt habe Wink

Die memberlist.php sowie die Templates memberlist und memberlist_user habe ich dupliziert und diese 3 Klone jeweils mit dem Zusatz _admin abgelegt. Der geklonten .php-Datei habe ich beigebracht, dass sie sich ihre Infos aus den beiden geklonten Templates holt, die ich nach meinen Vorstellungen angepasst habe.

Ich habe eine Forenkategorie angelegt und so eingestellt, dass sie nur für Admins sichtbar ist. Als Link habe ich meine geklonte .php-Datei eingetragen.

Das funktioniert auch alles prima, aber nun hapert es bei den nächsten Schrittchen:

Zum einen hätte ich die Liste, die nun dort erzeugt wird, gern standardmäßig nach dem Feld "lastvisit" sortiert (wer zuletzt online war, soll ganz oben erscheinen). Ich nehme an, dass ich das in der .php-Datei festlegen kann, weiß aber nicht wie.

Außerdem würde ich den Link gern gegen unberechtigten Zugriff schützen. Zwar ist er im Forum nur für Admins sichtbar, aber über einen entsprechenden Browsereintrag könnte er ja trotzdem aufgerufen werden. Nun habe ich zwar hier im Adventskalender schon eine Erklärung gefunden, wie man Seiten vor unberechtigtem Zugriff schützt. Leider fehlen mir die Grundlagen, um das zu verstehen und es ist dort komplizierter, als ich es brauche.

Was ich mir wünsche, ist vermutlich mit einer einfachen wenn-dann-Syntax zu lösen, denn der Aufruf der Liste soll nur für Admins möglich sein.

Wenn user=Admin, dann zeige Liste
Ansonsten: verweigere Zugriff und zeige "Keine Berechtigung"

Mag mir jemand verraten, wie sich das in die richtige Syntax gießen lässt und wo ich das unterbringen muss?

Herzlichen Dank und freundliche Grüße
a.

P.S.: Wie habt Ihr Euch die Grundlagen angeeignet? Durch Bücher oder übers Netz?
Zitieren
#24
Es reicht wenn du abfragst

PHP-Code:
if ($mybb->user['usergroup'] == 4) {
// Inhalt der ausgegeben werden soll, in deinem Fall glaube ich die Mitgliedertabelle?
} else {
error_no_permission();



Ich hab mir nur deine letzte Antwort durchgelesen und bin mit dem Thread hier nicht 100% vertraut, hoffe aber ich konnte dir wenigstens etwas helfen..  Big Grin Er überprüft oben einfach nur ob die Gruppen-ID des jeweiligen Benutzers (der die php-Seite gerade aufruft) gleich 4 ist (4 ist die Admin-Gruppe) wenn ja, wird der Inhalt ausgegeben, ansonsten (jede Gruppe die nicht 4 ist) bekommt keinen Zugriff.

oder, was auch geht (gleiches Prinzip, je nachdem wie die php-Datei aussieht vielleicht sinnvoller)

PHP-Code:
if ($mybb->user['usergroup'] != 4) {
error_no_permission();
} else {
// Inhalt hier der für Admins ausgegeben werden soll



(03.06.2019, 13:59)a.no-nym schrieb: P.S.: Wie habt Ihr Euch die Grundlagen angeeignet? Durch Bücher oder übers Netz?

ich habe mich recht früh mit PHP beschäftigt (mit 10 Jahren ca. das erste mal von PHP gehört) allerdings habe ich die Logik hinterm Programmieren nie verstanden bis ich in der Schule C++ Grundlagen gelernt habe und gemerkt habe, dass C++ PHP recht ähnlich ist  Big Grin Naja, und dann ging es halt los einfach praktisch zu lernen. Mit PHP macht man schnell Fortschritte - somit war es ganz gut zum lernen. Ich glaube die Schule hat echt gut getan um einige Grundlagen zu erkennen. Ich würde jedem Raten einen Kurs zu machen der sich wirklich damit befassen will. Dort lernt man schnell wichtige und Dinge, die im Programmieren vorausgesetzt werden (bspw beim Einstieg sowas wie "Was ist ein Integer?" "Was ist ein String?" "Was ist eine Variable oder Konstante?" bla bla...)
Zitieren
#25
Ich kann Dein Vorgehen momentan nicht mehr verstehen, da ich Dir bereits im Beitrag #19 die Lösung präsentiert habe.
Du "manipulierst" und duplizierst php-Dateien, die bei einem Update evtl. wieder überschrieben werden oder im Fall des Duplikats gar nicht erst vom Update beachtet werden und danach vielleicht auf den Hammer laufen.
Du legst mehrere Templates für den gleichen Zweck an. Auch diese werden dann von einem künftigen Update missachtet.
Das ist alles unnötig.
Eine oder mehrere if-Anweisungen genügen, um die Ausgabe des Templates memberlist nach Gruppen oder sogar einzelnen Usern zu differenzieren. Danach evtl. noch verschiedene CSS-Anweisungen zuordnen und fertig.
Zitieren
#26
Hallo,
vielen Dank für Eure raschen Antworten.

@itsmeJAY: Ich hab Deine zweite Variante genommen - diese funktioniert auch ohne die "else"-Angabe. Vielen Dank für diese super schnelle und für mich nachvollziehbare Lösung!

@Schnapsnase: Ich glaube, ich habe nur eine Chance, wenn ich mich schrittweise an das Thema herantaste - und ich bin schon lange keine 20 mehr und hab keine Vorkenntnisse, mache also eher sehr kleine Schrittchen. Im Fall Deines Lösungsvorschlags (der mir theoretisch sofort eingeleuchtet hat) bin ich schon daran gescheitert, dass ich nach langem Suchen zwar endlich einen Link zu PHP in Templates gefunden habe, den Download aber nicht entpacken konnte, weil ich nichts gefunden habe, was mit diesem Format umgehen konnte.
Deshalb habe ich nach einer anderen Lösung gesucht, die ich möglichst selbständig hinbekomme, damit ich Eure freundliche Hilfsbereitschaft nicht über Gebühr strapaziere und mich nicht schon wieder mit doofen Fragen blamieren muss. Leider bin ich momentan oft noch überfordert mit Hinweisen der Art "und dann musst du das nur noch hier anpassen und dort eintragen". Für Euch sind das Selbstverständlichkeiten (für mich vielleicht hoffentlich auch irgendwann), aber im Moment fehlen mir noch zu viele Kenntnisse. Ich kann da nur um Nachsicht und Verständnis bitten. Das scheint mir ein bisschen wie beim Klettern zu sein: Der Profi ist in Nullkommanix ganz oben und macht dabei noch eine gute Figur. Ich komme zwar vielleicht bestenfalls auch aus eigener Kraft oben an, muss aber meine Route anders wählen als der Profi mit seiner ausgereiften Klettertechnik, so dass sie sicher umständlicher und länger ist (von den Abzügen in der B-Note wegen fehlender Eleganz mal ganz abgesehen Wink )

Falls noch jemand einen Tipp für die Sortierung nach "lastvisit" hat,  freue ich mich sehr.

Freundliche Grüße
a.
Zitieren
#27
Prinzipiell halte ich nichts davon in Templates PHP durch irgendein Fremd-Plugin zu verwenden, aber scheint ja wohl zu klappen. Welches Format war es denn? Meistens kriegst du ZIP Dateien die kannst du mit WinRAR oder 7zip entpacken.

Doofe Fragen gibt es nicht. Zumindest nicht, wenn man keine Ahnung von der Materie hat.

Und Profi... wer ist schon Profi? Wink Jeder Programmierer arbeitet und schreibt anders und für jeden Programmierer ist der Quellcode eines anderen Programmieres "schlecht und unübersichtlich"... Big Grin Also wir fühlen alle mit dir.. :-P Jeder hat mal klein angefangen... und ich bin immer noch nicht so weit, wie ich eigentlich mal sein wollte Big Grin Lernen, lernen, lernen...
Zitieren
#28
Das war eine Datei mit der Endung .7z  Sad

Möglicherweise wäre das unter Windows ganz einfach gewesen, aber ich werkle per MacOS und wollte nicht gern irgendwo etwas runterladen, nur um etwas öffnen zu können, was ich irgendwo runtergeladen habe.

Falls das nicht zu weit führt: Warum ist denn das Ermöglichen von php in Templates per Plugin aus Deiner Sicht keine empfehlenswerte Vorgehensweise?
Zitieren
#29
Ich find es aus "Programmiersicht" unsauber - auch wenn es funktioniert. So wie ich es bei MyBB verstanden habe werden die Inhalte der einzelnen Templates in eine Variable geladen und diese wird ausgegeben an entsprechender Stelle. Mit dem Plugin würde man also (hab das Plugin nie benutzt) in eine PHP Variable das Template packen (HTML-Code) und zusätzlich nochmal PHP-Code wie bspw. if-Anweisungen. Ich weiß selbst nicht genau wie das plugin das realisiert und macht. Kann mich auch täuschen, hat da jemand andere Informationen?
Zitieren
#30
Ich bin immer noch auf der Suche für eine Lösung des Sortierproblems. Nun habe ich das Template memberlist_orderarrow entdeckt und frage mich, ob dort die Standardeinstellung für die Sortierung der Mitgliederliste festgelegt ist. Es ist ein kurzes Template:

Code:
<span class="smalltext">[<a href="{$sorturl}&amp;sort={$sort}&amp;order={$oppsortnext}">{$oppsort}</a>]</span>

Leider raff ich nicht, was das bedeutet und wie ich es anpassen müsste (falls es überhaupt die richtige Stelle ist...)
Blush
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Präfix Anzeige in der zuletzt beantworteten Themen auf der Portalseite Sigi 9 793 20.04.2020, 13:26
Letzter Beitrag: [ExiTuS]
  Bewertungs-System [Zuletzt bewertet] + [Bewertungs-Übersicht] Lukαs 0 789 22.01.2012, 14:57
Letzter Beitrag: Lukαs
  Zuletzt bearbeitet von Malone 1 951 05.03.2008, 21:02
Letzter Beitrag: Michael
  Benutzergruppe in der Mitgliederliste anzeigen Sarah 3 1.370 26.04.2007, 15:41
Letzter Beitrag: Sarah