Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 /**
  * 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;
 }
Esempio n. 3
0
 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;
 }