<?php
	/*
	 *
	 * 2003 - 2023 @ Yal Publicidad - yPanel
	 * www.yalpublicidad.com
	 * online@yalpublicidad.com
	 *
	 * formulario de modulo
	 */
	
	/* Autorizo acceso */
		defined('YPANEL_INI') or die( 'No dispones de acceso' );
	
	//** tabla
		$tabla		= ( isset( yPanel::paneles( $_GET['panel'] )->tabla ) ) ? MYSQL_PREFIJO_SISX . yPanel::paneles( $_GET['panel'] )->tabla : 'nulo';
		$orden	= _mysql_contar_reg( $tabla, "id","tipo!='redes_sociales'" );
		$orden	= ( com_obtReg( "orden", 0 ) > 0 ) ? com_obtReg( "orden", 0 ) : ( $orden + 1 );
	
	/** 
	  * funcion para mostrar posicion de menu */
		function e_posicion( $posicion ){
			switch( $posicion ) {
				case '_top':
					return etiqueta( 'e_superior', 'Superior' );
					
					break;
				case '_left':
					return etiqueta( 'e_izquierda', 'Izquierda' );
					
					break;
				case '_right':
					return etiqueta( 'e_derecha', 'Derecha' );
					
					break;
				case '_bottom':
					return etiqueta( 'e_inferior', 'Inferior' );
					
					break;
				default:
					return $posicion;
			}
		}
	
	//** Dependencia TD
		function dependencia_tr( $padreId = 0, $padre = 0, $tab = '' ){
			$tabla		= ( isset( yPanel::paneles( $_GET['panel'] )->tabla ) ) ? MYSQL_PREFIJO_SISX . yPanel::paneles( $_GET['panel'] )->tabla : 'nulo';
			$html = '';
			$sql = _mysql_query("SELECT * FROM " . $tabla . " WHERE padre='$padre' AND tipo='contenido' ORDER BY posicion, orden ASC");
			while( $r = _mysql_fetch_array($sql) ){
				$html .= '<tr id="t-' . $r['id'] . '">';
				$html .= ( $padre == 0 ) ? '<td>' . com_btnToggle( 'pu'.$r['id'], $r['id'], $r['publicado'], false, 'onClick="publicado(this)"' ) . '</td>' : '<td>&nbsp;</td>';
				$html .= '<td>' . $tab . '<a href="' . post_link( $_GET['panel'], $r['id'], 'acc=editar' ) . '" style="font-size:13px"><strong>' . utf8_encode( $r['nombre'] ) . '</strong></a><br>Slug: ' . $r['slug'] . '</td>';
				$html .= '<td align="center">' . e_posicion( $r['posicion'] ) . '</td>';
				$html .= '<td align="center">' . $r['orden'] . '</td>';
				$html .= '<td>
								<a href="' . post_link( $_GET['panel'], $r['id'], 'acc=editar' ) . '" class="ico16" title="' . etiqueta( 'e_editar', 'Editar' ) . '"><i class="fa fa-edit fs-18"></i></a>
								<a href="javascript:;" onClick="rElim(\'' . $r['id'] . '\');" class="ico16" title="' . etiqueta( 'e_eliminar', 'Eliminar usuario' ) . '"><i class="fa fa-trash fs-18"></i></a></td>';
				$html .= '</tr>';
				$html .= dependencia_tr( $padreId, $r['id'], $tab . '&nbsp; <i class="fa fa-ellipsis-v"></i> &hellip; ' );
			}
			return $html;
		}
		
	//** Dependencia
		function dependencia_option( $padreId = 0, $padre = 0, $tab = '' ){
			$tabla		= ( isset( yPanel::paneles( $_GET['panel'] )->tabla ) ) ? MYSQL_PREFIJO_SISX . yPanel::paneles( $_GET['panel'] )->tabla : 'nulo';
			$html = '';
			$Sql = _mysql_query("SELECT * FROM " . $tabla . " WHERE padre='$padre' AND tipo='contenido' ORDER BY nombre ASC");
			while( $r = _mysql_fetch_array($Sql) ){
				$html .= '<option value="' . $r['id'] . '"';
				$html .= ( $r['id'] == $padreId ) ? ' selected' : '';
				$html .= '>' . $tab . utf8_encode( $r['nombre'] ) . '</option>';
				$html .= dependencia_option( $padreId, $r['id'], $tab . " &nbsp; &brvbar; &hellip; " );
			}
			return $html;
		}
		
		function dependencia(){		
			$html = '<select class="fs-small" id="jerarquia" name="jerarquia">
						<option value="0">' . etiqueta( 'e_ninguno' , 'Ninguna' ) . '</option>';
			$html .= dependencia_option( com_obtReg( "padre" ) );
			$html .= '</select>';
			
			return $html;
		}
	
	//** posicion
	function posicion(){		
			$posicion = com_obtReg( "posicion" );
			
			$html = '<select class="fs-small" id="posicion" name="posicion" onChange="desabilitar_select( this, this.form.jerarquia )">
						<option value="">' . etiqueta( 'e_ninguno', 'Ninguna' ) . '</option>';
			$html .= '<option value="_top" ';
			$html .= ( $posicion == '_top' ) ? 'selected' : '';
			$html .= '>' . etiqueta( 'e_superior', 'Superior' ) . '</option>';
			$html .= '<option value="_right" ';
			$html .= ( $posicion == '_right' ) ? 'selected' : '';
			$html .= '>' . etiqueta( 'e_derecha', 'Derecha' ) . '</option>';
			$html .= '<option value="_bottom" ';
			$html .= ( $posicion == '_bottom' ) ? 'selected' : '';
			$html .= '>' . etiqueta( 'e_inferior', 'Inferior' ) . '</option>';
			$html .= '<option value="_left" ';
			$html .= ( $posicion == '_left' ) ? 'selected' : '';
			$html .= '>' . etiqueta( 'e_izquierda', 'Izquierda' ) . '</option>';
			$html .= '</select>';
			
			return $html;
		}
		
	//** Secciones
		function secciones(){
		
			$q = _mysql_query("SELECT * FROM " . MYSQL_PREFIJO_SISX . "secciones");
		
			$html = '<select class="fs-small" id="seccion" name="seccion"><option value="0">Ninguna</option>';
		
			while( $row = _mysql_fetch_array($q) ){
				$html .= '<option value="' . $row['id'] . '" ';
				$html .= ( com_obtReg( "seccionid" ) == $row['id'] ) ? 'selected' : NULL;
				$html .= '>' . utf8_encode( $row['nombre'] ) . '</option>';
			}
		
			$html .= '</select>';
		
			return $html;
		}
			 
