public function postImportAuthor($import_id, $author_id) { if (!$this->checkRoute()) { return Redirect::route('index'); } $import_mod = Import::find($import_id); $import_author = ImportAuthor::find($author_id); $input = Input::only('alias', 'name', 'deck', 'website', 'donate_link', 'bio', 'slug'); $messages = ['unique' => 'The author already exists in the database.', 'url' => 'The :attribute field is not a valid URL.']; $validator = Validator::make($input, ['name' => 'required|unique:authors,name', 'website' => 'url', 'donate_link' => 'url'], $messages); if ($validator->fails()) { return Redirect::action('ImportController@getImportAuthor', [$import_id, $author_id])->withErrors($validator)->withInput(); } if ($input['alias'] == 0) { $author = new Author(); $author->name = $input['name']; $author->deck = $input['deck']; $author->website = $input['website']; $author->donate_link = $input['donate_link']; $author->bio = $input['bio']; if ($input['slug'] == '') { $slug = Str::slug($input['name']); } else { $slug = $input['slug']; } $author->slug = $slug; $author->last_ip = Request::getClientIp(); $author_import_status = 1; $success = $author->save(); } else { $alias = new AuthorAlias(); $alias->author_id = $input['alias']; $alias->alias = $import_author->name; $author_import_status = 2; $success = $alias->save(); $alias_id = $alias->id; } if ($success) { $import_author->status = $author_import_status; if (isset($alias_id)) { $import_author->author_alias_id = $alias_id; } $import_author->save(); $import_authors = ImportAuthor::where('import_id', '=', $import_id)->where('status', '=', 0)->first(); if (!$import_authors) { return Redirect::action('ImportController@getImportMod', [$import_mod->id]); } return Redirect::action('ImportController@getImportAuthor', [$import_mod->id]); } return Redirect::action('ImportController@getImportAuthor', [$import_mod->id, $import_author->id])->withErrors(['message' => 'Unable to add author.'])->withInput(); }