propiedad_id = $data["propiedad_id"]; if ( isset( $data["nombre"])) $this->nombre = $data["nombre"]; if ( isset( $data["imagen"])) $this->imagen = $data["imagen"]; if ( isset( $data["localidad"])) $this->localidad = $data["localidad"]; if ( isset( $data["precio"])) $this->precio = $data["precio"]; if ( isset( $data["barrio"])) $this->barrio = $data["barrio"]; if ( isset( $data["tipo_operacion"])) $this->tipo_operacion = $data["tipo_operacion"]; if ( isset( $data["tipo_inmueble"])) $this->tipo_inmueble = $data["tipo_inmueble"]; if ( isset( $data["dormitorios"])) $this->dormitorios = $data["dormitorios"]; if ( isset( $data["banios"])) $this->banios = $data["banios"]; if ( isset( $data["superficie_total"])) $this->superficie_total = $data["superficie_total"]; if ( isset( $data["superficie_cubierta"])) $this->superficie_cubierta = $data["superficie_cubierta"]; if ( isset( $data["antiguedad"])) $this->antiguedad = $data["antiguedad"]; if ( isset( $data["descripcion"])) $this->descripcion = $data["descripcion"]; if ( isset( $data["codigo"])) $this->codigo = $data["codigo"]; if ( isset( $data["ubicacion"])) $this->ubicacion = $data["ubicacion"]; if ( isset( $data["ambientes"])) $this->ambientes = $data["ambientes"]; if ( isset( $data["cocheras"])) $this->cocheras = $data["cocheras"]; if ( isset( $data["tipo_cochera"])) $this->tipo_cochera = $data["tipo_cochera"]; if ( isset( $data["expensas"])) $this->expensas = $data["expensas"]; if ( isset( $data["orientacion"])) $this->orientacion = $data["orientacion"]; if ( isset( $data["seguridad"])) $this->seguridad = $data["seguridad"]; if ( isset( $data["calefaccion"])) $this->calefaccion = $data["calefaccion"]; if ( isset( $data["aire_acondicionado"])) $this->aire_acondicionado = $data["aire_acondicionado"]; if ( isset( $data["balcon"])) $this->balcon = $data["balcon"]; if ( isset( $data["baulera"])) $this->baulera = $data["baulera"]; if ( isset( $data["referencia"])) $this->referencia = $data["referencia"]; if ( isset( $data["direccion"])) $this->direccion = $data["direccion"]; if ( isset( $data["busqueda"])) $this->busqueda= $data["busqueda"]; if ( isset( $data["moneda"])) $this->moneda = $data["moneda"]; if ( isset( $data["orden"])) $this->orden = $data["orden"]; } public static function getById( $propiedad_id ) { $result = ConnectionFactory::getFactory()->getByArray("propiedad", array("propiedad_id"), array($propiedad_id), "Propiedad"); return $result["object"]; } public static function getList($page) { $rows = getAdminCookieValue("PROPIEDAD_PER_PAGE"); if (!$rows || !ctype_digit($rows)) $rows = DEFAULT_ROWS; $limit1 = ($page-1)*$rows; $limit2 = $rows; $result = ConnectionFactory::getFactory()->getList("propiedad", "Propiedad", " $limit1,$limit2 ", null, "orden desc"); return (array("results" => $result["list"], "totalRows" => $result["totalRows"])); } public static function getAllList() { $result = ConnectionFactory::getFactory()->getList("propiedad", "Propiedad", null, null, null ); return (array("results" => $result["list"], "totalRows" => $result["totalRows"])); } public function delete() { $result = ConnectionFactory::getFactory()->delete("propiedad", "propiedad_id", $this->propiedad_id); Propiedad::reorderSliders($this->orden); } public function validateBeforeInsert(){ $error = false; return $error; } public function insert() { $error = $this->validateBeforeInsert(); $id = "0"; if (!$error){ if (isset($_FILES["imagen"]) && isset($_FILES["imagen"]["tmp_name"]) && $_FILES["imagen"]["tmp_name"] != ""){ $photo2 = returnEncryptedName($_FILES["imagen"]["name"],generateRandomString()); }else $photo2 = null; $this->imagen = $photo2; $this->orden = getTotalRows("select count(*) c from propiedad") + 1; $fields = array("nombre","imagen","localidad","precio","barrio","tipo_operacion","tipo_inmueble","dormitorios","banios","superficie_total","superficie_cubierta","antiguedad","descripcion","codigo","ubicacion","ambientes","cocheras","tipo_cochera","expensas","orientacion","seguridad","calefaccion","aire_acondicionado","balcon","baulera","referencia","direccion","busqueda","moneda","orden"); $result = ConnectionFactory::getFactory()->insert($this, "propiedad", $fields); if ($result["error"]) $error = array($result["error"]); $id = $result["id"]; if (isset($photo2) && $photo2 != null && $photo2 != "" && $id != "0") saveImageToPath(PROPIEDADES_PATH,$photo2,'imagen',null); } return array("error" => $error, "id" => $id); } public function update() { if ( is_null( $this->propiedad_id ) ) trigger_error ( "Update error", E_USER_ERROR ); $error = $this->validateBeforeInsert(); if (!$error){ if (isset($_FILES["imagen2"]) && isset($_FILES["imagen2"]["tmp_name"]) && $_FILES["imagen2"]["tmp_name"] != ""){ $photo2 = returnEncryptedName($_FILES["imagen2"]["name"],generateRandomString()); $old = Propiedad::getById($this->propiedad_id); }else $photo2 = isset($_POST['eliminado']) && $_POST['eliminado'] == 1 ? '' : $this->imagen; $this->imagen = $photo2; $fields = array("nombre","imagen","localidad","precio","barrio","tipo_operacion","tipo_inmueble","dormitorios","banios","superficie_total","superficie_cubierta","antiguedad","descripcion","codigo","ubicacion","ambientes","cocheras","tipo_cochera","expensas","orientacion","seguridad","calefaccion","aire_acondicionado","balcon","baulera","referencia","direccion","busqueda","moneda"); $error = ConnectionFactory::getFactory()->update($this, "propiedad", $fields, "propiedad_id"); if ($error) $error = array($error); if (isset($photo2) && $photo2 != null && $photo2 != "") saveImageToPath(PROPIEDADES_PATH,$photo2,'imagen2',$old->imagen); } return array("error" => $error, "id" => $this->propiedad_id); } public static function searchFront($q, $operacion, $tipo, $localidad, $barrio, $precio, $page) { $rows = getAdminCookieValue("PROPIEDAD_PER_PAGE"); if (!$rows || !ctype_digit($rows)) $rows = DEFAULT_ROWS; $limit1 = ($page-1)*$rows; $limit2 = $rows; $where = array(); if ($q && $q != ''){ $q= ConnectionFactory::getFactory()->getConnection()->real_escape_string($q); $where[] = " busqueda like '%$q%' "; } if ($operacion && $operacion != ''){ $operacion = ConnectionFactory::getFactory()->getConnection()->real_escape_string($operacion); $where[] = " tipo_operacion = $operacion "; } if ($tipo && $tipo != ''){ $tipo = ConnectionFactory::getFactory()->getConnection()->real_escape_string($tipo); $where[] = " tipo_inmueble = $tipo "; } if ($localidad && $localidad != ''){ $localidad = ConnectionFactory::getFactory()->getConnection()->real_escape_string($localidad); $where[] = " localidad = $localidad "; } if ($barrio && $barrio != ''){ $barrio = ConnectionFactory::getFactory()->getConnection()->real_escape_string($barrio); $where[] = " barrio = $barrio "; } $result = ConnectionFactory::getFactory()->getList("propiedad", "Propiedad", " $limit1,$limit2 ", $where, "orden desc" ); return (array("results" => $result["list"], "totalRows" => $result["totalRows"])); } public static function moveUp($order){ $mysqli = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); $sql = $mysqli->prepare("update propiedad set orden = 0 where orden = $order" ); $sql->execute(); $sql = $mysqli->prepare("update propiedad set orden = $order where orden = $order - 1" ); $sql->execute(); $sql = $mysqli->prepare("update propiedad set orden = ($order - 1) where orden = 0" ); $sql->execute(); } public static function moveDown($order){ $total = getTotalRows("select count(*) c from propiedad"); if ($order < $total){ $mysqli = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); $sql = $mysqli->prepare("update propiedad set orden = 0 where orden = $order" ); $sql->execute(); $sql = $mysqli->prepare("update propiedad set orden = $order where orden = $order + 1" ); $sql->execute(); $sql = $mysqli->prepare("update propiedad set orden = ($order + 1) where orden = 0" ); $sql->execute(); } } public static function reorderSliders($from){ $mysqli = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); $sql = "update propiedad set orden = (orden - 1) where orden > $from"; $sql = $mysqli->prepare($sql ); $sql->execute(); } } ?>