public function updateInfo($para) { try { if ($this->validateUpdateInfo($para)) { $attractionBO = $this->get($para->term_taxonomy_id); if ($attractionBO != NULL) { if (isset($para->name)) { $attractionBO->name = $para->name; } if (isset($para->slug)) { $attractionBO->slug = $para->slug; } if (isset($para->description)) { $attractionBO->description = $para->description; } if (isset($para->image_delete_list)) { $attractionBO->image_delete_list = $para->image_delete_list; } if (isset($para->images)) { $attractionBO->images_upload = $para->images; } if (isset($para->parent)) { $attractionBO->parent = $para->parent; } $this->db->beginTransaction(); if ($this->update($attractionBO)) { if (isset($para->country)) { if (!isset($attractionBO->country)) { $attractionBO->country = $para->country; $this->addMetaInfoToDatabase($attractionBO->term_id, "country", $attractionBO->country); } else { if ($attractionBO->country != $para->country) { $attractionBO->country = $para->country; $this->updateMetaInfoToDatabase($attractionBO->term_id, "country", $attractionBO->country); } } } if (isset($para->city)) { if (!isset($attractionBO->city)) { $attractionBO->city = $para->city; $this->addMetaInfoToDatabase($attractionBO->term_id, "city", $attractionBO->city); } else { if ($attractionBO->city != $para->city) { $attractionBO->city = $para->city; $this->updateMetaInfoToDatabase($attractionBO->term_id, "city", $attractionBO->city); } } } if (isset($para->destination)) { if (!isset($attractionBO->destination)) { $attractionBO->destination = $para->destination; $this->addMetaInfoToDatabase($attractionBO->term_id, "destination", $attractionBO->destination); } else { if ($attractionBO->destination != $para->destination) { $attractionBO->destination = $para->destination; $this->updateMetaInfoToDatabase($attractionBO->term_id, "destination", $attractionBO->destination); } } } if (isset($para->current_rating)) { if (!isset($attractionBO->current_rating)) { $attractionBO->current_rating = $para->current_rating; $this->addMetaInfoToDatabase($attractionBO->term_id, "current_rating", $attractionBO->current_rating); } else { if ($attractionBO->current_rating != $para->current_rating) { $attractionBO->current_rating = $para->current_rating; $this->updateMetaInfoToDatabase($attractionBO->term_id, "current_rating", $attractionBO->current_rating); } } } if (isset($para->vote_times)) { if (!isset($attractionBO->vote_times)) { $attractionBO->vote_times = $para->vote_times; $this->addMetaInfoToDatabase($attractionBO->term_id, "vote_times", $attractionBO->vote_times) == NULL; } else { if ($attractionBO->vote_times != $para->vote_times) { $attractionBO->vote_times = $para->vote_times; $this->updateMetaInfoToDatabase($attractionBO->term_id, "vote_times", $attractionBO->vote_times); } } } if (isset($attractionBO->post_content_1) || isset($attractionBO->post_content_2) || isset($para->post_content_1) || isset($para->post_content_2)) { if (isset($para->post_content_1)) { $attractionBO->post_content_1 = $para->post_content_1; } if (isset($para->post_content_2)) { $attractionBO->post_content_2 = $para->post_content_2; } $this->updateContent($attractionBO); if (isset($para->tag_array) || isset($attractionBO->tag_list)) { Model::autoloadModel('tag'); $tagModel = new TagModel($this->db); Model::autoloadModel('taxonomy'); $taxonomyModel = new TaxonomyModel($this->db); if (!isset($para->tag_array) || count($para->tag_array) == 0) { foreach ($attractionBO->tag_list as $tag) { $tagModel->deleteRelationship($attractionBO->postBO->ID, $tag->term_taxonomy_id); } } elseif (!isset($attractionBO->tag_list) || count($attractionBO->tag_list) == 0) { if (count($para->tag_array) > 0) { $tag_id_array = $tagModel->addTagArray($para->tag_array); for ($i = 0; $i < count($tag_id_array); $i++) { $taxonomyModel->addRelationshipToDatabase($attractionBO->postBO->ID, $tag_id_array[$i]); } } } elseif (isset($para->tag_array) && isset($attractionBO->tag_list) && count($para->tag_array) > 0 && count($attractionBO->tag_list) > 0) { $tags_old_array = array(); foreach ($attractionBO->tag_list as $tag_old) { $tags_old_array[] = $tag_old->name; } $tags_new_array = array(); for ($i = 0; $i < count($para->tag_array); $i++) { if (!in_array($para->tag_array[$i], $tags_old_array)) { $tags_new_array[] = $para->tag_array[$i]; } } if (count($tags_new_array) > 0) { $tag_id_new_array = $tagModel->addTagArray($tags_new_array); for ($i = 0; $i < count($tag_id_new_array); $i++) { $taxonomyModel->addRelationshipToDatabase($attractionBO->postBO->ID, $tag_id_new_array[$i]); } } $tags_delete_array = array(); for ($i = 0; $i < count($attractionBO->tag_list); $i++) { if (!in_array($attractionBO->tag_list[$i]->name, $para->tag_array)) { $tags_delete_array[] = $attractionBO->tag_list[$i]; } } if (count($tags_delete_array) > 0) { foreach ($tags_delete_array as $tag) { $tagModel->deleteRelationship($attractionBO->postBO->ID, $tag->term_taxonomy_id); } } } } } $this->db->commit(); $_SESSION["fb_success"][] = UPDATE_ATTRACTION_SUCCESS; return TRUE; } else { $this->db->rollBack(); $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_ATTRACTION; } } } } catch (Exception $e) { $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_ATTRACTION; } return FALSE; }
/** * updateInfo * * Update info of internalflight * * @param stdClass $para para for update info of internalflight */ public function updateInfo($para) { try { if ($this->validateUpdateInfo($para)) { $internalflightBO = $this->get($para->post_id); if ($internalflightBO != NULL) { if (isset($para->post_title) && $internalflightBO->post_title != $para->post_title) { $internalflightBO->post_title = $para->post_title; } if (isset($para->post_content) && $internalflightBO->post_content != $para->post_content) { $internalflightBO->post_content = $para->post_content; } if (isset($para->post_name) && $internalflightBO->post_name != $para->post_name) { $internalflightBO->post_name = $para->post_name; } $internalflightBO->post_modified = date("Y-m-d H:i:s"); $internalflightBO->post_modified_gmt = gmdate("Y-m-d H:i:s"); $this->db->beginTransaction(); if (isset($para->image)) { Model::autoloadModel("image"); $imageModel = new ImageModel($this->db); $imageModel->is_create_thumb = true; $imageModel->is_medium = true; $image_array_id = $imageModel->uploadImages("image"); if (!is_null($image_array_id) && is_array($image_array_id) && sizeof($image_array_id) != 0) { $image_id = $image_array_id[0]; $image_id_old = $internalflightBO->image_id; } else { $_SESSION["fb_error"][] = ERROR_UPLOAD_IMAGE_FAILED; $this->db->rollBack(); return FALSE; } } if ($this->update($internalflightBO)) { $guid = CONTEXT_PATH_INTERNALFLIGHT_VIEW . $para->post_id . "/" . $internalflightBO->post_name . "/"; if (isset($internalflightBO->guid) && $internalflightBO->guid != $guid || !isset($internalflightBO->guid)) { $internalflightBO->guid = $guid; if (!$this->updateGuid($para->post_id, $guid)) { $this->db->rollBack(); if (isset($imageModel) && isset($image_id)) { $imageModel->delete($image_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } if (isset($image_id)) { if (!isset($internalflightBO->image_id)) { $internalflightBO->image_id = $image_id; if ($this->addMetaInfoToDatabase($para->post_id, "image_id", $internalflightBO->image_id) == NULL) { $this->db->rollBack(); if (isset($imageModel) && isset($image_id)) { $imageModel->delete($image_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } else { if ($internalflightBO->image_id != $image_id) { $internalflightBO->image_id = $image_id; if (!$this->updateMetaInfoToDatabase($para->post_id, "image_id", $internalflightBO->image_id)) { $this->db->rollBack(); if (isset($imageModel) && isset($image_id)) { $imageModel->delete($image_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } } } if (isset($para->current_rating)) { if (!isset($internalflightBO->current_rating)) { $internalflightBO->current_rating = $para->current_rating; if ($this->addMetaInfoToDatabase($para->post_id, "current_rating", $internalflightBO->current_rating) == NULL) { $this->db->rollBack(); if (isset($imageModel) && isset($current_rating)) { $imageModel->delete($current_rating); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } else { if ($internalflightBO->current_rating != $para->current_rating) { $internalflightBO->current_rating = $para->current_rating; if (!$this->updateMetaInfoToDatabase($para->post_id, "current_rating", $internalflightBO->current_rating)) { $this->db->rollBack(); if (isset($imageModel) && isset($current_rating)) { $imageModel->delete($current_rating); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } } } if (isset($para->vote_times)) { if (!isset($internalflightBO->vote_times)) { $internalflightBO->vote_times = $para->vote_times; if ($this->addMetaInfoToDatabase($para->post_id, "vote_times", $internalflightBO->vote_times) == NULL) { $this->db->rollBack(); if (isset($imageModel) && isset($vote_times)) { $imageModel->delete($vote_times); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } else { if ($internalflightBO->vote_times != $para->vote_times) { $internalflightBO->vote_times = $para->vote_times; if (!$this->updateMetaInfoToDatabase($para->post_id, "vote_times", $internalflightBO->vote_times)) { $this->db->rollBack(); if (isset($imageModel) && isset($vote_times)) { $imageModel->delete($vote_times); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } } } if (isset($para->city_id)) { if (!isset($internalflightBO->city_id)) { $internalflightBO->city_id = $para->city_id; if ($this->addMetaInfoToDatabase($para->post_id, "city_id", $internalflightBO->city_id) == NULL) { $this->db->rollBack(); if (isset($imageModel) && isset($city_id)) { $imageModel->delete($city_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } else { if ($internalflightBO->city_id != $para->city_id) { $internalflightBO->city_id = $para->city_id; if (!$this->updateMetaInfoToDatabase($para->post_id, "city_id", $internalflightBO->city_id)) { $this->db->rollBack(); if (isset($imageModel) && isset($city_id)) { $imageModel->delete($city_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } } } if (isset($para->country_id)) { if (!isset($internalflightBO->country_id)) { $internalflightBO->country_id = $para->country_id; if ($this->addMetaInfoToDatabase($para->post_id, "country_id", $internalflightBO->country_id) == NULL) { $this->db->rollBack(); if (isset($imageModel) && isset($country_id)) { $imageModel->delete($country_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } else { if ($internalflightBO->country_id != $para->country_id) { $internalflightBO->country_id = $para->country_id; if (!$this->updateMetaInfoToDatabase($para->post_id, "country_id", $internalflightBO->country_id)) { $this->db->rollBack(); if (isset($imageModel) && isset($country_id)) { $imageModel->delete($country_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; return FALSE; } } } } if (isset($para->tag_array) || isset($internalflightBO->tag_list)) { Model::autoloadModel('tag'); $tagModel = new TagModel($this->db); Model::autoloadModel('taxonomy'); $taxonomyModel = new TaxonomyModel($this->db); if (!isset($para->tag_array) || count($para->tag_array) == 0) { foreach ($internalflightBO->tag_list as $tag) { $tagModel->deleteRelationship($para->post_id, $tag->term_taxonomy_id); } } elseif (!isset($internalflightBO->tag_list) || count($internalflightBO->tag_list) == 0) { if (count($para->tag_array) > 0) { $tag_id_array = $tagModel->addTagArray($para->tag_array); for ($i = 0; $i < count($tag_id_array); $i++) { $taxonomyModel->addRelationshipToDatabase($para->post_id, $tag_id_array[$i]); } } } elseif (isset($para->tag_array) && isset($internalflightBO->tag_list) && count($para->tag_array) > 0 && count($internalflightBO->tag_list) > 0) { $tags_old_array = array(); foreach ($internalflightBO->tag_list as $tag_old) { $tags_old_array[] = $tag_old->name; } $tags_new_array = array(); for ($i = 0; $i < count($para->tag_array); $i++) { if (!in_array($para->tag_array[$i], $tags_old_array)) { $tags_new_array[] = $para->tag_array[$i]; } } if (count($tags_new_array) > 0) { $tag_id_new_array = $tagModel->addTagArray($tags_new_array); for ($i = 0; $i < count($tag_id_new_array); $i++) { $taxonomyModel->addRelationshipToDatabase($para->post_id, $tag_id_new_array[$i]); } } $tags_delete_array = array(); for ($i = 0; $i < count($internalflightBO->tag_list); $i++) { if (!in_array($internalflightBO->tag_list[$i]->name, $para->tag_array)) { $tags_delete_array[] = $internalflightBO->tag_list[$i]; } } if (count($tags_delete_array) > 0) { foreach ($tags_delete_array as $tag) { $tagModel->deleteRelationship($para->post_id, $tag->term_taxonomy_id); } } } } $this->db->commit(); if (isset($imageModel) && isset($image_id) && isset($image_id_old)) { $imageModel->delete($image_id_old); } $_SESSION["fb_success"][] = UPDATE_INTERNALFLIGHT_SUCCESS; return TRUE; } else { $this->db->rollBack(); if (isset($imageModel) && isset($image_id)) { $imageModel->delete($image_id); } $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; } } } } catch (Exception $e) { $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_INTERNALFLIGHT; } return FALSE; }
public function updateInfo($para) { try { if ($this->validateUpdateInfo($para)) { $countryBO = $this->get($para->term_taxonomy_id); if ($countryBO != NULL) { if (isset($para->name)) { $countryBO->name = $para->name; } if (isset($para->slug)) { $countryBO->slug = $para->slug; } if (isset($para->description)) { $countryBO->description = $para->description; } if (isset($para->parent)) { $countryBO->parent = $para->parent; } else { $countryBO->parent = 0; } if (isset($para->image_weather_delete_list)) { $countryBO->image_weather_delete_list = $para->image_weather_delete_list; } if (isset($para->image_weathers)) { $countryBO->image_weathers_upload = $para->image_weathers; } $this->db->beginTransaction(); if ($this->update($countryBO)) { if (isset($countryBO->overview) || isset($countryBO->history) || isset($para->overview) || isset($para->history) || isset($countryBO->weather) || isset($countryBO->passport_visa) || isset($para->weather) || isset($para->passport_visa) || isset($countryBO->currency) || isset($countryBO->phone_internet_service) || isset($para->currency) || isset($para->phone_internet_service) || isset($countryBO->transportation) || isset($countryBO->food_drink) || isset($para->transportation) || isset($para->food_drink) || isset($countryBO->public_holiday) || isset($countryBO->predeparture_check_list) || isset($para->public_holiday) || isset($para->predeparture_check_list)) { if (isset($para->overview)) { $countryBO->overview = $para->overview; } if (isset($para->history)) { $countryBO->history = $para->history; } if (isset($para->weather)) { $countryBO->weather = $para->weather; } if (isset($para->passport_visa)) { $countryBO->passport_visa = $para->passport_visa; } if (isset($para->currency)) { $countryBO->currency = $para->currency; } if (isset($para->phone_internet_service)) { $countryBO->phone_internet_service = $para->phone_internet_service; } if (isset($para->transportation)) { $countryBO->transportation = $para->transportation; } if (isset($para->food_drink)) { $countryBO->food_drink = $para->food_drink; } if (isset($para->public_holiday)) { $countryBO->public_holiday = $para->public_holiday; } if (isset($para->public_holiday)) { $countryBO->public_holiday = $para->public_holiday; } if (isset($para->predeparture_check_list)) { $countryBO->predeparture_check_list = $para->predeparture_check_list; } $this->updateContent($countryBO); if (isset($para->tag_array) || isset($countryBO->tag_list)) { Model::autoloadModel('tag'); $tagModel = new TagModel($this->db); Model::autoloadModel('taxonomy'); $taxonomyModel = new TaxonomyModel($this->db); if (!isset($para->tag_array) || count($para->tag_array) == 0) { foreach ($countryBO->tag_list as $tag) { $tagModel->deleteRelationship($countryBO->postBO->ID, $tag->term_taxonomy_id); } } elseif (!isset($countryBO->tag_list) || count($countryBO->tag_list) == 0) { if (count($para->tag_array) > 0) { $tag_id_array = $tagModel->addTagArray($para->tag_array); for ($i = 0; $i < count($tag_id_array); $i++) { $taxonomyModel->addRelationshipToDatabase($countryBO->postBO->ID, $tag_id_array[$i]); } } } elseif (isset($para->tag_array) && isset($countryBO->tag_list) && count($para->tag_array) > 0 && count($countryBO->tag_list) > 0) { $tags_old_array = array(); foreach ($countryBO->tag_list as $tag_old) { $tags_old_array[] = $tag_old->name; } $tags_new_array = array(); for ($i = 0; $i < count($para->tag_array); $i++) { if (!in_array($para->tag_array[$i], $tags_old_array)) { $tags_new_array[] = $para->tag_array[$i]; } } if (count($tags_new_array) > 0) { $tag_id_new_array = $tagModel->addTagArray($tags_new_array); for ($i = 0; $i < count($tag_id_new_array); $i++) { $taxonomyModel->addRelationshipToDatabase($countryBO->postBO->ID, $tag_id_new_array[$i]); } } $tags_delete_array = array(); for ($i = 0; $i < count($countryBO->tag_list); $i++) { if (!in_array($countryBO->tag_list[$i]->name, $para->tag_array)) { $tags_delete_array[] = $countryBO->tag_list[$i]; } } if (count($tags_delete_array) > 0) { foreach ($tags_delete_array as $tag) { $tagModel->deleteRelationship($countryBO->postBO->ID, $tag->term_taxonomy_id); } } } } } $this->db->commit(); $_SESSION["fb_success"][] = UPDATE_COUNTRY_SUCCESS; return TRUE; } else { $this->db->rollBack(); $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_COUNTRY; } } } } catch (Exception $e) { $_SESSION["fb_error"][] = ERROR_UPDATE_INFO_COUNTRY; } return FALSE; }