/**
  * WordPress action to perform an ajax edit operation and echo results.
  *
  * @since 1.3
  */
 public static function ajax_edit()
 {
     check_ajax_referer('geo-mashup-edit', 'geo_mashup_nonce');
     unset($_GET['_wpnonce']);
     $status = array('request' => 'ajax-edit', 'code' => 200);
     if (isset($_POST['geo_mashup_object_id'])) {
         $status['object_id'] = $_POST['geo_mashup_object_id'];
     } else {
         $status['code'] = 400;
         $status['message'] = __('No object id posted.', 'GeoMashup');
         $status['object_id'] = '?';
     }
     /** @todo add an option for a user capability check here? */
     if (200 == $status['code'] and !empty($_POST['geo_mashup_ui_manager'])) {
         $ui_manager = GeoMashupUIManager::get_instance($_POST['geo_mashup_ui_manager']);
         $result = $ui_manager->save_posted_object_location($status['object_id']);
         if (is_wp_error($result)) {
             $status['code'] = 500;
             $status['message'] = $result->get_error_message();
         }
     }
     if (200 == $status['code']) {
         if (!empty($_REQUEST['geo_mashup_update_location'])) {
             $status['message'] = __('Location updated.', 'GeoMashup');
         } else {
             if (!empty($_REQUEST['geo_mashup_delete_location'])) {
                 $status['message'] = __('Location deleted.', 'GeoMashup');
             } else {
                 if (!empty($_REQUEST['geo_mashup_add_location'])) {
                     $status['message'] = __('Location added.', 'GeoMashup');
                 }
             }
         }
     }
     echo json_encode(array('status' => $status));
     exit;
 }
 /**
  * Get the single instance of this class.
  * 
  * @since 1.3
  * @uses parent::get_instance()
  *
  * @return GeoMashupPostUIManager The instance.
  */
 public static function get_instance()
 {
     return parent::get_instance('GeoMashupPostUIManager');
 }
 /**
  * Get the single instance of this class.
  * 
  * @since 1.3
  * @uses parent::get_instance()
  *
  * @param string $name The class name, this class by default.
  * @return GeoMashupPostUIManager The instance.
  */
 public static function get_instance($name = __CLASS__)
 {
     return parent::get_instance('GeoMashupPostUIManager');
 }