/**
  * Save meta for the campaign. 
  * 
  * @param   int $campaign_id
  * @param   WP_Post $post
  * @return  void
  * @access  public 
  * @since   1.0.0
  */
 public function save_campaign($campaign_id, WP_Post $post)
 {
     if (!$this->meta_box_helper->user_can_save($campaign_id)) {
         return;
     }
     $meta_keys = apply_filters('charitable_campaign_meta_keys', array('_campaign_end_date', '_campaign_goal', '_campaign_suggested_donations', '_campaign_allow_custom_donations', '_campaign_description'));
     $submitted = $_POST;
     foreach ($meta_keys as $key) {
         $value = isset($submitted[$key]) ? $submitted[$key] : false;
         $value = apply_filters('charitable_sanitize_campaign_meta', $value, $key, $submitted);
         update_post_meta($campaign_id, $key, $value);
     }
     /* Hook for plugins to do something else with the posted data */
     do_action('charitable_campaign_save', $post);
 }