KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/logicswapweb/aplicaciones/admon/documentos/docs/fnc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/logicswapweb/aplicaciones/admon/documentos/docs/fnc/SubCarpeta.php
<?php 
include('./../../../fnc/DBConnect.php');
include('./../../../fnc/componente.php');

class SubCarpeta extends Componente{

/*constructor*/
function SubCarpeta(){
	$this->DBManager('MySQL');
	$this->connect();
}
/*agregar subcarpeta*/
function add_subcarpeta($nivel,$nombre,$tipo,$permiso,$id,$ids,$idss,$name_carpeta,$name_subcarpeta,$name_subcarpetas){
	if($nivel==1){
		$sql = "SELECT id FROM carpeta WHERE nivel='1' AND parent='$id' AND nombre='$nombre'";
	}
	if($nivel==2){
		$sql = "SELECT id FROM carpeta WHERE nivel='2' AND parent='$ids' AND nombre='$nombre'";
	}	
	if($nivel==3){
		$sql = "SELECT id FROM carpeta WHERE nivel='3' AND parent='$idss' AND nombre='$nombre'";
	}		
	$this->execute($sql);
	$cant=$this->numRows();
	if($cant==0){	
	
		if($nivel==1){
			$sql = "insert into carpeta (nombre, tipo, permiso, parent, nivel) values ('$nombre','$tipo','$permiso','$id','$nivel')";
		}
		if($nivel==2){
			$sql = "insert into carpeta (nombre, tipo, permiso, parent, nivel) values ('$nombre','$tipo','$permiso','$ids','$nivel')";	
		}
		if($nivel==3){
			$sql = "insert into carpeta (nombre, tipo, permiso, parent, nivel) values ('$nombre','$tipo','$permiso','$idss','$nivel')";	
		}
		if (!$this->execute($sql)) {
			echo "<script>prompt(\"Error: no se pudo adicionar la subcarpeta!\",\"$sql\");</script>";
		} 
		else{
			echo "<script>alert(\"Subcarpeta creada con �xito !\");</script>";
		}
	}else{
		$this->mostrarMensaje("Ya existe una subcarpeta con el mismo nombre. Especifique otro nombre de carpeta.");
		echo "<script>window.open(\"../add_subcarpeta.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&name_carpeta=$name_carpeta&name_subcarpeta=$name_subcarpeta&name_subcarpetas=$name_subcarpetas&nombre=$nombre&permiso=$permiso\",\"contenido\");</script>";
	}		
		
	if($nivel==1){
		echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id\",\"contenido\");</script>";
	}
	if($nivel==2){
		echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id&ids=$ids\",\"contenido\");</script>";
	}
	if($nivel==3){
		echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss\",\"contenido\");</script>";
	}
}
function mod_subcarpeta($nivel,$nombre,$permiso,$id,$ids,$idss,$idsss,$name_carpeta,$name_subcarpeta,$name_subcarpetas){						
	if($nivel==1){
		$sql = "SELECT id FROM carpeta WHERE nivel='1' AND parent='$id' AND nombre='$nombre' AND id!='$ids'";
	}
	if($nivel==2){
		$sql = "SELECT id FROM carpeta WHERE nivel='2' AND parent='$ids' AND nombre='$nombre' AND id!='$idss'";
	}	
	if($nivel==3){
		$sql = "SELECT id FROM carpeta WHERE nivel='3' AND parent='$idss' AND nombre='$nombre' AND id!='$idsss'";
	}		
	$this->execute($sql);
	$cant=$this->numRows();
	if($cant==0){
		
		if($nivel==1){
			$sql = "update carpeta set nombre ='$nombre', permiso='$permiso' where id='$ids'";
		}
		if($nivel==2){
			$sql = "update carpeta set nombre ='$nombre', permiso='$permiso' where id='$idss'";
		}	
		if($nivel==3){
			$sql = "update carpeta set nombre ='$nombre', permiso='$permiso' where id='$idsss'";
		}
		if (!$this->execute($sql)) {
			echo "<script>alert(\"Error: no se pudo Actualizar la subcarpeta !\");</script>";
		} else {
			echo "<script>alert(\"Subcarpeta Actualizada con �xito !\");</script>";
		}
	}else{
		$this->mostrarMensaje("Ya existe una carpeta con el mismo nombre. Especifique otro nombre de subcarpeta.");
		echo "<script>window.open(\"../mod_subcarpeta.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&idsss=$idsss&name_carpeta=$name_carpeta&name_subcarpeta=$name_subcarpeta&name_subcarpetas=$name_subcarpetas\",\"contenido\");</script>";
	}			
	if($nivel==1){
		echo "<script>window.open(\"../index.php?nivel=1&id=$id\",\"contenido\");</script>";
	}
	if($nivel==2){
		echo "<script>window.open(\"../index.php?nivel=2&id=$id&ids=$ids\",\"contenido\");</script>";
	}
	if($nivel==3){
		echo "<script>window.open(\"../index.php?nivel=3&id=$id&ids=$ids&idss=$idss\",\"contenido\");</script>";
	}
}

function eli_subcarpeta($nivel,$id,$ids,$idss,$idsss){						
	$db1 = new DBManager('MySQL');
	$db1->connect();
	
	$db2 = new DBManager('MySQL');
	$db2->connect();
	
	$db3 = new DBManager('MySQL');
	$db3->connect();
	
	$id_ = $id;
	$ido = $id;
	$ar =1;

	
	//se borran documentos y archivos de estos en nivel 3 **********************************************
	if($nivel==3){
		$sql="SELECT id, titulo FROM documentos WHERE carpeta='$idsss'";
		$db1->execute($sql);
		//cantidad de documentos en esta subcarpeta
		$cant_documentos= $db1->numRows(); 
		if($cant_documentos>0){
			while(( list($id, $titulo)=$db1->fetchRow()) && ($ar==1)){
				$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id'";
				$db2->execute($sql1);
				$cant_archivos = $db2->numRows();
				$hecho =true;
				if ($cant_archivos>0){
					while( (list($id_arc, $fichero)=$db2->fetchRow()) && ($hecho==true)){
						$rutafoto = "../archivos/".$fichero;
						//borrado del archivo
						if (file_exists($rutafoto)){
							if(unlink($rutafoto)){
								$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
								if(!$this->execute($sql)){
									$hecho = false;
									$this->isDebuggerEnabled();
									$msg = $this->getException();
									$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
								}else{
									$cant_archivos--;
								}
							}else{
								$this->mostrarMensaje("Could not delete the file server");
								$hecho =false;
							}
						}else{
							$this->mostrarMensaje("Could not delete the file server \\nThe archive ".$fichero." does not exist.");
							$hecho =false;
						}
					}//end while archivos
				} 
				if($cant_archivos==0){//no ahi mas archivos o no hubieron
					$sql = "DELETE FROM documentos WHERE id = '$id'";
					if(!$this->execute($sql)){
						$hecho=false;
						$this->isDebuggerEnabled();
						$msg = $this->getException();
						$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
					}else{
						$cant_documentos--;
					}
				}
			}//end while documentos
		}//end if eliminar documento nivel 3
		if($cant_documentos==0){
			$sql = "DELETE FROM carpeta WHERE tipo='subcarpeta' AND id = '$idsss'";
			if(!$this->execute($sql)){
				$this->mostrarMensaje("Error: Could not delete the space Ftp");
			}else{
				$this->mostrarMensaje("The space FTP has been deleted successfully.");
				}
		}
	}
	//***************************************************************************************************


	//se borran documentos y archivos de estos en nivel 2 **********************************************
	if($nivel==2){
		$sql="SELECT id, titulo FROM documentos WHERE carpeta='$idss'";
		$db1->execute($sql);
		//cantidad de documentos en esta subcarpeta
		$cant_documentos= $db1->numRows(); 
		if($cant_documentos>0){
			while(( list($id, $titulo)=$db1->fetchRow()) && ($ar==1)){
				$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id'";
				$db2->execute($sql1);
				$cant_archivos = $db2->numRows();
				$hecho =true;
				if ($cant_archivos>0){
					while( (list($id_arc, $fichero)=$db2->fetchRow()) && ($hecho==true)){
						$rutafoto = "../archivos/".$fichero;
						//borrado del archivo
						if (file_exists($rutafoto)){
							if(unlink($rutafoto)){
								$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
								if(!$this->execute($sql)){
									$hecho = false;
									$this->isDebuggerEnabled();
									$msg = $this->getException();
									$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
								}else{
									$cant_archivos--;
								}
							}else{
								$this->mostrarMensaje("Could not delete the file server");
								$hecho =false;
							}
						}else{
							$this->mostrarMensaje("Could not delete the file server \\nThe archive ".$fichero." does not exist.");
							$hecho =false;
						}
					}//end while archivos
				} 
				if($cant_archivos==0){//no ahi mas archivos o no hubieron
					$sql = "DELETE FROM documentos WHERE id = '$id'";
					if(!$this->execute($sql)){
						$hecho=false;
						$this->isDebuggerEnabled();
						$msg = $this->getException();
						$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
					}else{
						$cant_documentos--;
					}
				}
			}//end while documentos
		}//end if eliminar documento nivel 2
		if($cant_documentos==0){
			//borro subcarpetas , documentos y archivos de nivel 3
			$sql="SELECT id, nombre FROM carpeta WHERE parent='$idss' AND tipo='subcarpeta'";
			$db1->execute($sql);
			$cant_carpetas = $db1->numrows();
			$cant_documentos = 0;
			$cant_archivos = 0;
			if($cant_carpetas>0){
				while(list($id, $nombre)=$db1->fetchRow()){
					//se borran documentos y archivos de estos en nivel 4
					$sql="SELECT id, titulo FROM documentos WHERE carpeta='$id'";
					$db2->execute($sql);
					$cant_documentos= $db2->numRows(); 
					if($cant_documentos>0){
						while( ( list($id_doc, $titulo_doc)=$db2->fetchRow() ) && ($ar==1)){
							$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id_doc'";
							$this->execute($sql1);
							$cant_archivos = $this->numRows();
							if ($cant_archivos>0) { 
								$hecho=true;
								while( (list($id_arc, $fichero)=$this->fetchRow()) && ($hecho==true)){
									$rutafoto = "../archivos/".$fichero;
									//borrado del archivo o archivos
									if (file_exists($rutafoto)){
										if(unlink($rutafoto)){
											$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
											if(!$db3->execute($sql) ){
												$hecho =false;
												$db3->isDebuggerEnabled();
												$msg = $db3->getException();
												echo "<script>alert(\"Error $msg ($sql)!\");</script>";
											}else{
												$cant_archivos--;
											}
										}else{
											echo "<script>alert(\"Could not delete the file server \\nPermit Denied.\");</script>";
											$hecho =false;
										}
									}else{
										echo "<script>alert(\"Could not delete the file server \\nThe file ($fichero) does not exist.\");</script>";
										$hecho =false;
									}
								}//end while archivos
							}
							//se borra documento
							if($cant_archivos==0){//no ahi mas archivos o no hubieron archivos
								$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
								if(!$this->execute($sql) ){
									$hecho=false;
									$ar=5;
									$this->isDebuggerEnabled();
									$msg = $this->getException();
									echo "<script>alert(\"Error $msg\\n($sql)!\");</script>";
									echo "<script>alert(\"Could not delete the file space Ftp $nombre !\");</script>";
								}else{
									$cant_documentos--;
								}
							}
						}//end while documentos
					}//end if documentos>0
					if($cant_documentos==0){//no ahi mas documentos o no hubieron
						$sql="DELETE FROM carpeta WHERE parent='$idss'";
						if(!$this->execute($sql)){ 
							$ar=6;
							echo "<script>alert(\"Could not delete the space Ftp $nombre !\");</script>";
						}else{
							$cant_carpetas--;
						}
					}
				}//end while carpetas
			}
			if($cant_carpetas==0){
				$sql= "DELETE FROM carpeta where id ='$idss'";
				if(!$this->execute($sql)){ 
					$ar=4;
					echo "<script>alert(\"Could not delete the space Ftp!\");</script>";
				}else{
					echo "<script>alert(\"The space FTP has been deleted successfully!\");</script>";
				}
			}
		}
	}
	//*************************************************************************************************


	//se borran documentos y archivos de estos en nivel 1 **********************************************
	if($nivel==1){
		$sql="SELECT id, titulo FROM documentos WHERE carpeta='$ids'";
		$db1->execute($sql);
		//cantidad de documentos en esta subcarpeta
		$cant_documentos= $db1->numRows(); 
		if($cant_documentos>0){
			while(( list($id, $titulo)=$db1->fetchRow()) && ($ar==1)){
				$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id'";
				$db2->execute($sql1);
				$cant_archivos = $db2->numRows();
				$hecho =true;
				if ($cant_archivos>0){
					while( (list($id_arc, $fichero)=$db2->fetchRow()) && ($hecho==true)){
						$rutafoto = "../archivos/".$fichero;
						//borrado del archivo
						if (file_exists($rutafoto)){
							if(unlink($rutafoto)){
								$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
								if(!$this->execute($sql)){
									$hecho = false;
									$this->isDebuggerEnabled();
									$msg = $this->getException();
									$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
								}else{
									$cant_archivos--;
								}
							}else{
								$this->mostrarMensaje("Could not delete the file server");
								$hecho =false;
							}
						}else{
							$this->mostrarMensaje("Could not delete the file server \\nThe archive ".$fichero." does not exist.");
							$hecho =false;
						}
					}//end while archivos
				} 
				if($cant_archivos==0){//no ahi mas archivos o no hubieron
					$sql = "DELETE FROM documentos WHERE id = '$id'";
					if(!$this->execute($sql)){
						$hecho=false;
						$this->isDebuggerEnabled();
						$msg = $this->getException();
						$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
					}else{
						$cant_documentos--;
					}
				}
			}//end while documentos
		}//end if eliminar documento nivel 1
		if($cant_documentos==0){
			//borro subcarpetas , documentos y archivos de nivel 2
			$sql="SELECT id, nombre FROM carpeta WHERE parent='$ids' AND tipo='subcarpeta'";
			$db1->execute($sql);
			$cant_carpetas = $db1->numrows();
			$cant_documentos = 0;
			$cant_archivos = 0;
			if($cant_carpetas>0){
				while(list($id, $nombre)=$db1->fetchRow()){
					$idFinal=$id;
					//se borran documentos y archivos de estos en nivel 4
					$sql="SELECT id, titulo FROM documentos WHERE carpeta='$id'";
					$db2->execute($sql);
					$cant_documentos= $db2->numRows(); 
					if($cant_documentos>0){
						while( ( list($id_doc, $titulo_doc)=$db2->fetchRow() ) && ($ar==1)){
							$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id_doc'";
							$this->execute($sql1);
							$cant_archivos = $this->numRows();
							if ($cant_archivos>0) { 
								$hecho=true;
								while( (list($id_arc, $fichero)=$this->fetchRow()) && ($hecho==true)){
									$rutafoto = "../archivos/".$fichero;
									//borrado del archivo o archivos
									if (file_exists($rutafoto)){
										if(unlink($rutafoto)){
											$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
											if(!$db3->execute($sql) ){
												$hecho =false;
												$db3->isDebuggerEnabled();
												$msg = $db3->getException();
												echo "<script>alert(\"Error $msg ($sql)!\");</script>";
											}else{
												$cant_archivos--;
											}
										}else{
											echo "<script>alert(\"Could not delete the file server \\nPermit Denied.\");</script>";
											$hecho =false;
										}
									}else{
										echo "<script>alert(\"Could not delete the file server \\nThe file ($fichero) does not exist.\");</script>";
										$hecho =false;
									}
								}//end while archivos
							}
							//se borra documento
							if($cant_archivos==0){//no ahi mas archivos o no hubieron archivos
								$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
								if(!$this->execute($sql) ){
									$hecho=false;
									$ar=5;
									$this->isDebuggerEnabled();
									$msg = $this->getException();
									echo "<script>alert(\"Error $msg\\n($sql)!\");</script>";
									echo "<script>alert(\"Could not delete the file space Ftp $nombre !\");</script>";									
								}else{
									$cant_documentos--;
								}
							}
						}//end while documentos
					}//end if documentos>0
					if($cant_documentos==0){//no ahi mas documentos o no hubieron
/////////////////////////////////////////////////////////////////////////////////////////////////////						
						//borro subcarpetas , documentos y archivos de nivel 3
						$sql="SELECT id, nombre FROM carpeta WHERE parent='$idFinal' AND tipo='subcarpeta'";
						$db1->execute($sql);
						$cant_carpetas2 = $db1->numrows();
						$cant_documentos2 = 0;
						$cant_archivos = 0;
						if($cant_carpetas2>0){
							while(list($id, $nombre)=$db1->fetchRow()){
								//se borran documentos y archivos de estos en nivel 4
								$sql="SELECT id, titulo FROM documentos WHERE carpeta='$id'";
								$db2->execute($sql);
								$cant_documentos2= $db2->numRows(); 
								if($cant_documentos2>0){
									while( ( list($id_doc, $titulo_doc)=$db2->fetchRow() ) && ($ar==1)){
										$sql1= "SELECT id, fichero FROM archivo WHERE documento='$id_doc'";
										$this->execute($sql1);
										$cant_archivos = $this->numRows();
										if ($cant_archivos>0) { 
											$hecho=true;
											while( (list($id_arc, $fichero)=$this->fetchRow()) && ($hecho==true)){
												$rutafoto = "../archivos/".$fichero;
												//borrado del archivo o archivos
												if (file_exists($rutafoto)){
													if(unlink($rutafoto)){
														$sql = "DELETE FROM archivo WHERE id = '$id_arc'";
														if(!$db3->execute($sql) ){
															$hecho =false;
															$db3->isDebuggerEnabled();
															$msg = $db3->getException();
															echo "<script>alert(\"Error $msg ($sql)!\");</script>";
														}else{
															$cant_archivos--;
														}
													}else{
														echo "<script>alert(\"Could not delete the file server \\nPermit Denied.\");</script>";
														$hecho =false;
													}
												}else{
													echo "<script>alert(\"Could not delete the file server \\nThe file ($fichero) does not exist.\");</script>";
													$hecho =false;
												}
											}//end while archivos
										}
										//se borra documento
										if($cant_archivos==0){//no ahi mas archivos o no hubieron archivos
											$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
											if(!$this->execute($sql) ){
												$hecho=false;
												$ar=5;
												$this->isDebuggerEnabled();
												$msg = $this->getException();
												echo "<script>alert(\"Error $msg\\n($sql)!\");</script>";
												echo "<script>alert(\"Could not delete the file space Ftp $nombre !\");</script>";									
											}else{
												$cant_documentos2--;
											}
										}
									}//end while documentos
								}//end if documentos>0
								if($cant_documentos2==0){//no ahi mas documentos o no hubieron
									$sql="DELETE FROM carpeta WHERE parent='$idFinal'";
									if(!$this->execute($sql)){ 
										$ar=6;
										echo "<script>alert(\"Could not delete the space Ftp $nombre !\");</script>";
									}else{
										$cant_carpetas2--;
									}
								}
							}//end while carpetas
						}
//////////////////////////////////////////////////////////////////////////////////////////////////////						
						$sql="DELETE FROM carpeta WHERE parent='$ids'";
						if(!$this->execute($sql)){ 
							$ar=6;
							echo "<script>alert(\"Could not delete the space Ftp $nombre !\");</script>";
						}else{
							$cant_carpetas--;
						}
					}
				}//end while carpetas
			}
			if($cant_carpetas==0){
				$sql= "DELETE FROM carpeta where id ='$ids'";
				if(!$this->execute($sql)){ 
					$ar=4;
					echo "<script>alert(\"Could not delete the space Ftp!\");</script>";
				}else{
					echo "<script>alert(\"The space FTP has been deleted successfully.\");</script>";
				}
			}
		}
	}
	//*************************************************************************************************

	echo "<script>window.open('../index.php?nivel=$nivel&id=$id_&ids=$ids&idss=$idss','contenido');</script>";

}

}
?>

Anon7 - 2021