Seite 1 von 1

Avatar Bild duch Link ersetzen

Verfasst: 07.12.2011 16:01
von Rytis
Hallo,

ich möchte von der Website http://minotar.net/ die Avatare meine User ersetzen. Ich habe bei der Registrierung ein eigenes Feld erstellt, wo die User den Benutzernamen seines Account eingeben müssen. Wie kann ich das jetzt machen?

Danke für eine Antwort!

Rytis

Re: Avatar Bild duch Link ersetzen

Verfasst: 18.12.2011 11:54
von Miriam
[ externes Bild ]

Und das willst du einbinden als Avatar-Bild? (unter der Annahme, dass es einen User Rytis zm Einbinden dort gibt)

Re: Avatar Bild duch Link ersetzen

Verfasst: 18.12.2011 12:30
von Rytis
Miriam hat geschrieben:[ externes Bild ]

Und das willst du einbinden als Avatar-Bild? (unter der Annahme, dass es einen User Rytis zm Einbinden dort gibt)
Genau, für jeden Benutzer. Ich habe auch ein Benutzerdefiniertes Feld wo jeder seinen Usernamen reinschreiben muss.
Es soll das normale Avatarbild ersetzen.

Re: Avatar Bild duch Link ersetzen

Verfasst: 18.12.2011 23:54
von Miriam
Warum schaltest du nicht "Remote-Avatare erlauben" im ACP an. Dann kannst Du die URL deines Minotaren dort einpflegen.

[ externes Bild ]

Re: Avatar Bild duch Link ersetzen

Verfasst: 19.12.2011 13:49
von Rytis
Ich meinte das so, dass wenn sich jeder neuer registriert, den Namen der er im benutzerdefinierten Feld eingibt, dass automatisch der sich registriert hat, den ganz bestimmten Avatar hat. Also ich hab ein eigenes Forum.

Rytis

Re: Avatar Bild duch Link ersetzen

Verfasst: 19.12.2011 15:36
von Miriam
Idee:

Voraussetzung: Dein selbstdefiniertes Feld heisst in der DB Tabelle phpbb_profile_fields_data pf_minecraft_name (zu erreichen dadurch, dass du es in ACP als minecraft_name deklarierst). Das Feld sollte zwingend gefüllt werden bei der Registrierung.

finde in der /includes/function.php füge davor ein:

Code: Alles auswählen

function update_minotar($user_id, $height, $width)
{
    global $db;
    
    $sql = "SELECT pf_minecraft_name FROM " . PROFILE_FIELDS_DATA_TABLE . " WHERE user_id = " . $user_id;
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
    $db->sql_freeresult($result);
    if ($row[pf_minecraft_name])
    {
        $sql = "UPDATE " . USERS_TABLE . " SET user_avatar = 'http://minotar.net/avatar/" . $row[pf_minecraft_name] . "/100.png',
                user_avatar_type = 2,
                user_avatar_width = " . $width . ",
                user_avatar_height = " . $height . "
                WHERE user_id = " . $user_id;
        $db->sql_query($sql);
    }
} 
Du kannst die Funktion fast überall aufrufen, z.B. in der index.php:
finde:

Code: Alles auswählen

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum'); 
füge danach ein:

Code: Alles auswählen

//Update remote avatar
update_minotar($user->data['user_id'], 75, 75); 
hier wären 75 x 75 die Pixelangabe für das Bild.

Wenn der User das Profilfeld frei lässt (z.B. beim nachträglichen Update seiner Profildaten), wird auch kein Minotar eingepflegt. Der Benutzer kann dann auch einen eigenen Avatar hochladen (wenn erlaubt) oder remote einpflegen.
Remote Avatar müssen erlaubt sein, sonst wird das Bild nicht angezeigt.

Re: Avatar Bild duch Link ersetzen

Verfasst: 19.12.2011 19:40
von Rytis
Vielen vielen Dank!
Es hat funktioniert :D
Wirklich danke ;)

Rytis