<?php
	/*
	 *
	 * 2003 - 2016 @ Yal Publicidad - Weby+
	 * www.yalpublicidad.com
	 * online@yalpublicidad.com
	 *
	 *
	 */
	 
	 /*
	 * Ruta local del directorio a explorar
	 * ej. /home/usuario/public_html/imagenes
	 */
	$Base_Dir = dirname( dirname( dirname( dirname(__FILE__) ) ) ) . '/' . $_GET['base_directorio'];
	
	/*
	 * BaseNombre
	 * Nombre de la carpeta que se explora
	 */
	$Base_Nombre = basename( $Base_Dir );
	
	/*
	 * BaseExplorer
	 * Nombre de la carpeta que se explora
	 */
	$Base_Explorer = dirname($_SERVER['SCRIPT_NAME']);
	
	/*
	 * BaseUrl de multimedia
	 */
	//$Base_Url = strtolower( substr($_SERVER['SERVER_PROTOCOL'], 0, 4) ) . '://' . $_SERVER['HTTP_HOST'] . '/' . $_GET['base_directorio'];
	$Base_Url = isset( $_GET['base_url'] ) ? $_GET['base_url'] : '';
	
	
	/*
	 * BaseSitio
	 */
	$BaseSitio = rtrim(dirname(dirname($_SERVER['SCRIPT_NAME'])), '/\\');
	
	
?>
	 
	 <style type="text/css">
	 	
		.wye-icono-home{
				background:url(<?php echo $Base_Explorer ?>/images/icon_home_20x20.png) no-repeat;
				padding-left: 24px;
			}
		
		ul.wye_carpetas,
		ul.wye_carpetas li ul{
				list-style: none;
				margin:0px;padding:0px;
			}
			ul.wye_carpetas li ul{ padding-left: 12px; }
			ul.wye_carpetas a{
					text-decoration: none;
					color: #0E0E1B;
				}
			ul.wye_carpetas li{
					background:url(<?php echo $Base_Explorer ?>/images/icon_folder_20x20.png) no-repeat;
					padding-left: 24px;
					margin-left: 0px;
					vertical-align: middle;
				}
				
				ul.wye_carpetas li ul li{
					list-style-image: url(<?php echo $Base_Explorer ?>/images/icon_lineas_herencia.png);
					padding-left: 24px;
					margin: 0px;
				}
		
		
		/**/
				.explorador-multimedia{
						position:relative;
						margin: 15px;
					}
					.explorador-multimedia .explorador-archivos{
							display: inline-block;
							margin-right:15px;
							width: 180px; height: 300px;
							overflow: scroll;
							border-right: 1px solid #69C;
						}
						
					.explorador-multimedia .explorador-carpetas{
							display: inline-block;
							width: 500px; height: 300px;
							padding: 10px;
							overflow: auto;
							/*border-right: 1px solid #69C;*/
						}
					
					.explorador-multimedia form span{
							vertical-align: middle;
						}
					.explorador-multimedia input[type="search"]{
							font-size: medium;
							vertical-align: middle;
							padding-left: 5px;
						}
		/**/
				
		.vista-iconos-grandes{
				display: inline-block;
				margin: 5px;
				text-align: center;
				width: 105px; max-height: 115px;
				padding: 2px;
				border: transparent 1px solid; border-radius: 5px;
				vertical-align:bottom;
				color: #0E0E1B;
			}
			
			.vista-iconos-grandes:hover{
					border:#d9d9d9 1px solid;					
					background: #f8f8f8;
				}
				
			.vista-iconos-grandes-seleccionado,
			.vista-iconos-grandes-seleccionado:hover{
					border:#c6cdd8 1px solid;					
					background: #e7ebf6;
				}
				
			.vista-iconos-grandes img{
					max-width: 81px;
					max-height: 97px;
				}
			.vista-iconos-grandes span{
					display: block;
					font-size: small;
					cursor: default;
				}
	</style>
	
