public function editar() { //Aca se manda a la funcion editarItem de la clase Item //y se queda con la respuesta para redirigir cual sea el caso $respuesta = Portfolio::editar(Input::all()); /* if ($respuesta['error'] == true) { return Redirect::to('admin/producto')->withErrors($respuesta['mensaje'])->withInput(); } else { return Redirect::to('admin/producto')->with('mensaje', $respuesta['mensaje']); } * */ if ($respuesta['error'] == true) { return Redirect::to($this->array_view['prefijo'] . '/admin/' . $this->folder_name . '/editar/' . Input::get('portfolio_id'))->with('mensaje', $respuesta['mensaje'])->with('error', true); //return Redirect::to('admin/producto')->withErrors($respuesta['mensaje'])->withInput(); } else { if (Input::get('continue') == "home") { return Redirect::to('/')->with('mensaje', $respuesta['mensaje']); } else { $seccion = Seccion::find(Input::get('seccion_id')); $menu = $seccion->menuSeccion()->lang()->url; $ancla = '#' . $seccion->estado . $seccion->id; return Redirect::to($this->array_view['prefijo'] . '/' . $menu)->with('mensaje', $respuesta['mensaje'])->with('ancla', $ancla)->with('ok', true); } } }
public static function editar($input) { $respuesta = array(); $reglas = array('titulo' => array('required', 'max:50', 'unique:item_lang,titulo,' . $input['id'] . ',item_id')); if (isset($input['imagen_portada_crop'])) { $reglas['imagen_portada_crop'] = array('required'); } $validator = Validator::make($input, $reglas); if ($validator->fails()) { $messages = $validator->messages(); if ($messages->has('titulo')) { $respuesta['mensaje'] = 'El título de la obra contiene más de 50 caracteres o ya existe.'; } elseif ($messages->has('imagen_portada_crop')) { $respuesta['mensaje'] = 'Se olvidó de guardar la imagen recortada.'; } else { $respuesta['mensaje'] = 'Los datos necesarios para la obra son erróneos.'; } $respuesta['error'] = true; } else { $ok = false; if (isset($input['video']) && $input['video'] != "") { if (is_array($input['video'])) { foreach ($input['video'] as $key => $video) { if ($video != "") { $dataUrl = parse_url($video); if (in_array($dataUrl['host'], ['vimeo.com', 'www.vimeo.com'])) { $hosts = array('vimeo.com', 'www.vimeo.com'); if (Video::validarUrlVimeo($video, $hosts)['estado']) { $ok = true; } } else { $hosts = array('youtube.com', 'www.youtube.com'); $paths = array('/watch'); if (Video::validarUrl($video, $hosts, $paths)['estado']) { if ($ID_video = Youtube::parseVIdFromURL($video)) { $ok = true; } } } } else { $ok = true; break; } } } else { $dataUrl = parse_url($input['video']); if (in_array($dataUrl['host'], ['vimeo.com', 'www.vimeo.com'])) { $hosts = array('vimeo.com', 'www.vimeo.com'); if (Video::validarUrlVimeo($input['video'], $hosts)['estado']) { $ok = true; } } else { $hosts = array('youtube.com', 'www.youtube.com'); $paths = array('/watch'); if (Video::validarUrl($input['video'], $hosts, $paths)['estado']) { if ($ID_video = Youtube::parseVIdFromURL($input['video'])) { $ok = true; } } } } } else { $ok = true; } if ($ok) { $portfolio_completo = PortfolioCompleto::find($input['portfolio_completo_id']); if (isset($input['cuerpo'])) { $cuerpo = $input['cuerpo']; } else { $cuerpo = NULL; } // $portfolio_completo->cuerpo = $cuerpo; // // $portfolio_completo->save(); $lang = Idioma::where('codigo', App::getLocale())->where('estado', 'A')->first(); $portfolio_completo_lang = PortfolioCompleto::join('portfolio_completo_lang', 'portfolio_completo_lang.portfolio_completo_id', '=', 'portfolio_completo.id')->where('portfolio_completo_lang.lang_id', $lang->id)->where('portfolio_completo.id', $portfolio_completo->id)->first(); $datos = array('cuerpo' => $cuerpo); $portfolio_completo_modificacion = DB::table('portfolio_completo_lang')->where('id', $portfolio_completo_lang->id)->update($datos); $input['portfolio_id'] = $portfolio_completo->portfolio_simple_id; $portfolio_simple = Portfolio::editar($input); $respuesta['mensaje'] = 'Obra modificada.'; $respuesta['error'] = false; $respuesta['data'] = $portfolio_completo; } else { $respuesta['error'] = true; $respuesta['mensaje'] = "Problema en la/s url de video cargada."; } } return $respuesta; }