<?php
	/*
	 *
	 * 2003 - 2020 @ Yal Publicidad - Yal Gestor de Archivos
	 * www.yalpublicidad.com
	 * online@yalpublicidad.com
	 *
	 */
	
	include_once( 'lib/mod.func.php' );
	
	if ( YE::veriSess() ) {
		 
		 /* Directorio principal */
			//$homedir	= ( isset( $_GET['homedir'] ) ) ? $_GET['homedir'] : '/';
			$homedir	= YEPATH . YEDS;
		/* array de archivos a copiar */
			$elementos = ( isset( $_GET['arraydir'] ) ) ? trim( $_GET['arraydir'], ';' ) : '';
			$elementos = explode( ';', $elementos );
		/* ruta del archivo a descargar */
			$archivo= $homedir . $elementos[0];
			$ldir	= dirname( $elementos[0] ) . '/';
		
		$hecho = false;
		if( count( $elementos ) > 1 || is_dir( $homedir . $elementos[0] ) ){
			/* Ruta y nombre del zip $homedir . $ldir . */
				$nombre_zip = explode( '/', $elementos[0] );
				$nombre_zip = ( count( $nombre_zip ) > 0 ) ? end( $nombre_zip ) : $nombre_zip[0];
				$nombre_zip = str_replace( '.', '_', $nombre_zip );
				$nombre_zip	=  ( empty( $nombre_zip ) ) ? 'ydoczip.zip' : $nombre_zip . '.zip';
			/* Llamo a la clase zip */
				$zip		= new ZipArchive();
			/* Comprimo los archivos si es directorio o mayor a un elemento */
				$zip->open( $homedir . $ldir . $nombre_zip, ZIPARCHIVE::CREATE);
					for( $e = 0; $e < count( $elementos ); $e++ ){
						/* verifico si es directorio o archivo */
						if( !is_dir( $homedir . $elementos[$e] ) ){
							$zip->addFile( $homedir . $elementos[$e], basename( $elementos[$e] ) ); 
						}else{
							$carpeta = basename( $elementos[$e] ) . "/";
							comprimir_dir( $elementos[$e], $carpeta, $zip );
						}
					}
				$zip->close();
			/* ruta del archivo a descargar */
				$archivo = $homedir . $ldir . $nombre_zip;
				
			$hecho = true;
		}
		
		/**/
		if ( file_exists( $archivo ) ) {
			header("Content-disposition: attachment; filename=" . basename( $archivo ) );
			header("Content-type: " . mime_content_type( $archivo ) );
			readfile("$archivo");
		}
		
		// Eliminamos el archivo que se creo en nuestro servidor
		if( $hecho ) unlink( $archivo );
		 
	}
	 
?>