<?php
	/* Autorizo acceso */
		//if( isset( $_SESSION['wy_sess_ypanel'] ) && $_SESSION['wy_sess_ypanel'] == $WyKP );
		/*if( isset( $_SESSION['wy_sess_ypanel'] ) ){
			//
		}else{
			echo 'No dispones de acceso';
			exit;
		}*/
	
	/*
	 * Funcion que lista el arbol de directorios
	 */
	function Arbol_Directorios( $ruta, $path = '', $Explorar = 'carpetas' ){
		
		global $Base_Explorer, $BaseMultimedia, $Base_Url;
		
		//En esta cadena haremos una lista de nodos
		$folders = '';
		$ficheros = '';
		$carpetas = "";
		//Para agregar una barra al final si es una carpeta
		$barra = "/";
		//Este es el manejador del explorador
		$ruta = $ruta . '/';
		//$manejador = @dir( $ruta );
		
		$dir = opendir($ruta);
		
		$carpetas = '<ul>';
		
		//while ( $recurso = $manejador->read() ){
		while ( $recurso = readdir($dir) ){
			
			$nombre = "$ruta$recurso";
			
			if( $recurso == '.' || $recurso == '..')
			{
				continue;
			}
			
			/* Vista de Explorador Iconos Grandes */
			if( $Explorar == 'Vista_Iconos_Grandes' )
			{
				$path = ( isset( $_GET['carpeta'] ) ) ? $_GET['carpeta'] . $barra . $recurso : $recurso;
				
				if ( is_dir( $nombre ) ) {
					$barra = "/";
					$folders .= "<li class=\"vista-iconos-grandes\" onClick=\"wyExplorer.selCarpeta({selector:this,elemento_seleccionado:'$recurso',class:'vista-iconos-grandes-seleccionado'})\" ondblclick=\"wyExplorer.abrirCarpeta({carpeta:'$path'})\">
									<div>
										<img src=\"$Base_Explorer/images/icon_carpeta.png\" alt=\"$recurso\">
										<span>$recurso</span>
									</div>
								</li> \n";
				}else{
					// Obtengo extension
						$path_parts	= pathinfo($recurso);
						$extension	= $path_parts["extension"];
						
					// identifico si es imagen o documento
						$extension = strtolower($extension);
						
						$ficheros .= "<li class=\"vista-iconos-grandes\" onClick=\"wyExplorer.selCarpeta({selector:this,elemento_seleccionado:'$recurso',class:'vista-iconos-grandes-seleccionado',es_archivo:true})\">";
						
						if ($extension=="jpg" or $extension=="jpeg" or $extension=="png" or $extension=="gif" or $extension=="bmp")
							{
								//$files[] = $Imagen;
								$ficheros .= "<img src=\"$Base_Url$path\" alt=\"$recurso\">
										<span>$recurso</span>";
							}else{
								$ficheros .= "<img src=\"$Base_Explorer/images/icon_archivo.png\" alt=\"$recurso\">
										<span>$recurso</span>";
							}
							
						$ficheros .= "</li> \n";
				}
				
			/* Vista de Explorador Archivos */
			}elseif( $Explorar == 'archivos' ){
				$path = ( isset( $_GET['carpeta'] ) ) ? $_GET['carpeta'] . $barra . $recurso : $recurso;
				
				if ( is_dir( $nombre ) ) {
					$barra = "/";
					$folders .= "<li class=\"wyp-ico-folser-20x20\"><a href=\"".$_SERVER["PHP_SELF"].
					"?secc=multimedia&carpeta=$path\">$recurso</a></li> \n";
				}else{
					$ficheros .= "<li class=\"wyp-ico-fichero-20x20\"><a href=\"".$_SERVER["PHP_SELF"].
					"?secc=multimedia&carpeta=$recurso\" target=\"_blank\">$recurso</a></li> \n";
				}
				
			/* Vista de Explorador Carpetas */
			}else{
				if ( is_dir( $nombre ) ) {
					$carpetas .= "<li class=\"wyp-ico-folser-20x20\"><a href=\"javascript:;\" onclick=\"wyExplorer.abrirCarpeta({carpeta:'$path$recurso'})\" >$recurso</a>".Arbol_Directorios( $ruta . $recurso, $path . $recurso . $barra )."</li> \n";
				}
			}
		}
		
		if( $folders!= NULL || $ficheros != NULL ) $carpetas .= $folders . $ficheros;
		
		$carpetas .= '</ul>';
		
		//$manejador->close();
		closedir($dir);
		return $carpetas;
	}
	
	
	/*
	 * Funcion para eliminar directorio
	 */
	function EliminarDir($dir) { 
		$files = array_diff(scandir($dir), array('.','..')); 
		foreach ($files as $file) {
			(is_dir("$dir/$file")) ? EliminarDir("$dir/$file") : unlink("$dir/$file"); 
		}
		return rmdir($dir);
	}
	
	function obtCadenaSlug($string ){
		$string = htmlentities($string);
		$string = preg_replace('/\&!@#$|<>?,(.)[^;]*;/', '\\1', $string);
		$string = strtolower(str_replace(' ','-',$string));
		return $string;
	}
	
	/* Creo ventanas delwyExplorer */
	if( isset( $_GET['tipo'] ) || isset( $_POST['tipo'] ) ){
		
		$tipo	= ( isset( $_GET['tipo'] ) ) ? $_GET['tipo'] : $_POST['tipo'];
		$acc	= ( isset( $_GET['acc'] ) ) ? $_GET['acc'] : false;
		
		if( $acc ){
			$uri_Dir = ( isset( $_GET['carpeta'] ) ) ?  realpath($Base_Dir . $_GET['carpeta']) : realpath( $Base_Dir );
			
			switch($acc){
				case 'cargar_carpeta':
						$multimedia			= $_FILES['files'];
						$multimedia_nombre	= obtCadenaSlug($multimedia['name']);
						$multimedia_peso	= $multimedia['size'];
						
						$multimedia_path_parts	= pathinfo($multimedia['name']);
						$multimedia_extension	= $multimedia_path_parts["extension"];
						$multimedia_extension = strtolower($multimedia_extension);
						
						if ($multimedia_extension=="jpg" or $multimedia_extension=="jpeg" or $multimedia_extension=="png" or $multimedia_extension=="gif" or $multimedia_extension=="bmp" or $multimedia_extension=="mp3" or $multimedia_extension=="wav" or $multimedia_extension=="mp4" or $multimedia_extension=="avi" or $multimedia_extension=="mov" or $multimedia_extension=="flv" or $multimedia_extension=="pdf" or $multimedia_extension=="doc" or $multimedia_extension=="docx")
							{
							if( $multimedia_peso > ( 10240 * 1000) ){
									echo 'El archivo es mayor a 10 MB, debes reducirlo antes de subirlo a la nube.';
								}else{
									if( copy( $multimedia['tmp_name'], $uri_Dir . '/' . $multimedia_nombre ) ){
										//$data = array('success' => true);
									}
								}
						}else{
							echo 'El archivo no es un formato multimedia.';
						}
						
					break;
				case 'nueva_carpeta':
						if (!is_dir( $uri_Dir . '/' . $_GET['n_carpeta'] ) ) {
							mkdir( $uri_Dir . '/' . $_GET['n_carpeta'], 0777, true);
							//echo 'Se creo la carpeta ' . $_GET['n_carpeta'] . ' en ' . $Nuevo_Dir;
						}
					break;
				case 'eliminar_carpeta':
						//
						$eElementos = explode( ',', $_GET['n_carpeta'] );
						//echo '-> ' . (count( $eElementos ) - 1) . ' :: ';
						
						for( $e = 0; $e < (count( $eElementos ) - 1); $e++ ){
							if( is_dir( $uri_Dir . '/' . $eElementos[$e] ) ){
								EliminarDir( $uri_Dir . '/' . $eElementos[$e] );
							}else{
								unlink( $uri_Dir . '/' . $eElementos[$e] );
							}
						}
					break;
			}
		
		}
		
		switch($tipo){
			case 'carpetas':
?>

					<ul class="wye_carpetas">
						<li><span class="wye-icono-home" title="<?php echo $Base_Dir ?>"></span><a href=""><?php echo $Base_Nombre ?></a>
						<?php
							$presenta_n = '';
							if ( is_dir( $Base_Dir ) ){//ES UNA CARPETA
								$rutaDir = realpath( $Base_Dir ); //Con realpath convertimos los /../ y /./ en la ruta real
								$presenta_n = Arbol_Directorios( $rutaDir ); //exploramos los nodos de la carpeta
							}
							echo "$presenta_n";
						?>
						</li>
					</ul>

<?php
				break;
				
			case 'archivos':
?>

					<?php
						$archivos_n = '';
						$Archivos_Dir = ( isset( $_GET['carpeta'] ) ) ?  realpath($Base_Dir . $_GET['carpeta']) : realpath( $Base_Dir );
						if ( is_dir( $Archivos_Dir ) ){
							$archivos_n = Arbol_Directorios( $Archivos_Dir,'','Vista_Iconos_Grandes' );
						}
						echo "$archivos_n";
					?>

<?php
				break;
		}
	}
				
?>
	
<!--

	
	if( isset( $_GET['opcion'] ) ){
		switch( $_GET['opcion'] ){
			case 'pre-eliminar':
				$Msj = "&iquest;Est&aacute; seguro que desea eliminar el men&uacute; ID-$post? Esta acci&oacute;n no se podr&aacute; revertir.
						<button class=\"boton-opc-izquierda\" onClick=\"location.href='" . post_link( 'menus', $post ) . "&opcion=eliminar'\">Si</button><button class=\"boton-opc-derecha\" onClick=\"location.href='" . post_link() . "'\">No</button>";
				$MsjClass = 'm-alerta';
				
				break;
			case 'eliminar':
				query("DELETE FROM " . WYCFG_DBPREFIJO . "menu WHERE id='$post'");
				$Msj = "El men&uacute; ID-$post se elimin&oacute; correctamente.";
				
				break;
		}
	}

-->