Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
18.08.2021, 17:38
(Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2021, 17:38 von itsmeJAY.)
(18.08.2021, 12:49)Schnapsnase schrieb: (18.08.2021, 12:29)Gerti schrieb: Somit zwischen 1 und 2 = invers (warum auch immer).
Vllt. hat mir jemand hierzu einen Lösungsweg.
Bei $mybb->user wird im Gegensatz zu $user überprüft, ob der User eingeloggt ist.
Ich denke eher ohne alle Beiträge gelesen zu haben das sich $user aus Sicht der Entwicklung auf einen dritten Benutzer bezieht und $mybb->user bezieht sich auf den derzeit eingeloggten bzw. auf die Sitzung des Benutzers welcher das Forum benutzt.
Beiträge: 1.721
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
25.08.2021, 13:09
(Dieser Beitrag wurde zuletzt bearbeitet: 25.08.2021, 13:17 von Gerti.)
@itsmeJAY
Ein Wunsch bzw. eine Bitte zur Anwendung des PlugIn Verify Users
Variante 1
könntest Du mitteilen, was im PlugIn ergänzt werden müsste damit die von Dir benannte Abfrage
Code: if ($user['verified'] || $user['groupverified']) {
// Benutzer ist verifiziert
}
(derzeit nur in memberlist_user verwendbar) in allen Templates verwendet werden kann?
Variante 2
Wäre es Alternativ möglich, die Variable {$post['icon_vf']} (derzeit nur im Postbit verwendbar), zur Einbindung in allen Templates Deinerseits zu definieren. Es entzieht sich meiner Kenntnis ob dies möglich ist, wäre aber in der eigentlich Anwenung beim Einbinden in Templates der angenehmere Weg.
Begründung:
Wie bereits erwähnt, gibt es einige Seiten (Templates) in denen die User angezeigt werden. Wenn man dabei einheitlich vorgehen könnte, das bei verifizierten Usern auch, egal welches Template mit Usern angezeigt wird, immer das Icon mit angezeigt werden kann. Einge User haben mich bereits angefragt: "warum wird es z.B. lastpost" nicht angezeigt?" Solche berechtigten Anfragen möchte ich gerne umgehen.
Wenn es irgend möglich wäre, eine der vorgenannten Varianten gar im PlugIn umzusetzen, wäre dies sicherlich eine willkommene attraktive Bereicherung für alle Anwender des PlugIns.
Wenn es einer umsetzen kann, dann am Besten der PlugIn-Entwickler.
Vorab besten Dank für Dein Feeback.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Um die Anzeige auf andere Seiten zu erweitern, kannst du innerhalb des Plugins weitere Hooks anlegen, so dass die Variablen auch in anderen Templates zur Verfügung stehen.
Zum Beispiel für ausgewählte Seiten:
Code: $plugins->add_hook('postbit', 'verify_user_show');
$plugins->add_hook('memberlist_end', 'verify_user_show'); # für Mitgliederliste
$plugins->add_hook('postbit_pm', 'verify_user_show'); # für Private Nachrichten
...
Eine Übersicht aller Hooks findest du hier.
Bedenke, du benötigst immer nur einen einzelnen Hook aus einer *.php Datei - mit "*_end" machst du in der Regel nichts verkehrt.
https://docs.mybb.com/1.8/development/plugins/hooks/
Alternativ ein einziger "global" Hook für ALLE Seiten des Forums.
Code: $plugins->add_hook('global_start', 'verify_user_show'); # IMMER UND ÜBERALL
[ExiTuS]
Beiträge: 2.267
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
@[ExiTuS]
Ist soweit m.M. nach nicht zielführend.
Es bringt nichts, eine Variable verfügbar zu machen, wenn diese denn gar nicht gefüllt wird.
Es erfolgt in manchen php-Dateien z.B. in forumdisplay.php oder online.php keine DB-Abfrage von "verified".
Somit bleibt die Variable für das Icon leer.
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Schnapsnase, du hast Recht. Ich habe mir den Plugin-Code nun genauer angesehen und auch festgestellt, dass lediglich auf SQL-Ergebnisse aus Kern-PHP-Dateien gegriffen wird. Damit läßt sich das Plugin tatsächlich nicht auf alle, sondern nur (Glück im Unglück) auf einige wenige Seiten ausdehen.
Wenn man das Plugin abändern würde, um es global lauffähig zu machen, blieben das/die oben genannte(n) Hook(s) dennoch notwendig.
Die Hauptänderung des Plugins würde darin bestehen ein eigenes, unabhängiges SQL-Statements zu benutzen, um die entsprechenden Felder aus der Users-Tabelle zu lesen - sprich das $post[]-Array aus dem PHP-Original durch ein eigenes mit den Inhalten einer separaten Abfrage zu ersetzen.
Der Aufwand hierfür wäre überschaubar, ja sogar ein Kinderspiel.
[ETS]
Beiträge: 2.267
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
(26.08.2021, 14:52)[ExiTuS] schrieb: Der Aufwand hierfür wäre überschaubar, ja sogar ein Kinderspiel.
Dann mach...
Ich wollte mal warten, ob sich JAY dazu äußert, denn es ist ja nun mal sein Plugin.
Wenn nicht hätte ich mich daran versucht.
Ich gehe aber davon aus, dass du um Lichtjahre schneller bist, als ich.
Beiträge: 1.721
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
28.08.2021, 17:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2021, 17:09 von Gerti.)
Hi ExiTuS,
ich hoffe doch das es wirklich nur ein Kinderspiel ist. Obwohl, die Aussage tätigste Du nach Prüfung des PlugIns im Einklang mit den Anforderungen und wirst daher am besten Wissen was Du wie beurteilst.
Ich warte jetzt mal Dein Ergebnis ab und gerne auch vorab bereit, in meinem Testforum umfassend zu testen und zu berichten
An dieser Stelle jedoch besten Dank für Dein Engagement, allen Anwendern des PlugIns einen echten Mehrwert zu realisieren.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
29.08.2021, 01:18
(Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2021, 01:43 von itsmeJAY.)
(26.08.2021, 14:52)[ExiTuS] schrieb: Die Hauptänderung des Plugins würde darin bestehen ein eigenes, unabhängiges SQL-Statements zu benutzen, um die entsprechenden Felder aus der Users-Tabelle zu lesen - sprich das $post[]-Array aus dem PHP-Original durch ein eigenes mit den Inhalten einer separaten Abfrage zu ersetzen.
Der Aufwand hierfür wäre überschaubar, ja sogar ein Kinderspiel.
[ETS]
Hallo,
ganz unabhängig davon, dass dies eines meiner ersten Plugins war bzw. ist, habe ich dies damals absichtlich so entwickelt damit keine unnötigen und nicht notwendigen SQL Abfragen verarbeitet werden müssen. Ich knüpfe an bestehende Logik an um keinen unnötigen Traffic zu erzeugen.
Das post-Array ist in dem Fall kein „PHP Original“ sondern wird durch das MyBB generiert. Nicht verwechseln mit der Superglobalen Variable $_POST welche tatsächlich durch PHP „kommt“. Hier bezieht sich $post wirklich auf den jeweiligen Beitrag (dies gilt für generell MyBB). Es kann sein, dass du es genau so meinst - der Vollständigkeitshalber wollte ich dies nur noch einmal erwähnen.
Es lässt sich schlichtweg nicht in jedem Template definieren, da es Templates gibt wo es keine Referenz auf bestimmte Benutzer gibt. Somit wundert mich die Aussage mit dem „Kinderspiel“ etwas. Das post-Array ist in vielen Templates nicht deklariert, somit kann dies auch nicht befüllt werden oder gar abgeändert werden. Ich lasse mich natürlich aber auch eines besseren belehren Ich bin gespannt auf das Ergebnis. In allen anderen Templates (in denen Benutzer bereits aufgelistet werden) müsste es über die entsprechende Variablen bereits funktionieren. Dazu müsste man sich den Quellcode nur anschauen um die genaue Variablen zu lokalisieren. Oft holt das MyBB sich das gesamte User-Objekt und somit müssten die Werte bereits vorhanden sein in den entsprechenden Properties.
Wenn es hingegen immer nur um den (eingeloggten) Benutzer der Sitzung geht und nicht um Dritte, ist die Abfrage über das MyBB-Objekt jederzeit und in allen Templates möglich.
Wenn man es überall global haben will, würde ich ggf. am formatierten Benutzernamen ansetzen. Ist meinerseits aber nur eine Idee, kann ich so mit dem Handy alles nicht prüfen.
https://github.com/mybb/mybb/blob/featur....php#L3445
Grüße
JAY
Beiträge: 1.721
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
29.08.2021, 09:07
(Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2021, 09:21 von Gerti.)
(29.08.2021, 01:18)itsmeJAY schrieb: Wenn es hingegen immer nur um den (eingeloggten) Benutzer der Sitzung geht und nicht um Dritte, ist die Abfrage über das MyBB-Objekt jederzeit und in allen Templates möglich.
Dies Variante ist doch etwas sinnbefreit.
* jeder User weiß selbst ob er verifiziert wurde oder nicht (dazu hat er sein Benutzer-CP).
* der User möchte zurecht im Vorfeld erkennen ob ein Beitrag im Thread (Bsp: forumdisplay > analog showthread) von einem verifiziertem User verfasst wurde oder nicht.
* die User sollen selbst entscheiden können ob sie sich an einen Thread [verfasst von einem (nicht-)verifiziertem User] beteiligen möchten oder nicht. (Bsp: forumdisplay)
* User sofort erkennen möchten ob verifizierte User Online sind (Bsp: online)
usw. Ergo: alle Templates mit Useranzeige und somit den Bedarf der "globalen Verfügbarkeit" des Icon "verifziert" (gebunden an den jeweiligen verifizierten User) einfordern.
Es würde ja schon ausreichend sein, wenn Dein Lösungsvorschlag analog in allen Templates umsetzbar wäre. Aber, wie diesem Theread zu entnehmen ist, fehlen leider oftmals die erforderlichen SQL-Abfragen hierzu. (Der Progarmmierlaie kann leider nur anregen).
(29.08.2021, 01:18)itsmeJAY schrieb: Wenn man es überall global haben will, würde ich ggf. am formatierten Benutzernamen ansetzen. Ist meinerseits aber nur eine Idee, kann ich so mit dem Handy alles nicht prüfen.
https://github.com/mybb/mybb/blob/featur....php#L3445 Dieser Lösungsansatz übersteigt zumindest meine Programmierkompetenz.
Es sei der Gedankengang erlaubt, warum Du, als der eigentliche PlugIn-Entwickler, den sicherlich nicht unberechtigt gewünschten Mehrwert, nicht selbst im PlugIn umsetzt und lediglich mit Hinweisen hinsichtlich Lösungsmöglichkeiten agierst.
Ich gehe mal nicht unberechtigt davon aus dass in Bezug Deines erwähnten Lösungsansatzes und Deiner Fachkompetenz es für Dich kein zu großer Aufwand wäre den gewünschten Mehrwert, für alle Anwender, des PlugIns umzusetzen. Im Nebeneffekt würde es das Vertrauen zum aktiven Einsetzen der von Dir erstellten PlugIns sicherlich nicht unwesentlich stärken.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
29.08.2021, 09:50
(Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2021, 09:51 von itsmeJAY.)
(29.08.2021, 09:07)Gerti schrieb: Dies Variante ist doch etwas sinnbefreit. (29.08.2021, 01:18)itsmeJAY schrieb: Wenn es hingegen immer nur um den (eingeloggten) Benutzer der Sitzung geht und nicht um Dritte, ist die Abfrage über das MyBB-Objekt jederzeit und in allen Templates möglich. ** die Betonung liegt hier auf "hingegen" und bezog sich auf meinen Kommentar davor, denn:
(29.08.2021, 09:07)Gerti schrieb: Es würde ja schon ausreichend sein, wenn Dein Lösungsvorschlag analog in allen Templates umsetzbar wäre. Aber, wie diesem Theread zu entnehmen ist, fehlen leider oftmals die erforderlichen SQL-Abfragen hierzu. (Der Progarmmierlaie kann leider nur anregen). (29.08.2021, 01:18)itsmeJAY schrieb: Es lässt sich schlichtweg nicht in jedem Template definieren, da es Templates gibt wo es keine Referenz auf bestimmte Benutzer gibt. Somit wundert mich die Aussage mit dem „Kinderspiel“ etwas. Das post-Array ist in vielen Templates nicht deklariert, somit kann dies auch nicht befüllt werden oder gar abgeändert werden.
Scheinbar hast du meinen Kommentar oben nicht sorgfältig genug gelesen. Weder das $post-Array noch das $user-Array ist nicht in jedem Template seitens MyBB zu finden, somit lässt sich global nicht einfach dein Vorschlag umsetzen. Es gibt Templates, da werden gar keine Benutzer aufgeführt, wie soll also eine globale Abfrage in allen Templates nach allen Usern durch $user ermöglicht werden (wie von dir oben erwähnt)?
(29.08.2021, 09:07)Gerti schrieb: Dieser Lösungsansatz übersteigt zumindest meine Programmierkompetenz. (29.08.2021, 01:18)itsmeJAY schrieb: Ist meinerseits aber nur eine Idee, kann ich so mit dem Handy alles nicht prüfen.
(29.08.2021, 09:07)Gerti schrieb: Es sei der Gedankengang erlaubt, warum Du, als der eigentliche PlugIn-Entwickler, den sicherlich nicht unberechtigt gewünschten Mehrwert, nicht selbst im PlugIn umsetzt und lediglich mit Hinweisen hinsichtlich Lösungsmöglichkeiten agierst.
Ich gehe mal nicht unberechtigt davon aus dass in Bezug Deines erwähnten Lösungsansatzes und Deiner Fachkompetenz es für Dich kein zu großer Aufwand wäre den gewünschten Mehrwert, für alle Anwender, des PlugIns umzusetzen. Im Nebeneffekt würde es das Vertrauen zum aktiven Einsetzen der von Dir erstellten PlugIns sicherlich nicht unwesentlich stärken.
Hier spielt der Faktor Zeit eine ganz große und wahrscheinlich die entscheidende Rolle. Wenn du wirklich der Auffassung bist, dass es kein großer Aufwand sondern wirklich ein "Kinderspiel" ist, dann frage ich mich im tatsächlich, weshalb hier noch keine Lösung dazu entwickelt wurde. Ebenso spielt der Faktor der Erwartungshaltung die nächste große Rolle. PHP und MyBB ist ein Hobby von mir und ich kann nicht für alle Benutzer - nur weil ich Plugins für die Community entwickelt habe - alles individuell für jeden Benutzer modifizieren.
Wenn ich Zeit dafür finde und wenn die genauen Anforderungen hier mal deutlicher beschrieben werden (= in allen Templates verfügbar machen, macht einfach keinen Sinn) - dann könnte ich mir evtl. mal Gedanken darum machen. Sofern allerdings andere Benutzer bereits eine Lösung gefunden haben, würde ich es tatsächlich angenehmer finden, wenn diese Lösung hier präsentiert wird. Meine Erlaubnis zur Modifizierung des Plugins "Verify Users" erteile ich hiermit ausdrücklich. Das Copyright meines Codes liegt selbstverständlich weiterhin bei mir.
Grüße,
JAY
|