public function cancel() { delete_images_temp(); redirect('/paneluser/propiedades/'); }
public function edit($data = array(), $prop_id = null) { if (!is_numeric($prop_id)) { return false; } $services = $data['extra_post']->services; $images_new = $data['extra_post']->images_new; $images_deletes = $data['extra_post']->images_delete; $images_modified_id = $data['extra_post']->images_modified_id; $images_modified_name = $data['extra_post']->images_modified_name; unset($data['extra_post']); $this->db->trans_start(); // INICIO TRANSACCION // MODIFICA LOS DATOS DE LA PROPIEDAD $this->db->where('prop_id', $prop_id); if (!$this->db->update(TBL_PROPERTIES, $data)) { display_error(__FILE__, "update", ERR_DB_UPDATE, array(TBL_PROPERTIES)); } // ELIMINA E INSERTA LOS SERVICIOS if (!$this->db->delete(TBL_PROPERTIES_SERVS, array('prop_id' => $prop_id))) { display_error(__FILE__, "update", ERR_DB_DELETE, array(TBL_PROPERTIES_SERVS)); } // INSERTA LOS SERVICIOS $this->_create_servprop($services, $prop_id); // ELIMINA IMAGENES foreach ($images_deletes as $image_id) { echo $image_id . "<br>"; $row = $this->db->query("SELECT name, name_thumb FROM " . TBL_IMAGES . " WHERE image_id=" . $image_id)->row_array(); @unlink(UPLOAD_DIR . $row['name']); @unlink(UPLOAD_DIR . $row['name_thumb']); if (count($images_modified_id) == 0) { if (!$this->db->delete(TBL_IMAGES, array('image_id' => $image_id))) { display_error(__FILE__, "update", ERR_DB_DELETE, array(TBL_IMAGES)); } } } // COPIA LAS IMAGENES NUEVAS if (count($images_new) > 0) { $data = $this->_copy_images($images_new, $prop_id); if (!$data) { return false; } // GUARDA LAS IMAGENES EN LA BASE DE DATO foreach ($data as $dat) { if (!$this->db->insert(TBL_IMAGES, $dat)) { display_error(__FILE__, "update", ERR_DB_INSERT, array(TBL_IMAGES)); } } } // COPIA Y MODIFICA LAS IMAGENES if (count($images_modified_name) > 0) { $data = $this->_copy_images($images_modified_name, $prop_id); if (!$data) { return false; } // MODIFICA LAS IMAGENES EN LA BASE DE DATO foreach ($images_modified_id as $image_id) { $dat = current($data); unset($dat['prop_id']); $this->db->where('image_id', $image_id); if (!$this->db->update(TBL_IMAGES, $dat)) { display_error(__FILE__, "update", ERR_DB_UPDATE, array(TBL_IMAGES)); } next($data); } } // ELIMINA LAS IMAGENES TEMPORALES DEL USUARIO delete_images_temp(); $this->db->trans_complete(); // COMPLETO LA TRANSACCION return "ok"; }