|
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
class Documento extends Componente{
var $ruta="./aplicaciones/admon/documentos/docs/archivos/";
/*constructor*/
function Documento(){
$this->DBManager('MySQL');
$this->connect();
}
/*agregar documento*/
function add_documento($nivel,$id,$ids,$idss,$idsss,$fecha_ing,$fecha_fin,$encabezado,$descripcion,$permiso,$adjunto1,$url1,$name_carpeta,$name_subcarpeta,$name_subcarpetas,$name_subcarpetass){
if($nivel==1){
$sql = "SELECT id FROM documentos WHERE carpeta='$id' AND titulo='$encabezado'";
}
if($nivel==2){
$sql = "SELECT id FROM documentos WHERE carpeta='$ids' AND titulo='$encabezado'";
}
if($nivel==3){
$sql = "SELECT id FROM documentos WHERE carpeta='$idss' AND titulo='$encabezado'";
}
if($nivel==4){
$sql = "SELECT id FROM documentos WHERE carpeta='$idsss' AND titulo='$encabezado'";
}
$this->execute($sql);
$cant=$this->numRows();
if($cant==0){
$response = NULL;
if($nivel==1){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$id','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if($nivel==2){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$ids','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if($nivel==3){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$idss','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if($nivel==4){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$idsss','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if (!$this->execute($sql)) {
$this->mostrarMensaje("Error: Document not saved.");
} else {
if($id == 2){
$msg = "The common file: ";
}else{
$msg = "The file: ";
}
if($url1!="none"){
//se sube el fichero al servidor
list($success,$response) = $this->captureUpload('../archivos/',false,'url1');
if(!$success) {
$msg = "archivo: ".$response;
$this->mostrarMensaje($msg);
}
//sql para registrar fichero en la DB
$documento = mysql_insert_id();
$hora = date('H:i:s',time());
$sql2 = "INSERT INTO archivo (documento, titulo, fichero, hora) values('$documento'";
$sql2.= ($adjunto1) ? ",'".$adjunto1."'": ", NULL";
$sql2.= ($url1!= "none") ? ",'".$response."'": ", NULL";
$sql2.= ", '".$hora."')";
if(!$this->execute($sql2)){
$msg.="File: ".$encabezado." no Saved";
}else{
if($id == 2){
$msg.=$encabezado." has been uploaded to all the users.";
}else{
$msg.=$encabezado." has been uploaded successfully.";
}
}
}
$this->mostrarMensaje($msg);
}
}else{
$this->mostrarMensaje("Try with another Name.");
echo "<script>window.open(\"../add_documento.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&idsss=$idsss&name_carpeta=$name_carpeta&name_subcarpeta=$name_subcarpeta&name_subcarpetas=$name_subcarpetas&name_subcarpetass=$name_subcarpetass&encabezado=$encabezado&descripcion=$descripcion&permiso=$permiso&adjunto1=$adjunto1&fecha_fin=$fecha_fin\",\"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=$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>";
}
if($nivel==4){
echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&idsss=$idsss\",\"contenido\");</script>";
}
}
function add_documento2($nivel,$id,$ids,$idss,$idsss,$fecha_ing,$fecha_fin,$encabezado,$descripcion,$permiso,$adjunto1,$url1,$name_carpeta,$name_subcarpeta,$name_subcarpetas,$name_subcarpetass,$tipo){
$url_archivo = false;
if($nivel==1){
$sql = "SELECT id FROM documentos WHERE carpeta='$id' AND titulo='$encabezado'";
}
if($nivel==2){
$sql = "SELECT id FROM documentos WHERE carpeta='$ids' AND titulo='$encabezado'";
}
if($nivel==3){
$sql = "SELECT id FROM documentos WHERE carpeta='$idss' AND titulo='$encabezado'";
}
if($nivel==4){
$sql = "SELECT id FROM documentos WHERE carpeta='$idsss' AND titulo='$encabezado'";
}
$this->execute($sql);
$cant=$this->numRows();
if($cant==0){
$response = NULL;
if($nivel==1){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$id','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if($nivel==2){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso,tipo) VALUES('$ids','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso', '$tipo')";
}
if($nivel==3){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$idss','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if($nivel==4){
$sql = "INSERT INTO documentos (carpeta,fecha_ing,fecha_fin,titulo,texto,permiso) VALUES('$idsss','$fecha_ing','$fecha_fin','$encabezado','$descripcion','$permiso')";
}
if (!$this->execute($sql)) {
$this->mostrarMensaje("Error: Document not saved.");
} else {
//$msg = "Document Saved.\\n";
if($url1!="none"){
//se sube el fichero al servidor
list($success,$response) = $this->captureUpload('../aplicaciones/admon/documentos/docs/archivos/',false,'url1');
if(!$success) {
$msg = "File: ".$response;
$this->mostrarMensaje($msg);
}
//sql para registrar fichero en la DB
$documento = mysql_insert_id();
$hora = date('H:i:s',time());
$sql2 = "INSERT INTO archivo (documento, titulo, fichero, hora) values('$documento'";
$sql2.= ($adjunto1) ? ",'".$adjunto1."'": ", NULL";
$sql2.= ($url1!= "none") ? ",'".$response."'": ", NULL";
$sql2.= ", '".$hora."')";
if(!$this->execute($sql2)){
$msg.= $response." No Uploaded.";
}else{
$msg.=$response." has been uploaded successfully.";
$url_archivo = 'http://www.logicswap.com/aplicaciones/admon/documentos/docs/archivos/'.$response;
$url_archivo = "<a href='".$url_archivo."'>Download File Here</a>";
}
}
$this->mostrarMensaje($msg);
}
}else{
$this->mostrarMensaje("Try with another Name.");
}
return ($url_archivo);
}
/*cargar archivo*/
function captureUpload($destDir,$nameCallback = false,$fieldName = '_upload',$maxFileSize = false){
//make sure something is there
if(!isset($_FILES[$fieldName]) || !isset($_FILES)|| !is_array($_FILES[$fieldName]) || !$_FILES[$fieldName]['name'])
return array(false,"El formulario no tiene la etiqueta enctype=\"multipart/form-data\"");
//normalize the file variable
$file = $_FILES[$fieldName];
if (!isset($file['type'])) $file['type'] = '';
if (!isset($file['size'])) $file['size'] = '';
if (!isset($file['tmp_name'])) $file['tmp_name'] = '';
$file['name'] = preg_replace('/[^a-zA-Z0-9\.\$\%\'\`\-\@\{\}\~\!\#\(\)\&\_\^]/','',str_replace(array(' ','%20'),array('_','_'),$file['name']));
//was it to big?
if($maxFileSize && ($file['size'] > $maxFileSize))
return array(false,"El tama�o del archivo es muy grande");
//normalize destDir
if(strlen($destDir)>0 && $destDir[strlen($destDir)-1] != "/")
$destDir = $destDir.'/';
//should we change the filename via a callback?
if($nameCallback)
$file['name'] = call_user_func_array($nameCallback, array($file,$destDir));
$i = 0;
//if the filename already exists, append _copy_x (with extension)
if(strpos($file['name'],'.') !== false){
$bits = explode('.',$file['name']);
$ext = array_pop($bits);
while(file_exists($destDir.implode('.', $bits).($i?'_copy_'.$i:'').'.'.$ext)){
++$i;
$file['name'] = implode('.',$bits).($i?'_copy_'.$i:'').'.'.$ext;
}
//if the filename already exists, append _copy_x (no extension)
} else {
while(file_exists($destDir.$file['name'].($i ?'_copy_'.$i:''))){
++$i;
$file['name'] = $file['name'].($i?'_copy_'.$i:'');
}
}
//and now the big moment
if(!@copy($file['tmp_name'], $destDir.$file['name']))
return array(false,"Permission denied to copy the file");
else
return array(true,$file['name']);
}
function mod_documento($titulo,$permiso,$descripcion,$fecha_fin,$carpeta,$id_doc,$nivel,$id,$ids,$idss,$idsss,$name_carpeta,$name_subcarpeta,$name_subcarpetas,$name_subcarpetass){
if($nivel==1){
$sql = "SELECT id FROM documentos WHERE carpeta='$id' AND titulo='$titulo' AND id!='$id_doc'";
}
if($nivel==2){
$sql = "SELECT id FROM documentos WHERE carpeta='$ids' AND titulo='$titulo' AND id!='$id_doc'";
}
if($nivel==3){
$sql = "SELECT id FROM documentos WHERE carpeta='$idss' AND titulo='$titulo' AND id!='$id_doc'";
}
if($nivel==4){
$sql = "SELECT id FROM documentos WHERE carpeta='$idsss' AND titulo='$titulo' AND id!='$id_doc'";
}
$this->execute($sql);
$cant=$this->numRows();
if($cant==0){
$sql = "UPDATE documentos SET titulo = '$titulo', permiso = '$permiso', texto = '$descripcion', fecha_fin = '$fecha_fin', carpeta='$carpeta' WHERE id = '$id_doc'";
if (!$this->execute($sql)) {
$this->mostrarMensaje("Error: problems updating.");
} else {
$this->mostrarMensaje("The document has been updated.");
}
}else{
$this->mostrarMensaje("Ya existe un documento con el mismo nombre. Especifique otro nombre de documento.");
echo "<script>window.open(\"../modificar_doc.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&idsss=$idsss&name_carpeta=$name_carpeta&name_subcarpeta=$name_subcarpeta&name_subcarpetas=$name_subcarpetas&name_subcarpetass=$name_subcarpetass&id_doc=$id_doc\",\"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=$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>";
}
if($nivel==4){
echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id&ids=$ids&idss=$idss&idsss=$idsss\",\"contenido\");</script>";
}
}
/*eliminar documento*/
function eli_documento($id_doc,$nivel,$id,$name_carpeta,$ids,$name_subcarpeta,$idss,$name_subcarpetas,$idsss,$name_subcarpetass){
$dbf= new DBManager('MySQL');
$dbf->connect();
$sql1= "select titulo,fecha_ing from documentos where id='$id_doc'";
$this->execute($sql1);
list($titulo,$fecha_ing)=$this->fetchRow();
/////
$sql1= "select titulo from documentos where titulo='$titulo' AND fecha_ing = '$fecha_ing'";
$this->execute($sql1);
$cantF = $this->numRows();
$id_=$id;
$db= new DBManager('MySQL');
$db->connect();
$sql1= "select id, fichero from archivo where documento='$id_doc'";
$cant;
if($this->execute($sql1)){
$cant = $this->numRows();
if($cantF > 1){
while(list($id, $fichero)=$this->fetchRow()){
$sql = "delete from archivo where id = '$id'";
if(!$db->execute($sql) ){
$db->isDebuggerEnabled();
$msg = $db->getException();
$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
}else{
$cant--;
}
}
$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
if ( (!$this->execute($sql))||($cant>0) ) {
$this->mostrarMensaje("Error: The document cannot be deleted.");
} else {
$this->mostrarMensaje("The document has been deleted.");
}
}else if($cantF == 1){
while(list($id, $fichero)=$this->fetchRow()){
$rutafoto = "../archivos/".$fichero;
//borrado del archivo o archivos
if (file_exists($rutafoto)){
if(unlink($rutafoto)){
$sql = "delete from archivo where id = '$id'";
if(!$db->execute($sql) ){
$db->isDebuggerEnabled();
$msg = $db->getException();
$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
}else{
$cant--;
}
}else{
$this->mostrarMensaje("File no deleted from the server.");
}
}else{
$this->mostrarMensaje("The file: ".$fichero." not exist. \\nThe file was not deleted from the server.");
}
}
$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
if ( (!$this->execute($sql))||($cant>0) ) {
$this->mostrarMensaje("Error: The document cannot be deleted.");
} else {
$this->mostrarMensaje("The document has been deleted.");
}
}
}else{
$this->mostrarMensaje("Imposible get document information");
}
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=$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>";
}
if($nivel==4){
echo "<script>window.open(\"../index.php?nivel=$nivel&id=$id_&ids=$ids&idss=$idss&idsss=$idsss\",\"contenido\");</script>";
}
}
function listar_documentos(){
$db= new DBManager('MySQL');
$db->connect();
$db1= new DBManager('MySQL');
$db1->connect();
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
$sql = "SELECT id,nombre FROM carpeta WHERE tipo='carpeta' ORDER BY nombre ASC";
$this->execute($sql);
if($this->numRows()>0){
while(list($id, $nombre)=$this->fetchRow()){
echo '<tr><td>+<a href="documentos.php?id_car='.$id.'" class="contenido2">'.$nombre.'</a></td></tr>';
$sql = "SELECT id,nombre FROM carpeta WHERE parent = $id AND tipo='subcarpeta' ORDER BY nombre ASC";
$db->execute($sql);
if($db->numRows()>0){
while(list($id_, $nombre_)=$db->fetchRow()){
echo '<tr><td><span style="position:relative; left:10px">+<a href="documentos.php?id_car='.$id_.'" class="contenido2">'.$nombre_.'</a></span></td></tr>';
$sql = "SELECT id,titulo FROM documentos WHERE carpeta = $id_";
$db1->execute($sql);
if($db1->numRows()>0){
while(list($id_c, $titulo)=$db1->fetchRow()){
echo '<tr><td><span style="position:relative; left:20px">-<a href="documentos.php?id_car='.$id_.'" class="titulo">'.$titulo.'</a></span></td></tr>';
}
}
}
}
$sql = "SELECT id,titulo FROM documentos WHERE carpeta = $id";
$db->execute($sql);
if($db->numRows()>0){
while(list($id_, $titulo)=$db->fetchRow()){
echo '<tr><td><span style="position:relative; left:10px">-<a href="documentos.php?id_car='.$id.'" class="titulo">'.$titulo.'</a></span></td></tr>';
}
}
}
}
echo '</table>';
}
function eli_documento2($id_doc){
$id_=$id;
$db= new DBManager('MySQL');
$db->connect();
$sql1= "select id, fichero from archivo where documento='$id_doc'";
$cant;
if($this->execute($sql1)){
$cant = $this->numRows();
while(list($id, $fichero)=$this->fetchRow()){
$rutafoto = '../aplicaciones/admon/documentos/docs/archivos/'.$fichero;
//borrado del archivo o archivos
if (file_exists($rutafoto)){
if(unlink($rutafoto)){
$sql = "delete from archivo where id = '$id'";
if(!$db->execute($sql) ){
//$db->isDebuggerEnabled();
$msg = $db->getException();
//$this->mostrarMensaje("Error: ".$msg." (".$sql.")!");
$error++;
}else{
$cant--;
}
}else{
$error++;
//$this->mostrarMensaje("File no deleted from the server.");
}
}else{
$this->mostrarMensaje("The file was not deleted phisicaly from the server. \\nThe file: ".$fichero." not exist!");
//$error++;
}
}
}else{
$this->mostrarMensaje("Imposible get document information");
}
$sql = "DELETE FROM documentos WHERE id = '$id_doc'";
//if ( (!$this->execute($sql))||($cant>0) ) {
if ( !$this->execute($sql) ) {
$this->mostrarMensaje("Error: The document cannot be deleted.");
} else {
$this->mostrarMensaje("The document has been deleted.");
}
}
}
?>