Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
fontane
Mitglied
Beiträge: 295
Registriert: 03.02.2013 12:58

Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von fontane »

Hallo,

im ACP "Gruppen verwalten" kann man das AVATAR für die Gruppe einstellen.
(Dies wurde von meinem Vorgänger versäumt. Das nachstehend aufgeführte Problem ergibt sich jedoch auch wenn man mal das Gruppenvatar wechseln will - auch Grafiken ändern sich nunmal mit der Zeit :roll: )

Problem:
Gibt man nun für die Gruppe ein Avatar ein, werden die bereits von den Mitgliedern selbst eingestellten Avatare überschrieben.

Frage:
kann man mit z.B. einem SQL-Befehl Mitgliedern einer Gruppe welche noch kein eigenes Avatar haben ein Avatar (das Gruppenavatar) zuweisen wobei die von den Mitgliedern bestehenden Avatare erhalten bleiben? Wenn ja, wie lautet der SQL-Befehl?

Vielen Dank für eine Hilfestellung
phpbb 3.0.4 | PHP 7.4 | MySQL 5.7
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von Miriam »

Diesen Code in Deiner DB ausführen:
  • Code: Alles auswählen

    UPDATE phpbb_users SET user_avatar = ( SELECT group_avatar
    FROM phpbb_groups
    WHERE group_id =5 )
    WHERE user_avatar = ''
    AND group_id =5
Lies auch:
  • KB:phpmyadmin,
  • KB:pma_faq,
  • KB:mysqlbackup.
Mache VORHER ein Backup Deiner DB!

Voraussetzungen:
  • Deine MySQL Version ist mindestens 4.1
  • Dein Tabellenpräfix ist phpbb_.
  • Deine Gruppen ID ist 5
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
fontane
Mitglied
Beiträge: 295
Registriert: 03.02.2013 12:58

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von fontane »

Miriam hat geschrieben:Diesen Code in Deiner DB ausführen:
Zunächst mal besten Dank für Deine Hilfe(n)

Der Laie fragt:
a) ich interpretiere Deine SQL-Vorgabe so, dass nach Ausführung des SQL-Befehles die Datenbank so strukturiert ist, dass wenn das Gruppenavatar via dem ACP geändert wird, die Mitglieder welche bereits ein Avatar haben, dieses erhalten bleibt. ?!?

b) alle Mitglieder haben nach Ausführung des SQL-Befehles entweder ein eigenes Avatar oder das vorgegebene Gruppenavatar. Wenn man das Gruppenavatar später mal ändern möchte, muss somit nur die Grafik (*.png / *.JPG / *.gif) ausgetauscht werden? ?!? Wenn ja, Wo ist dieses Gruppenavatar abgespeichert?

Danke vorab für die ergänzende Hilfestellung
phpbb 3.0.4 | PHP 7.4 | MySQL 5.7
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von Miriam »

Die Vorgaben waren meiner Meinung nach unmißverständlich:
Frage:
kann man mit z.B. einem SQL-Befehl Mitgliedern einer Gruppe welche noch kein eigenes Avatar haben ein Avatar (das Gruppenavatar) zuweisen wobei die von den Mitgliedern bestehenden Avatare erhalten bleiben? Wenn ja, wie lautet der SQL-Befehl?
Deine jetzige Vorgabe:
Der Laie fragt:
a) ich interpretiere Deine SQL-Vorgabe so, dass nach Ausführung des SQL-Befehles die Datenbank so strukturiert ist, dass wenn das Gruppenavatar via dem ACP geändert wird, die Mitglieder welche bereits ein Avatar haben, dieses erhalten bleibt. ?!?
hat mit der ursprünglichen nur bedingt zu tun.
Also: Nein, das User-Avatar wird bei Änderung im ACP auch geändert.

Von daher trifft
b) alle Mitglieder haben nach Ausführung des SQL-Befehles entweder ein eigenes Avatar oder das vorgegebene Gruppenavatar. Wenn man das Gruppenavatar später mal ändern möchte, muss somit nur die Grafik (*.png / *.JPG / *.gif) ausgetauscht werden? ?!?
zu.

Zu Deiner weiteren Frage:
Wenn ja, Wo ist dieses Gruppenavatar abgespeichert?
Wenn Du am Code nichts geändert hast, wird das Avatar im Verzeichnis /images/avatars/upload/gespeichert.
Ein Avatar der Gruppe 5 könnte so heißen: c5b49b5998a5074ad1a6d1fd00793c65_g5.jpg
Du erkennst sicherlich, wieso es das Gruppenavatar der Gruppe 5 ist und woran Du es erkennen kannst.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
fontane
Mitglied
Beiträge: 295
Registriert: 03.02.2013 12:58

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von fontane »

