@@ -40,9 +40,9 @@ discard block |
||
40 | 40 | $langsArray = []; |
41 | 41 | foreach (\config\Master::LANGUAGES as $lang => $value) { |
42 | 42 | if ($lang == $selectedLang) { |
43 | - $langsArray[] = ['text'=>$value['display'], 'link'=>'javascript:changeLang("' . $lang . '")', 'class'=>'selected-lang']; |
|
43 | + $langsArray[] = ['text'=>$value['display'], 'link'=>'javascript:changeLang("'.$lang.'")', 'class'=>'selected-lang']; |
|
44 | 44 | } else { |
45 | - $langsArray[] = ['text'=>$value['display'], 'link'=>'javascript:changeLang("' . $lang . '")']; |
|
45 | + $langsArray[] = ['text'=>$value['display'], 'link'=>'javascript:changeLang("'.$lang.'")']; |
|
46 | 46 | } |
47 | 47 | } |
48 | 48 | $this->menu = [['id' => 'start', |
@@ -101,13 +101,13 @@ discard block |
||
101 | 101 | $iD = $menuItem['id'] ?? $id; |
102 | 102 | $catInfo = NULL; |
103 | 103 | if (!empty($menuItem['catInfo'])) { |
104 | - $catInfo = 'javascript:infoCAT("' . $iD . '", "' . $menuItem['catInfo'][0] . '","' . $menuItem['catInfo'][1] . '")'; |
|
104 | + $catInfo = 'javascript:infoCAT("'.$iD.'", "'.$menuItem['catInfo'][0].'","'.$menuItem['catInfo'][1].'")'; |
|
105 | 105 | } |
106 | 106 | if (!empty($menuItem['link']) && substr($menuItem['link'], 0, 1) === '/') { |
107 | - $menuItem['link'] = \core\CAT::getRootUrlPath() . $menuItem['link']; |
|
107 | + $menuItem['link'] = \core\CAT::getRootUrlPath().$menuItem['link']; |
|
108 | 108 | } |
109 | 109 | $link = $catInfo ?? $menuItem['link'] ?? ''; |
110 | - $class = empty($menuItem['class']) ? '' : ' class="' . $menuItem['class'] . '"'; |
|
110 | + $class = empty($menuItem['class']) ? '' : ' class="'.$menuItem['class'].'"'; |
|
111 | 111 | $submenu = $menuItem['submenu'] ?? []; |
112 | 112 | $out .= $this->printMenuItem($menuItem['text'], $link, $class); |
113 | 113 | $out .= $this->printMenu($submenu, $iD); |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | if ($itemLink === '') { |
132 | 132 | return("<li><span>$itemText</span>"); |
133 | 133 | } |
134 | - return "<li><a href='" . $itemLink . "'" . $itemClass . '>' . $itemText . "</a>"; |
|
134 | + return "<li><a href='".$itemLink."'".$itemClass.'>'.$itemText."</a>"; |
|
135 | 135 | } |
136 | 136 | |
137 | 137 | /** |
@@ -154,8 +154,8 @@ discard block |
||
154 | 154 | common\Entity::intoThePotatoes(); |
155 | 155 | $mail = \core\common\OutsideComm::mailHandle(); |
156 | 156 | // who to whom? |
157 | - $mail->FromName = \config\Master::APPEARANCE['productname'] . " Notification System"; |
|
158 | - $mail->addReplyTo(\config\Master::APPEARANCE['support-contact']['developer-mail'], \config\Master::APPEARANCE['productname'] . " " . _("Feedback")); |
|
157 | + $mail->FromName = \config\Master::APPEARANCE['productname']." Notification System"; |
|
158 | + $mail->addReplyTo(\config\Master::APPEARANCE['support-contact']['developer-mail'], \config\Master::APPEARANCE['productname']." "._("Feedback")); |
|
159 | 159 | $mail->addAddress($mailaddr[0]["value"]); |
160 | 160 | // what do we want to say? |
161 | 161 | $mail->Subject = $subject; |
@@ -218,7 +218,7 @@ discard block |
||
218 | 218 | } |
219 | 219 | $lookFor .= "$name"; |
220 | 220 | } |
221 | - $finding = preg_match("/^(" . $lookFor . "):(.*)/", $oneRow->user_id, $matches); |
|
221 | + $finding = preg_match("/^(".$lookFor."):(.*)/", $oneRow->user_id, $matches); |
|
222 | 222 | if ($finding === 0 || $finding === FALSE) { |
223 | 223 | return FALSE; |
224 | 224 | } |
@@ -236,7 +236,7 @@ discard block |
||
236 | 236 | $matchedProviders[] = $idp; |
237 | 237 | $name = $idp; |
238 | 238 | if ($skipCurl == 0) { |
239 | - $url = \config\Diagnostics::EDUGAINRESOLVER['url'] . "?action=get_entity_name&type=idp&e_id=$idp&lang=$lang"; |
|
239 | + $url = \config\Diagnostics::EDUGAINRESOLVER['url']."?action=get_entity_name&type=idp&e_id=$idp&lang=$lang"; |
|
240 | 240 | $ch = curl_init($url); |
241 | 241 | if ($ch === FALSE) { |
242 | 242 | $loggerInstance->debug(2, "Unable ask eduGAIN about IdP - CURL init failed!"); |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | } |
253 | 253 | curl_close($ch); |
254 | 254 | } |
255 | - $listOfProviders[] = User::PROVIDER_STRINGS[$providerStrings[0]] . " - IdP: " . $name; |
|
255 | + $listOfProviders[] = User::PROVIDER_STRINGS[$providerStrings[0]]." - IdP: ".$name; |
|
256 | 256 | } |
257 | 257 | break; |
258 | 258 | case $providerStrings[1]: |
@@ -50,19 +50,19 @@ discard block |
||
50 | 50 | |
51 | 51 | array_push($FAQ, [ |
52 | 52 | 'title' => sprintf(_("Is it safe to use %s installers?"), \config\Master::APPEARANCE['productname']), |
53 | - 'text' => sprintf(_("%s installers configure security settings on your device, therefore you should be sure that you are using genuine ones."), \config\Master::APPEARANCE['productname']) . ' ' . ( isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("This is why %s installers are digitally signed by %s. Watch out for a system message confirming this."), \config\Master::APPEARANCE['productname'], \config\ConfAssistant::CONSORTIUM['signer_name']) : ""), |
|
53 | + 'text' => sprintf(_("%s installers configure security settings on your device, therefore you should be sure that you are using genuine ones."), \config\Master::APPEARANCE['productname']).' '.(isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("This is why %s installers are digitally signed by %s. Watch out for a system message confirming this."), \config\Master::APPEARANCE['productname'], \config\ConfAssistant::CONSORTIUM['signer_name']) : ""), |
|
54 | 54 | ]); |
55 | 55 | |
56 | 56 | array_push($FAQ, [ |
57 | 57 | 'title' => _("Windows 'SmartScreen' or 'Internet Explorer' tell me that the file is not commonly downloaded and possibly harmful. Should I be concerned?"), |
58 | - 'text' => _("Contrary to what the name suggests, 'SmartScreen' isn't actually very smart. The warning merely means that the file has not yet been downloaded by enough users to make Microsoft consider it popular (which would strangely enough make it be considered 'safe'). This message alone is not a security problem.") . " " . (isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("So long as the file is carrying a valid signature from %s, the download is safe."), \config\ConfAssistant::CONSORTIUM['signer_name']) . " " : "") . sprintf(_("Please see also Microsoft's FAQ regarding SmartScreen at %s."), "<a href='http://windows.microsoft.com/en-US/windows7/SmartScreen-Filter-frequently-asked-questions-IE9?SignedIn=1'>Microsoft FAQ</a>") |
|
58 | + 'text' => _("Contrary to what the name suggests, 'SmartScreen' isn't actually very smart. The warning merely means that the file has not yet been downloaded by enough users to make Microsoft consider it popular (which would strangely enough make it be considered 'safe'). This message alone is not a security problem.")." ".(isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("So long as the file is carrying a valid signature from %s, the download is safe."), \config\ConfAssistant::CONSORTIUM['signer_name'])." " : "").sprintf(_("Please see also Microsoft's FAQ regarding SmartScreen at %s."), "<a href='http://windows.microsoft.com/en-US/windows7/SmartScreen-Filter-frequently-asked-questions-IE9?SignedIn=1'>Microsoft FAQ</a>") |
|
59 | 59 | ]); |
60 | 60 | |
61 | 61 | if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == NULL) { |
62 | 62 | $text = sprintf(_("There can be a number of different reasons. The network you see may not be a genuine %s one and your device silently drops the connection attempt; there may be something wrong with the configuration of the network; your account may have expired; there may be a connection problem with your home authentication server; you may have broken the regulations of the network you are using and have been refused access as a consequence. You should contact your organisation and report the problem, the administrators should be able to trace your connections."), \config\ConfAssistant::CONSORTIUM['display_name']); |
63 | 63 | } else { |
64 | 64 | if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == 'LOCAL') { |
65 | - $diagUrl = \config\Master::PATHS['cat_base_url'] . "diag/"; |
|
65 | + $diagUrl = \config\Master::PATHS['cat_base_url']."diag/"; |
|
66 | 66 | } else { |
67 | 67 | $diagUrl = \config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS']; |
68 | 68 | } |
@@ -99,8 +99,8 @@ discard block |
||
99 | 99 | $tocText = ""; |
100 | 100 | $fullText = ""; |
101 | 101 | foreach ($FAQ as $faq) { |
102 | - $tocText .= '<a href="#toc' . $counter . '">' . $faq['title'] . "</a><br>\n"; |
|
103 | - $fullText .= "<dt><a name=toc$counter>" . $faq['title'] . "</a></dt>\n<dd>" . $faq['text'] . "</dd>\n"; |
|
102 | + $tocText .= '<a href="#toc'.$counter.'">'.$faq['title']."</a><br>\n"; |
|
103 | + $fullText .= "<dt><a name=toc$counter>".$faq['title']."</a></dt>\n<dd>".$faq['text']."</dd>\n"; |
|
104 | 104 | $counter++; |
105 | 105 | } |
106 | 106 | ?> |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | */ |
27 | 27 | ?> |
28 | 28 | <?php |
29 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
29 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
30 | 30 | |
31 | 31 | $auth = new \web\lib\admin\Authentication(); |
32 | 32 | $deco = new \web\lib\admin\PageDecoration(); |
@@ -61,7 +61,7 @@ discard block |
||
61 | 61 | ?> |
62 | 62 | </h1> |
63 | 63 | <div class='infobox'> |
64 | - <h2><?php echo sprintf(_("%s Properties"),$uiElements->nomenclatureFed); ?></h2> |
|
64 | + <h2><?php echo sprintf(_("%s Properties"), $uiElements->nomenclatureFed); ?></h2> |
|
65 | 65 | <table> |
66 | 66 | <tr> |
67 | 67 | <td><?php echo _("Country:"); ?></td> |
@@ -72,11 +72,11 @@ discard block |
||
72 | 72 | </table> |
73 | 73 | </div> |
74 | 74 | <?php |
75 | - echo "<form enctype='multipart/form-data' action='edit_federation_result.php?fed_id=$my_fed->tld" . "' method='post' accept-charset='UTF-8'> |
|
76 | - <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE . "'>"; |
|
75 | + echo "<form enctype='multipart/form-data' action='edit_federation_result.php?fed_id=$my_fed->tld"."' method='post' accept-charset='UTF-8'> |
|
76 | + <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE."'>"; |
|
77 | 77 | ?> |
78 | 78 | <fieldset class="option_container"> |
79 | - <legend><strong><?php echo sprintf(_("%s Properties"),$uiElements->nomenclatureFed); ?></strong></legend> |
|
79 | + <legend><strong><?php echo sprintf(_("%s Properties"), $uiElements->nomenclatureFed); ?></strong></legend> |
|
80 | 80 | <?php |
81 | 81 | $optionDisplay = new \web\lib\admin\OptionDisplay($fed_options, "FED"); |
82 | 82 | echo $optionDisplay->prefilledOptionTable("fed"); |
@@ -84,5 +84,5 @@ discard block |
||
84 | 84 | <button type='button' class='newoption' onclick='getXML("fed")'><?php echo _("Add new option"); ?></button> |
85 | 85 | </fieldset> |
86 | 86 | <?php |
87 | - echo "<div><button type='submit' name='submitbutton' value='" . web\lib\common\FormElements::BUTTON_SAVE . "'>" . _("Save data") . "</button> <button type='button' class='delete' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_federation.php\"'>" . _("Discard changes") . "</button></div></form>"; |
|
87 | + echo "<div><button type='submit' name='submitbutton' value='".web\lib\common\FormElements::BUTTON_SAVE."'>"._("Save data")."</button> <button type='button' class='delete' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_federation.php\"'>"._("Discard changes")."</button></div></form>"; |
|
88 | 88 | echo $deco->footer(); |
@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | * <base_url>/copyright.php after deploying the software |
20 | 20 | */ |
21 | 21 | |
22 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
22 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
23 | 23 | |
24 | 24 | $Tests = [ |
25 | 25 | 'CatBaseUrl', |
@@ -42,7 +42,7 @@ discard block |
||
42 | 42 | |
43 | 43 | $uiElements = new \web\lib\admin\UIElements(); |
44 | 44 | |
45 | -if (\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] == "LOCAL" || \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] == "LOCAL" ) { |
|
45 | +if (\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] == "LOCAL" || \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] == "LOCAL") { |
|
46 | 46 | $Tests[] = 'Makensis'; |
47 | 47 | $Tests[] = 'Makensis=>NSISmodules'; |
48 | 48 | } |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | |
28 | 28 | ?> |
29 | 29 | <?php |
30 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
30 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
31 | 31 | |
32 | 32 | $deco = new \web\lib\admin\PageDecoration(); |
33 | 33 | $validator = new \web\lib\common\InputValidation(); |
@@ -127,8 +127,8 @@ discard block |
||
127 | 127 | <?php |
128 | 128 | echo $uiElements->instLevelInfoBoxes($my_inst); |
129 | 129 | |
130 | - echo "<form enctype='multipart/form-data' action='edit_profile_result.php?inst_id=$my_inst->identifier" . ($my_profile !== NULL ? "&profile_id=" . $my_profile->identifier : "") . "' method='post' accept-charset='UTF-8'> |
|
131 | - <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE . "'>"; |
|
130 | + echo "<form enctype='multipart/form-data' action='edit_profile_result.php?inst_id=$my_inst->identifier".($my_profile !== NULL ? "&profile_id=".$my_profile->identifier : "")."' method='post' accept-charset='UTF-8'> |
|
131 | + <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE."'>"; |
|
132 | 132 | $optionDisplay = new \web\lib\admin\OptionDisplay($profile_options, "Profile"); |
133 | 133 | ?> |
134 | 134 | <fieldset class="option_container"> |
@@ -137,19 +137,19 @@ discard block |
||
137 | 137 | </legend> |
138 | 138 | <?php |
139 | 139 | if ($wizardStyle) { |
140 | - echo "<p>" . _("We will now define a profile for your user group(s). You can add as many profiles as you like by choosing the appropriate button on the end of the page. After we are done, the wizard is finished and you will be taken to the main IdP administration page.") . "</p>"; |
|
140 | + echo "<p>"._("We will now define a profile for your user group(s). You can add as many profiles as you like by choosing the appropriate button on the end of the page. After we are done, the wizard is finished and you will be taken to the main IdP administration page.")."</p>"; |
|
141 | 141 | } |
142 | 142 | ?> |
143 | 143 | <h3><?php echo _("Profile Name and RADIUS realm"); ?></h3> |
144 | 144 | <?php |
145 | 145 | if ($wizardStyle) { |
146 | - echo "<p>" . _("First of all we need a name for the profile. This will be displayed to end users, so you may want to choose a descriptive name like 'Professors', 'Students of the Faculty of Bioscience', etc.") . "</p>"; |
|
147 | - echo "<p>" . _("Optionally, you can provide a longer descriptive text about who this profile is for. If you specify it, it will be displayed on the download page after the user has selected the profile name in the list.") . "</p>"; |
|
148 | - echo "<p>" . _("You can also tell us your RADIUS realm. "); |
|
146 | + echo "<p>"._("First of all we need a name for the profile. This will be displayed to end users, so you may want to choose a descriptive name like 'Professors', 'Students of the Faculty of Bioscience', etc.")."</p>"; |
|
147 | + echo "<p>"._("Optionally, you can provide a longer descriptive text about who this profile is for. If you specify it, it will be displayed on the download page after the user has selected the profile name in the list.")."</p>"; |
|
148 | + echo "<p>"._("You can also tell us your RADIUS realm. "); |
|
149 | 149 | if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] !== NULL) { |
150 | 150 | printf(_("This is useful if you want to use the sanity check module later, which tests reachability of your realm in the %s infrastructure. "), \config\ConfAssistant::CONSORTIUM['display_name']); |
151 | 151 | } |
152 | - echo _("It is required to enter the realm name if you want to support anonymous outer identities (see below).") . "</p>"; |
|
152 | + echo _("It is required to enter the realm name if you want to support anonymous outer identities (see below).")."</p>"; |
|
153 | 153 | } |
154 | 154 | |
155 | 155 | echo $optionDisplay->prefilledOptionTable("profile"); |
@@ -203,9 +203,9 @@ discard block |
||
203 | 203 | |
204 | 204 | <?php |
205 | 205 | if ($wizardStyle) { |
206 | - echo "<p>" . sprintf(_("Some installers support a feature called 'Anonymous outer identity'. If you don't know what this is, please read <a href='%s'>this article</a>."), "https://confluence.terena.org/display/H2eduroam/eap-types") . "</p>"; |
|
207 | - echo "<p>" . _("On some platforms, the installers can suggest username endings and/or verify the user input to contain the realm suffix.") . "</p>"; |
|
208 | - echo "<p>" . _("The realm check feature needs to know an outer ID which actually gets a chance to authenticate. If your RADIUS server lets only select usernames pass, it is useful to supply the information which of those (outer ID) username we can use for testing.") . "</p>"; |
|
206 | + echo "<p>".sprintf(_("Some installers support a feature called 'Anonymous outer identity'. If you don't know what this is, please read <a href='%s'>this article</a>."), "https://confluence.terena.org/display/H2eduroam/eap-types")."</p>"; |
|
207 | + echo "<p>"._("On some platforms, the installers can suggest username endings and/or verify the user input to contain the realm suffix.")."</p>"; |
|
208 | + echo "<p>"._("The realm check feature needs to know an outer ID which actually gets a chance to authenticate. If your RADIUS server lets only select usernames pass, it is useful to supply the information which of those (outer ID) username we can use for testing.")."</p>"; |
|
209 | 209 | } |
210 | 210 | ?> |
211 | 211 | <p> |
@@ -222,7 +222,7 @@ discard block |
||
222 | 222 | </td> |
223 | 223 | <td> |
224 | 224 | <input type='checkbox' <?php |
225 | - echo ($verify != FALSE ? "checked" : "" ); |
|
225 | + echo ($verify != FALSE ? "checked" : ""); |
|
226 | 226 | ?> name='verify_support' onclick=' |
227 | 227 | if (this.form.elements["verify_support"].checked !== true || this.form.elements["realm"].value.length == 0) { |
228 | 228 | this.form.elements["hint_support"].setAttribute("disabled", "disabled"); |
@@ -230,48 +230,48 @@ discard block |
||
230 | 230 | this.form.elements["hint_support"].removeAttribute("disabled"); |
231 | 231 | } |
232 | 232 | ;'/> |
233 | - <span id='hint_label' style='<?php echo ($realm == "" ? "color:#999999" : "" ); ?>'> |
|
233 | + <span id='hint_label' style='<?php echo ($realm == "" ? "color:#999999" : ""); ?>'> |
|
234 | 234 | <?php echo _("Prefill user input with realm suffix:"); ?> |
235 | 235 | </span> |
236 | - <input type='checkbox' <?php echo ($verify == FALSE ? "disabled" : "" ); ?> name='hint_support' <?php echo ( $hint != FALSE ? "checked" : "" ); ?> /> |
|
236 | + <input type='checkbox' <?php echo ($verify == FALSE ? "disabled" : ""); ?> name='hint_support' <?php echo ($hint != FALSE ? "checked" : ""); ?> /> |
|
237 | 237 | </td> |
238 | 238 | </tr> |
239 | 239 | <tr> |
240 | 240 | |
241 | 241 | <!-- checkbox and input field for anonymity support, available only when realm is known--> |
242 | 242 | <td> |
243 | - <span id='anon_support_label' style='<?php echo ($realm == "" ? "color:#999999" : "" ); ?>'> |
|
243 | + <span id='anon_support_label' style='<?php echo ($realm == "" ? "color:#999999" : ""); ?>'> |
|
244 | 244 | <?php echo _("Enable Anonymous Outer Identity:"); ?> |
245 | 245 | </span> |
246 | 246 | </td> |
247 | 247 | <td> |
248 | - <input type='checkbox' <?php echo ($useAnon != FALSE ? "checked" : "" ) . ($realm == "" ? " disabled" : "" ); ?> name='anon_support' onclick=' |
|
248 | + <input type='checkbox' <?php echo ($useAnon != FALSE ? "checked" : "").($realm == "" ? " disabled" : ""); ?> name='anon_support' onclick=' |
|
249 | 249 | if (this.form.elements["anon_support"].checked !== true) { |
250 | 250 | this.form.elements["anon_local"].setAttribute("disabled", "disabled"); |
251 | 251 | } else { |
252 | 252 | this.form.elements["anon_local"].removeAttribute("disabled"); |
253 | 253 | } |
254 | 254 | ;'/> |
255 | - <input type='text' <?php echo ($checkuserOuter == FALSE ? "disabled" : "" ); ?> name='anon_local' value='<?php echo $anonLocal; ?>'/> |
|
255 | + <input type='text' <?php echo ($checkuserOuter == FALSE ? "disabled" : ""); ?> name='anon_local' value='<?php echo $anonLocal; ?>'/> |
|
256 | 256 | </td> |
257 | 257 | </tr> |
258 | 258 | <tr> |
259 | 259 | |
260 | 260 | <!-- checkbox and input field for check realm outer id, available only when realm is known--> |
261 | 261 | <td> |
262 | - <span id='checkuser_label' style='<?php echo ($realm == "" ? "color:#999999" : "" ); ?>'> |
|
262 | + <span id='checkuser_label' style='<?php echo ($realm == "" ? "color:#999999" : ""); ?>'> |
|
263 | 263 | <?php echo _("Use special Outer Identity for realm checks:"); ?> |
264 | 264 | </span> |
265 | 265 | </td> |
266 | 266 | <td> |
267 | - <input type='checkbox' <?php echo ($checkuserOuter != FALSE ? "checked" : "" ) . ($realm == "" ? " disabled" : "" ); ?> name='checkuser_support' onclick=' |
|
267 | + <input type='checkbox' <?php echo ($checkuserOuter != FALSE ? "checked" : "").($realm == "" ? " disabled" : ""); ?> name='checkuser_support' onclick=' |
|
268 | 268 | if (this.form.elements["checkuser_support"].checked !== true) { |
269 | 269 | this.form.elements["checkuser_local"].setAttribute("disabled", "disabled"); |
270 | 270 | } else { |
271 | 271 | this.form.elements["checkuser_local"].removeAttribute("disabled"); |
272 | 272 | } |
273 | 273 | ;'/> |
274 | - <input type='text' <?php echo ($checkuserOuter == FALSE ? "disabled" : "" ); ?> name='checkuser_local' value='<?php echo $checkuserValue; ?>'/> |
|
274 | + <input type='text' <?php echo ($checkuserOuter == FALSE ? "disabled" : ""); ?> name='checkuser_local' value='<?php echo $checkuserValue; ?>'/> |
|
275 | 275 | </td> |
276 | 276 | </tr> |
277 | 277 | </table> |
@@ -281,20 +281,20 @@ discard block |
||
281 | 281 | |
282 | 282 | <?php |
283 | 283 | if ($wizardStyle) { |
284 | - echo "<p>" . _("The CAT has a download area for end users. There, they will, for example, learn about the support pointers you entered earlier. The CAT can also immediately offer the installers for the profile for download. If you don't want that, you can instead enter a web site location where you want your users to be redirected to. You, as the administrator, can still download the profiles to place them on that page (see the 'Compatibility Matrix' button on the dashboard).") . "</p>"; |
|
284 | + echo "<p>"._("The CAT has a download area for end users. There, they will, for example, learn about the support pointers you entered earlier. The CAT can also immediately offer the installers for the profile for download. If you don't want that, you can instead enter a web site location where you want your users to be redirected to. You, as the administrator, can still download the profiles to place them on that page (see the 'Compatibility Matrix' button on the dashboard).")."</p>"; |
|
285 | 285 | } |
286 | 286 | ?> |
287 | 287 | <p> |
288 | 288 | |
289 | 289 | <?php |
290 | - echo "<span id='redirect_label' style='" . ($realm == "" ? "color:#999999" : "" ) . "'><label for='redirect'>" . _("Redirect end users to own web page:") . "</label></span> |
|
291 | - <input type='checkbox' name='redirect' id='redirect' " . ($blacklisted === FALSE ? "" : "checked " ) . "onclick=' |
|
290 | + echo "<span id='redirect_label' style='".($realm == "" ? "color:#999999" : "")."'><label for='redirect'>"._("Redirect end users to own web page:")."</label></span> |
|
291 | + <input type='checkbox' name='redirect' id='redirect' " . ($blacklisted === FALSE ? "" : "checked ")."onclick=' |
|
292 | 292 | if (this.form.elements[\"redirect\"].checked != true) { |
293 | 293 | this.form.elements[\"redirect_target\"].setAttribute(\"disabled\", \"disabled\"); |
294 | 294 | } else { |
295 | 295 | this.form.elements[\"redirect_target\"].removeAttribute(\"disabled\"); |
296 | 296 | };'/> |
297 | - <input type='text' name='redirect_target' " . ($blacklisted !== FALSE ? "value='$blacklisted'" : "disabled" ) . "/>"; |
|
297 | + <input type='text' name='redirect_target' " . ($blacklisted !== FALSE ? "value='$blacklisted'" : "disabled")."/>"; |
|
298 | 298 | ?> |
299 | 299 | </p> |
300 | 300 | |
@@ -303,7 +303,7 @@ discard block |
||
303 | 303 | <legend><strong><?php echo _("Supported EAP types"); ?></strong></legend> |
304 | 304 | <?php |
305 | 305 | if ($wizardStyle) { |
306 | - echo "<p>" . _("Now, we need to know which EAP types your IdP supports. If you support multiple EAP types, you can assign every type a priority (1=highest). This tool will always generate an automatic installer for the EAP type with the highest priority; only if the user's device can't use that EAP type, we will use an EAP type further down in the list.") . "</p>"; |
|
306 | + echo "<p>"._("Now, we need to know which EAP types your IdP supports. If you support multiple EAP types, you can assign every type a priority (1=highest). This tool will always generate an automatic installer for the EAP type with the highest priority; only if the user's device can't use that EAP type, we will use an EAP type further down in the list.")."</p>"; |
|
307 | 307 | } |
308 | 308 | ?> |
309 | 309 | <?php |
@@ -336,7 +336,7 @@ discard block |
||
336 | 336 | <?php |
337 | 337 | $D = []; |
338 | 338 | foreach ($prefill_methods as $prio => $value) { |
339 | - print '<li>' . $value->getPrintableRep() . "</li>\n"; |
|
339 | + print '<li>'.$value->getPrintableRep()."</li>\n"; |
|
340 | 340 | $D[$value->getPrintableRep()] = $prio; |
341 | 341 | } |
342 | 342 | ?> |
@@ -362,7 +362,7 @@ discard block |
||
362 | 362 | } |
363 | 363 | $display = $a->getPrintableRep(); |
364 | 364 | if (!isset($D[$a->getPrintableRep()])) { |
365 | - print '<li class="eap1">' . $a->getPrintableRep() . "</li>\n"; |
|
365 | + print '<li class="eap1">'.$a->getPrintableRep()."</li>\n"; |
|
366 | 366 | } |
367 | 367 | } |
368 | 368 | ?> |
@@ -375,8 +375,8 @@ discard block |
||
375 | 375 | foreach ($methods as $a) { |
376 | 376 | $display = $a->getPrintableRep(); |
377 | 377 | $v = isset($D[$display]) ? $D[$display] : ''; |
378 | - print '<input type="hidden" class="eapm" name="' . $display . '" id="EAP-' . $display . '" value="' . $display . '">'; |
|
379 | - print '<input type="hidden" class="eapmv" name="' . $display . '-priority" id="EAP-' . $display . '-priority" value="' . $v . '">'; |
|
378 | + print '<input type="hidden" class="eapm" name="'.$display.'" id="EAP-'.$display.'" value="'.$display.'">'; |
|
379 | + print '<input type="hidden" class="eapmv" name="'.$display.'-priority" id="EAP-'.$display.'-priority" value="'.$v.'">'; |
|
380 | 380 | } |
381 | 381 | ?> |
382 | 382 | <br style="clear:both;" /> |
@@ -396,11 +396,11 @@ discard block |
||
396 | 396 | foreach ($optionsAlreadySet as $optionNames) { |
397 | 397 | if (preg_match("/^support:/", $optionNames)) { |
398 | 398 | $has_support_options[$optionNames] = "SET"; |
399 | - $support_text .= "<li><strong>" . $uiElements->displayName($optionNames) . "</strong></li>"; |
|
399 | + $support_text .= "<li><strong>".$uiElements->displayName($optionNames)."</strong></li>"; |
|
400 | 400 | } |
401 | 401 | if (preg_match("/^media:/", $optionNames)) { |
402 | 402 | $has_media_options[$optionNames] = "SET"; |
403 | - $media_text .= "<li><strong>" . $uiElements->displayName($optionNames) . "</strong></li>"; |
|
403 | + $media_text .= "<li><strong>".$uiElements->displayName($optionNames)."</strong></li>"; |
|
404 | 404 | } |
405 | 405 | } |
406 | 406 | $fields = [ |
@@ -409,22 +409,22 @@ discard block |
||
409 | 409 | "media" => _("Media Properties for this profile")]; |
410 | 410 | |
411 | 411 | foreach ($fields as $name => $description) { |
412 | - echo "<fieldset class='option_container' id='" . $name . "_override'> |
|
412 | + echo "<fieldset class='option_container' id='".$name."_override'> |
|
413 | 413 | <legend><strong>$description</strong></legend> |
414 | 414 | <p>"; |
415 | 415 | |
416 | - if (count(${"has_" . $name . "_options"}) > 0) { |
|
417 | - printf(ngettext("The option %s is already defined IdP-wide. If you set it here on profile level, this setting will override the IdP-wide one.", "The options %s are already defined IdP-wide. If you set them here on profile level, these settings will override the IdP-wide ones.", count(${"has_" . $name . "_options"})), "<ul>" . ${$name . "_text"} . "</ul>"); |
|
416 | + if (count(${"has_".$name."_options"}) > 0) { |
|
417 | + printf(ngettext("The option %s is already defined IdP-wide. If you set it here on profile level, this setting will override the IdP-wide one.", "The options %s are already defined IdP-wide. If you set them here on profile level, these settings will override the IdP-wide ones.", count(${"has_".$name."_options"})), "<ul>".${$name."_text"}."</ul>"); |
|
418 | 418 | } |
419 | 419 | |
420 | 420 | echo "</p>"; |
421 | 421 | echo $optionDisplay->prefilledOptionTable($name); |
422 | - echo "<button type='button' class='newoption' onclick='getXML(\"$name\")'>" . _("Add new option") . "</button>"; |
|
422 | + echo "<button type='button' class='newoption' onclick='getXML(\"$name\")'>"._("Add new option")."</button>"; |
|
423 | 423 | echo "</fieldset>"; |
424 | 424 | } |
425 | 425 | |
426 | 426 | if ($wizardStyle) { |
427 | - echo "<p>" . _("When you are sure that everything is correct, please click on 'Save data' and you will be taken to your IdP Dashboard page.") . "</p>"; |
|
427 | + echo "<p>"._("When you are sure that everything is correct, please click on 'Save data' and you will be taken to your IdP Dashboard page.")."</p>"; |
|
428 | 428 | } |
429 | -echo "<p><button type='submit' name='submitbutton' value='" . web\lib\common\FormElements::BUTTON_SAVE . "'>" . _("Save data") . "</button><button type='button' class='delete' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_idp.php?inst_id=$my_inst->identifier\"'>" . _("Discard changes") . "</button></p></form>"; |
|
429 | +echo "<p><button type='submit' name='submitbutton' value='".web\lib\common\FormElements::BUTTON_SAVE."'>"._("Save data")."</button><button type='button' class='delete' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_idp.php?inst_id=$my_inst->identifier\"'>"._("Discard changes")."</button></p></form>"; |
|
430 | 430 | echo $deco->footer(); |
@@ -142,17 +142,17 @@ discard block |
||
142 | 142 | foreach (array_keys($this->typeDb) as $name) { |
143 | 143 | if ($className === 0) { |
144 | 144 | $tempArray[] = $name; |
145 | - } elseif (preg_match('/^' . $className . ':/', $name) > 0) { |
|
145 | + } elseif (preg_match('/^'.$className.':/', $name) > 0) { |
|
146 | 146 | $tempArray[] = $name; |
147 | 147 | } |
148 | 148 | } |
149 | 149 | $returnArray = $tempArray; |
150 | 150 | // remove silverbullet-specific options if this deployment is not SB |
151 | 151 | foreach ($tempArray as $key => $val) { |
152 | - if (( \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] != 'LOCAL') && (preg_match('/^fed:silverbullet/', $val) > 0)) { |
|
152 | + if ((\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] != 'LOCAL') && (preg_match('/^fed:silverbullet/', $val) > 0)) { |
|
153 | 153 | unset($returnArray[$key]); |
154 | 154 | } |
155 | - if (( \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] != 'LOCAL') && (preg_match('/^fed:minted_ca_file/', $val) > 0)) { |
|
155 | + if ((\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] != 'LOCAL') && (preg_match('/^fed:minted_ca_file/', $val) > 0)) { |
|
156 | 156 | unset($returnArray[$key]); |
157 | 157 | } |
158 | 158 | } |
@@ -172,7 +172,7 @@ discard block |
||
172 | 172 | if (isset($this->typeDb[$optionname])) { |
173 | 173 | return $this->typeDb[$optionname]; |
174 | 174 | } |
175 | - throw new Exception("Metadata about an option was requested, but the option name does not exist in the system: " . htmlentities($optionname)); |
|
175 | + throw new Exception("Metadata about an option was requested, but the option name does not exist in the system: ".htmlentities($optionname)); |
|
176 | 176 | } |
177 | 177 | |
178 | 178 | /** |
@@ -21,14 +21,14 @@ discard block |
||
21 | 21 | */ |
22 | 22 | |
23 | 23 | require_once "autoloader.php"; |
24 | -require_once __DIR__ . "/../packageRoot.php"; |
|
24 | +require_once __DIR__."/../packageRoot.php"; |
|
25 | 25 | |
26 | 26 | // enable Composer autoloader, if exists |
27 | -if (file_exists(__DIR__ . "/../vendor/autoload.php") !== FALSE) { |
|
28 | - include_once __DIR__ . "/../vendor/autoload.php"; |
|
27 | +if (file_exists(__DIR__."/../vendor/autoload.php") !== FALSE) { |
|
28 | + include_once __DIR__."/../vendor/autoload.php"; |
|
29 | 29 | } |
30 | 30 | |
31 | -if (!file_exists(ROOT . "/config/Master.php")) { |
|
31 | +if (!file_exists(ROOT."/config/Master.php")) { |
|
32 | 32 | echo "Master configuration file not found. You need to configure the product! At least config/Master.php is required!"; |
33 | 33 | throw new Exception("Master config file not found!"); |
34 | 34 | } |
@@ -36,14 +36,14 @@ discard block |
||
36 | 36 | /* load sub-configs if we are dealing with those in this installation */ |
37 | 37 | |
38 | 38 | if (\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] == 'LOCAL' || \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] == 'LOCAL') { |
39 | - if (!file_exists(ROOT . "/config/ConfAssistant.php")) { |
|
39 | + if (!file_exists(ROOT."/config/ConfAssistant.php")) { |
|
40 | 40 | echo "ConfAssistant configuration file not found. You need to configure the product!"; |
41 | 41 | throw new Exception("ConfAssistant config file not found!"); |
42 | 42 | } |
43 | 43 | } |
44 | 44 | |
45 | 45 | if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == 'LOCAL') { |
46 | - if (!file_exists(ROOT . "/config/Diagnostics.php")) { |
|
46 | + if (!file_exists(ROOT."/config/Diagnostics.php")) { |
|
47 | 47 | echo "Diagnostics configuration file not found. You need to configure the product!"; |
48 | 48 | throw new Exception("Diagnostics config file not found!"); |
49 | 49 | } |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | $mail->WordWrap = 72; |
80 | 80 | $mail->isHTML(FALSE); |
81 | 81 | $mail->CharSet = 'UTF-8'; |
82 | - $configuredFrom = \config\Master::APPEARANCE['from-mail'] . ""; |
|
82 | + $configuredFrom = \config\Master::APPEARANCE['from-mail'].""; |
|
83 | 83 | $mail->From = $configuredFrom; |
84 | 84 | // are we fancy? i.e. S/MIME signing? |
85 | 85 | if (isset(\config\Master::MAILSETTINGS['certfilename'], \config\Master::MAILSETTINGS['keyfilename'], \config\Master::MAILSETTINGS['keypass'])) { |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | $loggerInstance->debug(4, "OutsideComm::mailAddressValidSecure: no MX."); |
120 | 120 | return OutsideComm::MAILDOMAIN_NO_MX; |
121 | 121 | } |
122 | - $loggerInstance->debug(5, "Domain: $domain MX: " . print_r($mx, TRUE)); |
|
122 | + $loggerInstance->debug(5, "Domain: $domain MX: ".print_r($mx, TRUE)); |
|
123 | 123 | // create a pool of A and AAAA records for all the MXes |
124 | 124 | $ipAddrs = []; |
125 | 125 | foreach ($mx as $onemx) { |
@@ -129,14 +129,14 @@ discard block |
||
129 | 129 | $ipAddrs[] = $oneipv4['ip']; |
130 | 130 | } |
131 | 131 | foreach ($v6list as $oneipv6) { |
132 | - $ipAddrs[] = "[" . $oneipv6['ipv6'] . "]"; |
|
132 | + $ipAddrs[] = "[".$oneipv6['ipv6']."]"; |
|
133 | 133 | } |
134 | 134 | } |
135 | 135 | if (count($ipAddrs) == 0) { |
136 | 136 | $loggerInstance->debug(4, "OutsideComm::mailAddressValidSecure: no mailserver hosts."); |
137 | 137 | return OutsideComm::MAILDOMAIN_NO_HOST; |
138 | 138 | } |
139 | - $loggerInstance->debug(5, "Domain: $domain Addrs: " . print_r($ipAddrs, TRUE)); |
|
139 | + $loggerInstance->debug(5, "Domain: $domain Addrs: ".print_r($ipAddrs, TRUE)); |
|
140 | 140 | // connect to all hosts. If all can't connect, return MAILDOMAIN_NO_CONNECT. |
141 | 141 | // If at least one does not support STARTTLS or one of the hosts doesn't connect |
142 | 142 | // , return MAILDOMAIN_NO_STARTTLS (one which we can't connect to we also |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | switch (\config\ConfAssistant::SMSSETTINGS['provider']) { |
189 | 189 | case 'Nexmo': |
190 | 190 | // taken from https://docs.nexmo.com/messaging/sms-api |
191 | - $url = 'https://rest.nexmo.com/sms/json?' . http_build_query( |
|
191 | + $url = 'https://rest.nexmo.com/sms/json?'.http_build_query( |
|
192 | 192 | [ |
193 | 193 | 'api_key' => \config\ConfAssistant::SMSSETTINGS['username'], |
194 | 194 | 'api_secret' => \config\ConfAssistant::SMSSETTINGS['password'], |
@@ -214,14 +214,14 @@ discard block |
||
214 | 214 | $loggerInstance->debug(2, 'Problem with SMS invitation: no message was sent!'); |
215 | 215 | return OutsideComm::SMS_NOTSENT; |
216 | 216 | } |
217 | - $loggerInstance->debug(2, 'Total of ' . $messageCount . ' messages were attempted to send.'); |
|
217 | + $loggerInstance->debug(2, 'Total of '.$messageCount.' messages were attempted to send.'); |
|
218 | 218 | |
219 | 219 | $totalFailures = 0; |
220 | 220 | foreach ($decoded_response['messages'] as $message) { |
221 | 221 | if ($message['status'] == 0) { |
222 | - $loggerInstance->debug(2, $message['message-id'] . ": Success"); |
|
222 | + $loggerInstance->debug(2, $message['message-id'].": Success"); |
|
223 | 223 | } else { |
224 | - $loggerInstance->debug(2, $message['message-id'] . ": Failed (failure code = " . $message['status'] . ")"); |
|
224 | + $loggerInstance->debug(2, $message['message-id'].": Failed (failure code = ".$message['status'].")"); |
|
225 | 225 | $totalFailures++; |
226 | 226 | } |
227 | 227 | } |
@@ -289,7 +289,7 @@ discard block |
||
289 | 289 | $proto = "https://"; |
290 | 290 | } |
291 | 291 | // then, send out the mail |
292 | - $message = _("Hello,") . "\n\n" . wordwrap($introTexts[$introtext] . " " . $validity, 72) . "\n\n"; |
|
292 | + $message = _("Hello,")."\n\n".wordwrap($introTexts[$introtext]." ".$validity, 72)."\n\n"; |
|
293 | 293 | // default means we don't have a Reply-To. |
294 | 294 | $replyToMessage = wordwrap(_("manually. Please do not reply to this mail; this is a send-only address.")); |
295 | 295 | |
@@ -297,8 +297,8 @@ discard block |
||
297 | 297 | // see if we are supposed to add a custom message |
298 | 298 | $customtext = $federation->getAttributes('fed:custominvite'); |
299 | 299 | if (count($customtext) > 0) { |
300 | - $message .= wordwrap(sprintf(_("Additional message from your %s administrator:"), Entity::$nomenclature_fed), 72) . "\n---------------------------------" . |
|
301 | - wordwrap($customtext[0]['value'], 72) . "\n---------------------------------\n\n"; |
|
300 | + $message .= wordwrap(sprintf(_("Additional message from your %s administrator:"), Entity::$nomenclature_fed), 72)."\n---------------------------------". |
|
301 | + wordwrap($customtext[0]['value'], 72)."\n---------------------------------\n\n"; |
|
302 | 302 | } |
303 | 303 | // and add Reply-To already now |
304 | 304 | foreach ($federation->listFederationAdmins() as $fedadmin_id) { |
@@ -314,19 +314,19 @@ discard block |
||
314 | 314 | } |
315 | 315 | $productname = \config\Master::APPEARANCE['productname']; |
316 | 316 | $consortium = \config\ConfAssistant::CONSORTIUM['display_name']; |
317 | - $message .= wordwrap(sprintf(_("To enlist as an administrator for that %s, please click on the following link:"), Entity::$nomenclature_participant), 72) . "\n\n" . |
|
318 | - $proto . $_SERVER['SERVER_NAME'] . \config\Master::PATHS['cat_base_url'] . "admin/action_enrollment.php?token=$newtoken\n\n" . |
|
319 | - wordwrap(sprintf(_("If clicking the link doesn't work, you can also go to the %s Administrator Interface at"), $productname), 72) . "\n\n" . |
|
320 | - $proto . $_SERVER['SERVER_NAME'] . \config\Master::PATHS['cat_base_url'] . "admin/\n\n" . |
|
321 | - _("and enter the invitation token") . "\n\n" . |
|
322 | - $newtoken . "\n\n$replyToMessage\n\n" . |
|
323 | - wordwrap(_("Do NOT forward the mail before the token has expired - or the recipients may be able to consume the token on your behalf!"), 72) . "\n\n" . |
|
324 | - wordwrap(sprintf(_("We wish you a lot of fun with the %s."), $productname), 72) . "\n\n" . |
|
317 | + $message .= wordwrap(sprintf(_("To enlist as an administrator for that %s, please click on the following link:"), Entity::$nomenclature_participant), 72)."\n\n". |
|
318 | + $proto.$_SERVER['SERVER_NAME'].\config\Master::PATHS['cat_base_url']."admin/action_enrollment.php?token=$newtoken\n\n". |
|
319 | + wordwrap(sprintf(_("If clicking the link doesn't work, you can also go to the %s Administrator Interface at"), $productname), 72)."\n\n". |
|
320 | + $proto.$_SERVER['SERVER_NAME'].\config\Master::PATHS['cat_base_url']."admin/\n\n". |
|
321 | + _("and enter the invitation token")."\n\n". |
|
322 | + $newtoken."\n\n$replyToMessage\n\n". |
|
323 | + wordwrap(_("Do NOT forward the mail before the token has expired - or the recipients may be able to consume the token on your behalf!"), 72)."\n\n". |
|
324 | + wordwrap(sprintf(_("We wish you a lot of fun with the %s."), $productname), 72)."\n\n". |
|
325 | 325 | sprintf(_("Sincerely,\n\nYour friendly folks from %s Operations"), $consortium); |
326 | 326 | |
327 | 327 | |
328 | 328 | // who to whom? |
329 | - $mail->FromName = \config\Master::APPEARANCE['productname'] . " Invitation System"; |
|
329 | + $mail->FromName = \config\Master::APPEARANCE['productname']." Invitation System"; |
|
330 | 330 | |
331 | 331 | if (isset(\config\Master::APPEARANCE['invitation-bcc-mail']) && \config\Master::APPEARANCE['invitation-bcc-mail'] !== NULL) { |
332 | 332 | $mail->addBCC(\config\Master::APPEARANCE['invitation-bcc-mail']); |