private function build_form()
    {
        $mail_request = AppContext::get_request()->get_string('mail_newsletter', '');
        if (AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) && empty($mail_request)) {
            $email = AppContext::get_current_user()->get_email();
        } else {
            $email = $mail_request;
        }
        $form = new HTMLForm(__CLASS__);
        $fieldset = new FormFieldsetHTML('unsubscribe.newsletter', $this->lang['unsubscribe.newsletter']);
        $form->add_fieldset($fieldset);
        $fieldset->add_field(new FormFieldMailEditor('mail', $this->lang['subscribe.mail'], $email, array('required' => true)));
        $fieldset->add_field(new FormFieldCheckbox('delete_all_streams', $this->lang['newsletter.delete_all_streams'], FormFieldCheckbox::UNCHECKED, array('events' => array('click' => '
		if (HTMLForms.getField("delete_all_streams").getValue()) {
			HTMLForms.getField("choice").disable();
		} else { 
			HTMLForms.getField("choice").enable();
		}'))));
        $newsletter_subscribe = AppContext::get_current_user()->check_level(User::MEMBER_LEVEL) ? NewsletterService::get_member_id_streams(AppContext::get_current_user()->get_id()) : array();
        $fieldset->add_field(new FormFieldMultipleCheckbox('choice', $this->lang['unsubscribe.newsletter_choice'], $newsletter_subscribe, $this->get_streams(), array('required' => true)));
        $this->submit_button = new FormButtonDefaultSubmit();
        $form->add_button($this->submit_button);
        $form->add_button(new FormButtonReset());
        $this->form = $form;
    }
 public function display_field_update(MemberExtendedField $member_extended_field)
 {
     $fieldset = $member_extended_field->get_fieldset();
     $streams = $this->get_streams();
     if (!empty($streams)) {
         $newsletter_subscribe = NewsletterService::get_member_id_streams($member_extended_field->get_user_id());
         $fieldset->add_field(new FormFieldMultipleCheckbox($member_extended_field->get_field_name(), $member_extended_field->get_name(), $newsletter_subscribe, $streams, array('description' => $member_extended_field->get_description())));
     }
 }