table('posts')->where('type', 'veranstaltung')->delete(); Storage::disk('upload')->deleteDirectory('uploads/veranstaltung'); } $events = DB::connection('mysql_alt')->select("SELECT * FROM ikarus_veranstaltung ORDER BY 'id'"); foreach($events as $event) { // Fallunterscheidung: // Das Element wird nuer importiert, wenn // A) $mode == 'replace' // oder // B) $mode != 'replace' und die ID aus der Altdatenbank ist noch nicht importiert worden $checkMigration = PostMigration::where('type', 'veranstaltung')->where('old_id', $event->id)->get(); if(($mode == 'replace') || ($mode == 'update' && $checkMigration->count() == 0)) { $new_user = User::find($event->benutzer_id); if(!$new_user) { $event->benutzer_id = 1; $new_user = User::find($event->benutzer_id); } \Auth::login($new_user); echo "INSERT event: $event->id\n"; $post = new Post; $post->type = 'veranstaltung'; $post->title = $event->titel; $post->datetime = $event->datum . " " . $event->uhrzeit; // $post->datetime = Carbon::parse($post->datetime)->addYears(2); $post->content = MigrationHelper::normalize($event->beschreibung); $post->user_id = $event->benutzer_id; $post->created_at = $event->created_at; $post->updated_at = ($event->updated_at == $event->created_at) ? Carbon::createFromFormat(config('formats.datetime.database'), $event->updated_at)->addMinute() : $event->updated_at; $post->published = true; $post->save(); $controller = new EventController(); $publishDate = $controller->calculatePublicationDate($post, true); $publication = $post->publication('facebook'); $publication->setPublishDate($publishDate); $publication->noteForPublication(($publishDate > Carbon::now() ? true : false)); $publication->save(); $publication = $post->publication('twitter'); $publication->setPublishDate($publishDate); $publication->noteForPublication(($publishDate > Carbon::now() ? true : false)); $publication->save(); $publication = $post->publication('stadtanzeiger'); // $publication->setPublishDate($publishDate); // $publication->noteForPublication(($publishDate > Carbon::now() ? true : false)); $publication->published_at = $publishDate; $publication->state = 'published'; $publication->save(); $migration = new PostMigration; $migration->type = $post->type; $migration->old_id = $event->id; $migration->post_id = $post->id; $migration->save(); $migrations = TagMigration::where('type', 'abteilung')->where('old_id', $event->abteilung_id)->get(); $tags = array(); foreach($migrations as $m) { $tags[] = $m->tag_id; } $migrations = TagMigration::where('type', 'instanz')->where('old_id', $event->instanz_id)->get(); foreach($migrations as $m) { $tags[] = $m->tag_id; } $post->tags()->sync($tags); $files = Storage::disk('import')->files('import/veranstaltung/' . $event->id); $repo = new DocumentRepository(); $request = new Request(); foreach($files as $file) { $is_preview = false; if(basename($file) == $event->startbild) { $is_preview = true; } echo "ADD FILE $file \n"; $filedata = Storage::disk('import')->get($file); $extension = File::extension($file); $repo->upload('veranstaltung', $post->id, basename($file), $extension, $filedata, $post->user_id, $is_preview); } } } } }