Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Avatar für Gäste setzen + Avatare für Gäste verstecken
#1
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:
PHP-Code:
if(isset($mybb->user['showavatars']) && $mybb->user['showavatars'] != || $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'] != && $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. Smile


Liebe Grüße
windkind
Zitieren


Nachrichten in diesem Thema
Avatar für Gäste setzen + Avatare für Gäste verstecken - von windkind - 19.05.2019, 16:35

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Gäste und verborgene Avatare clayton 5 2.210 11.02.2019, 09:37
Letzter Beitrag: FlederMaus
  Avatare und Signaturen für Gäste ausblenden bzw ersetzen Melometlar 25 8.379 12.05.2015, 10:50
Letzter Beitrag: Melometlar
  Avatare und Signaturen für Gäste verstecken mattias 37 10.289 13.12.2013, 07:47
Letzter Beitrag: Haustein
  Beitragsinhalt für Gäste verstecken Adem 12 4.877 02.10.2010, 10:51
Letzter Beitrag: Solander
  Link für Gäste im Top-Menü verstecken Mansaylon 5 2.928 15.11.2009, 01:19
Letzter Beitrag: Michael