/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['formats' => 'required_if:type,0,1,2', 'type' => 'required|int:0,1,2,3', 'start_date' => 'required|date', 'end_date' => 'required|date|after:start_date', 'url' => 'required_if:type,3']); $type = $request->input('type'); $model = new LaunchRes(); $model->type = $type; $model->url = $request->input('url'); $model->start_date = $request->input('start_date'); $model->end_date = $request->input('end_date'); $model->active = $request->input('active') ? 1 : 0; if ($type == 3) { //home page html $model->format = ''; $model->ext = 'html'; $model->num = count(explode(';', $request->input('url'))); $model->save(); $ver = ResourceVer::where('resource_name', 'homepage')->first(); if ($ver != null) { $ver->ver = time(); $ver->save(); } } else { $relativePathPrefix = Utils::getLaunchImgPath($type); $model->img = $relativePathPrefix; try { Common::handleFormats($request, $model, $relativePathPrefix); } catch (FunFangException $e) { return $this->getCreateView()->withErrors($e->getMessage()); } $model->save(); $ver = ResourceVer::where('resource_name', 'launch_ver')->first(); if ($ver != null) { $ver->ver = time(); $ver->save(); } } return Redirect::to('res/launch'); }