private function save()
 {
     $delete_all_streams = $this->form->get_value('delete_all_streams');
     if ($delete_all_streams) {
         if (AppContext::get_current_user()->check_level(User::MEMBER_LEVEL)) {
             NewsletterService::unsubscriber_all_streams_member(AppContext::get_current_user()->get_id());
         } else {
             NewsletterService::unsubscriber_all_streams_visitor($this->form->get_value('mail'));
         }
     } else {
         $streams = array();
         foreach ($this->form->get_value('choice') as $field => $option) {
             $streams[] = $option->get_id();
         }
         if (AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) && $streams !== '') {
             NewsletterService::update_subscriptions_member_registered($streams, AppContext::get_current_user()->get_id());
         } else {
             NewsletterService::update_subscriptions_visitor($streams, $this->form->get_value('mail'));
         }
     }
     NewsletterStreamsCache::invalidate();
 }
 public function delete_field(MemberExtendedField $member_extended_field)
 {
     NewsletterService::unsubscriber_all_streams_member($member_extended_field->get_user_id());
 }