Hallo,
hab das ganze jetzt von Hand gemacht .... ohne Contao Bordmittel.
Als Erstes die Spalte images dupliziert zu images_backup.
PHP-Code:
$stmt = $dbConnect->prepare("SELECT * FROM mm_bilder WHERE images_backup != ''");
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
for($i=0;$i<count($rows);$i++) {
$oldImages = unserialize($rows[$i]['images_backup']);
$newImages = array();
foreach($oldImages AS $k => $v) {
/***** Falls noch das ganz alte Verzeichnis tl_files verwendet sein sollte *****/
$v = preg_replace('|tl_|', '', $v);
$stmt = $dbConnect->prepare("SELECT uuid FROM tl_files WHERE tl_files.path = ?");
$stmt->execute(array($v));
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
if(isset($row[0]['uuid'])) {
$newImages[] = $row[0]['uuid'];
}
}
if(count($newImages) > 0) {
$newImages = serialize($newImages);
$sqlUpdate = "UPDATE mm_bilder SET images = '".$newImages."' WHERE id = ".$rows[$i]['id'];
$stmt = $dbConnect->prepare($sqlUpdate);
$stmt->execute();
}
}
vielleicht nicht das Eleganteste, aber es funktioniert.
Thomas
Lesezeichen