19declare(strict_types=1);
35 if (!$this->options_initialized) {
37 $this->options_initialized =
true;
50 parent::setValueByArray($a_values);
56 return parent::checkInput();
62 return parent::render();
68 return parent::getItemByPostVar($a_post_var);
74 return parent::getSubInputItemsRecursive();
97 $DIC->language()->txt(
'mail_incoming_local'),
100 $incoming_local->setDisabled($this->
getDisabled());
103 $DIC->language()->txt(
'mail_incoming_smtp'),
106 $incoming_external->setDisabled($this->
getDisabled());
109 $DIC->language()->txt(
'mail_incoming_both'),
119 $incoming_external_address_choice->setDisabled($this->
getDisabled());
122 $DIC->language()->txt(
'mail_first_email'),
128 $DIC->language()->txt(
'mail_second_email'),
133 $DIC->language()->txt(
'mail_both_email'),
139 $incoming_both_address_choice->setDisabled($this->
getDisabled());
141 $DIC->language()->txt(
'mail_first_email'),
147 $DIC->language()->txt(
'mail_second_email'),
152 $DIC->language()->txt(
'mail_both_email'),
157 $incoming_external_address_choice->addOption($sub_mail_opt1);
158 $incoming_external_address_choice->addOption($sub_mail_opt2);
159 $incoming_external_address_choice->addOption($sub_mail_opt3);
160 $incoming_both_address_choice->addOption($sub_both_opt1);
161 $incoming_both_address_choice->addOption($sub_both_opt2);
162 $incoming_both_address_choice->addOption($sub_both_opt3);
164 $incoming_external->addSubItem($incoming_external_address_choice);
165 $incoming_both->addSubItem($incoming_both_address_choice);
169 $DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
173 $email = $this->
user !==
null
174 ? $this->
user->getEmail()
175 : $DIC->user()->getEmail();
177 $sub_mail_opt1->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
178 $sub_mail_opt3->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
179 $sub_both_opt1->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
180 $sub_both_opt3->setInfo(
$DIC->language()->txt(
'first_email_missing_info'));
182 $email_info[] = $email;
184 if (
$DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
185 $sub_mail_opt1->setDisabled(
true);
186 $sub_mail_opt3->setDisabled(
true);
187 $sub_both_opt1->setDisabled(
true);
188 $sub_both_opt3->setDisabled(
true);
191 $second_email = $this->
user !==
null
192 ? $this->
user->getSecondEmail()
193 : $DIC->user()->getSecondEmail();
194 if (empty($second_email)) {
195 $sub_mail_opt2->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
196 $sub_mail_opt3->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
197 $sub_both_opt2->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
198 $sub_both_opt3->setInfo(
$DIC->language()->txt(
'second_email_missing_info'));
200 $email_info[] = $second_email;
202 if (
$DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
203 $sub_mail_opt2->setDisabled(
true);
204 $sub_mail_opt3->setDisabled(
true);
205 $sub_both_opt2->setDisabled(
true);
206 $sub_both_opt3->setDisabled(
true);
209 if (count($email_info) > 1) {
210 $sub_mail_opt1->setInfo($email_info[0]);
211 $sub_both_opt1->setInfo($email_info[0]);
212 $sub_mail_opt2->setInfo($email_info[1]);
213 $sub_both_opt2->setInfo($email_info[1]);
214 $sub_mail_opt3->setInfo(implode(
', ', $email_info));
215 $sub_both_opt3->setInfo(implode(
', ', $email_info));
218 if (count($email_info) === 1) {
219 $incoming_external->setInfo($email_info[0]);
220 $incoming_both->setInfo($email_info[0]);
222 $incoming_external_address_choice->addOption($sub_mail_opt1);
223 $incoming_external_address_choice->addOption($sub_mail_opt2);
224 $incoming_external_address_choice->addOption($sub_mail_opt3);
226 $incoming_both_address_choice->addOption($sub_both_opt1);
227 $incoming_both_address_choice->addOption($sub_both_opt2);
228 $incoming_both_address_choice->addOption($sub_both_opt3);
230 $incoming_external->addSubItem($incoming_external_address_choice);
231 $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