|
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 : |
<?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>";
}
}
?>