setTimeout("recargar()", 5000);
<?
	}
?>
	</script>
<?
}

validarSesion(isset($_SESSION["isPreventor"]));

set_time_limit(300);


if ((isset($_REQUEST["chequear"])) and ($_REQUEST["chequear"] == "s")) {		// Si es true chequeo si se generaron los formularios o no..
	chequear($_REQUEST["t"]);
}

if ((isset($_POST["agregar"])) and ($_POST["agregar"] == "s")) {		// Si es true genero los formularios..
	try {
		$params = array(":usualta" => substr($_SESSION["usuario"], 0, 20));
		$sql =
			"SELECT NVL(MAX(fg_transaccion), 0) + 1
				 FROM hys.hfg_formulariogenerado
				WHERE fg_usualta = :usualta";
		$transaccion = ValorSql($sql, 1, $params);

		foreach($_POST as $nombre => $valor)
			if (substr($nombre, 0, 17) == "idTipoFormulario_") {
				$arr = explode("_", $nombre);
 public function postPublicationHabitual()
 {
     function chequear($publication, $img1, $donde)
     {
         if (file_exists('images/pubImages/' . Auth::user()['username'] . '/' . $img1->getClientOriginalName())) {
             //guardamos la imagen en public/imgs con el nombre original
             $i = 0;
             //indice para el while
             //separamos el nombre de la img y la extensión
             $info = explode(".", $img1->getClientOriginalName());
             //asignamos de nuevo el nombre de la imagen completo
             $miImg = $img1->getClientOriginalName();
             //mientras el archivo exista iteramos y aumentamos i
             while (file_exists('images/pubImages/' . Auth::user()['username'] . '/' . $miImg)) {
                 $i++;
                 $miImg = $info[0] . "(" . $i . ")" . "." . $info[1];
             }
             //guardamos la imagen con otro nombre ej foto(1).jpg || foto(2).jpg etc
             $img1->move("images/pubImages/" . Auth::user()['username'], $miImg);
             $img = Image::make('images/pubImages/' . Auth::user()['username'] . '/' . $miImg);
             $blank = Image::make('images/blank.jpg');
             if ($img->width() > $img->height()) {
                 $img->widen(1604);
             } else {
                 $img->heighten(804);
             }
             if ($img->height() > 804) {
                 $img->heighten(804);
             }
             $mark = Image::make('images/watermark.png')->widen(400);
             $blank->insert($img, 'center');
             $blank->insert($mark, 'center')->interlace()->save('images/pubImages/' . Auth::user()['username'] . '/' . $miImg);
             if ($miImg != $img1->getClientOriginalName()) {
                 if ($donde == 1) {
                     $publication->img_1 = Auth::user()['username'] . '/' . $miImg;
                 } elseif ($donde == 2) {
                     $publication->img_2 = Auth::user()['username'] . '/' . $miImg;
                 }
             }
         } else {
             $img1->move("images/pubImages/" . Auth::user()['username'], $img1->getClientOriginalName());
             $img = Image::make('images/pubImages/' . Auth::user()['username'] . '/' . $img1->getClientOriginalName());
             $blank = Image::make('images/blank.jpg');
             if ($img->width() > $img->height()) {
                 $img->widen(1604);
             } else {
                 $img->heighten(804);
             }
             if ($img->height() > 804) {
                 $img->heighten(804);
             }
             $mark = Image::make('images/watermark.png')->widen(400);
             $blank->insert($img, 'center');
             $blank->insert($mark, 'center')->interlace()->save("images/pubImages/" . Auth::user()['username'] . '/' . $img1->getClientOriginalName());
             if ($donde == 1) {
                 $publication->img_1 = Auth::user()['username'] . '/' . $img1->getClientOriginalName();
             } elseif ($donde == 2) {
                 $publication->img_2 = Auth::user()['username'] . '/' . $img1->getClientOriginalName();
             }
         }
     }
     $input = Input::all();
     $rules = array('departamento' => 'required', 'ciudad' => 'required', 'title' => 'required|min:4', 'input' => 'required|min:4', 'moneda' => 'required', 'moneda' => 'required', 'img1' => 'required|image', 'tipoTransac' => 'required', 'negocioType' => 'required');
     $messages = array('required' => ':attribute es obligatorio', 'required_if' => ':attribute es obligatorio', 'min' => ':attribute debe ser mas largo', 'image' => ':attribute debe ser una imagen', 'numeric' => ':attribute debe ser numerico');
     $customAttributes = array('departamento' => 'El campo departamento', 'title' => 'El campo titulo', 'input' => 'El campo descripcion', 'img1' => 'El campo imagen de portada', 'moneda' => 'El campo moneda', 'tipoTransac' => 'El campo tipo de operación', 'negocioType' => 'El campo clase de negocio');
     $aux = Input::get('cat_id');
     $aux = Categorias::find($aux);
     if ($aux->tipo == 1) {
         $rules = $rules + array('condition' => 'required');
         $customAttributes = $customAttributes + array('condition' => 'El campo condición');
     }
     if ($input['cat_id'] == 34) {
         $rules = $rules + array('marca' => 'required', 'modelo' => 'required', 'anio' => 'required|numeric', 'kilo' => 'required|numeric', 'doc' => 'required');
         $customAttributes = $customAttributes + array('marca' => 'El campo marca', 'modelo' => 'El campo modelo', 'anio' => 'El campo año', 'kilo' => 'El campo kilometraje', 'doc' => 'El campo documentos');
     } elseif ($input['cat_id'] == 20) {
         $rules = $rules + array('ext' => 'required');
         $customAttributes = $customAttributes + array('ext' => 'El campo extensión');
     }
     $validator = Validator::make($input, $rules, $messages, $customAttributes);
     if ($validator->fails()) {
         return Redirect::to('publicacion/habitual/crear/' . $input['cat_id'])->withErrors($validator)->withInput();
     }
     $img1 = Input::file('img1');
     $tam = getimagesize($img1);
     $width = $tam[0];
     $pub = new Publicaciones();
     $pub->user_id = Auth::id();
     $pub->titulo = $input['title'];
     $pub->categoria = $input['cat_id'];
     if (!empty($input['subCat'])) {
         $pub->typeCat = $input['subCat'];
     } else {
         $pub->typeCat = 0;
     }
     $pub->departamento = $input['departamento'];
     $pub->ciudad = $input['ciudad'];
     $pub->descripcion = $input['input'];
     if (!is_null($input['precio']) && !empty($input['precio'])) {
         $pub->precio = $input['precio'];
     }
     $pub->monto = 40;
     $pub->status = 'Pendiente';
     $pub->moneda = $input['moneda'];
     $pub->tipo = 'Habitual';
     $pub->transaccion = $input['tipoTransac'];
     $pub->bussiness_type = $input['negocioType'];
     if (Input::has('condition')) {
         $pub->condicion = $input['condition'];
     }
     $pub->img_1 = Auth::user()['username'] . '/' . $img1->getClientOriginalName();
     if (!empty($input['nomb'])) {
         $pub->name = $input['nomb'];
     }
     if (!empty($input['phone'])) {
         $pub->phone = $input['phone'];
     }
     if (!empty($input['email'])) {
         $pub->email = $input['email'];
     }
     if (!empty($input['pag_web'])) {
         $pub->pag_web_hab = $input['pag_web'];
     }
     chequear($pub, $img1, 1);
     if ($input['cat_id'] == 34) {
         $pub->marca_id = $input['marca'];
         $pub->modelo_id = $input['modelo'];
         $pub->anio = $input['anio'];
         $pub->precio = $input['precio'];
         $pub->kilometraje = $input['kilo'];
         if ($input['cilin'] != "") {
             $pub->cilindraje = $input['cilin'];
         }
         if ($input['trans'] != "") {
             $pub->transmision = $input['trans'];
         }
         if ($input['comb'] != "") {
             $pub->combustible = $input['comb'];
         }
         if ($input['doc'] != "") {
             $pub->documentos = $input['doc'];
         }
         if ($input['trac'] != "") {
             $pub->traccion = $input['trac'];
         }
     } elseif ($input['cat_id'] == 20) {
         $pub->extension = $input['ext'];
     }
     if ($pub->save()) {
         if (Input::has('longitud') && Input::has('latitud')) {
             $lon = Input::get('longitud');
             $lat = Input::get('latitud');
             if (!empty($lon) && !empty($lat)) {
                 $loc = new Location();
                 $loc->latitude = Input::get('latitud');
                 $loc->longitude = Input::get('longitud');
                 $loc->pub_id = $pub->id;
                 $loc->save();
             }
         }
         return Redirect::to('publicacion/habitual/enviar/imagenes/' . $pub->id);
     }
 }
Exemplo n.º 3
0
 public function postPublicationLider()
 {
     function chequear($publication, $img1, $donde)
     {
         if (file_exists('images/pubImages/' . Auth::user()['username'] . '/' . $img1->getClientOriginalName())) {
             //guardamos la imagen en public/imgs con el nombre original
             $i = 0;
             //indice para el while
             //separamos el nombre de la img y la extensión
             $info = explode(".", $img1->getClientOriginalName());
             //asignamos de nuevo el nombre de la imagen completo
             $miImg = $img1->getClientOriginalName();
             //mientras el archivo exista iteramos y aumentamos i
             while (file_exists('images/pubImages/' . Auth::user()['username'] . '/' . $miImg)) {
                 $i++;
                 $miImg = $info[0] . "(" . $i . ")" . "." . $info[1];
             }
             //guardamos la imagen con otro nombre ej foto(1).jpg || foto(2).jpg etc
             $img1->move("images/pubImages/" . Auth::user()['username'], $miImg);
             $img = Image::make('images/pubImages/' . Auth::user()['username'] . '/' . $miImg);
             $blank = Image::make('images/blank.jpg');
             if ($img->width() > $img->height()) {
                 $img->widen(1604);
             } else {
                 $img->heighten(804);
             }
             if ($img->height() > 804) {
                 $img->heighten(804);
             }
             $mark = Image::make('images/watermark.png')->widen(400);
             $blank->insert($img, 'center');
             $blank->insert($mark, 'center')->interlace()->save('images/pubImages/' . Auth::user()['username'] . '/' . $miImg);
             if ($miImg != $img1->getClientOriginalName()) {
                 if ($donde == 1) {
                     $publication->img_1 = Auth::user()['username'] . '/' . $miImg;
                 } elseif ($donde == 2) {
                     $publication->img_2 = Auth::user()['username'] . '/' . $miImg;
                 }
             }
         } else {
             $img1->move("images/pubImages/" . Auth::user()['username'], $img1->getClientOriginalName());
             $img = Image::make('images/pubImages/' . Auth::user()['username'] . '/' . $img1->getClientOriginalName());
             $blank = Image::make('images/blank.jpg');
             if ($img->width() > $img->height()) {
                 $img->widen(1604);
             } else {
                 $img->heighten(804);
             }
             if ($img->height() > 804) {
                 $img->heighten(804);
             }
             $mark = Image::make('images/watermark.png')->widen(400);
             $blank->insert($img, 'center');
             $blank->insert($mark, 'center')->interlace()->save('images/pubImages/' . Auth::user()['username'] . '/' . $img1->getClientOriginalName());
         }
     }
     $input = Input::all();
     /* validar que exista al menos una imagen*/
     if (!Input::hasFile('portada') && !Input::hasFile('portada2')) {
         Session::flash('error', 'Debe ingresar al menos una imagen.');
         return Redirect::to('usuario/publicacion/lider')->withInput();
     }
     if (Input::hasFile('portada')) {
         $img1 = Input::file('portada');
         $rules = array('img1' => 'image');
         $validator = Validator::make(array('img1' => $img1), $rules);
         if ($validator->fails()) {
             Session::flash('error', 'Error, el archivo ' . $img1->getClientOriginalName() . ' debe ser una imagen en formato: jpg, png o gif');
             return Redirect::back()->withInput();
         }
         $tam = getimagesize($img1);
         $width = $tam[0];
     }
     if (Input::hasFile('portada2')) {
         $img2 = Input::file('portada2');
         $rules = array('img2' => 'image');
         $validator = Validator::make(array('img2' => $img2), $rules);
         if ($validator->fails()) {
             Session::flash('error', 'Error, el archivo ' . $img2->getClientOriginalName() . ' debe ser una imagen en formato: jpg, png o gif');
             return Redirect::back();
         }
         $tam2 = getimagesize($img2);
         $width2 = $tam2[0];
     }
     /* validar pagina web */
     if (!empty($input['pagina'])) {
         if (mb_stristr($input['pagina'], 'http://') == false && mb_stristr($input['pagina'], 'https://') == false) {
             Session::flash('error', 'La pagina web debe comenzar con http:// ó https://.');
             return Redirect::to('usuario/publicacion/lider')->withInput();
         }
     }
     /* Validar duracion y montos */
     $dur = $input['duration'];
     if ($input['time'] == 'd') {
         $time = 86400;
         $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'dia')->pluck('precio');
     } elseif ($input['time'] == 's') {
         $time = 604800;
         $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'semana')->pluck('precio');
     } elseif ($input['time'] == 'm') {
         $time = 2629744;
         $monto = Precios::where('pub_type_id', '=', 1)->where('desc', '=', 'mes')->pluck('precio');
     } else {
         Session::flash('error', 'Debe elegir un periodo válido');
         return Redirect::to('usuario/publicacion/lider');
     }
     $monto = $monto * $dur;
     /* Validador general */
     define('CONST_SERVER_TIMEZONE', 'UTC');
     date_default_timezone_set('America/La_Paz');
     $rules = array('ubication' => 'required', 'namePub' => 'required|min:4', 'duration' => 'required|min:0', 'time' => 'required|in:d,s,m,a', 'fechIni' => 'required|after:' . date('d-m-Y'), 'dep' => 'required', 'negocioType' => 'required');
     $msg = array('required' => ':attribute es obligatorio', 'min' => ':attribute debe ser mas largo', 'in' => 'Debe seleccionar una opción', 'after' => 'Debe seleccionar una fecha posterior a hoy', 'active_url' => 'Debe utilizar un url válido');
     $attribute = array('ubication' => 'El campo ubicacion', 'namePub' => 'El campo titulo', 'duration' => 'El campo duracion', 'dep' => 'El campo departamento', 'negocioType' => 'El campo tipo de negocio');
     if ($input['ubication'] == 'Categoria') {
         $rules = $rules + array('cat' => 'required');
         $attribute = array('cat' => 'El campo categoria');
     }
     $validator = Validator::make($input, $rules, $msg, $attribute);
     if ($validator->fails()) {
         Session::flash('error', 'Todos los campos son requeridos');
         return Redirect::to('usuario/publicacion/lider')->withErrors($validator)->withInput();
     } else {
         /* Segundo validador de fecha */
         $fecha = explode('-', $input['fechIni']);
         if (count($fecha) < 3) {
             Session::flash('error', 'Formato de fecha incorrecta');
             return Redirect::to('usuario/publicacion/lider')->withInput();
         } else {
             $timestamp = strtotime($input['fechIni']) + $time * $input['duration'];
             $fechaFin = date('d-m-Y', $timestamp);
             $timestamp = $input['duration'] * $time;
             $date = date('d-m-Y');
             $timestamp = strtotime($input['fechIni']) + $timestamp;
             $fechFin = date('Y-m-d', $timestamp);
         }
         /* nueva publicacion */
         $publication = new Publicaciones();
         $publication->user_id = Auth::id();
         $publication->tipo = 'Lider';
         $publication->departamento = $input['dep'];
         $publication->ubicacion = $input['ubication'];
         if ($publication->ubicacion == 'Categoria') {
             $publication->categoria = $input['cat'];
         }
         $publication->titulo = $input['namePub'];
         $publication->pag_web = $input['pagina'];
         $publication->fechIni = date('Y-m-d', strtotime($input['fechIni']));
         $publication->fechFin = $fechFin;
         $publication->status = 'Pendiente';
         $publication->bussiness_type = $input['negocioType'];
         if (!empty($input['nomb'])) {
             $publication->name = $input['nomb'];
         }
         if (!empty($input['phone'])) {
             $publication->phone = $input['phone'];
         }
         if (!empty($input['email'])) {
             $publication->email = $input['email'];
         }
         if (!empty($input['pag_web'])) {
             $publication->pag_web_hab = $input['pag_web'];
         }
         if (Input::hasFile('portada')) {
             $publication->img_1 = Auth::user()['username'] . '/' . $img1->getClientOriginalName();
             chequear($publication, $img1, 1);
             if (Input::hasFile('portada2')) {
                 $publication->img_2 = Auth::user()['username'] . '/' . $img2->getClientOriginalName();
                 chequear($publication, $img2, 2);
             }
         } else {
             $publication->img_1 = Auth::user()['username'] . '/' . $img2->getClientOriginalName();
             chequear($publication, $img2, 1);
             if (Input::hasFile('portada')) {
                 $publication->img_2 = Auth::user()['username'] . '/' . $img1->getClientOriginalName();
                 chequear($publication, $img1, 2);
             }
         }
         $publication->monto = $monto;
         if ($publication->save()) {
             if (Input::has('longitud') && Input::has('latitud')) {
                 $lon = Input::get('longitud');
                 $lat = Input::get('latitud');
                 if (!empty($lon) && !empty($lat)) {
                     $loc = new Location();
                     $loc->latitude = Input::get('latitud');
                     $loc->longitude = Input::get('longitud');
                     $loc->pub_id = $publication->id;
                     $loc->save();
                 }
             }
             Session::flash('success', 'Su publicación fue creada sactisfactoriamente.');
             return Redirect::to('usuario/publicacion/pagar/' . $publication->id);
         } else {
             Session::flash('error', 'Error al guardar los datos');
             return Redirect::to('usuario/publicacion/lider')->withInput();
         }
     }
 }