User-Durcheinander nach dem Bridging User-Durcheinander nach dem Bridging
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

User-Durcheinander nach dem Bridging

Started by Loox, August 08, 2006, 05:25:08 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Loox

Hallo!

Nachdem ich in meiner Galerie etwa 20 Benutzer hatte, installierte ich ein Forum (SMF) nach und aktivierte das Bridging. Das klappte soweit ganz gut. Ich wußte auch, dass die Benutzer verloren gehen würden. Wäre auch nicht so schlimm gewesen. Das Problem ist jetzt aber, dass sich die Benutzer vermischt haben. Jene, die bereits Bilder in der Galerie hochgeladen haben, haben jetzt plötzlich eine nicht exisierende oder falsche ID. Klickt man einen Benutzer an und dann auf seine hochgeladene Bilder, kommt entweder die Meldung "dieser Benutzer existiert nicht" oder es werden die Bilder von einem anderen Benutzer angezeigt. Gibt es eine elegante Möglichkeit, dieses Problem zu beheben?

Joachim Müller

Keine elegante Lösung vorhanden, aber eine Lösung: editiere mit phpMyAdmin (oder einem ähnlichen Tool) die Datenbank-Einträge für alle Dateien, die vor dem Bridgen hochgeladen wurden manuell und weise die richtigen IDs zu. Dazu musst Du wie folgt vor gehen:
  • wähle im linken Frame die Datenbank, in der Coppermine installiert ist (wenn DU nur eine Datenbank hast entfällt dieser Schritt)
  • Klicke auf den Namen der Tabelle, die die Bilder enthält (cpgXXX_pictures)
  • Klicke auf den "Anzeigen"-Tab im rechten Frame
  • Klicke auf das Bleistift-Symbol vor einem Datensatz, um ihn zu bearbeiten
  • Ändere die ID im Feld "owner_id" entsprechend ab: entweder auf die "neue" ID des Benutzers, die er jetzt in SMF hat, oder auf die des Admins (in der Regel "1") - dann sieht es später so aus, als hättest Du (als Admin) die ganzen Bilder hochgeladen
  • wähle am unteren Rand der Seite die Option "nächste Zeile bearbeiten" und klicke auf "OK"
  • Fahre mit der Bearbeitung der weiteren Datensätze fort
Je nach Anzahl der Datensätze, die Du bearbeiten musst kann das ein mühseliges Unterfangen werden. Wenn Du also ein bißchen fit in mySQL bist, dann kannst Du auch alternativ eine Query basteln, die alle Datensätze vom "Alt-Benutzer" XX auf den "Neu-Benutzer" YY umsetzt: sowas wie
QuoteUPDATE `cpgXXX_pictures` SET `owner_id` = '25' WHERE `owner_id` = '12' AND `mtime` < '2005-03-03 18:55:19';
wobei Du die Query natürlich auf Deine Gegebenheiten anpassen musst.
Aber aufgepasst: auf jeden Fall (!) solltest Du ein Backup Deiner Datenbank machen, bevor Du anfängst, darin herumzudoktern - wenn es schiefgeht stehst Du sonst mit herunter gelassenen Hosen da (dann ist die falsche Zuordnung der Benutzer noch das geringste Deiner Problem, glaub mir).

Das Phänomen, dass Du gerade erfährst ist eben genau das, auf was sich die Warnung betreffend "Verlust der Benutzer" bezieht: Du verlierst die Zuordnung zwischen Benutzern und dem, was sie in Deiner Galerie so getan haben an Interaktionen; das ist nicht nur auf die Zuordnung der Bilder beschränkt, sondern auch auf Kommentare und Votes.

Wenn Dir das alles zuviel Arbeit ist, dann lade die Bilder herunter, die vor dem Bridging existiert haben und lösche Sie dann (in Coppermine). Anschließend lädst Du sie alle wieder hoch (per FTP) und fügst sie (als Admin) per Batch-Hinzufügen wieder ein. Dadurch sind es "neue" Bilder, deren Besitzer Du (der Admin) bist.

HTH

Joachim

Loox

Danke für diese sehr ausführliche Antwort! An die Möglichkeit, die Benutzer-ID's direkt in der Datenbank zu ändern, habe ich schon gedacht, hab mich aber nicht getraut, dies zu machen. Ich werd's jetzt ausprobieren. Schreibe nachher, ob es geklappt hat. Vielen Dank nochmal!