MyBB.de Forum
Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.6.x (https://www.mybb.de/forum/forum-58.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-59.html)
+---- Thema: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung (/thread-27906.html)



Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - McBär - 29.04.2013

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


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Falkenauge Mihawk - 29.04.2013

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"
 
); 



RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Devon - 29.04.2013

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


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Falkenauge Mihawk - 29.04.2013

(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).


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Devon - 29.04.2013

(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


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - McBär - 30.04.2013

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.


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Falkenauge Mihawk - 30.04.2013

(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.


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - Lukαs - 01.05.2013

http://mods.mybb.com/view/default-avatar

Benutze ich auch, alle User erhalten bei Registrierung einen Standard-Avatar.


RE: Avatar automatisch setzen per MySQL-Query bzw. bei Userregistrierung - McBär - 23.06.2013

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