?>	
	
	<div class="row">
		<!-- Panel Principal -->
		<div class="col-sm-8">
			<table class="table fs-small">
				<thead>
					<tr>
						<th colspan="2" width="50%"><?php echo etiqueta( 'th_nombre', 'Nombre' ) ?></th>
						<th align="center"><?php echo etiqueta( 'th_posicion', 'Posición' ) ?></th>
						<th align="center">Orden</th>
						<th>&nbsp;</th>
					</tr>
				</thead>
				<tbody>
					<?php
						echo dependencia_tr( com_obtReg( "padre" ) );
					?>
				</tbody>
			</table>
		</div>
		
		<!-- Opciones -->
		<div class="col-sm-4">
			<form method="post" action="<?php echo com_base() ?>prcss.php">
				<input type="hidden" name="acc" value="g-mnu">
				<input type="hidden" name="panel" value="<?php echo $_GET['panel'] ?>">
				
				<fieldset class="fs-small">
					<legend><?php echo etiqueta( 'legend_menu_1', 'Agregar nuevo menú' ) ?></legend>
					<div class="m-b-10">
						<label for="nombre"><?php echo etiqueta( 'e_nombre', 'Nombre' ) ?></label>
						<input type="text" class="w-full" id="nombre" name="nombre" value="<?php echo com_obtReg( "nombre" ) ?>">
					</div>
					<div class="m-b-10">
						<label for="slug-c">Slug</label>
						<input type="text" class="w-full" id="slug" name="slug" value="<?php echo com_obtReg( "slug" ) ?>" autocomplete="off" >
					</div>
					<div class="m-b-10">
						<label for="publicado"><?php echo etiqueta( 'e_publicado', 'Publicado' ) ?></label>
						<?php echo com_btnToggle( 'publicado', 1, com_obtReg( "publicado", 1 ) ); ?>
					</div>
					<div class="m-b-10">
						<input type="text" class="w-full" id="link" name="link" placeholder="Link" value="<?php echo com_obtReg( "link" ) ?>" onChange="desabilitar_input( this, this.form.slug )" >
					</div>
					<div class="m-b-10">
						<label for="orden"><?php echo etiqueta( 'e_orden', 'Orden' ) ?></label>
						<input type="number" id="orden" name="orden" placeholder="Orden" value="<?php echo $orden ?>" title="Orden en que se mostrará el menú" >
					</div>
					<div class="m-b-10">
						<label for="posicion"><?php echo etiqueta( 'e_posicion', 'Posición' ) ?></label><br>
						<?php
							echo posicion();
						?>
					</div>
					<div class="m-b-10">
						<label for="jerarquia"><?php echo etiqueta( 'e_menu_padre', 'Menú Padre' ) ?></label><br>
						<?php
							echo dependencia()
						?>
					</div>
					<div class="m-t-30"><?php echo com_boton( 'nuevo', etiqueta( 'b_agregar_nuevo_menu', 'Agregar nuevo menú' ) ); ?></div>
				</fieldset>
			</form>
		</div>		
	</div>
	
	<script>
			
			function desabilitar_input( elemento, resultado ){
					if( elemento.value.length > 0 ){
						resultado.disabled = true;
						resultado.classList.add('input-disabled');
						resultado.style.cursor = 'not-allowed';
					}else{
						resultado.disabled = false;
						resultado.classList.remove('input-disabled');
						resultado.style.cursor = '';
					}
				}
				
			//** validar formulario */
				$_("#nuevo").onclick = function(){
					f = this.form;
					if( f.nombre.value.length < 3 ){
						f.nombre.focus();
						MsjBox.mostrar( '<?php echo etiqueta( 'msj_err_nombre', 'Por favor ingrese un nombre válido.' ) ?>' );
						return false
					}
					if( f.slug.value.length < 3 ){
						f.slug.value = obtCadenaSlug(f.nombre.value);
					}
					eform( this.form ); setTimeout("location.reload();",800);
					
					return false;
				}
			
			//** desabilitar / habilitar slug
				$_("#slug").onkeyup = function(){ 
					//location.href='<?php echo post_link( $_GET['panel'], NULL, "acc=agregar" ); ?>'; 
					desabilitar_input( this, this.form.link );
				}
					
			//** desabilitar / habilitar link
				$_("#link").onkeyup = function(){ 
					//location.href='<?php echo post_link( $_GET['panel'], NULL, "acc=agregar" ); ?>'; 
					desabilitar_input( this, this.form.slug );
				}
			
			publicado = function(e){
				$h = ( e.checked ) ? 1 : 0;
				MsjBox.mostrar('<?php echo etiqueta( 'msj_espere', 'espere...' ) ?>');
				$y.ajax({
						url: '<?php echo com_base() ?>prcss.php',
						metodo: 'POST',
						data: 'acc=r-habilitar&panel=<?php echo $_GET['panel'] ?>&post=' + e.value + '&h=' + $h,
						contenidoTipo: 'application/x-www-form-urlencoded',
						suceso: function(respuesta){ 
									if( respuesta == 1 ){
										 MsjBox.mostrar('<?php echo etiqueta( "msj_secambio_correctamente", 'Se cambió el estado correctamente' ) ?>');
									}
						}
				});
			}
			
			rElim = function(id){
				var opcion = confirm("<?php echo etiqueta( 'msj_seguro_eliminar', '¿Está seguro que desea eliminar el registro?' ) ?>");
    			if (opcion == true) {
					MsjBox.mostrar('<?php echo etiqueta( 'msj_eliminando', 'Eliminando' ) ?>...');
					$y.ajax({
							url: '<?php echo com_base() ?>prcss.php',
							metodo: 'POST',
							data: 'acc=r-eliminar&panel=<?php echo $_GET['panel'] ?>&post=' + id,
							contenidoTipo: 'application/x-www-form-urlencoded',
							suceso: function(respuesta){ 
										if( respuesta == 1 ){
											 MsjBox.mostrar('<?php echo etiqueta( 'msj_reg_eliminado', 'El registro se eliminó correctamente.' ) ?>');
											 setTimeout("location.reload();",800);
										}
							}
					});
				}
			}
	</script>