File "sis_programas_nuevo.php"

Full path: /home/wwwitravel/public_html/cymchiletours.cl/sis_programas_nuevo.php
File size: 10.45 KB B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
// brain  : Cristian Fernandez O.
// e-mail : cristian.fernandez@factobyte.cl
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
// requiere sesion : Si
   session_start();
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
// ruta a la raiz del sistema:
   $ruta_raiz = "";
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
// asociacion de archivos externos a la pagina:
   include("soul/inc_soul.php");
//***********************************************************************************************
//***********************************************************************************************

tagHead($ruta_raiz, "Nuevo programa");
tagBody();

//cabecera del sitio
generaCabeceraSistema($ruta_raiz);

if (!validaInicioSesion()){
	//acceso no autorizado
	redireccionaAccesoNoAutorizado($ruta_raiz);
}
elseif (!validaPrivilegiosAcceso("sis_programas_nuevo")){
	//no tiene privilegios de acceso
	redireccionaSinPrivilegiosAcceso($ruta_raiz);
}
else {
	//banner de sistema
	generaCabeceraSistemaBanner($ruta_raiz, 0, "ADMINISTRACI&Oacute;N");

	?>

	<div id="contenidos">
		<div id="contenidos-content">

			<h1>NUEVO PROGRAMA</h1>
			<hr class="linea_titulo">
			<br>
			
			<?
			if ((empty($_REQUEST["txt_nombre"])) || (!empty($_FILES["file_img"]["tmp_name"]))) {
				//------------------------------------------
				// se desplega formulario
				//------------------------------------------

				if (!empty($_REQUEST["codmensaje"])){
					//mensaje de sistema
					switch ($_REQUEST["codmensaje"]){
				    case 1:
				    	//faltan datos requeridos
			        echo "<h6>&iexcl; DEBE INGRESAR TODOS LOS DATOS REQUERIDOS !</h6>";
							echo "<p class=\"contenidos-texto-centrado\">Inténtalo nuevamente</p>";
			        break;

				    case 2:
				    	//error en cantidad de dias-noches
			        echo "<h6>&iexcl; LA CANTIDAD DE NOCHES NO PUEDE SER SUPERIOR A LOS DÍAS !</h6>";
							echo "<p class=\"contenidos-texto-centrado\">Inténtalo nuevamente</p>";
			        break;

					}
					echo "<br>";
				}
				?>
				<h3>INGRESE LOS SIGUIENTES DATOS PARA CREAR UN NUEVO PROGRAMA</h3>
				<p class="contenidos-texto-centrado">Dato (requerido) no es opcional</p>
				<br>

				<div id="contenidos-formulario">
					<form id="form" method="post" enctype="multipart/form-data">

					<h2>IMAGEN PRODUCTO</h2>
					<?
					$max_upload_file_size = substr(ini_get("post_max_size"), 0, strpos(strtoupper(ini_get("post_max_size")), "M"));
					if (($max_upload_file_size + 0) > 0)
						$max_upload_file_size = ", y m&aacute;x. de ".$max_upload_file_size." Mbs. de peso";
					else
						$max_upload_file_size = "";

					$img_tmp = "soul/imgs/progrs/default.jpg";
					if (is_uploaded_file($_FILES["file_img"]["tmp_name"])){
						//cargó imagen
						if ($_FILES["file_img"]["type"] != "image/jpeg")
			        echo "<br><h6>&iexcl; LA IMAGEN NO ES JPG !</h6>";
						else {
							$img_arr_medidas = getimagesize($_FILES["file_img"]["tmp_name"]);
							$img_ancho = $img_arr_medidas[0];
							$img_alto = $img_arr_medidas[1];
							if (($img_ancho < 600) && ($img_alto < 300))
				        echo "<br><h6>&iexcl; LA IMAGEN NO CUMPLE LAS MEDIDAS M&Iacute;NIMAS !</h6>";
				      else {
				      	$img_tmp = "soul/imgs/progrs/".generaClavePrimaria()."-".mb_strtolower($_FILES["file_img"]["name"]);
								move_uploaded_file($_FILES["file_img"]["tmp_name"], $img_tmp);
								creaThumbIMG($img_tmp, "producto");
								?>
								<input type="hidden" name="txt_img" value="<?= $img_tmp ?>">
								<?
				      }
						}
					}
					?>

					<p class="contenidos-texto-centrado">Imagen es opcional. Debe ser m&iacute;nimo de 1.200 pxls. de ancho o 500 pxls. de alto<?= $max_upload_file_size ?>, en formato .jpg</p>
					<p class="contenidos-texto-centrado">(Esta es la imagen asociada al producto):</p>
					<div class="programas-imgprog"><img src="<?= $img_tmp ?>" alt="programa"></div>
					<label class="form-file">
				    CAMBIAR&nbsp;IMAGEN
				    <input type="file" name="file_img" id="file_img" accept="image/jpeg, image/jpg">
					</label>
					<br>

					<h2>DATOS PROGRAMA</h2>
					<p>Opción de menú (requerido):</p>
					<? generaComboMenuOpciones("cmb_menu", "cmb_menu", -1, true, "", "", false, "", true, false) ?>
					<p>Nombre programa (requerido):</p>
					<input type="text" name="txt_nombre" id="txt_nombre" class="txt_programa" maxlength="200" placeholder="Nombre" required />
					<p>Descripción programa (requerido):</p>
					<textarea name="txt_descripcion" id="txt_descripcion" class="txt_descripcion_long" placeholder="Descripción" required></textarea>
					<p>Programa descargable en archivo PDF (opcional):</p>
					<div id="contenidos-programa-pdf"></div>
					<label class="form-file">
				    SELECCIONAR&nbsp;PDF
				    <input type="file" name="file_pdf" id="file_pdf" accept="application/pdf">
					</label>
			    <br>
					<p>Mapa de ubicación de Google Maps (Opcional. Debe copiar url desde maps.google.com opción COMPARTIR > Insertar un mapa > COPIAR HTML, y pegar acá. Si pega código erróneo arrojará error):</p>
					<textarea name="txt_mapa" id="txt_mapa" class="" placeholder="URL mapa Google Maps"></textarea>
					<p>Cantidad de días (requerido):</p>
					<input type="number" name="txt_cant_dias" id="txt_cant_dias" maxlength="3" min="0" max="999" pattern="[0-9]{1,3}" title="Solo se permiten números. Mínimo 1 dígito. Máximo 3 dígitos" placeholder="Días" required />
					<p>Cantidad de noches (requerido):</p>
					<input type="number" name="txt_cant_noches" id="txt_cant_noches" maxlength="3" min="0" max="999" pattern="[0-9]{1,3}" title="Solo se permiten números. Mínimo 1 dígito. Máximo 3 dígitos" placeholder="Noches" required />
					<p>Valor programa en moneda CLP (requerido):</p>
					<input type="number" name="txt_precio" id="txt_precio" maxlength="9" min="0" max="999999999" pattern="[0-9]{1,9}" title="Solo se permiten números. Mínimo 1 dígito. Máximo 9 dígitos" placeholder="Precio" required />
					<p>Moneda asociada (requerido):</p>
					<? generaComboDivisasPrograma("cmb_moneda", "cmb_moneda", -1, true, "", "", false, "", true, false) ?>
					<div id="anula-float"></div>
					<p>Condiciones (requerido):</p>
					<? generaComboCondicionesPrograma("cmb_condiciones", "cmb_condiciones", -1, true, "", "", false, "", true, false) ?>
					<p>&iquest; Clasificar como destacado ? (requerido):</p>
					<select name="cmb_destacado" id="cmb_destacado" required>
						<option value="11" selected>NO</option>
						<option value="12">SI</option>
					</select>

					<button type="submit" class="boton_naranja">CREAR &raquo;</button>
					</form>
					<div id="anula-float"></div>
				</div>
				<?
			}
			else {
				//------------------------------------------
				// se procesan datos recibidos
				//------------------------------------------
				$req_img = $_REQUEST["txt_img"];
				$req_menu = $_REQUEST["cmb_menu"];
				$req_nombre = mb_strtoupper(trim($_REQUEST["txt_nombre"]));
				$req_descripcion = trim($_REQUEST["txt_descripcion"]);
				$req_mapa = trim($_REQUEST["txt_mapa"]);
				$req_cant_dias = trim($_REQUEST["txt_cant_dias"]);
				$req_cant_noches = trim($_REQUEST["txt_cant_noches"]);
				$req_precio = trim($_REQUEST["txt_precio"]);
				$req_moneda = $_REQUEST["cmb_moneda"];
				$req_condiciones = $_REQUEST["cmb_condiciones"];
				$req_destacado = $_REQUEST["cmb_destacado"];

				if ((empty($req_menu)) || (empty($req_nombre)) || (empty($req_descripcion)) || (empty($req_cant_dias)) || (empty($req_cant_noches)) || (empty($req_precio)) || (empty($req_moneda)) || (empty($req_condiciones)) || (empty($req_destacado))){
					//faltan datos requeridos
					?>
					<form method="post" name="form">
						<input type="hidden" name="codmensaje" value="1">
					</form>
					<script>document.form.submit()</script>
					<?
				}
				elseif ($req_cant_noches > $req_cant_dias){
					//error en cantidad de dias-noches
					?>
					<form method="post" name="form">
						<input type="hidden" name="codmensaje" value="2">
					</form>
					<script>document.form.submit()</script>
					<?
				}
				else {
					//todo ok, se guarda registro

					//conexion a bdd
					$id_conexion = abreConeccionBdd();
				
					//fecha y hora de sistema
					$fecha_actual = date("Y-m-d");
					$hora_actual = date("H:i:s");
					
					//imagen asociada
					if (empty($req_img))
						$req_img = "soul/imgs/progrs/default.jpg";
					
					//programa en pdf
					$url_file = "";
					if (is_uploaded_file($_FILES["file_pdf"]["tmp_name"])){
//						$url_file = "soul/docs/progs/".generaClavePrimaria()."-".mb_strtolower($_FILES["file_pdf"]["name"]);
						$url_file = "soul/docs/progs/".generaClavePrimaria().".pdf";
						move_uploaded_file($_FILES["file_pdf"]["tmp_name"], $url_file);
					}
					
					//mapa de google maps
					if (!empty($req_mapa))
						$req_mapa = modificaAnchoAltoMapaGoogleMaps($req_mapa);
					
					if ($req_condiciones == "NO")
						$req_condiciones = 0;

					//construccion del script
					$script = "INSERT INTO fb_programa VALUES(NULL, '".$req_nombre."', '".$req_descripcion."', '".$req_mapa."', '".$url_file."', ".$req_cant_dias.", ".$req_cant_noches.", ".$req_precio.", '".$req_img."', ".$req_menu.", ".$req_moneda.", ".$req_condiciones.", ".$req_destacado.", 1, '".$fecha_actual."', '".$hora_actual."', ".$_SESSION["per_codigo_persona"].", '".$fecha_actual."', '".$hora_actual."', ".$_SESSION["per_codigo_persona"].")";

					//ejecucion del script
					mysql_query($script, $id_conexion);

					?>
					<h5>&iexcl; EL PROGRAMA HA SIDO CORRECTAMENTE CREADO !</h5>
					<p class="contenidos-texto-centrado">Ahora aparecerá en su listado de programas</p>
					<br>
					<button type="button" class="boton_naranja" onclick="window.location='sis_programas.php'">IR&nbsp;A&nbsp;PROGRAMAS&nbsp;&raquo;</button>
					<?
					
					//cierre conexion a bdd
					cierraConeccionBdd($id_conexion);
				}
			}
			?>
			
			<div id="anula-float"></div>
		</div>
	</div>
	<?
}

//pie del sitio
generaPieSistema($ruta_raiz);

tagFoot();
?>