public function editePlace($place_id, $data) { $db = JO_Db::getDefaultAdapter(); $parent_id = isset($data['parent_id']) ? $data['parent_id'] : '0'; if ($data['level'] == 1 && ($data['Lat'] == 0.0 || $data['Lng'] == 0.0)) { if (isset($data['description'][JO_Registry::get('config_language_id')]['title'])) { $place_title = $data['description'][JO_Registry::get('config_language_id')]['title']; $get_cordinates = Model_GoogleApi::getCordinatesByPlace($place_title); $data['Lat'] = $get_cordinates['Lat']; $data['Lng'] = $get_cordinates['Lng']; } } $db->update('places', array('image' => $data['image'], 'parent_id' => $parent_id, 'date_modified' => new JO_Db_Expr('NOW()'), 'status' => $data['status'], 'Lat' => (double) (isset($data['Lat']) ? $data['Lat'] : '0'), 'Lng' => (double) (isset($data['Lng']) ? $data['Lng'] : '0'), 'level' => $data['level']), array('place_id = ?' => (int) $place_id)); $db->delete('places_description', array('place_id = ?' => (int) $place_id)); if (isset($data['description'])) { foreach ($data['description'] as $language_id => $value) { $db->insert('places_description', array('place_id' => $place_id, 'language_id' => $language_id, 'meta_title' => $value['meta_title'], 'meta_description' => $value['meta_description'], 'meta_keywords' => $value['meta_keywords'], 'title' => $value['title'], 'description' => $value['description'])); } } $db->delete('places_types', array('place_id = ?' => (int) $place_id)); if (isset($data['type'])) { foreach ($data['type'] as $type) { $db->insert('places_types', array('place_id' => (int) $place_id, 'option_item_id' => (int) $type)); } } if (isset($data['keyword']) && trim($data['keyword'])) { Model_AutoSeo::generatePlace($place_id, $data['keyword']); } else { Model_AutoSeo::generatePlace($place_id); } self::fixAllRecordsTypeUrlQuery(); return $place_id; }