19 declare(strict_types=1);
26 public function __construct(
string $title =
'',
string $post_var =
'',
bool $free_option_choice =
true)
34 if (!$this->options_initialized) {
36 $this->options_initialized =
true;
43 return parent::getOptions();
49 parent::setValueByArray($a_values);
55 return parent::checkInput();
61 return parent::render();
67 return parent::getItemByPostVar($a_post_var);
73 return parent::getSubInputItemsRecursive();
91 $DIC->language()->txt(
'mail_incoming_local'),
97 $DIC->language()->txt(
'mail_incoming_smtp'),
100 $incoming_external->setDisabled($this->
getDisabled());
103 $DIC->language()->txt(
'mail_incoming_both'),
113 $incoming_external_address_choice->setDisabled($this->
getDisabled());
116 $DIC->language()->txt(
'mail_first_email'),
122 $DIC->language()->txt(
'mail_second_email'),
127 $DIC->language()->txt(
'mail_both_email'),
133 $incoming_both_address_choice->setDisabled($this->
getDisabled());
135 $DIC->language()->txt(
'mail_first_email'),
141 $DIC->language()->txt(
'mail_second_email'),
146 $DIC->language()->txt(
'mail_both_email'),
151 $incoming_external_address_choice->addOption($sub_mail_opt1);
152 $incoming_external_address_choice->addOption($sub_mail_opt2);
153 $incoming_external_address_choice->addOption($sub_mail_opt3);
154 $incoming_both_address_choice->addOption($sub_both_opt1);
155 $incoming_both_address_choice->addOption($sub_both_opt2);
156 $incoming_both_address_choice->addOption($sub_both_opt3);
158 $incoming_external->addSubItem($incoming_external_address_choice);
159 $incoming_both->addSubItem($incoming_both_address_choice);
163 $DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
167 if ($DIC->user()->getEmail() ===
'') {
168 $sub_mail_opt1->setInfo($DIC->language()->txt(
'first_email_missing_info'));
169 $sub_mail_opt3->setInfo($DIC->language()->txt(
'first_email_missing_info'));
170 $sub_both_opt1->setInfo($DIC->language()->txt(
'first_email_missing_info'));
171 $sub_both_opt3->setInfo($DIC->language()->txt(
'first_email_missing_info'));
173 $email_info[] = $DIC->user()->getEmail();
175 if ($DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
176 $sub_mail_opt1->setDisabled(
true);
177 $sub_mail_opt3->setDisabled(
true);
178 $sub_both_opt1->setDisabled(
true);
179 $sub_both_opt3->setDisabled(
true);
182 if ($DIC->user()->getSecondEmail() ===
'') {
183 $sub_mail_opt2->setInfo($DIC->language()->txt(
'second_email_missing_info'));
184 $sub_mail_opt3->setInfo($DIC->language()->txt(
'second_email_missing_info'));
185 $sub_both_opt2->setInfo($DIC->language()->txt(
'second_email_missing_info'));
186 $sub_both_opt3->setInfo($DIC->language()->txt(
'second_email_missing_info'));
188 $email_info[] = $DIC->user()->getSecondEmail();
190 if ($DIC->settings()->get(
'usr_settings_disable_mail_incoming_mail') ===
'1') {
191 $sub_mail_opt2->setDisabled(
true);
192 $sub_mail_opt3->setDisabled(
true);
193 $sub_both_opt2->setDisabled(
true);
194 $sub_both_opt3->setDisabled(
true);
197 if (count($email_info) > 1) {
198 $sub_mail_opt1->setInfo($email_info[0]);
199 $sub_both_opt1->setInfo($email_info[0]);
200 $sub_mail_opt2->setInfo($email_info[1]);
201 $sub_both_opt2->setInfo($email_info[1]);
202 $sub_mail_opt3->setInfo(implode(
', ', $email_info));
203 $sub_both_opt3->setInfo(implode(
', ', $email_info));
206 if (count($email_info) === 1) {
207 $incoming_external->setInfo($email_info[0]);
208 $incoming_both->setInfo($email_info[0]);
210 $incoming_external_address_choice->addOption($sub_mail_opt1);
211 $incoming_external_address_choice->addOption($sub_mail_opt2);
212 $incoming_external_address_choice->addOption($sub_mail_opt3);
214 $incoming_both_address_choice->addOption($sub_both_opt1);
215 $incoming_both_address_choice->addOption($sub_both_opt2);
216 $incoming_both_address_choice->addOption($sub_both_opt3);
218 $incoming_external->addSubItem($incoming_external_address_choice);
219 $incoming_both->addSubItem($incoming_both_address_choice);
This class represents an option in a radio group.
final const int SECOND_EMAIL
final const int INCOMING_BOTH
final const int INCOMING_LOCAL
final const int INCOMING_EMAIL
final const int BOTH_EMAIL
__construct(Container $dic, ilPlugin $plugin)
final const int FIRST_EMAIL