<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Util\Media\Filter; use App\Media; class MediaFix extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'media:fix'; /** * The console command description. * * @var string */ protected $description = 'Fix media on v0.10.8+'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { if(!version_compare(config('pixelfed.version'),'0.10.8','ge')) { $this->error('Please update to version 0.10.8 or newer.'); exit; } $classes = Filter::classes(); Media::whereNotNull('filter_class') ->chunk(50, function($filters) use($classes) { foreach($filters as $filter) { $match = $filter->filter_class ? in_array($filter->filter_class, $classes) : true; if(!$match) { $filter->filter_class = null; $filter->filter_name = null; $filter->save(); } } }); } }