public function store() { $filesystem = new Filesystem(); $advertising = Advertising::where('name', '=', Input::get('name')); if (!$advertising->count() > 0) { $advertising = Advertising::create(['name' => Input::get('name'), 'bio' => Input::get('bio')]); } if (Input::has('image')) { $destination = public_path() . "/images/advertising/"; $filename = Input::file('image'); $file = $filesystem->move($destination, $filename); if ($file) { $advertising->image = $filename; } $advertising->save(); } if ($advertising) { return Redirect::to('admin/advertising/' . $advertising->id . '/show', ['advertising' => $advertising, 'add_failed' => 'false']); } return View::make('admin.advertising.add', ['add_failed' => 'true']); /* if (\Input::get('name')) { $filesystem = new Filesystem; $advertising = \Advertising::findOrCreate(\Input::get('name')); //$advertising_exists = \Advertising::where('name', '=', \Input::get('name')); if ($exists->id) { return \View::make('admin.advertising.add', ['add_failed'=> 'true', 'error_msg' => 'An entry for this advertising already exists!']); } //$new_advertising = \Advertising::create(\Input::only(['name', 'image', 'bio'])); $advertising->name = \Input::get('name'); $advertising->bio = \Input::get('bio'); if (\Input::has('image')) { $destination = public_path() . "/images/advertising/"; $filename = \Input::file('image'); $upload_success = $filesystem->move($destination, $filename); //$upload_success = \Input::file('image')->move($destinationPath, $filename); if ($upload_success) { $advertising->image = $filename; } } $advertising->save(); return \View::make('admin.advertising.add', ['add_failed' => 'true']); }*/ }
public function store() { $hasDemographics = Input::hasFile('demographics'); $hasRates = Request::hasFile('rates'); $destination = public_path() . "/advertising/"; $demographics_uploaded = false; $rates_uploaded = false; /* Retrieve current data from database, If there is current data, then there will only be ONE row. * Otherwise, we will create a row and insert the data provided by the user. */ $advertising = Advertising::first(); if (!$advertising) { if ($hasDemographics && $hasRates) { $advertising = Advertising::create(Input::only(['demographics', 'rates'])); } else { if ($hasDemographics) { $advertising = Advertising::create(Input::only('demographics')); } else { if ($hasRates) { $advertising = Advertising::create(Input::only('rates')); } else { if (!$hasDemographics && !$hasRates) { return Redirect::to('admin/advertising/add', ['error' => 'Demographics or Rates must be provided!', 'demographics' => $advertising->demographics, 'rates' => $advertising->rates]); } } } } } /* The following two blocks are for handling uploading of the PDF files. * The best way I can figure is to handle on after another, not dependent upon eachother. Previous attempts * with other ways were not successful. */ if ($hasDemographics) { if (Input::file('demographics')->isValid()) { $demographics = Input::file('demographics')->getClientOriginalName(); $demographics_uploaded = Request::file('demographics')->move($destination, $demographics); //dd($demographics_uploaded); if ($demographics_uploaded) { $advertising->demographics = $demographics; $savedDemographics = $advertising->save(); } } } if ($hasRates) { if (Input::file('rates')->isValid()) { $rates = Input::file('rates')->getClientOriginalName(); $rates_uploaded = Request::file('rates')->move($destination, $rates); //dd($rates_uploaded); if ($rates_uploaded) { $advertising->rates = $rates; $savedRates = $advertising->save(); } } } if ($hasDemographics && !$demographics_uploaded) { $error .= " Demographics upload was unsuccessful!"; } else { if ($hasRates && !$rates_uploaded) { $error .= " Rates upload was unsuccessful!"; } else { $error = 'none'; } } if ($error != 'none') { return View::make('/admin/advertising/add', ['error' => 'Upload was unsuccessful!', 'demographics' => $advertising->demographics, 'rates' => $advertising->rates]); } else { return View::make('/admin/advertising/index', ['error' => 'none', 'demographics' => $advertising->demographics, 'rates' => $advertising->rates]); } }