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/clientes/fnc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/logicswapweb/aplicaciones/admon/clientes/fnc/Copy of inmueble.php
<?php
include('DBConnect.php');
/********************************************************
clase cliente: 
			utiliza la interfas de BD para realizar 
			las necesidades propias de registro y 
			verificacion de clientes de el sitio
*********************************************************/

class Inmueble extends DBManager{
/***********************************************************
variable:		fecha_actual
descripcion:	matiene la fecha del sistema
***********************************************************/
var $fecha_actual;

var $contacto = "[email protected]";

/***********************************************************
variable:		salida
descripcion:	da los resultados a todas las acciones executadas
				por el cliente
***********************************************************/
var $salida = array();

/************************************************************
FUNCION: 		cliente (constructor)
DESCRIPCION: 	inicializa interfaz de conexion de DB
*************************************************************/
function Inmueble() {
    $this->DBManager('MySQL');
	$this->connect();
	$this->fecha = date('Y-m-d');
	$this->hora = date('H-i-s');
}

/***********************************************************
funcion:		get_error
descripcion:	trae la descripcion del error de el archivo
				de errores
***********************************************************/
function get_error($error){
	$file = @file("error.txt");
	$desc_error = "none";
	if(!$file){	$desc_error = "Imposible leer el fichero de error!"; return $desc_error;}
	else{

		$siga=true;
		$lineas = sizeof($file);
		$i=0;
		while(($i++<=$lineas) && ($siga)){
			if(substr($file[$i], 0, 1) == "#" || !strlen($file[$i])) { continue; }
			$pos = strpos ($file[$i], $error);
			if($pos===false){
				continue;
			}else{
				$vec = explode("|",$file[$i]);
				$desc_error = $vec[1];
				break 1;
			}
		}
		if($i-1==$lineas){$desc_error="Error no encontrado!";}
		return $desc_error;	
	}
}

/************************************************************
FUNCION: 		set_salida
DESCRIPCION: 	pone valores a la salida de la funcion en 
				salida['resul'] y salida['msg']
*************************************************************/
function set_salida($resul,$msg){
	$this->salida['resul']=$resul;
	$this->salida['msg']=$msg;
	//echo $this->salida['msg']."<br><br>";
}
/************************************************************
FUNCION: 		captureUpload
DESCRIPCION: 	copia el archivo de inmuebles a una hubicacion
				en el servidor y lo renombra si ya existe
*************************************************************/
function cargar_archivo($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\"");//array(false,'No files were uploaded. Make sure your form tag\'s enctype was set to multipart/form-data and that the right field is being checked for the uploaded file.');
   
   //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");//array(false,'The file uploaded was to large.');
   
   //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,"Permiso denegado para copiar el archivo!");//array(false,'Could not write the file "'.$file['name'].'" to: "'.$destDir.'". Permission denied.');
   else
       return array(true,$file['name']);
} 

/************************************************************
FUNCION: 		add_inmuebles
DESCRIPCION: 	ingresa informacion los inmuebles en la DB
*************************************************************/
function add_inmuebles($archivo, $tipo, $disposicion){
	$dir="indefinido";
	if($disposicion=="../venta"){
		$dir = "venta/";
	}else{
		$dir = "../arrendamiento/";
	}
	$dir.=$tipo."/";
	$siga = $this->vaciar_inmuebles($tipo,$disposicion);
	if($siga['resul']){
		list($resul,$response)=$this->cargar_archivo($dir,false,$archivo);
		if($resul){
			$file="";
			$file = @file($dir.$response);
			if($file){
				$file = implode("",$file);
				$file= explode(":",$file);
				$cantidad = count($file);
				$j=0;
				$ind=0;
				$inmueble = array();
				while( $j<($cantidad-1)){
					$sql = "insert into inmueble values ('$tipo','$disposicion',";
					for($i=0;$i<=21;$i++){
						$inmueble[$ind][$i]=trim($file[$j]);
						$temp = "".$inmueble[$ind][$i]."";
						$sql.="'".$temp."',";
						$j++;
					}
					$sql=substr($sql,0,strlen($sql)-1);//se quita la ultima ","
					$sql.=')';
					if(!$this->execute($sql)){
						$n1=ceil($j/21);
						$n2=floor($j/21);
						$out = trim($this->get_error("[008]"));
						$out.="\\ncerca de las lineas($n1,$n2)del archivo \\nerror:: ";
						$out.=trim($this->getException());
						$this->set_salida(false,$out);
						return $this->salida;
						//break 2;
					}
					$ind++;
				}//end while

				if($j==($cantidad-1)){
					$this->set_salida(true,"Archivo cargado exitosamente!");
					return $this->salida;
				}else{
					$this->set_salida(false,trim($this->getException()));				
					return $this->salida;
				}
			}else{
					$this->set_salida(false,trim($this->get_error("[007]")));
 					return $this->salida;	
			}
		}else{
				$this->set_salida(false,$response);
				return $this->salida;	
		}
	}else{
		return $this->salida;
	}
}//end add_inmuebles

