19declare(strict_types=1);
36 if (!$this->options_initialized) {
38 $this->options_initialized =
true;
45 return parent::getOptions();
51 parent::setValueByArray($a_values);
57 return parent::checkInput();
63 return parent::render();
69 return parent::getItemByPostVar($a_post_var);
75 return parent::getSubInputItemsRecursive();
92 $incoming_mail_changable_by_user =
$DIC[
'user']->getSettings()
93 ->getSettingByDefinitionClass(IncomingMail::class)->isChangeableByUser();
96 $DIC->language()->txt(
'mail_incoming_local'),
102 $DIC->language()->txt(
'mail_incoming_smtp'),
105 $incoming_external->setDisabled($this->
getDisabled());
108 $DIC->language()->txt(
'mail_incoming_both'),
118 $incoming_external_address_choice->setDisabled($this->
getDisabled());
121 $DIC->language()->txt(
'mail_first_email'),
127 $DIC->language()->txt(
'mail_second_email'),
132 $DIC->language()->txt(
'mail_both_email'),
138 $incoming_both_address_choice->setDisabled($this->
getDisabled());
140 $DIC->language()->txt(
'mail_first_email'),
146 $DIC->language()->txt(
'mail_second_email'),
151 $DIC->language()->txt(
'mail_both_email'),
156 $incoming_external_address_choice->addOption($sub_mail_opt1);
157 $incoming_external_address_choice->addOption($sub_mail_opt2);
158 $incoming_external_address_choice->addOption($sub_mail_opt3);
159 $incoming_both_address_choice->addOption($sub_both_opt1);
160 $incoming_both_address_choice->addOption($sub_both_opt2);
161 $incoming_both_address_choice->addOption($sub_both_opt3);
163 $incoming_external->addSubItem($incoming_external_address_choice);
164 $incoming_both->addSubItem($incoming_both_address_choice);
168 $DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
172 if ($DIC->user()->getEmail() ===
'') {
173 $sub_mail_opt1->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
174 $sub_mail_opt3->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
175 $sub_both_opt1->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
176 $sub_both_opt3->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
178 $email_info[] =
$DIC->user()->getEmail();
180 if (
$DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
181 $sub_mail_opt1->setDisabled(
true);
182 $sub_mail_opt3->setDisabled(
true);
183 $sub_both_opt1->setDisabled(
true);
184 $sub_both_opt3->setDisabled(
true);
187 if (
$DIC->user()->getSecondEmail() ===
'') {
188 $sub_mail_opt2->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
189 $sub_mail_opt3->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
190 $sub_both_opt2->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
191 $sub_both_opt3->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
193 $email_info[] =
$DIC->user()->getSecondEmail();
195 if (
$DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
196 $sub_mail_opt2->setDisabled(
true);
197 $sub_mail_opt3->setDisabled(
true);
198 $sub_both_opt2->setDisabled(
true);
199 $sub_both_opt3->setDisabled(
true);
202 if (count($email_info) > 1) {
203 $sub_mail_opt1->setInfo($email_info[0]);
204 $sub_both_opt1->setInfo($email_info[0]);
205 $sub_mail_opt2->setInfo($email_info[1]);
206 $sub_both_opt2->setInfo($email_info[1]);
207 $sub_mail_opt3->setInfo(implode(
', ', $email_info));
208 $sub_both_opt3->setInfo(implode(
', ', $email_info));
211 if (count($email_info) === 1) {
212 $incoming_external->setInfo($email_info[0]);
213 $incoming_both->setInfo($email_info[0]);
215 $incoming_external_address_choice->addOption($sub_mail_opt1);
216 $incoming_external_address_choice->addOption($sub_mail_opt2);
217 $incoming_external_address_choice->addOption($sub_mail_opt3);
219 $incoming_both_address_choice->addOption($sub_both_opt1);
220 $incoming_both_address_choice->addOption($sub_both_opt2);
221 $incoming_both_address_choice->addOption($sub_both_opt3);
223 $incoming_external->addSubItem($incoming_external_address_choice);
224 $incoming_both->addSubItem($incoming_both_address_choice);
final const int INCOMING_BOTH
final const int FIRST_EMAIL
final const int INCOMING_LOCAL
final const int BOTH_EMAIL
final const int INCOMING_EMAIL
final const int SECOND_EMAIL
This class represents an option in a radio group.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc