MyBB.de Forum

Normale Version: Avatare verzerrt nach Datenbankübernahme
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
URL zum Forum: www.herkules-quad-forum.de
Welche Styles nutzt du? Cerulean
Hast du Plugins installiert? Welche? (wenn möglich bitte Links zu den Plugins angeben)
Welche MyBB-Version benutzt du? 1.8.15
Welche PHP-Version benutzt du? 7.025
Welche Datenbank benutzt du? (mit Version) MySQL
Hast du ein Update/Upgrade durchgeführt? Ja, von 1.8.11 auf 1.8.15
Hast du dein MyBB Forum von einer anderen Boardsoftware konvertiert? SMF 2.x
Seit wann tritt das Problem auf? von Anfang an
Wird eine Fehlermeldung ausgegeben? Welche? Wann? Nein

Hallo,

ich habe heute das Forum von SMF nach MyBB übernommen. Zuerst MyBB 1.8.11 installiert, mit Merge das Forum übernommen und dann das Update auf 1.8.15 gemacht.
Die Avatare wurden von Anfang an verzerrt angezeigt. Sie haben eine Größe von 65x48 Pixel, werden aber mit 48x65 Pixel angezeigt.

Gibt es da einen Fix oder irgendwo eine Einstellung?

Danke für die Hilfe :-)

Gruß
Andy
Hast Du mal die Einstellungen für Avatare in der Konfiguration angepasst?
ACP -> Konfiguration -> Profil
Ich habe die Größe umgeändert, hat sich nichts geändert.

Dann habe ich den Avatar neu hochgeladen, jetzt wird er korrekt angezeigt, Seitenverhältnis stimmt also...

Aber es muß doch auch irgendwie anders gehen?

Gruß
Andy
Das scheint ein Fehler im Merge System zu sein.

Dort wird an einigen Stellen avatardimensions auf height|width gesetzt, aber es müsste width|height sein, wenn ich den Code vom Merge System und den von MyBB selbst so auf die Schnelle richtig deute.

Bei quadratischen Avatars egal, bei nahezu-quadratischen unauffällig, aber bei Portrait-Avatars ist es dann genau verkehrt herum gestaucht.

Nicht selbst getestet.

Wenn es daran liegt, könntest du den Merge nochmal machen oder die Werte per Query vertauschen.
(27.05.2018, 22:24)frostschutz schrieb: [ -> ]....

Wenn es daran liegt, könntest du den Merge nochmal machen oder die Werte per Query vertauschen.

Wie könnte ich das genau machen?

Dankeschön :-)
Ja das ist jetzt die große Preisfrage nicht?

Schon lange kein SQL Query mehr mit Stringverquirlungen gebaut, auf eigenes Risiko, mach ein Backup von deiner users Tabelle vorher.

Code:
UPDATE mybb_users
SET avatardimenions = CONCAT(SUBSTRING(avatardimensions, 3), '|', SUBSTRING(avatardimensions, 1, 1))
WHERE avatardimenions LIKE '_|%';

Code:
UPDATE mybb_users
SET avatardimenions = CONCAT(SUBSTRING(avatardimensions, 4), '|', SUBSTRING(avatardimensions, 1, 2))
WHERE avatardimenions LIKE '__|%';

Code:
UPDATE mybb_users
SET avatardimenions = CONCAT(SUBSTRING(avatardimensions, 5), '|', SUBSTRING(avatardimensions, 1, 3))
WHERE avatardimenions LIKE '___|%';

Drei Queries, erste für Avatare Breite kleiner 10 Pixel, zweite kleiner 100 Pixel, dritte kleiner 1000 Pixel.

Der Haken an der Sache: Avatare die du schon durch neuladen "gefixt" hast sind dann wieder gestaucht und müssen nochmal gefixt werden. :-]
uund natürlich hab ich mich bei avatardoiemnbasu x-mal vertippselt.
Und ist trotzdem falsch, Mist.

Das zweite Query flippt 80|100 zu 100|80 und dann kommt das dritte Query und macht 100|80 wieder zu 80|100.

Also muss man das in ein einziges Query packen.

Code:
UPDATE mybb_users
SET avatardimensions = CONCAT(
   SUBSTRING(avatardimensions, LOCATE('|', avatardimensions) + 1),
   '|',
   SUBSTRING(avatardimensions, 1, LOCATE('|', avatardimensions) - 1)
)
WHERE avatardimenions LIKE '%|%';
Dankeschön für Deine Mühe, da werde ich mich mal einlesen müssen wie so etwas überhaupt funktioniert :-)

Gruß
Andy