@@ -1,22 +1,22 @@ discard block |
||
1 | 1 | <?php |
2 | -require_once dirname(dirname(__FILE__)) . "/config/_config.php"; |
|
2 | +require_once dirname(dirname(__FILE__))."/config/_config.php"; |
|
3 | 3 | /** |
4 | 4 | * check if URL responds with 200 |
5 | 5 | * |
6 | 6 | * @param string $srv server name |
7 | 7 | * @return integer or NULL |
8 | 8 | */ |
9 | -function checkConfigRADIUSDaemon ($srv) { |
|
9 | +function checkConfigRADIUSDaemon($srv) { |
|
10 | 10 | $ch = curl_init(); |
11 | 11 | if ($ch === FALSE) { |
12 | 12 | return NULL; |
13 | 13 | } |
14 | 14 | $timeout = 10; |
15 | - curl_setopt ( $ch, CURLOPT_URL, $srv ); |
|
16 | - curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); |
|
17 | - curl_setopt ( $ch, CURLOPT_TIMEOUT, $timeout ); |
|
15 | + curl_setopt($ch, CURLOPT_URL, $srv); |
|
16 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
|
17 | + curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); |
|
18 | 18 | curl_exec($ch); |
19 | - $http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); |
|
19 | + $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); |
|
20 | 20 | if ($http_code == 200) { |
21 | 21 | return 1; |
22 | 22 | } |
@@ -52,8 +52,8 @@ discard block |
||
52 | 52 | } |
53 | 53 | $siteStatus = array(); |
54 | 54 | foreach (array_keys($brokenDeployments) as $server_id) { |
55 | - print "check $server_id " . $radiusSite[$server_id] . "\n"; |
|
56 | - $siteStatus[$server_id] = checkConfigRADIUSDaemon('http://' . $radiusSite[$server_id]); |
|
55 | + print "check $server_id ".$radiusSite[$server_id]."\n"; |
|
56 | + $siteStatus[$server_id] = checkConfigRADIUSDaemon('http://'.$radiusSite[$server_id]); |
|
57 | 57 | if ($siteStatus[$server_id]) { |
58 | 58 | echo "\ncheck radius\n"; |
59 | 59 | echo \config\Diagnostics::RADIUSSPTEST['port']."\n"; |
@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | * ****************************************************************************** |
10 | 10 | */ |
11 | 11 | |
12 | -require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php"; |
|
12 | +require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php"; |
|
13 | 13 | |
14 | 14 | $auth = new \web\lib\admin\Authentication(); |
15 | 15 | $auth->authenticate(); |
@@ -22,30 +22,30 @@ discard block |
||
22 | 22 | |
23 | 23 | ?> |
24 | 24 | |
25 | -<h1><?php echo _("User Authentication Records");?></h1> |
|
26 | -<p><?php echo _("Note that:");?></p> |
|
25 | +<h1><?php echo _("User Authentication Records"); ?></h1> |
|
26 | +<p><?php echo _("Note that:"); ?></p> |
|
27 | 27 | <ul> |
28 | - <li><?php echo _("Authentication records are deleted after six months retention time");?></li> |
|
29 | - <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots");?></li> |
|
30 | - <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems");?></li> |
|
28 | + <li><?php echo _("Authentication records are deleted after six months retention time"); ?></li> |
|
29 | + <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots"); ?></li> |
|
30 | + <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems"); ?></li> |
|
31 | 31 | </ul> |
32 | 32 | <table class='authrecord'> |
33 | 33 | <tr> |
34 | - <td><strong><?php echo _("Timestamp");?></strong></td> |
|
35 | - <td><strong><?php echo _("Credential");?></strong></td> |
|
36 | - <td><strong><?php echo _("MAC Address");?></strong></td> |
|
37 | - <td><strong><?php echo _("Result");?></strong></td> |
|
38 | - <td><strong><?php echo _("Operator Domain");?></strong></td> |
|
34 | + <td><strong><?php echo _("Timestamp"); ?></strong></td> |
|
35 | + <td><strong><?php echo _("Credential"); ?></strong></td> |
|
36 | + <td><strong><?php echo _("MAC Address"); ?></strong></td> |
|
37 | + <td><strong><?php echo _("Result"); ?></strong></td> |
|
38 | + <td><strong><?php echo _("Operator Domain"); ?></strong></td> |
|
39 | 39 | </tr> |
40 | 40 | <?php |
41 | 41 | $userAuthData = $profile->getUserAuthRecords($userInt); |
42 | 42 | foreach ($userAuthData as $oneRecord) { |
43 | - echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail" )."'>" |
|
43 | + echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail")."'>" |
|
44 | 44 | . "<td>".$oneRecord['TIMESTAMP']."</td>" |
45 | - . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'],"@"))."</td>" |
|
45 | + . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'], "@"))."</td>" |
|
46 | 46 | . "<td>".$oneRecord['MAC']."</td>" |
47 | 47 | . "<td>".($oneRecord['RESULT'] == "Access-Accept" ? _("Success") : _("Failure"))."</td>" |
48 | - . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)",1)."</td>" |
|
48 | + . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)", 1)."</td>" |
|
49 | 49 | . "</tr>"; |
50 | 50 | } |
51 | 51 | ?> |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | $this->installerPath = $cache['path']; |
84 | 84 | if ($this->installerPath !== NULL && $token === NULL && $password === NULL) { |
85 | 85 | $this->loggerInstance->debug(4, "Using cached installer for: $device\n"); |
86 | - $installerProperties['link'] = "API.php?action=downloadInstaller&lang=" . $this->languageInstance->getLang() . "&profile=$profileId&device=$device&generatedfor=$generatedFor"; |
|
86 | + $installerProperties['link'] = "API.php?action=downloadInstaller&lang=".$this->languageInstance->getLang()."&profile=$profileId&device=$device&generatedfor=$generatedFor"; |
|
87 | 87 | $installerProperties['mime'] = $cache['mime']; |
88 | 88 | } else { |
89 | 89 | $myInstaller = $this->generateNewInstaller($device, $profile, $generatedFor, $token, $password); |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | $this->loggerInstance->debug(5, "generateNewInstaller() - Device setup done"); |
172 | 172 | $installer = $dev->writeInstaller(); |
173 | 173 | $this->loggerInstance->debug(5, "generateNewInstaller() - writeInstaller complete"); |
174 | - $iPath = $dev->FPATH . '/tmp/' . $installer; |
|
174 | + $iPath = $dev->FPATH.'/tmp/'.$installer; |
|
175 | 175 | if ($iPath && is_file($iPath)) { |
176 | 176 | if (isset($dev->options['mime'])) { |
177 | 177 | $out['mime'] = $dev->options['mime']; |
@@ -179,17 +179,17 @@ discard block |
||
179 | 179 | $info = new \finfo(); |
180 | 180 | $out['mime'] = $info->file($iPath, FILEINFO_MIME_TYPE); |
181 | 181 | } |
182 | - $this->installerPath = $dev->FPATH . '/' . $installer; |
|
182 | + $this->installerPath = $dev->FPATH.'/'.$installer; |
|
183 | 183 | rename($iPath, $this->installerPath); |
184 | 184 | $integerEap = (new \core\common\EAP($dev->selectedEap))->getIntegerRep(); |
185 | 185 | $profile->updateCache($device, $this->installerPath, $out['mime'], $integerEap); |
186 | 186 | if (\config\Master::DEBUG_LEVEL < 4) { |
187 | - \core\common\Entity::rrmdir($dev->FPATH . '/tmp'); |
|
187 | + \core\common\Entity::rrmdir($dev->FPATH.'/tmp'); |
|
188 | 188 | } |
189 | - $this->loggerInstance->debug(4, "Generated installer: " . $this->installerPath . ": for: $device, EAP:" . $integerEap . "\n"); |
|
190 | - $out['link'] = "API.php?action=downloadInstaller&lang=" . $this->languageInstance->getLang() . "&profile=" . $profile->identifier . "&device=$device&generatedfor=$generatedFor"; |
|
189 | + $this->loggerInstance->debug(4, "Generated installer: ".$this->installerPath.": for: $device, EAP:".$integerEap."\n"); |
|
190 | + $out['link'] = "API.php?action=downloadInstaller&lang=".$this->languageInstance->getLang()."&profile=".$profile->identifier."&device=$device&generatedfor=$generatedFor"; |
|
191 | 191 | } else { |
192 | - $this->loggerInstance->debug(2, "Installer generation failed for: " . $profile->identifier . ":$device:" . $this->languageInstance->getLang() . "\n"); |
|
192 | + $this->loggerInstance->debug(2, "Installer generation failed for: ".$profile->identifier.":$device:".$this->languageInstance->getLang()."\n"); |
|
193 | 193 | $out['link'] = 0; |
194 | 194 | } |
195 | 195 | } |
@@ -302,13 +302,13 @@ discard block |
||
302 | 302 | $file = $this->installerPath; |
303 | 303 | $filetype = $output['mime']; |
304 | 304 | $this->loggerInstance->debug(4, "installer MIME type:$filetype\n"); |
305 | - header("Content-type: " . $filetype); |
|
305 | + header("Content-type: ".$filetype); |
|
306 | 306 | if ($filetype !== "application/x-wifi-config") { // for those installers to work on Android, Content-Disposition MUST NOT be set |
307 | - header('Content-Disposition: inline; filename="' . basename($file) . '"'); |
|
307 | + header('Content-Disposition: inline; filename="'.basename($file).'"'); |
|
308 | 308 | } else { |
309 | 309 | header('Content-Transfer-Encoding: base64'); |
310 | 310 | } |
311 | - header('Content-Length: ' . filesize($file)); |
|
311 | + header('Content-Length: '.filesize($file)); |
|
312 | 312 | ob_clean(); |
313 | 313 | flush(); |
314 | 314 | readfile($file); |
@@ -329,7 +329,7 @@ discard block |
||
329 | 329 | $filetype = $info->buffer($inputImage, FILEINFO_MIME_TYPE); |
330 | 330 | $offset = 60 * 60 * 24 * 30; |
331 | 331 | // gmdate cannot fail here - time() is its default argument (and integer), and we are adding an integer to it |
332 | - $expiresString = "Expires: " . /** @scrutinizer ignore-type */ gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; |
|
332 | + $expiresString = "Expires: "./** @scrutinizer ignore-type */ gmdate("D, d M Y H:i:s", time() + $offset)." GMT"; |
|
333 | 333 | $blob = $inputImage; |
334 | 334 | |
335 | 335 | if ($resize === TRUE) { |
@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | $filetype = 'image/png'; // default, only one code path where it can become different |
385 | 385 | list($width, $height, $resize) = $this->testForResize($widthIn, $heightIn); |
386 | 386 | if ($resize) { |
387 | - $logoFile = ROOT . '/web/downloads/logos/' . $identifier . '_' . $width . '_' . $height . '.png'; |
|
387 | + $logoFile = ROOT.'/web/downloads/logos/'.$identifier.'_'.$width.'_'.$height.'.png'; |
|
388 | 388 | } |
389 | 389 | if (is_file($logoFile)) { // $logoFile could be an empty string but then we will get a FALSE |
390 | 390 | $this->loggerInstance->debug(4, "Using cached logo $logoFile for: $identifier\n"); |
@@ -477,7 +477,7 @@ discard block |
||
477 | 477 | if (!isset($device['match'])) { |
478 | 478 | continue; |
479 | 479 | } |
480 | - if (preg_match('/' . $device['match'] . '/', $browser)) { |
|
480 | + if (preg_match('/'.$device['match'].'/', $browser)) { |
|
481 | 481 | return $this->returnDevice($devId, $device); |
482 | 482 | } |
483 | 483 | } |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | */ |
21 | 21 | ?> |
22 | 22 | <?php |
23 | -require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php"; |
|
23 | +require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php"; |
|
24 | 24 | |
25 | 25 | $auth = new \web\lib\admin\Authentication(); |
26 | 26 | $languageInstance = new \core\common\Language(); |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | $invitationObject = new core\SilverbulletInvitation($validator->token(filter_input(INPUT_POST, 'token'))); |
39 | 39 | header("Content-Type:text/html;charset=utf-8"); |
40 | 40 | ?> |
41 | -<h1 style='text-align:center;'><?php echo _("Invitation Token QR Code");?></h1> |
|
41 | +<h1 style='text-align:center;'><?php echo _("Invitation Token QR Code"); ?></h1> |
|
42 | 42 | <img style='float:none' src='data:image/png;base64,<?php |
43 | 43 | $size = 10; |
44 | 44 | $qrCode = new \chillerlan\QRCode\QRCode(new \chillerlan\QRCode\QROptions([ |
@@ -51,5 +51,5 @@ discard block |
||
51 | 51 | if (empty($rawQr)) { |
52 | 52 | throw new Exception("Something went seriously wrong during QR code generation!"); |
53 | 53 | } |
54 | -echo base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, $size));?>'/> |
|
55 | -<p>(<a href='<?php echo $invitationObject->link();?>'><?php echo $invitationObject->link();?>)</a></p> |
|
54 | +echo base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, $size)); ?>'/> |
|
55 | +<p>(<a href='<?php echo $invitationObject->link(); ?>'><?php echo $invitationObject->link(); ?>)</a></p> |
@@ -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 | $deco = new \web\lib\admin\PageDecoration(); |
32 | 32 | $validator = new \web\lib\common\InputValidation(); |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | } else { |
39 | 39 | $link = 'http://'; |
40 | 40 | } |
41 | -$link .= $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME']; |
|
41 | +$link .= $_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; |
|
42 | 42 | $link = htmlspecialchars($link); |
43 | 43 | |
44 | 44 | echo $deco->defaultPagePrelude(sprintf(_("%s: %s Dashboard"), \config\Master::APPEARANCE['productname'], $uiElements->nomenclatureInst)); |
@@ -84,10 +84,10 @@ discard block |
||
84 | 84 | $readonly = \config\Master::DB['INST']['readonly']; |
85 | 85 | $profiles_for_this_idp = $my_inst->listProfiles(); |
86 | 86 | if (count($profiles_for_this_idp) == 0) { // no profiles yet. |
87 | - echo "<h2>" . sprintf(_("There are not yet any profiles for your %s."), $uiElements->nomenclatureInst) . "</h2>"; |
|
87 | + echo "<h2>".sprintf(_("There are not yet any profiles for your %s."), $uiElements->nomenclatureInst)."</h2>"; |
|
88 | 88 | } |
89 | 89 | if (count($profiles_for_this_idp) > 0) { // no profiles yet. |
90 | - echo "<h2>" . sprintf(_("Profiles for this %s"), $uiElements->nomenclatureInst) . "</h2>"; |
|
90 | + echo "<h2>".sprintf(_("Profiles for this %s"), $uiElements->nomenclatureInst)."</h2>"; |
|
91 | 91 | } |
92 | 92 | // if there is one profile and it is of type Silver Bullet, display a very |
93 | 93 | // simple widget with just a "Manage" button |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | echo _("Information needed!"); |
114 | 114 | echo "<ul style='margin:1px'>"; |
115 | 115 | foreach ($completeness as $missing_attrib) { |
116 | - echo "<li>" . $uiElements->displayName($missing_attrib) . "</li>"; |
|
116 | + echo "<li>".$uiElements->displayName($missing_attrib)."</li>"; |
|
117 | 117 | } |
118 | 118 | echo "</ul>"; |
119 | 119 | echo "</div>"; |
@@ -127,7 +127,7 @@ discard block |
||
127 | 127 | if ($readonly === FALSE) { |
128 | 128 | ?> |
129 | 129 | <form action='edit_silverbullet.php?inst_id=<?php echo $my_inst->identifier; ?>&profile_id=<?php echo $profile_list->identifier; ?>' method='POST'> |
130 | - <button <?php echo ( is_array($completeness) ? "disabled" : "" ); ?> type='submit' name='sb_action' value='sb_edit'><?php echo _("Manage User Base"); ?></button> |
|
130 | + <button <?php echo (is_array($completeness) ? "disabled" : ""); ?> type='submit' name='sb_action' value='sb_edit'><?php echo _("Manage User Base"); ?></button> |
|
131 | 131 | </form> |
132 | 132 | <?php |
133 | 133 | } |
@@ -159,21 +159,21 @@ discard block |
||
159 | 159 | $has_overrides = TRUE; |
160 | 160 | } |
161 | 161 | } |
162 | - $buffer_eaptypediv = "<div style='margin-bottom:40px; float:left;'>" . _("<strong>EAP Types</strong> (in order of preference):") . "<br/>"; |
|
162 | + $buffer_eaptypediv = "<div style='margin-bottom:40px; float:left;'>"._("<strong>EAP Types</strong> (in order of preference):")."<br/>"; |
|
163 | 163 | $typelist = $profile_list->getEapMethodsinOrderOfPreference(); |
164 | 164 | $allcomplete = TRUE; |
165 | 165 | foreach ($typelist as $eaptype) { |
166 | 166 | $buffer_eaptypediv .= $eaptype->getPrintableRep(); |
167 | 167 | $completeness = $profile_list->isEapTypeDefinitionComplete($eaptype); |
168 | 168 | if ($completeness === true) { |
169 | - $buffer_eaptypediv .= " <div class='acceptable'>" . _("OK") . "</div>"; |
|
169 | + $buffer_eaptypediv .= " <div class='acceptable'>"._("OK")."</div>"; |
|
170 | 170 | } else { |
171 | 171 | $buffer_eaptypediv .= " <div class='notacceptable'>"; |
172 | 172 | $buffer_eaptypediv .= _("Information needed!"); |
173 | 173 | if (is_array($completeness)) { |
174 | 174 | $buffer_eaptypediv .= "<ul style='margin:1px'>"; |
175 | 175 | foreach ($completeness as $missing_attrib) { |
176 | - $buffer_eaptypediv .= "<li>" . $uiElements->displayName($missing_attrib) . "</li>"; |
|
176 | + $buffer_eaptypediv .= "<li>".$uiElements->displayName($missing_attrib)."</li>"; |
|
177 | 177 | } |
178 | 178 | $buffer_eaptypediv .= "</ul>"; |
179 | 179 | } |
@@ -185,12 +185,12 @@ discard block |
||
185 | 185 | foreach ($attribs as $attrib) { |
186 | 186 | if ($attrib['level'] == "Method" && !preg_match("/^internal:/", $attrib['name']) && !$justOnce) { |
187 | 187 | $justOnce = TRUE; |
188 | - $buffer_eaptypediv .= "<img src='../resources/images/icons/Letter-E-blue-icon.png' alt='" . _("Options on EAP Method/Device level are in effect.") . "'>"; |
|
188 | + $buffer_eaptypediv .= "<img src='../resources/images/icons/Letter-E-blue-icon.png' alt='"._("Options on EAP Method/Device level are in effect.")."'>"; |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | $buffer_eaptypediv .= "<br/>"; |
192 | 192 | } |
193 | - $buffer_headline = "<div style='padding-bottom:20px;'><h2 style='overflow:auto; display:inline; padding-bottom: 10px;'>" . sprintf(_("Profile: %s"), $profile_name) . "</h2>"; |
|
193 | + $buffer_headline = "<div style='padding-bottom:20px;'><h2 style='overflow:auto; display:inline; padding-bottom: 10px;'>".sprintf(_("Profile: %s"), $profile_name)."</h2>"; |
|
194 | 194 | |
195 | 195 | $buffer_headline .= "<span style='float:right;'>"; |
196 | 196 | $readiness = $profile_list->readinessLevel(); |
@@ -222,18 +222,18 @@ discard block |
||
222 | 222 | if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == "LOCAL") { |
223 | 223 | $diagUrl = "../diag/"; |
224 | 224 | } else { |
225 | - $diagUrl = \config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] . "/diag/"; |
|
225 | + $diagUrl = \config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS']."/diag/"; |
|
226 | 226 | } |
227 | - echo "<form action='" . $diagUrl . "action_realmcheck.php?inst_id=$my_inst->identifier&profile_id=$profile_list->identifier' method='post' accept-charset='UTF-8'> |
|
227 | + echo "<form action='".$diagUrl."action_realmcheck.php?inst_id=$my_inst->identifier&profile_id=$profile_list->identifier' method='post' accept-charset='UTF-8'> |
|
228 | 228 | <input type='hidden' name='comefrom' id='comefrom-$profilecount' value='$link'/> |
229 | - <button type='submit' name='profile_action' value='check' " . ($has_realm ? "" : "disabled='disabled' title='" . _("The realm can only be checked if you configure the realm!") . "'") . "> |
|
230 | - " . _("Check realm reachability") . " |
|
229 | + <button type='submit' name='profile_action' value='check' ".($has_realm ? "" : "disabled='disabled' title='"._("The realm can only be checked if you configure the realm!")."'")."> |
|
230 | + " . _("Check realm reachability")." |
|
231 | 231 | </button> |
232 | 232 | </form>"; |
233 | 233 | } |
234 | 234 | echo "<form action='overview_installers.php?inst_id=$my_inst->identifier&profile_id=$profile_list->identifier' method='post' accept-charset='UTF-8'> |
235 | - <button type='submit' name='profile_action' value='check' " . ($has_eaptypes ? "" : "disabled='disabled' title='" . _("You have not fully configured any supported EAP types!") . "'") . "> |
|
236 | - " . _("Installer Fine-Tuning and Download") . " |
|
235 | + <button type='submit' name='profile_action' value='check' ".($has_eaptypes ? "" : "disabled='disabled' title='"._("You have not fully configured any supported EAP types!")."'")."> |
|
236 | + " . _("Installer Fine-Tuning and Download")." |
|
237 | 237 | </button> |
238 | 238 | </form> |
239 | 239 | </div>"; |
@@ -242,11 +242,11 @@ discard block |
||
242 | 242 | echo " <div class='buttongroupprofilebox' style='clear:both;'> |
243 | 243 | <form action='edit_profile.php?inst_id=$my_inst->identifier&profile_id=$profile_list->identifier' method='post' accept-charset='UTF-8'> |
244 | 244 | <hr/> |
245 | - <button type='submit' name='profile_action' value='edit'>" . _("Edit") . "</button> |
|
245 | + <button type='submit' name='profile_action' value='edit'>"._("Edit")."</button> |
|
246 | 246 | </form> |
247 | 247 | <form action='edit_profile_result.php?inst_id=$my_inst->identifier&profile_id=$profile_list->identifier' method='post' accept-charset='UTF-8'> |
248 | - <button class='delete' type='submit' name='submitbutton' value='" . web\lib\common\FormElements::BUTTON_DELETE . "' onclick=\"return confirm('" . sprintf(_("Do you really want to delete the profile %s?"), $profile_name) . "')\"> |
|
249 | - " . _("Delete") . " |
|
248 | + <button class='delete' type='submit' name='submitbutton' value='".web\lib\common\FormElements::BUTTON_DELETE."' onclick=\"return confirm('".sprintf(_("Do you really want to delete the profile %s?"), $profile_name)."')\"> |
|
249 | + " . _("Delete")." |
|
250 | 250 | </button> |
251 | 251 | </form> |
252 | 252 | </div>"; |
@@ -255,10 +255,10 @@ discard block |
||
255 | 255 | // dummy width to keep a little distance |
256 | 256 | echo "<div style='width:20px;'></div>"; |
257 | 257 | if ($readiness == core\AbstractProfile::READINESS_LEVEL_SHOWTIME) { |
258 | - $idpLevelUrl = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on" ? 'https://' : 'http://') . $_SERVER['SERVER_NAME'] . dirname(dirname($_SERVER['SCRIPT_NAME'])) . "?idp=" . $my_inst->identifier; |
|
259 | - echo "<div style='display: table-cell; text-align:center;'><p><strong>" . _("User Download Link") . "</strong></p>"; |
|
260 | - $displayurl = $idpLevelUrl . "&profile=" . $profile_list->identifier; |
|
261 | - $QRurl = $idpLevelUrl . "&profile=" . $profile_list->identifier; |
|
258 | + $idpLevelUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on" ? 'https://' : 'http://').$_SERVER['SERVER_NAME'].dirname(dirname($_SERVER['SCRIPT_NAME']))."?idp=".$my_inst->identifier; |
|
259 | + echo "<div style='display: table-cell; text-align:center;'><p><strong>"._("User Download Link")."</strong></p>"; |
|
260 | + $displayurl = $idpLevelUrl."&profile=".$profile_list->identifier; |
|
261 | + $QRurl = $idpLevelUrl."&profile=".$profile_list->identifier; |
|
262 | 262 | $qrCode = new \chillerlan\QRCode\QRCode(new \chillerlan\QRCode\QROptions([ |
263 | 263 | 'outputType' => \chillerlan\QRCode\QRCode::OUTPUT_IMAGE_PNG, |
264 | 264 | 'eccLevel' => \chillerlan\QRCode\QRCode::ECC_H, |
@@ -270,16 +270,16 @@ discard block |
||
270 | 270 | if (empty($rawQr)) { |
271 | 271 | throw new Exception("Something went seriously wrong during QR code generation!"); |
272 | 272 | } |
273 | - $uri = "data:image/png;base64," . base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, web\lib\admin\UIElements::QRCODE_PIXELS_PER_SYMBOL)); |
|
273 | + $uri = "data:image/png;base64,".base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, web\lib\admin\UIElements::QRCODE_PIXELS_PER_SYMBOL)); |
|
274 | 274 | $size = getimagesize($uri); |
275 | - echo "<img width='" . ($size[0] / 4) . "' height='" . ($size[1] / 4) . "' src='$uri' alt='QR-code'/>"; |
|
275 | + echo "<img width='".($size[0] / 4)."' height='".($size[1] / 4)."' src='$uri' alt='QR-code'/>"; |
|
276 | 276 | |
277 | 277 | //echo "<nobr>$displayurl</nobr></a>"; |
278 | 278 | echo "<p>$displayurl</p></a>"; |
279 | 279 | echo "</div>"; |
280 | 280 | // dummy width to keep a little distance |
281 | 281 | echo "<div style='width:20px;'></div>"; |
282 | - echo "<div style='display: table-cell; min-width:200px;'><p><strong>" . _("User Downloads") . "</strong></p><table>"; |
|
282 | + echo "<div style='display: table-cell; min-width:200px;'><p><strong>"._("User Downloads")."</strong></p><table>"; |
|
283 | 283 | $stats = $profile_list->getUserDownloadStats(); |
284 | 284 | foreach ($stats as $dev => $count) { |
285 | 285 | echo "<tr><td><strong>$dev</strong></td><td>$count</td></tr>"; |
@@ -92,10 +92,10 @@ discard block |
||
92 | 92 | <NodeName>AAAServerTrustRoot</NodeName>'; |
93 | 93 | foreach ($this->attributes['internal:CAs'][0] as $oneCert) { |
94 | 94 | $retval .= '<Node> |
95 | - <NodeName>' . $oneCert['uuid'] . '</NodeName> |
|
95 | + <NodeName>' . $oneCert['uuid'].'</NodeName> |
|
96 | 96 | <Node> |
97 | 97 | <NodeName>CertSHA256Fingerprint</NodeName> |
98 | - <Value>' . $oneCert['sha256'] . '</Value> |
|
98 | + <Value>' . $oneCert['sha256'].'</Value> |
|
99 | 99 | </Node> |
100 | 100 | </Node> |
101 | 101 | '; |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | $now = new \DateTime(); |
115 | 115 | return '<Node> |
116 | 116 | <NodeName>CreationDate</NodeName> |
117 | - <Value>' . $now->format("Y-m-d") . "T" . $now->format("H:i:s") . "Z" . '</Value> |
|
117 | + <Value>' . $now->format("Y-m-d")."T".$now->format("H:i:s")."Z".'</Value> |
|
118 | 118 | </Node>'; |
119 | 119 | } |
120 | 120 | |
@@ -128,11 +128,11 @@ discard block |
||
128 | 128 | <NodeName>HomeSP</NodeName> |
129 | 129 | <Node> |
130 | 130 | <NodeName>FriendlyName</NodeName> |
131 | - <Value>' . sprintf(_("%s via Passpoint"), \config\ConfAssistant::CONSORTIUM['display_name']) . '</Value> |
|
131 | + <Value>' . sprintf(_("%s via Passpoint"), \config\ConfAssistant::CONSORTIUM['display_name']).'</Value> |
|
132 | 132 | </Node> |
133 | 133 | <Node> |
134 | 134 | <NodeName>FQDN</NodeName> |
135 | - <Value>' . $this->attributes['eap:server_name'][0] /* what, only one FQDN allowed? */ . '</Value> |
|
135 | + <Value>' . $this->attributes['eap:server_name'][0] /* what, only one FQDN allowed? */.'</Value> |
|
136 | 136 | </Node> |
137 | 137 | <Node> |
138 | 138 | <NodeName>RoamingConsortiumOI</NodeName> |
@@ -148,7 +148,7 @@ discard block |
||
148 | 148 | $oiList .= ","; |
149 | 149 | } |
150 | 150 | } |
151 | - $retval .= $oiList . '</Value> |
|
151 | + $retval .= $oiList.'</Value> |
|
152 | 152 | </Node> |
153 | 153 | </Node> |
154 | 154 | '; |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | <NodeName>Credential</NodeName> |
166 | 166 | <Node> |
167 | 167 | <NodeName>Realm</NodeName> |
168 | - <Value>' . $this->attributes['internal:realm'][0] . '</Value> |
|
168 | + <Value>' . $this->attributes['internal:realm'][0].'</Value> |
|
169 | 169 | </Node>'; |
170 | 170 | /* the example file I got did not include CreationDate, so omit it |
171 | 171 | * |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | </Node> |
181 | 181 | <Node> |
182 | 182 | <NodeName>CertSHA256Fingerprint</NodeName> |
183 | - <Value>' . strtoupper($this->clientCert["sha256"]) /* the actual cert has to go... where? */ . '</Value> |
|
183 | + <Value>' . strtoupper($this->clientCert["sha256"]) /* the actual cert has to go... where? */.'</Value> |
|
184 | 184 | </Node> |
185 | 185 | </Node> |
186 | 186 | </Node> |
@@ -298,7 +298,7 @@ discard block |
||
298 | 298 | // foresee signing. |
299 | 299 | // but if they ever change their mind, we are prepared |
300 | 300 | |
301 | - $outputFromSigning = system($this->sign . " installer_profile '$fileName' > /dev/null"); |
|
301 | + $outputFromSigning = system($this->sign." installer_profile '$fileName' > /dev/null"); |
|
302 | 302 | if ($outputFromSigning === FALSE) { |
303 | 303 | $this->loggerInstance->debug(2, "Signing the ONC installer $fileName FAILED!\n"); |
304 | 304 | } |
@@ -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(); |
@@ -81,7 +81,7 @@ discard block |
||
81 | 81 | foreach ($theFed->listTlsCertificates() as $oneCert) { // fetch list a second time, in case we got a cert |
82 | 82 | $status = $oneCert['STATUS']; |
83 | 83 | if ($status == "ISSUED") { |
84 | - $status = "<span onclick='alert(\"".str_replace("\n","\\n",$oneCert['CERT'])."\");'>$status</span>"; |
|
84 | + $status = "<span onclick='alert(\"".str_replace("\n", "\\n", $oneCert['CERT'])."\");'>$status</span>"; |
|
85 | 85 | } |
86 | 86 | echo "<tr><td>".$oneCert['REQSERIAL']."</td><td>".$oneCert['DN']."</td><td>".$status."</td><td>".$oneCert['EXPIRY']."</td></tr>"; |
87 | 87 | } |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | foreach ($this->attributes['internal:consortia'] as $oneCons) { |
98 | 98 | $knownOiName = array_search($oneCons, \config\ConfAssistant::CONSORTIUM['interworking-consortium-oi']); |
99 | 99 | if ($knownOiName === FALSE) { // a custom RCOI as set by the IdP admin; do not use the term "eduroam" in that one! |
100 | - $knownOiName = $this->attributes['general:instname'][0] . " "._("Roaming Partner") . " $roamingPartner"; |
|
100 | + $knownOiName = $this->attributes['general:instname'][0]." "._("Roaming Partner")." $roamingPartner"; |
|
101 | 101 | $roamingPartner++; |
102 | 102 | } |
103 | 103 | $ssid = 'cat-passpoint-profile'; |
@@ -149,12 +149,12 @@ discard block |
||
149 | 149 | if (empty($this->attributes['internal:realm'][0])) { |
150 | 150 | $retval .= \config\ConfAssistant::CONSORTIUM['interworking-domainname-fallback']; |
151 | 151 | } else { |
152 | - $retval .= $this->attributes['internal:realm'][0]; |
|
152 | + $retval .= $this->attributes['internal:realm'][0]; |
|
153 | 153 | } |
154 | 154 | $retval .= '</DomainName>'; |
155 | - $retval .= '<RoamingConsortium><OUI>' . $oi . |
|
155 | + $retval .= '<RoamingConsortium><OUI>'.$oi. |
|
156 | 156 | '</OUI></RoamingConsortium>'; |
157 | - $retval .= '</Hotspot2>'; |
|
157 | + $retval .= '</Hotspot2>'; |
|
158 | 158 | return($retval); |
159 | 159 | } |
160 | 160 | |
@@ -163,11 +163,11 @@ discard block |
||
163 | 163 | $profileFileCont = '<EAPConfig><EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig"> |
164 | 164 | <EapMethod> |
165 | 165 | '; |
166 | - $profileFileCont .= '<Type xmlns="http://www.microsoft.com/provisioning/EapCommon">' . |
|
167 | - $this->selectedEap["OUTER"] . '</Type> |
|
166 | + $profileFileCont .= '<Type xmlns="http://www.microsoft.com/provisioning/EapCommon">'. |
|
167 | + $this->selectedEap["OUTER"].'</Type> |
|
168 | 168 | <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId> |
169 | 169 | <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType> |
170 | -<AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">' . $authorId . '</AuthorId> |
|
170 | +<AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">' . $authorId.'</AuthorId> |
|
171 | 171 | </EapMethod> |
172 | 172 | '; |
173 | 173 | return($profileFileCont); |
@@ -178,10 +178,10 @@ discard block |
||
178 | 178 | <eapTls:ServerValidation> |
179 | 179 | <eapTls:DisableUserPromptForServerValidation>true</eapTls:DisableUserPromptForServerValidation> |
180 | 180 | '; |
181 | - $profileFileCont .= '<eapTls:ServerNames>' . $this->servers . '</eapTls:ServerNames>'; |
|
181 | + $profileFileCont .= '<eapTls:ServerNames>'.$this->servers.'</eapTls:ServerNames>'; |
|
182 | 182 | foreach ($this->caArray as $certAuthority) { |
183 | 183 | if ($certAuthority['root']) { |
184 | - $profileFileCont .= "<eapTls:TrustedRootCA>" . $certAuthority['sha1'] . "</eapTls:TrustedRootCA>\n"; |
|
184 | + $profileFileCont .= "<eapTls:TrustedRootCA>".$certAuthority['sha1']."</eapTls:TrustedRootCA>\n"; |
|
185 | 185 | } |
186 | 186 | } |
187 | 187 | $profileFileCont .= '</eapTls:ServerValidation> |
@@ -193,10 +193,10 @@ discard block |
||
193 | 193 | $profileFileCont = ' |
194 | 194 | <ServerValidation> |
195 | 195 | '; |
196 | - $profileFileCont .= '<ServerNames>' . $this->servers . '</ServerNames> '; |
|
196 | + $profileFileCont .= '<ServerNames>'.$this->servers.'</ServerNames> '; |
|
197 | 197 | foreach ($this->caArray as $certAuthority) { |
198 | 198 | if ($certAuthority['root']) { |
199 | - $profileFileCont .= "<TrustedRootCAHash>" . chunk_split($certAuthority['sha1'], 2, ' ') . "</TrustedRootCAHash>\n"; |
|
199 | + $profileFileCont .= "<TrustedRootCAHash>".chunk_split($certAuthority['sha1'], 2, ' ')."</TrustedRootCAHash>\n"; |
|
200 | 200 | } |
201 | 201 | } |
202 | 202 | $profileFileCont .= '<DisablePrompt>true</DisablePrompt> |
@@ -228,10 +228,10 @@ discard block |
||
228 | 228 | $profileFileCont = ' |
229 | 229 | <ServerValidation> |
230 | 230 | <DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation> |
231 | -<ServerNames>' . $this->servers . '</ServerNames>'; |
|
231 | +<ServerNames>' . $this->servers.'</ServerNames>'; |
|
232 | 232 | foreach ($this->caArray as $certAuthority) { |
233 | 233 | if ($certAuthority['root']) { |
234 | - $profileFileCont .= "<TrustedRootCA>" . $certAuthority['sha1'] . "</TrustedRootCA>\n"; |
|
234 | + $profileFileCont .= "<TrustedRootCA>".$certAuthority['sha1']."</TrustedRootCA>\n"; |
|
235 | 235 | } |
236 | 236 | } |
237 | 237 | $profileFileCont .= '</ServerValidation> |
@@ -287,7 +287,7 @@ discard block |
||
287 | 287 | if ($this->useAnon) { |
288 | 288 | $profileFileCont .= '<IdentityPrivacy>true</IdentityPrivacy> |
289 | 289 | '; |
290 | - $profileFileCont .= '<AnonymousIdentity>' . $this->outerId . '</AnonymousIdentity> |
|
290 | + $profileFileCont .= '<AnonymousIdentity>'.$this->outerId.'</AnonymousIdentity> |
|
291 | 291 | '; |
292 | 292 | } else { |
293 | 293 | $profileFileCont .= '<IdentityPrivacy>false</IdentityPrivacy> |
@@ -304,10 +304,10 @@ discard block |
||
304 | 304 | $profileFileCont = ' |
305 | 305 | <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig"> |
306 | 306 | <EAPIdentityProviderList xmlns="urn:ietf:params:xml:ns:yang:ietf-eap-metadata"> |
307 | -<EAPIdentityProvider ID="' . $this->deviceUUID . '" namespace="urn:UUID"> |
|
307 | +<EAPIdentityProvider ID="' . $this->deviceUUID.'" namespace="urn:UUID"> |
|
308 | 308 | |
309 | 309 | <ProviderInfo> |
310 | -<DisplayName>' . $this->translateString($this->attributes['general:instname'][0], $this->codePage) . '</DisplayName> |
|
310 | +<DisplayName>' . $this->translateString($this->attributes['general:instname'][0], $this->codePage).'</DisplayName> |
|
311 | 311 | </ProviderInfo> |
312 | 312 | <AuthenticationMethods> |
313 | 313 | <AuthenticationMethod> |
@@ -319,7 +319,7 @@ discard block |
||
319 | 319 | if ($this->outerUser == '') { |
320 | 320 | $profileFileCont .= '<AnonymousIdentity>@</AnonymousIdentity>'; |
321 | 321 | } else { |
322 | - $profileFileCont .= '<AnonymousIdentity>' . $this->outerId . '</AnonymousIdentity>'; |
|
322 | + $profileFileCont .= '<AnonymousIdentity>'.$this->outerId.'</AnonymousIdentity>'; |
|
323 | 323 | } |
324 | 324 | } |
325 | 325 | $profileFileCont .= '</ClientSideCredential> |
@@ -327,7 +327,7 @@ discard block |
||
327 | 327 | $profileFileCont .= $this->glTtlsServerValidation(); |
328 | 328 | $profileFileCont .= ' |
329 | 329 | <InnerAuthenticationMethod> |
330 | -<NonEAPAuthMethod>' . \core\common\EAP::eapDisplayName($this->selectedEap)['INNER'] . '</NonEAPAuthMethod> |
|
330 | +<NonEAPAuthMethod>' . \core\common\EAP::eapDisplayName($this->selectedEap)['INNER'].'</NonEAPAuthMethod> |
|
331 | 331 | </InnerAuthenticationMethod> |
332 | 332 | <VendorSpecific> |
333 | 333 | <SessionResumption>false</SessionResumption> |
@@ -358,7 +358,7 @@ discard block |
||
358 | 358 | <UseWinLogonCredentials>false</UseWinLogonCredentials> |
359 | 359 | </EapType> |
360 | 360 | </Eap> |
361 | -<EnableQuarantineChecks>' . $nea . '</EnableQuarantineChecks> |
|
361 | +<EnableQuarantineChecks>' . $nea.'</EnableQuarantineChecks> |
|
362 | 362 | <RequireCryptoBinding>false</RequireCryptoBinding> |
363 | 363 | '; |
364 | 364 | if ($this->useAnon) { |
@@ -370,7 +370,7 @@ discard block |
||
370 | 370 | $profileFileCont .= '<AnonymousUserName/> |
371 | 371 | '; |
372 | 372 | } else { |
373 | - $profileFileCont .= '<AnonymousUserName>' . $this->outerUser . '</AnonymousUserName> |
|
373 | + $profileFileCont .= '<AnonymousUserName>'.$this->outerUser.'</AnonymousUserName> |
|
374 | 374 | '; |
375 | 375 | } |
376 | 376 | $profileFileCont .= '</IdentityPrivacy> |
@@ -400,7 +400,7 @@ discard block |
||
400 | 400 | private function prepareEapConfig() { |
401 | 401 | if ($this->useAnon) { |
402 | 402 | $this->outerUser = $this->attributes['internal:anon_local_value'][0]; |
403 | - $this->outerId = $this->outerUser . '@' . $this->attributes['internal:realm'][0]; |
|
403 | + $this->outerId = $this->outerUser.'@'.$this->attributes['internal:realm'][0]; |
|
404 | 404 | } |
405 | 405 | |
406 | 406 | $profileFileCont = $this->eapConfigHeader(); |
@@ -425,7 +425,7 @@ discard block |
||
425 | 425 | default: |
426 | 426 | break; |
427 | 427 | } |
428 | - return(['win' => $profileFileCont . '</EapHostConfig></EAPConfig>']); |
|
428 | + return(['win' => $profileFileCont.'</EapHostConfig></EAPConfig>']); |
|
429 | 429 | } |
430 | 430 | |
431 | 431 | /** |
@@ -443,10 +443,10 @@ discard block |
||
443 | 443 | private function writeWLANprofile($wlanProfileName, $ssid, $auth, $encryption, $eapConfig, $profileNumber, $oi = '') { |
444 | 444 | $profileFileCont = '<?xml version="1.0"?> |
445 | 445 | <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> |
446 | -<name>' . $wlanProfileName . '</name> |
|
446 | +<name>' . $wlanProfileName.'</name> |
|
447 | 447 | <SSIDConfig> |
448 | 448 | <SSID> |
449 | -<name>' . $ssid . '</name> |
|
449 | +<name>' . $ssid.'</name> |
|
450 | 450 | </SSID> |
451 | 451 | <nonBroadcast>true</nonBroadcast> |
452 | 452 | </SSIDConfig>'; |
@@ -458,8 +458,8 @@ discard block |
||
458 | 458 | <MSM> |
459 | 459 | <security> |
460 | 460 | <authEncryption> |
461 | -<authentication>' . $auth . '</authentication> |
|
462 | -<encryption>' . $encryption . '</encryption> |
|
461 | +<authentication>' . $auth.'</authentication> |
|
462 | +<encryption>' . $encryption.'</encryption> |
|
463 | 463 | <useOneX>true</useOneX> |
464 | 464 | </authEncryption> |
465 | 465 | '; |
@@ -486,7 +486,7 @@ discard block |
||
486 | 486 | mkdir('w8'); |
487 | 487 | } |
488 | 488 | $xmlFname = "w8/wlan_prof-$profileNumber.xml"; |
489 | - file_put_contents($xmlFname, $profileFileCont . $eapConfig['win'] . $closing); |
|
489 | + file_put_contents($xmlFname, $profileFileCont.$eapConfig['win'].$closing); |
|
490 | 490 | $this->loggerInstance->debug(2, "Installer has been written into directory $this->FPATH\n"); |
491 | 491 | $hs20 = $oi == '' ? 0 : 1; |
492 | 492 | return("\"$wlanProfileName\" \"$encryption\" $hs20"); |
@@ -514,7 +514,7 @@ discard block |
||
514 | 514 | mkdir('w8'); |
515 | 515 | } |
516 | 516 | $xmlFname = "w8/lan_prof.xml"; |
517 | - file_put_contents($xmlFname, $profileFileCont . $eapConfig['win'] . $closing); |
|
517 | + file_put_contents($xmlFname, $profileFileCont.$eapConfig['win'].$closing); |
|
518 | 518 | $this->loggerInstance->debug(2, "Installer has been written into directory $this->FPATH\n"); |
519 | 519 | } |
520 | 520 | |
@@ -535,7 +535,7 @@ discard block |
||
535 | 535 | } |
536 | 536 | foreach ($caArray as $certAuthority) { |
537 | 537 | $store = $certAuthority['root'] ? "root" : "ca"; |
538 | - $fcontentsCerts .= '!insertmacro install_ca_cert "' . $certAuthority['file'] . '" "' . $certAuthority['sha1'] . '" "' . $store . "\"\n"; |
|
538 | + $fcontentsCerts .= '!insertmacro install_ca_cert "'.$certAuthority['file'].'" "'.$certAuthority['sha1'].'" "'.$store."\"\n"; |
|
539 | 539 | } |
540 | 540 | fwrite($fileHandleCerts, $fcontentsCerts); |
541 | 541 | fclose($fileHandleCerts); |
@@ -544,7 +544,7 @@ discard block |
||
544 | 544 | private function writeMainNSH($eap, $attr) { |
545 | 545 | $this->loggerInstance->debug(4, "writeMainNSH"); |
546 | 546 | $this->loggerInstance->debug(4, $attr); |
547 | - $this->loggerInstance->debug(4, "Device_id = " . $this->device_id . "\n"); |
|
547 | + $this->loggerInstance->debug(4, "Device_id = ".$this->device_id."\n"); |
|
548 | 548 | $fcontents = "!define W8\n"; |
549 | 549 | if ($this->device_id == 'w10') { |
550 | 550 | $fcontents .= "!define W10\n"; |
@@ -574,8 +574,8 @@ discard block |
||
574 | 574 | if ($eap == \core\common\EAP::EAPTYPE_SILVERBULLET) { |
575 | 575 | $fcontents .= "!define SILVERBULLET\n"; |
576 | 576 | } |
577 | - $fcontents .= '!define ' . $eapStr; |
|
578 | - $fcontents .= "\n" . '!define EXECLEVEL "' . $execLevel . '"'; |
|
577 | + $fcontents .= '!define '.$eapStr; |
|
578 | + $fcontents .= "\n".'!define EXECLEVEL "'.$execLevel.'"'; |
|
579 | 579 | $fcontents .= $this->writeNsisDefines($attr); |
580 | 580 | file_put_contents('main.nsh', $fcontents); |
581 | 581 | } |
@@ -179,15 +179,15 @@ discard block |
||
179 | 179 | <key>PayloadDescription</key> |
180 | 180 | <string>$tagline</string> |
181 | 181 | <key>PayloadDisplayName</key> |
182 | - <string>" . \config\ConfAssistant::CONSORTIUM['display_name'] . "</string> |
|
182 | + <string>".\config\ConfAssistant::CONSORTIUM['display_name']."</string> |
|
183 | 183 | <key>PayloadIdentifier</key> |
184 | - <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string> |
|
184 | + <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string> |
|
185 | 185 | <key>PayloadOrganization</key> |
186 | - <string>" . htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['general:instname'][0]), ENT_XML1, 'UTF-8') . ( $this->attributes['internal:profile_count'][0] > 1 ? " (" . htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['profile:name'][0]), ENT_XML1, 'UTF-8') . ")" : "") . "</string> |
|
186 | + <string>".htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['general:instname'][0]), ENT_XML1, 'UTF-8').($this->attributes['internal:profile_count'][0] > 1 ? " (".htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['profile:name'][0]), ENT_XML1, 'UTF-8').")" : "")."</string> |
|
187 | 187 | <key>PayloadType</key> |
188 | 188 | <string>Configuration</string> |
189 | 189 | <key>PayloadUUID</key> |
190 | - <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX . $this->massagedConsortium . $this->massagedCountry . $this->massagedInst . $this->massagedProfile) . "</string> |
|
190 | + <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX.$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile)."</string> |
|
191 | 191 | <key>PayloadVersion</key> |
192 | 192 | <integer>1</integer>"; |
193 | 193 | \core\common\Entity::outOfThePotatoes(); |
@@ -219,16 +219,16 @@ discard block |
||
219 | 219 | { |
220 | 220 | \core\common\Entity::intoThePotatoes(); |
221 | 221 | if (isset($this->attributes['support:info_file'])) { |
222 | - return MobileconfigSuperclass::BUFFER_CONSENT_PRE . htmlspecialchars(iconv("UTF-8", "UTF-8//TRANSLIT", $this->attributes['support:info_file'][0]), ENT_XML1, 'UTF-8') . MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
222 | + return MobileconfigSuperclass::BUFFER_CONSENT_PRE.htmlspecialchars(iconv("UTF-8", "UTF-8//TRANSLIT", $this->attributes['support:info_file'][0]), ENT_XML1, 'UTF-8').MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
223 | 223 | } |
224 | 224 | if ($this->attributes['internal:verify_userinput_suffix'][0] != 0) { |
225 | 225 | if (strlen($this->attributes['internal:realm'][0]) > 0) { |
226 | 226 | /// note space between variable and exclamation mark - makes sure users don't mistakenly think the exclamation mark is part of the required username! |
227 | - $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE . sprintf(_("Important Notice: your username must end with @%s !"), $this->attributes['internal:realm'][0]) . MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
227 | + $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE.sprintf(_("Important Notice: your username must end with @%s !"), $this->attributes['internal:realm'][0]).MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
228 | 228 | \core\common\Entity::outOfThePotatoes(); |
229 | 229 | return $retval; |
230 | 230 | } |
231 | - $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE . _("Important Notice: your username MUST be in the form of xxx@yyy where the yyy is a common suffix identifying your Identity Provider. Please find out what to use there and enter the username in the correct format.") . MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
231 | + $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE._("Important Notice: your username MUST be in the form of xxx@yyy where the yyy is a common suffix identifying your Identity Provider. Please find out what to use there and enter the username in the correct format.").MobileconfigSuperclass::BUFFER_CONSENT_POST; |
|
232 | 232 | \core\common\Entity::outOfThePotatoes(); |
233 | 233 | return $retval; |
234 | 234 | } |
@@ -251,7 +251,7 @@ discard block |
||
251 | 251 | // also escape htmlspecialchars |
252 | 252 | // not all names and profiles have a name, so be prepared |
253 | 253 | |
254 | - $this->loggerInstance->debug(5, "List of available attributes: " . var_export($this->attributes, TRUE)); |
|
254 | + $this->loggerInstance->debug(5, "List of available attributes: ".var_export($this->attributes, TRUE)); |
|
255 | 255 | |
256 | 256 | $this->instName = $this->attributes['general:instname'][0] ?? _("Unnamed Organisation"); |
257 | 257 | $this->profileName = $this->attributes['profile:name'][0] ?? _("Unnamed Profile"); |
@@ -293,7 +293,7 @@ discard block |
||
293 | 293 | |
294 | 294 | file_put_contents('installer_profile', $outputXml); |
295 | 295 | |
296 | - $fileName = $this->installerBasename . '.mobileconfig'; |
|
296 | + $fileName = $this->installerBasename.'.mobileconfig'; |
|
297 | 297 | |
298 | 298 | if (!$this->sign) { |
299 | 299 | rename("installer_profile", $fileName); |
@@ -301,7 +301,7 @@ discard block |
||
301 | 301 | return $fileName; |
302 | 302 | } |
303 | 303 | // still here? Then we are signing. |
304 | - $signing = system($this->sign . " installer_profile '$fileName' > /dev/null"); |
|
304 | + $signing = system($this->sign." installer_profile '$fileName' > /dev/null"); |
|
305 | 305 | if ($signing === FALSE) { |
306 | 306 | $this->loggerInstance->debug(2, "Signing the mobileconfig installer $fileName FAILED!\n"); |
307 | 307 | } |
@@ -320,19 +320,19 @@ discard block |
||
320 | 320 | \core\common\Entity::intoThePotatoes(); |
321 | 321 | $ssidCount = count($this->attributes['internal:SSID']); |
322 | 322 | $certCount = count($this->attributes['internal:CAs'][0]); |
323 | - $out = "<p>" . _("For best results, please use the built-in browser (Safari) to open the configuration file.") . "</p>"; |
|
323 | + $out = "<p>"._("For best results, please use the built-in browser (Safari) to open the configuration file.")."</p>"; |
|
324 | 324 | $out .= "<p>"; |
325 | 325 | $out .= _("The profile will install itself after you click (or tap) the button. You will be asked for confirmation/input at several points:"); |
326 | 326 | $out .= "<ul>"; |
327 | - $out .= "<li>" . _("to install the profile") . "</li>"; |
|
328 | - $out .= "<li>" . ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount); |
|
327 | + $out .= "<li>"._("to install the profile")."</li>"; |
|
328 | + $out .= "<li>".ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount); |
|
329 | 329 | if ($certCount > 1) { |
330 | - $out .= " " . sprintf(_("(%d times)"), $certCount); |
|
330 | + $out .= " ".sprintf(_("(%d times)"), $certCount); |
|
331 | 331 | } |
332 | 332 | $out .= "</li>"; |
333 | - $out .= "<li>" . _("to enter the username and password you have been given by your organisation"); |
|
333 | + $out .= "<li>"._("to enter the username and password you have been given by your organisation"); |
|
334 | 334 | if ($ssidCount > 1) { |
335 | - $out .= " " . sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount); |
|
335 | + $out .= " ".sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount); |
|
336 | 336 | } |
337 | 337 | $out .= "</li>"; |
338 | 338 | $out .= "</ul>"; |
@@ -372,7 +372,7 @@ discard block |
||
372 | 372 | <key>ServiceProviderRoamingEnabled</key> |
373 | 373 | <true/> |
374 | 374 | <key>DisplayedOperatorName</key> |
375 | - <string>" . \config\ConfAssistant::CONSORTIUM['display_name'] . " via Passpoint</string>"; |
|
375 | + <string>" . \config\ConfAssistant::CONSORTIUM['display_name']." via Passpoint</string>"; |
|
376 | 376 | // if we don't know the realm, omit the entire DomainName key |
377 | 377 | if (isset($this->attributes['internal:realm'])) { |
378 | 378 | $retval .= "<key>DomainName</key> |
@@ -384,7 +384,7 @@ discard block |
||
384 | 384 | $retval .= " <key>RoamingConsortiumOIs</key> |
385 | 385 | <array>"; |
386 | 386 | |
387 | - $retval .= "<string>" . strtoupper($consortiumOi) . "</string>"; |
|
387 | + $retval .= "<string>".strtoupper($consortiumOi)."</string>"; |
|
388 | 388 | |
389 | 389 | $retval .= "</array>"; |
390 | 390 | // this is an undocumented value found on the net. Does it do something useful? |
@@ -421,7 +421,7 @@ discard block |
||
421 | 421 | <dict> |
422 | 422 | <key>AcceptEAPTypes</key> |
423 | 423 | <array> |
424 | - <integer>" . $eapType['OUTER'] . "</integer> |
|
424 | + <integer>" . $eapType['OUTER']."</integer> |
|
425 | 425 | </array> |
426 | 426 | <key>EAPFASTProvisionPAC</key> |
427 | 427 | <true /> |
@@ -434,7 +434,7 @@ discard block |
||
434 | 434 | "; |
435 | 435 | if ($realm !== NULL) { |
436 | 436 | $retval .= "<key>OuterIdentity</key> |
437 | - <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8') . "</string> |
|
437 | + <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8')."</string> |
|
438 | 438 | "; |
439 | 439 | } |
440 | 440 | $retval .= "<key>PayloadCertificateAnchorUUID</key> |
@@ -458,11 +458,11 @@ discard block |
||
458 | 458 | $retval .= " |
459 | 459 | </array>"; |
460 | 460 | if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) { |
461 | - $retval .= "<key>UserName</key><string>" . $this->clientCert["certObject"]->username . "</string>"; |
|
461 | + $retval .= "<key>UserName</key><string>".$this->clientCert["certObject"]->username."</string>"; |
|
462 | 462 | } |
463 | 463 | $retval .= " |
464 | 464 | <key>TTLSInnerAuthentication</key> |
465 | - <string>" . ($eapType['INNER'] == \core\common\EAP::NONE ? "PAP" : "MSCHAPv2") . "</string> |
|
465 | + <string>" . ($eapType['INNER'] == \core\common\EAP::NONE ? "PAP" : "MSCHAPv2")."</string> |
|
466 | 466 | </dict>"; |
467 | 467 | return $retval; |
468 | 468 | } |
@@ -482,9 +482,9 @@ discard block |
||
482 | 482 | // characters are still reversed, invert on use! |
483 | 483 | $buffer .= "<string>Manual</string> |
484 | 484 | <key>ProxyServer</key> |
485 | - <string>" . strrev($serverAndPort[1]) . "</string> |
|
485 | + <string>" . strrev($serverAndPort[1])."</string> |
|
486 | 486 | <key>ProxyServerPort</key> |
487 | - <integer>" . strrev($serverAndPort[0]) . "</integer> |
|
487 | + <integer>" . strrev($serverAndPort[0])."</integer> |
|
488 | 488 | <key>ProxyPACFallbackAllowed</key> |
489 | 489 | <false/>"; |
490 | 490 | } else { |
@@ -513,7 +513,7 @@ discard block |
||
513 | 513 | throw new Exception("SSID must be a string!"); |
514 | 514 | } |
515 | 515 | $escapedSSID = htmlspecialchars($toBeConfigured, ENT_XML1, 'UTF-8'); |
516 | - $payloadIdentifier = "wifi." . $this->serial; |
|
516 | + $payloadIdentifier = "wifi.".$this->serial; |
|
517 | 517 | $payloadShortName = sprintf(_("SSID %s"), $escapedSSID); |
518 | 518 | $payloadName = sprintf(_("%s configuration for network name %s"), \config\ConfAssistant::CONSORTIUM['display_name'], $escapedSSID); |
519 | 519 | $encryptionTypeString = "WPA"; |
@@ -543,7 +543,7 @@ discard block |
||
543 | 543 | $payloadIdentifier = "hs20.$toBeConfigured"; |
544 | 544 | $knownOiName = array_search($toBeConfigured, \config\ConfAssistant::CONSORTIUM['interworking-consortium-oi']); |
545 | 545 | if ($knownOiName === FALSE) { // a custom RCOI as set by the IdP admin; do not use the term "eduroam" in that one! |
546 | - $knownOiName = $this->instName . " "._("Roaming Partner"); |
|
546 | + $knownOiName = $this->instName." "._("Roaming Partner"); |
|
547 | 547 | } |
548 | 548 | $payloadShortName = $knownOiName; |
549 | 549 | $payloadName = _("Passpoint roaming configuration ($knownOiName)"); |
@@ -565,11 +565,11 @@ discard block |
||
565 | 565 | <key>PayloadDisplayName</key> |
566 | 566 | <string>$payloadShortName</string> |
567 | 567 | <key>PayloadIdentifier</key> |
568 | - <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string> |
|
568 | + <string>".self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string> |
|
569 | 569 | <key>PayloadOrganization</key> |
570 | - <string>" . $this->massagedConsortium . ".1x-config.org</string> |
|
570 | + <string>".$this->massagedConsortium.".1x-config.org</string> |
|
571 | 571 | <key>PayloadType</key> |
572 | - <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi") . ".managed</string>"; |
|
572 | + <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi").".managed</string>"; |
|
573 | 573 | $retval .= $this->proxySettings(); |
574 | 574 | $retval .= $setupModesString; |
575 | 575 | if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) { |
@@ -581,7 +581,7 @@ discard block |
||
581 | 581 | } |
582 | 582 | $retval .= " |
583 | 583 | <key>PayloadUUID</key> |
584 | - <string>" . \core\common\Entity::uuid() . "</string> |
|
584 | + <string>" . \core\common\Entity::uuid()."</string> |
|
585 | 585 | <key>PayloadVersion</key> |
586 | 586 | <integer>1</integer> |
587 | 587 | $wifiNetworkIdentification</dict>"; |
@@ -611,15 +611,15 @@ discard block |
||
611 | 611 | <key>IsHotspot</key> |
612 | 612 | <false/> |
613 | 613 | <key>PayloadDescription</key> |
614 | - <string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name']) . "</string> |
|
614 | + <string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name'])."</string> |
|
615 | 615 | <key>PayloadDisplayName</key> |
616 | - <string>" . _("Disabled WiFi network") . "</string> |
|
616 | + <string>" . _("Disabled WiFi network")."</string> |
|
617 | 617 | <key>PayloadIdentifier</key> |
618 | - <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string> |
|
618 | + <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string> |
|
619 | 619 | <key>PayloadType</key> |
620 | 620 | <string>com.apple.wifi.managed</string> |
621 | 621 | <key>PayloadUUID</key> |
622 | - <string>" . \core\common\Entity::uuid() . "</string> |
|
622 | + <string>".\core\common\Entity::uuid()."</string> |
|
623 | 623 | <key>PayloadVersion</key> |
624 | 624 | <real>1</real>"; |
625 | 625 | $retval .= $this->proxySettings(); |
@@ -698,12 +698,12 @@ discard block |
||
698 | 698 | $mimeBlob = base64_encode($binaryBlob); |
699 | 699 | $mimeFormatted = chunk_split($mimeBlob, 52, "\r\n"); |
700 | 700 | $payloadUUID = \core\common\Entity::uuid('', $mimeBlob); |
701 | - $retArray = ["block" => "<dict>" . |
|
701 | + $retArray = ["block" => "<dict>". |
|
702 | 702 | // we don't include the import password. It's displayed on screen, and should be input by the user. |
703 | 703 | // <key>Password</key> |
704 | 704 | // <string>" . $this->clientCert['password'] . "</string> |
705 | 705 | "<key>PayloadCertificateFileName</key> |
706 | - <string>" . $this->massagedConsortium . ".pfx</string> |
|
706 | + <string>" . $this->massagedConsortium.".pfx</string> |
|
707 | 707 | <key>PayloadContent</key> |
708 | 708 | <data> |
709 | 709 | $mimeFormatted |
@@ -711,7 +711,7 @@ discard block |
||
711 | 711 | <key>PayloadDescription</key> |
712 | 712 | <string>MIME Base-64 encoded PKCS#12 Client Certificate</string> |
713 | 713 | <key>PayloadDisplayName</key> |
714 | - <string>" . _("eduroam user certificate") . "</string> |
|
714 | + <string>"._("eduroam user certificate")."</string> |
|
715 | 715 | <key>PayloadIdentifier</key> |
716 | 716 | <string>com.apple.security.pkcs12.$payloadUUID</string> |
717 | 717 | <key>PayloadType</key> |
@@ -721,7 +721,7 @@ discard block |
||
721 | 721 | <key>PayloadVersion</key> |
722 | 722 | <integer>1</integer> |
723 | 723 | </dict>", |
724 | - "UUID" => $payloadUUID,]; |
|
724 | + "UUID" => $payloadUUID, ]; |
|
725 | 725 | \core\common\Entity::outOfThePotatoes(); |
726 | 726 | return $retArray; |
727 | 727 | } |
@@ -739,7 +739,7 @@ discard block |
||
739 | 739 | } |
740 | 740 | $expiryTime = new \DateTime($this->clientCert['certObject']->expiry); |
741 | 741 | return "<key>RemovalDate</key> |
742 | - <date>" . $expiryTime->format("Y-m-d") . "T" . $expiryTime->format("H:i:s") . "Z</date>"; |
|
742 | + <date>" . $expiryTime->format("Y-m-d")."T".$expiryTime->format("H:i:s")."Z</date>"; |
|
743 | 743 | } |
744 | 744 | |
745 | 745 | /** |
@@ -761,27 +761,27 @@ discard block |
||
761 | 761 | $stream = " |
762 | 762 | <dict> |
763 | 763 | <key>PayloadCertificateFileName</key> |
764 | - <string>" . $ca['uuid'] . ".der</string> |
|
764 | + <string>" . $ca['uuid'].".der</string> |
|
765 | 765 | <key>PayloadContent</key> |
766 | 766 | <data> |
767 | -" . $trimmedPem . "</data> |
|
767 | +" . $trimmedPem."</data> |
|
768 | 768 | <key>PayloadDescription</key> |
769 | - <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst) . "</string> |
|
769 | + <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst)."</string> |
|
770 | 770 | <key>PayloadDisplayName</key> |
771 | 771 | <string>" . |
772 | 772 | /// example: "Identity Provider CA #1 (Root)" |
773 | - sprintf(_("%s CA #%d (%s)" ), |
|
773 | + sprintf(_("%s CA #%d (%s)"), |
|
774 | 774 | \core\common\Entity::$nomenclature_inst, |
775 | - count($this->CAsAccountedFor)+1, |
|
776 | - ($ca['root'] ? _("Root") : _("Intermediate"))) . |
|
775 | + count($this->CAsAccountedFor) + 1, |
|
776 | + ($ca['root'] ? _("Root") : _("Intermediate"))). |
|
777 | 777 | "</string> |
778 | 778 | <key>PayloadIdentifier</key> |
779 | - <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string> |
|
779 | + <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string> |
|
780 | 780 | <key>PayloadOrganization</key> |
781 | - <string>" . $this->massagedConsortium . ".1x-config.org</string> |
|
781 | + <string>".$this->massagedConsortium.".1x-config.org</string> |
|
782 | 782 | <key>PayloadType</key> |
783 | 783 | <string>com.apple.security.root</string> |
784 | - <key>PayloadUUID</key><string>" . $ca['uuid'] . "</string> |
|
784 | + <key>PayloadUUID</key><string>" . $ca['uuid']."</string> |
|
785 | 785 | <key>PayloadVersion</key> |
786 | 786 | <integer>1</integer> |
787 | 787 | </dict>"; |