/************************************************************
FUNCION: 		eli_inmuebles
DESCRIPCION: 	elimina el contenido de la tabla inmuebles
*************************************************************/
function vaciar_inmuebles($tipo,$disposicion){
	$sql="delete from inmueble where tipo='$tipo' and finalidad='$disposicion'";
	if($this->execute($sql)){
		$this->set_salida(true,"Se borro la informaci�n almacenada!");
	}else{
		echo $this->getException();
		$this->set_salida(false,$this->getException());
	}
	return $this->salida;
}

/************************************************************
FUNCION: 		query_listar
DESCRIPCION: 	devuelve el query de la lista actual
*************************************************************/
function query_listar($tipo, $buscar){

	if(!$buscar){
		$sql="select codigo, barrio, urbanizacion, finalidad from inmueble where tipo='$tipo' order by codigo";
		return $sql;
	}else{
		$sql="select codigo, barrio, urbanizacion, finalidad from inmueble where (codigo LIKE '%$buscar%') or (urbanizacion LIKE '%$buscar%') or (barrio LIKE '%$buscar%') or (direccion LIKE '%$buscar%')";
		return $sql;
	}

}

/************************************************************
FUNCION: 		add_imagen
DESCRIPCION: 	copia una imagen al servidor y la registra en la DB
*************************************************************/
function add_imagen($inmueble){
		$dir="../img_catalogo/";
		list($resul,$response)=$this->cargar_archivo($dir,false,"archivo");
		if($resul){
			$sql = "insert into img_catalogo (inmueble,nombre) values('$inmueble','$response')";
			if($this->execute($sql)){
				$this->set_salida(true,"Imagen copiada y registrada con exito!");
			}else{
				$this->set_salida(false,"Imagen copiada.\\nerror::".$this->getException());
			}
		}else{
			$this->set_salida(false,$response);
		}
}

/************************************************************
FUNCION: 		eli_imagen
DESCRIPCION: 	copia una imagen al servidor y la registra en la DB
*************************************************************/

function eli_imagen($imagen,$id){
	$file = "../img_catalogo/".$imagen;
	echo $file;
	if(unlink($file)){
		$sql="delete from img_catalogo where id='$id'";
		if($this->execute($sql)){
			$this->set_salida(true,"Imagen Eliminada con exito!");
		}else{
			$this->set_salida(false,"Imagen Borrada.\\nerror::".$this->getException());
		}
	}else{
		$this->set_salida(false,"Permiso Denegado Para eliminar la Imagen en el Servidor");
	}
}

/************************************************************
FUNCION: 		mod_imagen
DESCRIPCION: 	elimina la imagen anterior y copia y registra la nueva
*************************************************************/

function mod_imagen($imagen,$id){
	$dir="../img_catalogo/";
	$file = $dir.$imagen;
	if(unlink($file)){//elimino la anterior
		list($resul,$response)=$this->cargar_archivo($dir,false,"archivo");//copio la nueva
		if($resul){
			$sql="update img_catalogo set nombre = '$response' where id='$id'";
			if($this->execute($sql)){
				$this->set_salida(true,"Imagen Modificada con exito!");
			}else{
				$this->set_salida(false,"Imagen Borrada.\\nerror::".$this->getException());
			}
		}else{
			$this->set_salida(false,"Imagen Borrada.\\nerror::".$response);
		}
	}else{
		$this->set_salida(false,"Permiso Denegado Para reemplazar la imagen en el Servidor");
	}
}

}//end class Inmueble
?>

Anon7 - 2021