Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung
#1
Hallo,

Ich möchte Usern einen Standard-Avatar setzen. Ich weiss, dass es dafür Plugins gibt, aber ich hätte trotzdem folgende Lösungsansätze, die ich allerdings - da fehlende php-Kenntnisse - hier mal zur Diskussion stellen möchte:

Variante (1):
Ich habe Jockls Beitrag zu "Nützliche MySQL-Befehle" gelesen. Ich weise per Query neuen Usern, die noch keinen Avatar haben einen Standard-Avatar zu:

UPDATE mybb_users SET avatar = 'images/avatars/bild.jpg' WHERE avatar = '';

Kann man so einen Query in ne php-Datei "packen" und diese in der Aufgabenverwaltung im Admin-CP ausführen lassen?

Variante (2)
Wenn sich ein User registriert, dann werden ja Name usw. in die Datenbank geschrieben. Kann man da nicht direkt auch schon den Avatar setzen? Das müsste doch in der "member.php" irgwndwie machbar sein Big Grin.

McB
#2
Beide Varianten würden grundsätzlich funktionieren.

Bei der Variante 2 denke ich, reicht es, wenn du im Array $user, beginnend Zeile 116, ein neues Element hinzufügst für das Avatar. Kann natürlich gut sein, dass es auf diese Art und Weise nicht geht.

PHP-Code:
$user = array(
           
"username" => $mybb->input['username'],
           
"password" => $mybb->input['password'],
           
"password2" => $mybb->input['password2'],
           
"email" => $mybb->input['email'],
           
"email2" => $mybb->input['email2'],
           
"usergroup" => $usergroup,
           
"referrer" => $mybb->input['referrername'],
           
"timezone" => $mybb->input['timezoneoffset'],
           
"language" => $mybb->input['language'],
           
"profile_fields" => $mybb->input['profile_fields'],
           
"regip" => $session->ipaddress,
           
"longregip" => my_ip2long($session->ipaddress),
           
"coppa_user" => intval($mybb->cookies['coppauser']),
           
"regcheck1" => $mybb->input['regcheck1'],
           
"regcheck2" => $mybb->input['regcheck2'],
           
"avatar" => "images/avatars/bild.jpg"
 
); 
#3
Bei deinen Varianten müsste man dann aber immer wieder den Pfad ändern, wenn das Avatar sich verändert hat, da würd ich an deiner Stelle dann doch eher zum Plugin zurückgreifen. Erspart man sich immerhin die Arbeit. Big Grin
#4
(29.04.2013, 18:31)Devon schrieb: Bei deinen Varianten müsste man dann aber immer wieder den Pfad ändern, wenn das Avatar sich verändert hat, da würd ich an deiner Stelle dann doch eher zum Plugin zurückgreifen. Erspart man sich immerhin die Arbeit. Big Grin
In wie fern soll es sich verändern? Wenn man ein anderes Bild will, überschreibt man das - oder man benennt es um (also das alte).
#5
(29.04.2013, 19:09)Falkenauge Mihawk schrieb:
(29.04.2013, 18:31)Devon schrieb: Bei deinen Varianten müsste man dann aber immer wieder den Pfad ändern, wenn das Avatar sich verändert hat, da würd ich an deiner Stelle dann doch eher zum Plugin zurückgreifen. Erspart man sich immerhin die Arbeit. Big Grin
In wie fern soll es sich verändern? Wenn man ein anderes Bild will, überschreibt man das - oder man benennt es um (also das alte).

Ich mein damit einfach nur das Aussehen des Bildes. Ja überschreiben ginge natürlich auch. Big Grin
#6
Danke für den Tipp für Variante 2.
Allerdings hab ich ein Problem mit der Größe des Avatars.
Wenn ich auch gleiche Weise avatardimensions => "100|100" einfügen will, klappt dies nicht. Kann es sein, dass dieser Datenbankeintrag erst später gesetzt wird?

Hat jemand ne Idee für Varante (1)? Ist das Überhaupt möglich? Wäre ja auch für andere Queries gut.
#7
(30.04.2013, 14:55)McBär schrieb: Danke für den Tipp für Variante 2.
Allerdings hab ich ein Problem mit der Größe des Avatars.
Wenn ich auch gleiche Weise avatardimensions => "100|100" einfügen will, klappt dies nicht. Kann es sein, dass dieser Datenbankeintrag erst später gesetzt wird?
Ich würde gerne wissen, was "klappt nicht" bedeutet.

Zitat:Hat jemand ne Idee für Varante (1)? Ist das Überhaupt möglich? Wäre ja auch für andere Queries gut.
Ich erwähnte doch bereits oben, dass es möglich ist. Die /inc/tasks/backupdb.php, zum Beispiel, kann man sich als Vorlage nehmen.
#8
http://mods.mybb.com/view/default-avatar

Benutze ich auch, alle User erhalten bei Registrierung einen Standard-Avatar.
#9
Ich habe zu Varinate 2 eine Lösung gefunden.

Eine Php-Datei mit folgendem Inhalt schreiben:
Code:
<?php
$aendern = "UPDATE mybb_users SET avatar = 'images/avatars/Bild.jpg' WHERE avatar = ''";
$update = mysql_query($aendern);
?>


Diese in den inc - tasks - Odrner kopieren. Nun kann man im AdminCP eine Aufgabe erstellen Big Grin


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Mit Query Besucherrekord zurücksetzen darki 13 4.546 03.03.2012, 17:19
Letzter Beitrag: darki
  Beiträge bzw. Benutzer nur bedingt gefunden per IP Eingabe Maggan22 3 1.481 07.08.2011, 14:15
Letzter Beitrag: frostschutz
  Beiträge bzw. Benutzer nur bedingt gefunden per IP Eingabe Maggan22 1 2.205 07.08.2011, 09:42
Letzter Beitrag: Kenny