Miriam hat geschrieben:Die Vorgaben waren meiner Meinung nach unmißverständlich:
Sorry das ich es nicht verstehe, vermutlich weil IT-Programmierung nun mal nicht mein Fachgebiet ist!

Ich erkenne auf meine Eingangsfrage mit Deiner Ausführung leider keine Funktionsweise wie den Gruppenmitgliedern OHNE Avatar ein Avatar zugewiesen wird ohne bereits bestehende Avatar der Gruppe zu überschrieben. Es muss ja irgendwo der Datenbank auch gesagt werden, welches Avatar (Grafik) für die Mitglieder ohne Avatar verwendet werden soll.

OK, ich gebs (besser) auf, jedoch vielen Dank für den Zeitaufwand Deiner Bemühungen mir zu helfen.
phpbb 3.0.4 | PHP 7.4 | MySQL 5.7
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von Miriam »

Wenn Du die SQL Query verstehen möchtest:

Code: Alles auswählen

    UPDATE phpbb_users SET user_avatar = ( SELECT group_avatar
    FROM phpbb_groups
    WHERE group_id =5 )
    WHERE user_avatar = ''
    AND group_id =5
heißt auf "menschlich"
Ändere die Tabelle phpbb_users und setze die Spalte user_avatar auf den Wert, der in der Tabelle phpbb_groups in der Spalte group_avatar hinterlegt ist.
Und zwar auf den Wert, bei dem der Eintrag in der Tabelle phpbb_groups für die Spalte group_id gleich 5* ist.
Das aber nur an den Stellen der Tabelle phpbb_users, bei denen der Eintrag in der Spalte user_avatar leer ist und die Spalte group_id gleich 5* ist.


* muß von Dir noch nach Deinen Vorgaben angepaßt werden.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
fontane
Mitglied
Beiträge: 295
Registriert: 03.02.2013 12:58

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von fontane »

Miriam hat geschrieben:heißt auf "menschlich"
das habe ich jetzt verstanden Danke:

Habe es mit einer Testgruppe (20) und zwei Testusern (einer mit ohne und einer mit eigenem Avatar) getestet

1. ich gebe via MySQLDumper in der Spalte "group_avatar" die Grafikadresse (c5ccfc0f147a95157cf2ae01f2f7068b_g20.png) manuell ein.
1.1. ich führe den SQL-Befehl aus (Gruppe-ID ist selbstverständlich auf 20 angepasst)
Ergebnis:
* User ohne Avatar bleibt ohne Avatar
* User mit Avatar behält sein Avatar
Hinweis: nach jedem Arbeitsschritt habe ich vorsichtshalber mal den Cache gelehrt

2. wenn ich das Avatar über das ACP mit Bild hinzufügen eingebe, wird das mitgliedereingene Avatare sofort überschrieben.
2.1 Da bringt der SQL-Befehl ja nichts mehr.

Was tun?
phpbb 3.0.4 | PHP 7.4 | MySQL 5.7
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von Miriam »

fontane hat geschrieben: 1. ich gebe via MySQLDumper in der Spalte "group_avatar" die Grafikadresse (c5ccfc0f147a95157cf2ae01f2f7068b_g20.png) manuell ein.
Darf ich mal die von Dir neu erstellte SQL Query sehen?

Der Name des Bildes im Verzeichnis ist nicht gleich dem Namen des Bildes in der DB.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
fontane
Mitglied
Beiträge: 295
Registriert: 03.02.2013 12:58

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von fontane »

Miriam hat geschrieben:Der Name des Bildes im Verzeichnis ist nicht gleich dem Namen des Bildes in der DB.
Der SQL-Befehl von Dir funktioniert! :grin:

Das Problem liegt/lag wahrlich am/beim Bild.

Klicke ich im ACP auf das Avatar des Benutzer, wird mir ein kleines Rechteck angezeigt. Rechtsklick auf das Rechteck und "Bild in neuem TAB öffnen" ergab die URL = ../adm/images/avatars/gallery/gt_avatar.png. Ich habe das Bild gt_avatar.png nun dorthin kopiert und schon funktioniert es wie gewünscht.

In der Spalte "group_avatar" steht c5ccfc0f147a95157cf2ae01f2f7068b_g20.png
(Dateiname aus dem Verzeichnis "../images/avatars/upload/")

Wenn es Deiner Meinung nach so ok ist, und ich nichts mehr ändern muss, hat dann doch alles geklappt, :)
phpbb 3.0.4 | PHP 7.4 | MySQL 5.7
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Gruppen AVATAR nachträglich einpflegen/aktuaklisieren

Beitrag von Miriam »

Na bitte.
Schön, das es jetzt paßt.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“