Ejemplo n.º 1
0
 public function postAdd()
 {
     if (!$this->checkRoute()) {
         return Redirect::route('index');
     }
     $versions = MinecraftVersion::all();
     $title = 'Add A Mod - ' . $this->site_name;
     $input = Input::only('name', 'versions', 'author', 'deck', 'website', 'download_link', 'donate_link', 'wiki_link', 'description', 'slug', 'mod_list_hide');
     $messages = ['unique' => 'This mod already exists in the database. If it requires an update let us know!', 'url' => 'The :attribute field is not a valid URL.'];
     $validator = Validator::make($input, ['name' => 'required|unique:mods,name', 'author' => 'required', 'versions' => 'required', 'deck' => 'required', 'website' => 'url', 'download_url' => 'url', 'wiki_url' => 'url', 'donate_link' => 'url'], $messages);
     if ($validator->fails()) {
         return Redirect::action('ModController@getAdd')->withErrors($validator)->withInput();
     }
     $mod = new Mod();
     $mod->name = $input['name'];
     $mod->deck = $input['deck'];
     $mod->website = $input['website'];
     $mod->download_link = $input['download_link'];
     $mod->donate_link = $input['donate_link'];
     $mod->wiki_link = $input['wiki_link'];
     $mod->description = $input['description'];
     if ($input['slug'] == '') {
         $slug = Str::slug($input['name']);
     } else {
         $slug = $input['slug'];
     }
     if ($input['mod_list_hide'] == 1) {
         $mod->mod_list_hide = 1;
     }
     $mod->slug = $slug;
     $mod->last_ip = Request::getClientIp();
     $success = $mod->save();
     if ($success) {
         foreach ($input['author'] as $author) {
             $mod->authors()->attach($author);
         }
         foreach ($input['versions'] as $version) {
             $mod->versions()->attach($version);
         }
         Cache::tags('mods')->flush();
         Queue::push('BuildCache');
         return View::make('mods.add', ['title' => $title, 'chosen' => true, 'success' => true, 'versions' => $versions]);
     }
     return Redirect::action('ModController@getAdd')->withErrors(['message' => 'Unable to add mod.'])->withInput();
 }
Ejemplo n.º 2
0
 public function postImportMod($import_id)
 {
     if (!$this->checkRoute()) {
         return Redirect::route('index');
     }
     $import_mod = Import::find($import_id);
     $versions = MinecraftVersion::all();
     $title = 'Import A Mod - ' . $this->site_name;
     $input = Input::only('name', 'selected_versions', 'selected_authors', 'deck', 'website', 'download_link', 'donate_link', 'wiki_link', 'description', 'slug', 'mod_list_hide');
     $messages = ['unique' => 'This mod already exists in the database. If it requires an update let us know!', 'url' => 'The :attribute field is not a valid URL.'];
     $validator = Validator::make($input, ['name' => 'required|unique:mods,name', 'selected_authors' => 'required', 'versions' => 'selected_versions', 'deck' => 'required', 'website' => 'url', 'download_url' => 'url', 'wiki_url' => 'url', 'donate_link' => 'url'], $messages);
     if ($validator->fails()) {
         return Redirect::action('ImportController@getImportMod', [$import_mod->id])->withErrors($validator)->withInput();
     }
     $mod = new Mod();
     $mod->name = $input['name'];
     $mod->deck = $input['deck'];
     $mod->website = $input['website'];
     $mod->download_link = $input['download_link'];
     $mod->donate_link = $input['donate_link'];
     $mod->wiki_link = $input['wiki_link'];
     $mod->description = $input['description'];
     if ($input['slug'] == '') {
         $slug = Str::slug($input['name']);
     } else {
         $slug = $input['slug'];
     }
     if ($input['mod_list_hide'] == 1) {
         $mod->mod_list_hide = 1;
     }
     $mod->slug = $slug;
     $mod->last_ip = Request::getClientIp();
     $success = $mod->save();
     if ($success) {
         foreach ($input['selected_authors'] as $author) {
             $mod->authors()->attach($author);
         }
         foreach ($input['selected_versions'] as $version) {
             $mod->versions()->attach($version);
         }
         Cache::tags('mods')->flush();
         Queue::push('BuildCache');
         $import_mod->status = 1;
         $import_mod->save();
         $raw_mcf_mods = ImportMCFModlist::orderBy('name', 'asc')->get();
         $raw_nem_mods = ImportNEM::orderBy('name', 'asc')->get();
         $mcf_mods_array[0] = 'None';
         $nem_mods_array[0] = 'None';
         foreach ($raw_mcf_mods as $mcf_mod) {
             $mcf_mod_id = $mcf_mod->id;
             $mcf_mods_array[$mcf_mod_id] = $mcf_mod->name;
         }
         foreach ($raw_nem_mods as $nem_mod) {
             $nem_mod_id = $nem_mod->id;
             $nem_mods_array[$nem_mod_id] = $nem_mod->name;
         }
         return View::make('imports.import', ['title' => $title, 'chosen' => true, 'success' => true, 'mcf_mods_array' => $mcf_mods_array, 'nem_mods_array' => $nem_mods_array, 'versions' => $versions]);
     }
     return Redirect::action('ImportController@getImportMod', [$import_mod->id])->withErrors(['message' => 'Unable to import mod.'])->withInput();
 }