public function put_paintings_edit($painting_id) { $input = Input::all(); if (!empty($input['hidden-tags'])) { $input['tags'] = explode(',', $input['hidden-tags']); } try { $validator = new Services\Dashboard\Paintings\Add\Validator($input); $validator->publish(); } catch (ValidateException $errors) { return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting_id)))->with_input()->with_errors($errors->get()); } $errors = new Laravel\Messages(); $painting = Painting::find($painting_id); if ($painting) { if (!empty($input['painting_image']) && $input['painting_image']['error'] == 4) { $upload_success = true; $image_path = $painting->image_path; } else { $extension = File::extension($input['painting_image']['name']); $directory = path('public') . 'uploads/paintings/' . sha1($input['name']); $filename = "original.{$extension}"; $upload_success = ImageUtils::upload('painting_image', $directory, $filename); $image_path = URL::base() . '/uploads/paintings/' . sha1($input['name']); } if ($upload_success) { $painting->name = $input['name']; $painting->dimensions = $input['dimensions']; $painting->type = $input['type']; $painting->painter = $input['painter']; $painting->year = $input['year']; $painting->comment = $input['comment']; $painting->image_path = $image_path; if ($painting->save()) { if (!empty($input['tags'])) { $painting->tag($input['tags']); } return Redirect::to(URL::to_route('dashboard.paintings'))->with('status_success', __('application.painting_updated')); } else { $errors->add('errors', __('application.generic_error')); return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting_id)))->with_input()->with_errors($errors); } } else { $errors->add('errors', __('application.generic_error')); return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting->id)))->with_input()->with_errors($errors); } } else { return Response::error(404); } }