<?php 
	// 2003 - 2023 @ Yal Publicidad - yPanel
	//* defino camino al sistema 
	include_once( dirname(__DIR__) . '/.ypanel.php' );
	
	// ** Funcion para eliminar directorio
	function eDir($dir) { 
		$files = array_diff(scandir($dir), array('.','..')); 
		foreach ($files as $file) {
			(is_dir("$dir/$file")) ? EliminarDir("$dir/$file") : unlink("$dir/$file"); 
		}
		return rmdir($dir);
	}
	
	//** Funcion para instalar tema Weby+ 
	function Instalar_Tema_Weby( $tmp_name, $tmp_path ){
			
			$tmp_index = false;
			$tmp_info = false;
			
			$instalar_sql = false;
			$tmp_sql = array();
			
			if( is_uploaded_file($tmp_name) ){
						$zip = new ZipArchive;
						
						if ($zip->open($tmp_name) === TRUE) {
							$sql = 1;
							for($i = 0; $i < $zip->numFiles; $i++) {
								$filename = $zip->getNameIndex($i);
								
								// Leo sólo el nombre del archivo ej. carpeta/documento.txt retorna documento.txt
								$nombreArchivo = basename( $filename );
									// extraer partes de informacion
									$partes	= pathinfo($nombreArchivo);
									$extension	= ( isset( $partes["extension"] ) ) ? $partes["extension"] : NULL;
								
								if( basename($filename) == 'index.php')  $tmp_index = true;
								if( basename($filename) == 'infoDat.inf' ){ $tmp_info = true; $tmp_info_path = $filename; }
								
								if( strtolower($extension) == 'sql') { $instalar_sql = true; $tmp_sql[$sql] = $filename; $sql++; }
							}
							
							if( $tmp_index && $tmp_info ){
								$zip->extractTo( $tmp_path );
								
								$tmp_info_path = $tmp_path . $tmp_info_path;
								
								$INFO = Ini_Leer( $tmp_info_path );
								
								// Comprobar si se instala bd
								if( $instalar_sql == true ){
									for( $j=1; $j <= count($tmp_sql); $j++ ){
										if( file_exists( $tmp_path . $tmp_sql[$j] ) )
											_mysql_importar( $tmp_path . $tmp_sql[$j] );
									}
								}
								
								if( !_mysql_existe( MYSQL_PREFIJO_SISX . "plantillas", "plantilla", "plantilla='" . $INFO['Instalacion']['Nombre'] . "'" ) ){
									_mysql_insertar_reg( MYSQL_PREFIJO_SISX . "plantillas", "plantilla, url_plantilla, version, descripcion, autor, url_autor, copyright, licencia", "'" . $INFO['Instalacion']['Nombre'] . "','" . $INFO['Instalacion']['UrlTema'] . "','" . $INFO['Instalacion']['Version'] . "','" . $INFO['Instalacion']['Descripcion'] . "','" . $INFO['Instalacion']['Autor'] . "','" . $INFO['Instalacion']['AutorUrl'] . "','" . $INFO['Instalacion']['Copyright'] . "','" . $INFO['Instalacion']['Licencia'] . "'") or die(_mysql_error());
									return 1;
								}else{
									_mysql_modificar_reg( MYSQL_PREFIJO_SISX . "plantillas", "plantilla='" . $INFO['Instalacion']['Nombre'] . "'", "plantilla='" . $INFO['Instalacion']['Nombre'] . "', url_plantilla='" . $INFO['Instalacion']['UrlTema'] . "', version='" . $INFO['Instalacion']['Version'] . "', descripcion='" . $INFO['Instalacion']['Descripcion'] . "', autor='" . $INFO['Instalacion']['Autor'] . "', url_autor='" . $INFO['Instalacion']['AutorUrl'] . "', copyright='" . $INFO['Instalacion']['Copyright'] . "', licencia='Licencia'");
									return 2;
								}
							}else{
								return 4;
							}
							
							$zip->close();
							
						} else {
							return 5;
						}
			}else{
				return 0;
			}
	}
		
	
	
	$tabla = 'plantillas';
		
		// ** Ejecuto accion Guardar / Modificar
		if( $_POST['acc'] == 'g-tema' ){
			$tema	= $_FILES['tema'];
			$insTema= Instalar_Tema_Weby( $tema['tmp_name'], _DIR_PAQUETE_WEB . YDS . 'sitio' . YDS );
			switch( $insTema ){
					case 1:
						$lng_err= 'msj_formato_oktema';
						$msj_err= 'El tema se instaló correctamente.';
						$a_err	= 'alert-success';
						
						break;
					case 2:
						$lng_err= 'msj_tema_actualizado';
						$msj_err= 'El tema se actualizó correctamente.';
						$a_err	= 'alert-info';
						
						break;
					case 4:
						$lng_err= 'msj_formato_notema';
						$msj_err= 'El formato del tema que desea instalar es incorrecto.';
						$a_err	= 'alert-warning';
						
						break;
					case 5:
						$lng_err= 'msj_zip_incorrecto';
						$msj_err= 'El formato es incorrecto o el zip está dañado.';
						$a_err	= 'alert-danger';
						
						break;
					default:
						$lng_err= 'msj_no_sel_archivo';
						$msj_err= 'Debe seleccionar un archivo.';
						$a_err	= 'alert-danger';
			}
			echo msg_error( etiqueta( $lng_err, $msj_err ), NULL, $a_err );
			
			//echo Instalar_Tema_Weby( $tema['tmp_name'], YPATH_PLANTILLAS . '/' );
		}
		
		// ** Ejecuto accion Deshabilitar / Habilitar usuario
		if( $_POST['acc'] == 'e-publicar' ){
			if( _mysql_modificar_reg( MYSQL_PREFIJO_SISX . $tabla, "id='{$_POST['post']}'", "sel='{$_POST['publicado']}'" ) ){
				$lng_err= ( $_POST['publicado'] > 0 ) ? 'msj_habilitar_ok' : 'msj_habilitar_no';
				$msj_err= ( $_POST['publicado'] > 0 ) ? 'El registro se hablitó correctamente.' : 'El registro se deshablitó correctamente.';
				
				echo msg_error( etiqueta( $lng_err, $msj_err ), NULL, 'alert-success' );	
			}else{
				echo msg_error( _mysql_error(), NULL, 'alert-danger' );
			}
		}
		
		// ** Ejecuto accion eliminar usuario
		if( $_POST['acc'] == 'e-eliminar' ){
			// ** Elimino de la base de datos
			$etdir = _mysql_obtener_reg( MYSQL_PREFIJO_SISX . $tabla, "id='" . $_POST['post'] . "'", "plantilla" );
			eDir( YPATH . YDS . 'sitio' . YDS . $etdir );
			//echo WYSQL::eliminar_reg( $tabla, $_POST['post'] );
			
			if( _mysql_eliminar_reg( MYSQL_PREFIJO_SISX . $tabla, "id='{$_POST['post']}'" ) ){
				echo msg_error( etiqueta( 'msj_reg_eliminado', 'El registro se eliminó correctamente.' ), NULL, 'alert-success' );	
			}else{
				echo msg_error( _mysql_error(), NULL, 'alert-danger' );
			}
		}
			 
?>	