19.05.2019, 15:35
Hallo,
ich möchte in meinem Forum Gästen ein Avatar zuweisen, gleichzeitig aber auch andere Avatare etc. für Gäste verstecken. Alles, was ich zu "Avatare für Gäste" fand, war mit dem Plugin PHP in Templates. Aber da ich damit nur im äußersten Notfall arbeiten will, wollte ich eine 'sauberere' Lösung.
Verwendet wird das MyBB 1.8.20.
Folgende Struktur hatte ich im Sinn:
1. User eingeloggt?
1a. Beitrag von Gast? -> Ausgabe Gastavatar ohne Verlinkung
1b. Beitrag von User mit gesetztem Avatar? -> Ausgabe Avatar (Standard)
1c. Beitrag von User ohne Avatar? -> Ausgabe Standardavatar
2. Nicht eingeloggt?
2a. Beitrag von Gast? -> Ausgabe "Kann Avatare nicht sehen" ohne Verlinkung
2b. Beitrag von User (mit/ohne Avater) -> Ausgabe "Kann Avatare nicht sehen" mit Verlinkung
So, ich habe nun in der inc/functions_post.php folgende Änderung durchgeführt:
Folgenden Teil auskommentiert:
Und habe dafür das folgende geschrieben:
So, das Ersetzen der Grafiken funktioniert ohne Probleme, Gäste sehen nur das Avatar mit der Aufschrift "Gäste können keine Avatare sehen" mit Verlinkung.
Nur ist für Gäste noch immer kein Avatar gesetzt. Und nun frage ich mich, ob ich irgendwo irgendwas übersehen habe? Irgendwas, wo noch bestimmt wird, dass für Gäste die Variable $post['useravatar'] doch leer sein soll?
Vielleicht kann jemand von euch Licht ins Dunkel bringen.
Liebe Grüße
windkind
ich möchte in meinem Forum Gästen ein Avatar zuweisen, gleichzeitig aber auch andere Avatare etc. für Gäste verstecken. Alles, was ich zu "Avatare für Gäste" fand, war mit dem Plugin PHP in Templates. Aber da ich damit nur im äußersten Notfall arbeiten will, wollte ich eine 'sauberere' Lösung.
Verwendet wird das MyBB 1.8.20.
Folgende Struktur hatte ich im Sinn:
1. User eingeloggt?
1a. Beitrag von Gast? -> Ausgabe Gastavatar ohne Verlinkung
1b. Beitrag von User mit gesetztem Avatar? -> Ausgabe Avatar (Standard)
1c. Beitrag von User ohne Avatar? -> Ausgabe Standardavatar
2. Nicht eingeloggt?
2a. Beitrag von Gast? -> Ausgabe "Kann Avatare nicht sehen" ohne Verlinkung
2b. Beitrag von User (mit/ohne Avater) -> Ausgabe "Kann Avatare nicht sehen" mit Verlinkung
So, ich habe nun in der inc/functions_post.php folgende Änderung durchgeführt:
Folgenden Teil auskommentiert:
PHP-Code:
if(isset($mybb->user['showavatars']) && $mybb->user['showavatars'] != 0 || $mybb->user['uid'] == 0)
{
$useravatar = format_avatar($post['avatar'], $post['avatardimensions'], $mybb->settings['postmaxavatarsize']);
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar")."\";");
}
Und habe dafür das folgende geschrieben:
PHP-Code:
// Wenn eingeloggt, dann Avatare sehen
if ($mybb->user['uid'] != 0 && $mybb->user['uid'] != '')
{
// Gast
if ($post['uid'] == 0)
{
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar_guest")."\";");
}
else {
// gibt es Avatar + ist User?
if ($post['avatar'])
{
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar")."\";");
}
// gibt kein avatar + ist User?
else {
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar_none")."\";");
}
}
}
// wenn nicht eingeloggt, dann keine Avatare sehen
else {
// User
if ($post['uid'] == 0)
{
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar_unseen_guest")."\";");
}
else {
eval("\$post['useravatar'] = \"".$templates->get("postbit_avatar_unseen_user")."\";");
}
}
So, das Ersetzen der Grafiken funktioniert ohne Probleme, Gäste sehen nur das Avatar mit der Aufschrift "Gäste können keine Avatare sehen" mit Verlinkung.
Nur ist für Gäste noch immer kein Avatar gesetzt. Und nun frage ich mich, ob ich irgendwo irgendwas übersehen habe? Irgendwas, wo noch bestimmt wird, dass für Gäste die Variable $post['useravatar'] doch leer sein soll?
Vielleicht kann jemand von euch Licht ins Dunkel bringen.
Liebe Grüße
windkind