<?php
	// 2023 @ Yal Publicidad - yPanel
	//* defino camino al sistema 
	include_once( dirname(__DIR__) . '/.ypanel.php' );
	
	// ** Ejecuto accion para crear backup completo MySQL */
			if( $_POST['ac'] == 'backup_mysql' ){
				echo _mysql_generar_backup( '*', _DIR_PAQUETE_WEB . YDS . 'wy_backup' . YDS . 'backup_sql' . YDS  );
			}
			
	// ** Ejecuto acción para crear backup de sitio Webyplus */
			if( $_POST['ac'] == 'backup_sitioweb' ){
				//creamos una instancia de ZipArchive
				$zip = new ZipArchive();
				
				$nom_backup			= 'backup-' . IdWebySN() . '-' . date('m.d.Y') . '.zip';
				$ruta_backup		= _DIR_PAQUETE_WEB . YDS;
				$ruta_backup_final	= _DIR_PAQUETE_WEB . YDS . "wy_backup" . YDS . "backup_webyplus";
				
				if ( $zip->open( $nom_backup, ZIPARCHIVE::CREATE ) === true ) {
					comprime( $ruta_backup, "", $zip );
					$zip->close();
					
					//Muevo el archivo a una ruta
					//donde no se mezcle los zip con los demas archivos
					rename($nom_backup, "$ruta_backup_final/$nom_backup");
					
					if ( file_exists( $ruta_backup_final. "/" . $nom_backup ) ) {
							echo 1;
					} else {
							echo 0;
					}
				}
			}
			
	//** listo backups generados por el usuario */
			function listar_backups( $directorio, $t = 'sql' ){
				//-- directorio de desscarga
				$mdir	= ( $t == 'sql' ) ? 'wy_backup' . YDS . 'backup_sql' . YDS : 'wy_backup' . YDS . 'backup_webyplus' . YDS;
				//-- inicio de items
				$li = '';
				while ( $backups = readdir($directorio) ){
								if ( !is_dir( $backups ) ) 
								{
										$path_parts	= pathinfo( $backups );
										$extension	= $path_parts["extension"];
										$extension	= strtolower($extension);
										//-- filtro solo archivos admitidos por el sistema
										if ( $extension=="zip" or $extension=="tar.gz" or $extension=="sql" )
										{
											//$files[] = $Imagen;
											$li .= '<li><a href="dl-backup.php?t=' . $mdir . '&n=' . $backups . '&key=' . md5( yPanel::usuario() ) . '" target="_blank">' . $backups . '</a></li>';
										} 
								}
				}
				closedir($directorio);
				return ( $li == '' ) ? false : $li;
					
			}
			// ** Ejecuto acción para listar backups
			if( $_POST['ac'] == 'backup-listar' ){
					
					$directorio1 = opendir( _DIR_PAQUETE_WEB . YDS . 'wy_backup' . YDS . 'backup_webyplus/' );
					$directorio2 = opendir( _DIR_PAQUETE_WEB . YDS . 'wy_backup' . YDS . 'backup_sql/' );
					
					if( $directorio1 != false or $directorio2 != false ){
						$bck_ws	= listar_backups( $directorio1, 'ws' );
						$bck_sql= listar_backups( $directorio2 );
						
						if( $bck_sql !== false || $bck_ws !== false ){
							echo $bck_sql . $bck_ws;
						}else{ echo '<li>No se encontraron backups guardados.</li>'; }
					}else{
						echo '<li>No se encontraron backups guardados.</li>';
					}
					
			}
?>	