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
Verify Users > Anzeige in memberlist_user
#21
(29.08.2021, 10:50)itsmeJAY schrieb: 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.
Die Definition "Kinderspiel" stammt eindeutig nicht von mir! Dies ist Dir, sicherlich versehentlich im Eifer des Schreibens Deines Beitrags, Deiner geschätzten Aufmerksamkeit entgangen.
(29.08.2021, 10:50)itsmeJAY schrieb: 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) - ....
Es wurde mehrmals erwähnt, das es selbstverständlich nur die Templates, welche Usernamen mit anzeigen, betrifft. Zudem habe ich die, meiner persönlichen Ansicht nach wichtigsten, Templates hier aufgeführt! Wenn gewünscht, erstelle ich selbstverständlich eine detaillierte Gesamtauflistung soweit sich noch welche ergeben sollten.

Es schreibt der Laie:
Wenn man z.B. in den gewünschten Templates selbst z.B. {$icon_verified} an gewünschter Stelle einbinden könnte, wäre das Ziel ja erreicht. Wie aber definiert man {$icon_verified} welche dann in Abhängigkeit ob tatsächlich verifiziert oder nicht dargestellt wird. Vllt. ein eigenes PlugIn?

(29.08.2021, 10:50)itsmeJAY schrieb: ...ich kann nicht für alle Benutzer - nur weil ich Plugins für die Community entwickelt habe - alles individuell für jeden Benutzer modifizieren.
a) ich wurde von Usern darauf aufmerksam gemacht und habe dies hier gepostet und inhaltlich begründet
b) der inhaltliche Mehrwert für alle Anwender des PlugIns wurde erläutert.

Danke für die Freigabe zur eventuellen Modifizierung des PlugIn. Vllt. findet sich jemand welcher über die Kompetenz verfügt und bereit ist die Zeit aufzubringen und das Anliegen umzusetzen würde. Wenn nicht, dann ist es eben so wie es ist und gut ist. Ich bin selbstverständlich gerne bereit, für eine adäquate Lösung, einen Obolus aufzubringen.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#22
Ich denke wenn du mal eine kleine Aufstellung über Templates machst, in denen es nicht geht, wäre schon geholfen =)
Zitieren
#23
Auf die Schnelle:
  • forumbit_dept2_forum
  • forumbit_depth2_forum_lastpost
  • forumdisplay_thread
  • forumdisplay_thread_modbit
  • online_row (erfolgreich umgesetzt > siehe nachstehend)

