/**
  * @inheritDoc
  */
 public function update($new_instance, $old_instance)
 {
     $instance = $old_instance;
     if ($this->is_preview()) {
         //Oh! Sorry but still not fully compatible with customizer
         return $instance;
     }
     $defaults = array('title' => '', 'view_id' => 0, 'post_id' => '', 'search_fields' => '');
     $new_instance = wp_parse_args((array) $new_instance, $defaults);
     $instance['title'] = strip_tags($new_instance['title']);
     $instance['view_id'] = absint($new_instance['view_id']);
     $instance['search_fields'] = $new_instance['search_fields'];
     $instance['post_id'] = $new_instance['post_id'];
     $is_valid_embed_id = GravityView_View_Data::is_valid_embed_id($new_instance['post_id'], $instance['view_id']);
     //check if post_id is a valid post with embedded View
     $instance['error_post_id'] = is_wp_error($is_valid_embed_id) ? $is_valid_embed_id->get_error_message() : NULL;
     // Share that the widget isn't brand new
     $instance['updated'] = 1;
     return $instance;
 }
 /**
  * @since 1.6
  * @see WP_Widget::update()
  *
  * @param array $new_instance Widget form settings after update
  * @param array $old_instance Widget form settings before update
  *
  * @return array Calculated widget settings after processing
  */
 public function update($new_instance, $old_instance)
 {
     $instance = $new_instance;
     // Force positive number
     $instance['limit'] = empty($instance['limit']) ? 10 : absint($instance['limit']);
     $instance['view_id'] = intval($instance['view_id']);
     $instance['link_format'] = trim(rtrim($instance['link_format']));
     $instance['link_format'] = empty($instance['link_format']) ? $old_instance['link_format'] : $instance['link_format'];
     $instance['post_id'] = empty($instance['post_id']) ? '' : intval($instance['post_id']);
     $is_valid_embed_id = GravityView_View_Data::is_valid_embed_id($instance['post_id'], $instance['view_id']);
     //check if post_id is a valid post with embedded View
     $instance['error_post_id'] = is_wp_error($is_valid_embed_id) ? $is_valid_embed_id->get_error_message() : NULL;
     // Share that the widget isn't brand new
     $instance['updated'] = 1;
     /**
      * Modify the updated instance. This will allow for validating any added instance settings externally.
      *
      * @param array $instance Calculated widget settings after processing
      * @param array $new_instance Widget form settings after update
      * @param array $old_instance Widget form settings before update
      */
     $instance = apply_filters('gravityview/widget/update', $instance, $new_instance, $old_instance);
     return $instance;
 }