/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     // var_dump(Input::All());
     // die;
     //
     // 'categorias_id' => 'exists:rubros,id'
     $rules = ['clasificado' => 'required', 'precio' => 'required', 'telefono' => 'required'];
     if (!Clasificado::isValid(Input::all(), $rules)) {
         return Redirect::back()->withInput()->withErrors(Clasificado::$errors);
     }
     $clasificado = new Clasificado();
     $clasificado->users_id = Sentry::getUser()->id;
     $clasificado->operacion = Input::get('operacion');
     $clasificado->clasificadoscategorias_id = Input::get('clasificadoscategorias_id');
     $clasificado->clasificado = Input::get('clasificado');
     $clasificado->precio = Input::get('precio');
     $clasificado->telefono = Input::get('telefono');
     $url_seo = Input::get('clasificado');
     $url_seo = $this->url_slug($url_seo) . date('ljSFY');
     $clasificado->url_seo = $url_seo;
     $clasificado->save();
     $file = Input::file('file');
     if ($file) {
         $filename = $file->getClientOriginalName();
         $extension = $file->getClientOriginalExtension();
         $destinationPath = public_path() . '/uploads/original/';
         $destinationPath_big = public_path() . '/uploads/big/';
         $destinationPath_crop = public_path() . '/uploads/crop/';
         $upload_success = Input::file('file')->move($destinationPath, $filename);
         if ($upload_success) {
             $image = Image::make($destinationPath . $filename)->resize(800, null, true)->save($destinationPath_big . $filename);
             $image = Image::make($destinationPath . $filename)->resize(640, null, true)->crop(240, 160, true)->save($destinationPath_crop . $filename);
             File::delete($destinationPath . $filename);
             $arch = new Archivo();
             $arch->archivo = $filename;
             $arch->descripcion = "";
             $arch->padre_id = $clasificado->id;
             $arch->padre = "clasificado";
             $arch->save();
         }
     }
     // return Redirect::to('/clasificados/ver');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     // validate
     // read more on validation at http://laravel.com/docs/validation
     $authuser = Auth::user();
     $rules = array('categoria_id' => 'required|numeric', 'clasf_titulo' => 'required', 'clasf_descripcion' => 'required', 'clasf_precio' => 'numeric');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('administracion/clasificados/create')->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id))->withErrors($validator)->withInput();
     } else {
         // store
         $clas_imagenes = Input::file('imagenes');
         $imagenes_error = array();
         if ($clas_imagenes[0] != NULL) {
             foreach ($clas_imagenes as $file) {
                 $rules = array('file' => 'required|mimes:png,gif,jpeg,txt,pdf,doc,rtf|max:20000');
                 $validator = \Validator::make(array('file' => $file), $rules);
                 if ($validator->passes()) {
                     $imagenes_error[] = false;
                 } else {
                     $imagenes_error[] = true;
                     //return Redirect::to('administracion/clasificados/create')
                     //	->withErrors($validator);
                     //break;
                 }
             }
         }
         $clasificado = new Clasificado();
         $clasificado->categoria_id = Input::get('categoria_id');
         $clasificado->titulo = Input::get('clasf_titulo');
         $clasificado->descripcion = Input::get('clasf_descripcion');
         $clasificado->premium = Input::get('clasf_premium');
         $clasificado->precio = Input::get('clasf_precio');
         $clasificado->moneda = Input::get('clasf_moneda');
         $clasificado->habilitar = Input::get('clasf_habilitar');
         $clasificado->fecha_publicacion = new DateTime();
         $usuario_id = Session::get('usuario_id', function () {
             return 1;
         });
         $clasificado->usuario_id = $usuario_id;
         $clasificado->latitud = Input::get('latitud');
         $clasificado->longitud = Input::get('longitud');
         $clasificado->save();
         if (!File::exists('images/clasificados')) {
             $result = File::makeDirectory('images/clasificados', 0777);
         }
         $clas_imagenes = Input::file('imagenes');
         $i = 0;
         if ($clas_imagenes[0] != NULL) {
             foreach ($clas_imagenes as $file) {
                 if ($imagenes_error[$i] == false) {
                     $id = Str::random(4);
                     $date_now = new DateTime();
                     $destinationPath = 'images/clasificados/';
                     $filename = $date_now->format('YmdHis') . $id;
                     $mime_type = $file->getMimeType();
                     $extension = $file->getClientOriginalExtension();
                     $upload_success = $file->move($destinationPath, $filename . '.' . $extension);
                     $clasificado_img = new ClasificadoImagen();
                     $clasificado_img->clasificado_id = $clasificado->id;
                     $clasificado_img->nombre_imagen = $filename . '.' . $extension;
                     $clasificado_img->save();
                 }
                 $i = $i + 1;
             }
         }
         $resString = 'Clasificado creado exitosamente!';
         $countImgErr = 0;
         foreach ($imagenes_error as $img_err) {
             if ($img_err == true) {
                 $countImgErr = $countImgErr + 1;
             }
         }
         if ($countImgErr > 0) {
             if ($countImgErr == 1) {
                 $resString = $resString . ' (' . $countImgErr . ' imagen no se agregó por tener un error)';
             } else {
                 $resString = $resString . ' (' . $countImgErr . ' imagenes no se agregaron por tener un error)';
             }
         }
         Session::flash('message', $resString);
         return Redirect::to('administracion/clasificados')->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
     }
 }