In der online.php habe ich vorab den Pfad zum Icon definiert im query das u.verified (Dank des Tipps/Hinweises von Schnapsnase) mit definiert und in online_row.html
PHP-Code:
if ($user['verified'] || $user['groupverified']) {
  $icon_verified 'Pfad zum Icon';
} else {
  $icon_verified '';

erfolgreich eingebunden

In der asoi.php habe ich vorab den Pfad zum Icon definiert und in allen querys das u.verified mit eingebunden. In den jeweiligen Abschnitten der Anzeigen die vorstehene PHP-Variable erfolgreich eingebunden. Kann im Live-Forum ./index.php, im Segment "Neueste Antworten" (ohne Registrierung) angesehen werden.

Wie Du unschwer erkennen kannst, versuche ich mir Mühe zu geben selbst aktiv zu sein.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#24
Meine erste Idee wäre hier der Hook "format_name".
Ein Query in der Tabelle users "username<==>verified" und eine kleine Funktion, die den Usernamen rendert.
Das sollte doch dann überall funktionieren und eine Variable im Template ist nicht mehr nötig.
So erst mal mein Gedankengang - ich hab´s aber noch nicht weiter verfolgt oder getestet. Wink
Zitieren
#25
(29.08.2021, 13:36)Schnapsnase schrieb: Meine erste Idee wäre hier der Hook "format_name".

(29.08.2021, 02: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

(29.08.2021, 13:36)Schnapsnase schrieb: Das sollte doch dann überall funktionieren und eine Variable im Template ist nicht mehr nötig.

format_name() wird nicht überall verwendet, wo auch der Benutzername steht.
Zitieren
#26
(29.08.2021, 13:46)itsmeJAY schrieb: format_name() wird nicht überall verwendet, wo auch der Benutzername steht.

Ja, hast Recht. Es wird wahrscheinlich an einigen Stellen, wo "nur" z.B. profilelink oder lastposterlink generiert wir, nicht funktionieren. Wink 
Wenn man sich mal das Plugin "Style Usernames" anschaut, sind da schon einige Funktionen notwendig, um alles abzudecken. Wink
Zitieren
#27
Korrektur:
In diesem Beitrag muss es korrektweise lauten:
PHP-Code:
if ($user['verified'] {
  $icon_verified = 'Pfad zum Icon';
}
 else {
  $icon_verified = '';
}
  
da ich $groupverified in den querys nicht mit eingebunden habe. Die Kombination wäre durchaus auch umsetzbar, entfällt jedoch bei mir da ich alle "groupverified" mittels einem stündlichem Task (welcher noch weitere SQL-Befehle ausführt) automatisch auf "verified" setze. Sorry für die inkorrekte Angabe!
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#28
(29.08.2021, 14:13)Gerti schrieb: Sorry für die inkorrekte Angabe!

Da es sich in deinem "falschen" Code um ein ODER in der if-Anweisung handelt, ist es hier völlig irrelevant, ob du "groupverified" mit abfragst oder nicht.
Solange "verified" true ist, erfolgt auch eine Ausgabe/Anzeige. Wink 
Deine if-Anweisung ist also nicht inkorrekt, sondern in  diesem Part nur nutzlos. Wink
Zitieren
#29
Hallo,

siehe Anhang.

In den nachfolgenden Templates, sind die nachfolgenden Variablen nun verfügbar. Zumindest sollte dies so sein. Das komplexe an der ganzen Sache ist hier die Suche quer durch den MyBB Quellcode.

forumdisplay_thread
- $thread['userVerified']
- $thread['userGroupVerified']
- $thread['userVerificationDate']

forumbit_depth2_forum
forumbit_depth2_forum_lastpost
- $forum['userVerified']
- $forum['userGroupVerified']
- $forum['userVerificationDate']

Bitte um kurzen Test und Feedback, da ich dies nicht ausgiebig getestet habe.

Gruß
JAY


Angehängte Dateien
.php   verify.php (Größe: 15,06 KB / Downloads: 8)
Zitieren
#30
Trotz meiner "großen Klappe" in Sachen "Kinderspiel", hätte ich nicht an eine Erwartungshaltung geglaubt, um hier eine fertige Lösung zu präsentieren. Das habe ich nicht vor und werde auch JAYs Plugin nicht ummodifizieren. Trotzdem mag ich einen Lösungsweg darstellen.

Klar kann man nicht generell auf jeder Seite des Forums (um etwas globales zu bauen) auf dieselben User-Variablen als Referenzen zurückgreifen, weil die sich je nach Seite unterscheiden. Aber immer dann, wenn irgendwo ein User ins Spiel kommt, gibt es auch eine entsprechende Referenz zu diesem User - auch wenn die Variablen der UserID auf verschiedenen Seiten unterschiedlich ausfallen. Hierzu ein paar Beispiele:

Seite (*.php) Variable

- Benutzerprofil (member.php) $uid
- Thread Postbit (showthread.php) $post['uid']
- Memberlist (memberlist.php) $user['uid']
- Read PM (private.php) $pm['uid']
- Buddylist (usercp.php) $user['uid']
- Index Forumbit Lastpost (functions_forumlist.php) $thread['lastposteruid']

Die Liste kann man auf alle Seiten weiterführen, auf denen man das "Verify" ansetzen möchte. Es gibt immer irgendeinen Griffpunkt zu einem User.

Die Hooks im Plugin zielt man auf jede der o.g. Seiten. Oder wahlweise auf noch mehr, je nachdem, welche Seiten man abdecken möchte.

Da wir jetzt für die einzelnen Seiten die Referenz zur UserID wissen, atomarisieren wir dies erstmal zu einer einzelnen Variable, die wir anschließend für ein SQL-Statement nutzen können.
Leider kann ich grad nicht in echt testen, daher nur Prosa-Pseudo-Code:
Code:
switch ("THIS_SCRIPT") {
case (member.php): $v_uid = $uid; break
case (showthread.php) $v_uid = $post['uid']; break
case (memberlist.php) $v_uid = $user['uid']; break
case (private.php) $v_uid = $pm['uid']; break
...
}

$SQL_QUERY = "SELECT verified ... FROM mybb_users WHERE uid = $v_uid;
...
So hat man den Verified-Status eines Benutzers und kann die entsprechende Variable für Templates bestücken.

Entschuldigt diese Kurzfassung - ich habs natürlich nicht live getestet. Aber die Art und Weise sollte zum Ziel führen.

Hoffentlich lasst ihr mir diese simple Vorgehensweise noch als "Kinderspiel" durchgehen, da es wirklich kein Hexenwerk ist.
Der einmalige Aufwand ist es, sich auf den gewünschten php-Seiten die entsprechende UserID-Referenz herauszupiceken.

[ExiTuS]
Neues Forum: MyBB 1.8.27 + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Zitieren