WIP-Schnappschuss vor Migration 2026-09-28 (uncommittete Änderungen von feature/b2in-interior)
This commit is contained in:
parent
3211569fee
commit
268a1f5f54
114 changed files with 3126 additions and 470 deletions
52
database/seeders/DemoBrandGalleryCleanupSeeder.php
Normal file
52
database/seeders/DemoBrandGalleryCleanupSeeder.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\CmsBrand;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
/**
|
||||
* Entfernt die Demobilder aus den Markengalerien (Nachtrag 17).
|
||||
*
|
||||
* {@see DemoBrandGallerySeeder} hatte Stockmotive und KI-Renderings der alten Dubai-Seite als
|
||||
* Beispiele in die Galerien von CABINET, Rotpunkt und Febrü gelegt. Seit den echten Bildern
|
||||
* (Nachtrag 16) sollen sie weg. Erkannt werden sie am Dateinamen aus dem Demo-Seeder – nicht an
|
||||
* der Bildunterschrift, denn den Vermerk „BEISPIEL“ hat {@see BrandGalleryCaptionNormalizerSeeder}
|
||||
* auf der Vorschau bereits entfernt. Alle anderen Galeriebilder bleiben samt Kategorie,
|
||||
* Unterschrift und Reihenfolge. Mehrfaches Ausführen ist unbedenklich.
|
||||
*
|
||||
* php artisan db:seed --class=DemoBrandGalleryCleanupSeeder
|
||||
*/
|
||||
class DemoBrandGalleryCleanupSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$demoImages = [];
|
||||
|
||||
foreach (DemoBrandGallerySeeder::GALLERIES as $items) {
|
||||
foreach ($items as $item) {
|
||||
$demoImages[] = $item[0];
|
||||
}
|
||||
}
|
||||
|
||||
$removed = 0;
|
||||
|
||||
foreach (CmsBrand::query()->whereNotNull('gallery')->get() as $brand) {
|
||||
$gallery = CmsBrand::normalizeGallery($brand->gallery);
|
||||
$kept = array_values(array_filter(
|
||||
$gallery,
|
||||
fn (array $item) => ! in_array($item['image'], $demoImages, true),
|
||||
));
|
||||
|
||||
if (count($kept) === count($gallery)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$removed += count($gallery) - count($kept);
|
||||
$brand->gallery = $kept;
|
||||
$brand->save();
|
||||
}
|
||||
|
||||
$this->command?->info("Demobilder aus den Galerien entfernt: {$removed}.");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue