@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | if ($this->idPFederation === NULL && preg_match("/\.(..)$/", $realm, $matches)) { |
114 | 114 | $this->idPFederation = strtoupper($matches[1]); |
115 | 115 | } |
116 | - $this->loggerInstance->debug(4, "XYZ: IdP-side NRO is " . $this->idPFederation . "\n"); |
|
116 | + $this->loggerInstance->debug(4, "XYZ: IdP-side NRO is ".$this->idPFederation."\n"); |
|
117 | 117 | } |
118 | 118 | /* The eduroam OT monitoring has the following return codes: |
119 | 119 | * |
@@ -443,12 +443,12 @@ discard block |
||
443 | 443 | break; |
444 | 444 | case \core\AbstractProfile::READINESS_LEVEL_NOTREADY: |
445 | 445 | $this->additionalFindings[AbstractTest::INFRA_IDP_RADIUS][] = ["Profile" => "UNCONCLUSIVE"]; |
446 | - $this->testsuite = new RADIUSTests($this->realm, "anonymous@" . $this->realm); |
|
446 | + $this->testsuite = new RADIUSTests($this->realm, "anonymous@".$this->realm); |
|
447 | 447 | break; |
448 | 448 | default: |
449 | 449 | } |
450 | 450 | } else { |
451 | - $this->testsuite = new RADIUSTests($this->realm, "anonymous@" . $this->realm); |
|
451 | + $this->testsuite = new RADIUSTests($this->realm, "anonymous@".$this->realm); |
|
452 | 452 | } |
453 | 453 | } |
454 | 454 |
@@ -148,27 +148,27 @@ discard block |
||
148 | 148 | { |
149 | 149 | // it could match CN or sAN:DNS, we don't care which |
150 | 150 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['subject'])) { |
151 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . " against Subject: "); |
|
151 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName." against Subject: "); |
|
152 | 152 | $this->loggerInstance->debug(4, $this->TLS_CA_checks_result[$host]['certdata']['subject']); |
153 | 153 | // we are checking against accidental misconfig, not attacks, so loosely checking against end of string is appropriate |
154 | - if (preg_match("/CN=" . $this->expectedName . "/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
154 | + if (preg_match("/CN=".$this->expectedName."/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
155 | 155 | return TRUE; |
156 | 156 | } |
157 | 157 | } |
158 | 158 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname'])) { |
159 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . " against sANs: "); |
|
159 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName." against sANs: "); |
|
160 | 160 | $this->loggerInstance->debug(4, $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']); |
161 | 161 | $testNames = $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']; |
162 | 162 | if (!is_array($testNames)) { |
163 | 163 | $testNames = [$testNames]; |
164 | 164 | } |
165 | 165 | foreach ($testNames as $oneName) { |
166 | - if (preg_match("/" . $this->expectedName . "/", $oneName) === 1) { |
|
166 | + if (preg_match("/".$this->expectedName."/", $oneName) === 1) { |
|
167 | 167 | return TRUE; |
168 | 168 | } |
169 | 169 | } |
170 | 170 | } |
171 | - $this->loggerInstance->debug(3, "Tried to check expected server name " . $this->expectedName . " but neither CN nor sANs matched."); |
|
171 | + $this->loggerInstance->debug(3, "Tried to check expected server name ".$this->expectedName." but neither CN nor sANs matched."); |
|
172 | 172 | |
173 | 173 | $this->TLS_CA_checks_result[$host]['cert_oddity'] = RADIUSTests::CERTPROB_DYN_SERVER_NAME_MISMATCH; |
174 | 174 | return FALSE; |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['status'] = $cert['status']; |
199 | 199 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['message'] = $this->TLS_certkeys[$cert['status']]; |
200 | 200 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['expected'] = $cert['expected']; |
201 | - $add = ' -cert ' . ROOT . '/config/cli-certs/' . $cert['public'] . ' -key ' . ROOT . '/config/cli-certs/' . $cert['private']; |
|
201 | + $add = ' -cert '.ROOT.'/config/cli-certs/'.$cert['public'].' -key '.ROOT.'/config/cli-certs/'.$cert['private']; |
|
202 | 202 | if (!isset($this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k])) { |
203 | 203 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k] = []; |
204 | 204 | } |
@@ -243,11 +243,11 @@ discard block |
||
243 | 243 | // but code analysers want this more explicit, so here is this extra |
244 | 244 | // call to escapeshellarg() |
245 | 245 | $escapedHost = escapeshellarg($host); |
246 | - $this->loggerInstance->debug(4, \config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -tls1 -CApath " . ROOT . "/config/ca-certs/ $arg 2>&1\n"); |
|
246 | + $this->loggerInstance->debug(4, \config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -tls1 -CApath ".ROOT."/config/ca-certs/ $arg 2>&1\n"); |
|
247 | 247 | $time_start = microtime(true); |
248 | 248 | $opensslbabble = []; |
249 | 249 | $result = 999; // likely to become zero by openssl; don't want to initialise to zero, could cover up exec failures |
250 | - exec(\config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -no_ssl3 -CApath " . ROOT . "/config/ca-certs/ $arg 2>&1", $opensslbabble, $result); |
|
250 | + exec(\config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -no_ssl3 -CApath ".ROOT."/config/ca-certs/ $arg 2>&1", $opensslbabble, $result); |
|
251 | 251 | $time_stop = microtime(true); |
252 | 252 | $testresults['time_millisec'] = floor(($time_stop - $time_start) * 1000); |
253 | 253 | $testresults['returncode'] = $result; |
@@ -139,7 +139,7 @@ discard block |
||
139 | 139 | case "core\User": |
140 | 140 | return $this->userName; |
141 | 141 | default: |
142 | - throw new Exception("Operating on a class where we don't know the relevant identifier in the DB - " . get_class($this) . "!"); |
|
142 | + throw new Exception("Operating on a class where we don't know the relevant identifier in the DB - ".get_class($this)."!"); |
|
143 | 143 | } |
144 | 144 | } |
145 | 145 | |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | */ |
178 | 178 | public function beginFlushAttributes($extracondition = "") |
179 | 179 | { |
180 | - $quotedIdentifier = (!is_int($this->getRelevantIdentifier()) ? "\"" : "") . $this->getRelevantIdentifier() . (!is_int($this->getRelevantIdentifier()) ? "\"" : ""); |
|
180 | + $quotedIdentifier = (!is_int($this->getRelevantIdentifier()) ? "\"" : "").$this->getRelevantIdentifier().(!is_int($this->getRelevantIdentifier()) ? "\"" : ""); |
|
181 | 181 | $this->databaseHandle->exec("DELETE FROM $this->entityOptionTable WHERE $this->entityIdColumn = $quotedIdentifier AND option_name NOT LIKE '%_file' $extracondition"); |
182 | 182 | $this->updateFreshness(); |
183 | 183 | $execFlush = $this->databaseHandle->exec("SELECT row FROM $this->entityOptionTable WHERE $this->entityIdColumn = $quotedIdentifier $extracondition"); |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | */ |
198 | 198 | public function commitFlushAttributes(array $tobedeleted) |
199 | 199 | { |
200 | - $quotedIdentifier = (!is_int($this->getRelevantIdentifier()) ? "\"" : "") . $this->getRelevantIdentifier() . (!is_int($this->getRelevantIdentifier()) ? "\"" : ""); |
|
200 | + $quotedIdentifier = (!is_int($this->getRelevantIdentifier()) ? "\"" : "").$this->getRelevantIdentifier().(!is_int($this->getRelevantIdentifier()) ? "\"" : ""); |
|
201 | 201 | foreach (array_keys($tobedeleted) as $row) { |
202 | 202 | $this->databaseHandle->exec("DELETE FROM $this->entityOptionTable WHERE $this->entityIdColumn = $quotedIdentifier AND row = $row"); |
203 | 203 | $this->updateFreshness(); |
@@ -226,7 +226,7 @@ discard block |
||
226 | 226 | { |
227 | 227 | $relevantId = $this->getRelevantIdentifier(); |
228 | 228 | $identifierType = (is_int($relevantId) ? "i" : "s"); |
229 | - $this->databaseHandle->exec("INSERT INTO $this->entityOptionTable ($this->entityIdColumn, option_name, option_lang, option_value) VALUES(?,?,?,?)", $identifierType . "sss", $relevantId, $attrName, $attrLang, $attrValue); |
|
229 | + $this->databaseHandle->exec("INSERT INTO $this->entityOptionTable ($this->entityIdColumn, option_name, option_lang, option_value) VALUES(?,?,?,?)", $identifierType."sss", $relevantId, $attrName, $attrLang, $attrValue); |
|
230 | 230 | $this->updateFreshness(); |
231 | 231 | } |
232 | 232 |
@@ -109,7 +109,6 @@ |
||
109 | 109 | * ["my.server.name"] => "my.server.name" |
110 | 110 | * ["foo.bar.de", "baz.bar.ge"] => "e" |
111 | 111 | * ["server1.example.com", "server2.example.com", "serverN.example.com"] => ".example.com" |
112 | - |
|
113 | 112 | * @return string |
114 | 113 | */ |
115 | 114 | public function longestNameSuffix() |
@@ -85,7 +85,7 @@ discard block |
||
85 | 85 | protected function setSupportedEapMethods($eapArray) |
86 | 86 | { |
87 | 87 | $this->supportedEapMethods = $eapArray; |
88 | - $this->loggerInstance->debug(4, "This device (" . __CLASS__ . ") supports the following EAP methods: "); |
|
88 | + $this->loggerInstance->debug(4, "This device (".__CLASS__.") supports the following EAP methods: "); |
|
89 | 89 | $this->loggerInstance->debug(4, $this->supportedEapMethods); |
90 | 90 | } |
91 | 91 | |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | break 2; |
138 | 138 | } |
139 | 139 | } |
140 | - $longestSuffix = $candidate . $longestSuffix; |
|
140 | + $longestSuffix = $candidate.$longestSuffix; |
|
141 | 141 | } |
142 | 142 | return $longestSuffix; |
143 | 143 | } |
@@ -175,7 +175,7 @@ discard block |
||
175 | 175 | throw new Exception("No EAP type available."); |
176 | 176 | } |
177 | 177 | $this->attributes = $this->getProfileAttributes($profile); |
178 | - $this->deviceUUID = common\Entity::uuid('', 'CAT' . $profile->institution . "-" . $profile->identifier . "-" . $this->device_id); |
|
178 | + $this->deviceUUID = common\Entity::uuid('', 'CAT'.$profile->institution."-".$profile->identifier."-".$this->device_id); |
|
179 | 179 | |
180 | 180 | |
181 | 181 | // if we are instantiating a Silverbullet profile AND have been given |
@@ -200,8 +200,8 @@ discard block |
||
200 | 200 | // create temporary directory, its full path will be saved in $this->FPATH; |
201 | 201 | $tempDir = \core\common\Entity::createTemporaryDirectory($purpose); |
202 | 202 | $this->FPATH = $tempDir['dir']; |
203 | - mkdir($tempDir['dir'] . '/tmp'); |
|
204 | - chdir($tempDir['dir'] . '/tmp'); |
|
203 | + mkdir($tempDir['dir'].'/tmp'); |
|
204 | + chdir($tempDir['dir'].'/tmp'); |
|
205 | 205 | $caList = []; |
206 | 206 | $x509 = new \core\common\X509(); |
207 | 207 | if (isset($this->attributes['eap:ca_file'])) { |
@@ -239,7 +239,7 @@ discard block |
||
239 | 239 | $this->support_url_substitute = sprintf(_("your local %s support page"), \config\ConfAssistant::CONSORTIUM['display_name']); |
240 | 240 | |
241 | 241 | if ($this->signer && $this->options['sign']) { |
242 | - $this->sign = ROOT . '/signer/' . $this->signer; |
|
242 | + $this->sign = ROOT.'/signer/'.$this->signer; |
|
243 | 243 | } |
244 | 244 | $this->installerBasename = $this->getInstallerBasename(); |
245 | 245 | common\Entity::outOfThePotatoes(); |
@@ -299,10 +299,10 @@ discard block |
||
299 | 299 | */ |
300 | 300 | protected function findSourceFile($file) |
301 | 301 | { |
302 | - if (is_file($this->module_path . '/Files/' . $this->device_id . '/' . $file)) { |
|
303 | - return $this->module_path . '/Files/' . $this->device_id . '/' . $file; |
|
304 | - } elseif (is_file($this->module_path . '/Files/' . $file)) { |
|
305 | - return $this->module_path . '/Files/' . $file; |
|
302 | + if (is_file($this->module_path.'/Files/'.$this->device_id.'/'.$file)) { |
|
303 | + return $this->module_path.'/Files/'.$this->device_id.'/'.$file; |
|
304 | + } elseif (is_file($this->module_path.'/Files/'.$file)) { |
|
305 | + return $this->module_path.'/Files/'.$file; |
|
306 | 306 | } else { |
307 | 307 | $this->loggerInstance->debug(2, "requested file $file does not exist\n"); |
308 | 308 | return FALSE; |
@@ -426,19 +426,19 @@ discard block |
||
426 | 426 | */ |
427 | 427 | private function getInstallerBasename() |
428 | 428 | { |
429 | - $baseName = $this->customTranslit(\config\ConfAssistant::CONSORTIUM['name']) . "-" . $this->getDeviceId(); |
|
429 | + $baseName = $this->customTranslit(\config\ConfAssistant::CONSORTIUM['name'])."-".$this->getDeviceId(); |
|
430 | 430 | if (isset($this->attributes['profile:customsuffix'][1])) { |
431 | 431 | // this string will end up as a filename on a filesystem, so always |
432 | 432 | // take a latin-based language variant if available |
433 | 433 | // and then scrub non-ASCII just in case |
434 | - return $baseName . $this->customTranslit($this->attributes['profile:customsuffix'][1]); |
|
434 | + return $baseName.$this->customTranslit($this->attributes['profile:customsuffix'][1]); |
|
435 | 435 | } |
436 | 436 | // Okay, no custom suffix. |
437 | 437 | // Use the configured inst name and apply shortening heuristics |
438 | 438 | // if an instshortname is set, base on that, otherwise, the normal instname |
439 | 439 | $attribToUse = (isset($this->attributes['general:instshortname']) ? 'general:instshortname' : 'general:instname'); |
440 | 440 | $lang_pointer = \config\Master::LANGUAGES[$this->languageInstance->getLang()]['latin_based'] == TRUE ? 0 : 1; |
441 | - $this->loggerInstance->debug(5, "getInstallerBasename1:" . $this->attributes[$attribToUse][$lang_pointer] . "\n"); |
|
441 | + $this->loggerInstance->debug(5, "getInstallerBasename1:".$this->attributes[$attribToUse][$lang_pointer]."\n"); |
|
442 | 442 | $inst = $this->customTranslit($this->attributes[$attribToUse][$lang_pointer]); |
443 | 443 | $this->loggerInstance->debug(4, "getInstallerBasename2:$inst\n"); |
444 | 444 | $Inst_a = explode('_', $inst); |
@@ -453,10 +453,10 @@ discard block |
||
453 | 453 | if (!empty($this->attributes['profile:name']) && !empty($this->attributes['profile:name'][$lang_pointer])) { |
454 | 454 | $profTemp = $this->customTranslit($this->attributes['profile:name'][$lang_pointer]); |
455 | 455 | $prof = preg_replace('/_+$/', '', $profTemp); |
456 | - return $baseName . $inst . '-' . $prof; |
|
456 | + return $baseName.$inst.'-'.$prof; |
|
457 | 457 | } |
458 | 458 | } |
459 | - return $baseName . $inst; |
|
459 | + return $baseName.$inst; |
|
460 | 460 | } |
461 | 461 | |
462 | 462 | /** |
@@ -640,7 +640,7 @@ discard block |
||
640 | 640 | $ext = 'unsupported'; |
641 | 641 | } |
642 | 642 | $this->loggerInstance->debug(5, "saveLogoFile: $mime : $ext\n"); |
643 | - $fileName = 'logo-' . $type . $iterator . '.' . $ext; |
|
643 | + $fileName = 'logo-'.$type.$iterator.'.'.$ext; |
|
644 | 644 | $fileHandle = fopen($fileName, "w"); |
645 | 645 | if (!$fileHandle) { |
646 | 646 | $this->loggerInstance->debug(2, "saveLogoFile failed for: $fileName\n"); |
@@ -667,13 +667,13 @@ discard block |
||
667 | 667 | $mime = $finfo->buffer($blob); |
668 | 668 | $ext = isset($this->mime_extensions[$mime]) ? $this->mime_extensions[$mime] : 'usupported'; |
669 | 669 | $this->loggerInstance->debug(5, "saveInfoFile: $mime : $ext\n"); |
670 | - $fileHandle = fopen('local-info.' . $ext, "w"); |
|
670 | + $fileHandle = fopen('local-info.'.$ext, "w"); |
|
671 | 671 | if ($fileHandle === FALSE) { |
672 | 672 | throw new Exception("problem opening the file"); |
673 | 673 | } |
674 | 674 | fwrite($fileHandle, $blob); |
675 | 675 | fclose($fileHandle); |
676 | - return(['name' => 'local-info.' . $ext, 'mime' => $ext]); |
|
676 | + return(['name' => 'local-info.'.$ext, 'mime' => $ext]); |
|
677 | 677 | } |
678 | 678 | |
679 | 679 | /** |
@@ -727,9 +727,9 @@ discard block |
||
727 | 727 | { |
728 | 728 | $outerId = NULL; |
729 | 729 | if (isset($this->attributes['internal:use_anon_outer']) && $this->attributes['internal:use_anon_outer'][0] == "1" && isset($this->attributes['internal:realm'])) { |
730 | - $outerId = "@" . $this->attributes['internal:realm'][0]; |
|
730 | + $outerId = "@".$this->attributes['internal:realm'][0]; |
|
731 | 731 | if (isset($this->attributes['internal:anon_local_value'])) { |
732 | - $outerId = $this->attributes['internal:anon_local_value'][0] . $outerId; |
|
732 | + $outerId = $this->attributes['internal:anon_local_value'][0].$outerId; |
|
733 | 733 | } |
734 | 734 | } |
735 | 735 | return $outerId; |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | private function inputValidationError($customtext) |
41 | 41 | { |
42 | 42 | \core\common\Entity::intoThePotatoes(); |
43 | - $retval = "<p>" . _("Input validation error: ") . $customtext . "</p>"; |
|
43 | + $retval = "<p>"._("Input validation error: ").$customtext."</p>"; |
|
44 | 44 | \core\common\Entity::outOfThePotatoes(); |
45 | 45 | return $retval; |
46 | 46 | } |
@@ -541,7 +541,7 @@ discard block |
||
541 | 541 | try { |
542 | 542 | $image->readImageBlob($binary); |
543 | 543 | } catch (\ImagickException $exception) { |
544 | - echo "Error" . $exception->getMessage(); |
|
544 | + echo "Error".$exception->getMessage(); |
|
545 | 545 | return FALSE; |
546 | 546 | } |
547 | 547 | // image survived the sanity check |
@@ -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(); |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | // also send user back to the overview page |
73 | 73 | if (isset($_POST['requestcert']) && $_POST['requestcert'] == \web\lib\common\FormElements::BUTTON_SAVE) { |
74 | 74 | // basic sanity checks before we hand this over to openssl |
75 | - $sanitisedCsr = $validator->string($_POST['CSR'] ?? "" , TRUE); |
|
75 | + $sanitisedCsr = $validator->string($_POST['CSR'] ?? "", TRUE); |
|
76 | 76 | if (openssl_csr_get_public_key($sanitisedCsr) === FALSE) { |
77 | 77 | throw new Exception("Sorry: Unable to parse the submitted public key - no public key inside?"); |
78 | 78 | } |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | $fed = $validator->existingFederation($_POST['NRO-list']); |
87 | 87 | $country = strtoupper($fed->tld); |
88 | 88 | $DN[] = "C=$country"; |
89 | - $DN[] = "O=NRO of " . $cat->knownFederations[strtoupper($fed->tld)]; |
|
89 | + $DN[] = "O=NRO of ".$cat->knownFederations[strtoupper($fed->tld)]; |
|
90 | 90 | $DN[] = "CN=comes.from.eduroam.db"; |
91 | 91 | $policies[] = "eduroam IdP"; |
92 | 92 | $policies[] = "eduroam SP"; |
@@ -104,11 +104,11 @@ discard block |
||
104 | 104 | default: |
105 | 105 | throw new Exception("Sorry: Unknown level of issuance requested."); |
106 | 106 | } |
107 | - echo "<p>" . _("Requesting a certificate with the following properties"); |
|
107 | + echo "<p>"._("Requesting a certificate with the following properties"); |
|
108 | 108 | echo "<ul>"; |
109 | - echo "<li>" . _("Policy OIDs: ") . implode(", ", $policies) . "</li>"; |
|
110 | - echo "<li>" . _("Distinguished Name: ") . implode(", ", $DN) . "</li>"; |
|
111 | - echo "<li>" . _("Requester Contact Details: will come from eduroam DB (using stub 'Someone, <[email protected]>').") . "</li>"; |
|
109 | + echo "<li>"._("Policy OIDs: ").implode(", ", $policies)."</li>"; |
|
110 | + echo "<li>"._("Distinguished Name: ").implode(", ", $DN)."</li>"; |
|
111 | + echo "<li>"._("Requester Contact Details: will come from eduroam DB (using stub 'Someone, <[email protected]>').")."</li>"; |
|
112 | 112 | echo "</ul></p>"; |
113 | 113 | /* $ossl = proc_open("openssl req -subj '/".implode("/", $DN)."'", [ 0 => ["pipe", "r"], 1 => ["pipe", "w"], 2 => [ "file", "/tmp/voodoo-error", "a"] ], $pipes); |
114 | 114 | if (is_resource($ossl)) { |
@@ -121,13 +121,13 @@ discard block |
||
121 | 121 | throw new Exception("Calling openssl in a fancy way did not work."); |
122 | 122 | } |
123 | 123 | echo "<p>"._("This is the new CSR (return code was $retval)")."<pre>$newCsr</pre></p>"; */ |
124 | - $newCsrWithMeta = ["CSR" => /* $newCsr */ $_POST['CSR'], "USERNAME" => "Someone", "USERMAIL" => "[email protected]", "SUBJECT" => implode(",", $DN) ,"FED" => $country]; |
|
124 | + $newCsrWithMeta = ["CSR" => /* $newCsr */ $_POST['CSR'], "USERNAME" => "Someone", "USERMAIL" => "[email protected]", "SUBJECT" => implode(",", $DN), "FED" => $country]; |
|
125 | 125 | // our certs can be good for max 5 years |
126 | 126 | $fed->requestCertificate($newCsrWithMeta, 1825); |
127 | 127 | echo "<p>"._("The certificate was requested.")."</p>"; |
128 | 128 | ?> |
129 | 129 | <form action="overview_certificates.php" method="GET"> |
130 | - <button type="submit"><?php echo _("Back to Certificate Overview");?></button> |
|
130 | + <button type="submit"><?php echo _("Back to Certificate Overview"); ?></button> |
|
131 | 131 | </form> |
132 | 132 | <?php |
133 | 133 | echo $deco->footer(); |
@@ -136,14 +136,14 @@ discard block |
||
136 | 136 | |
137 | 137 | // if we did not get a SAVE button, display UI for a fresh request instead |
138 | 138 | ?> |
139 | - <h2><?php echo _("1. Certificate Holder Details");?></h2> |
|
139 | + <h2><?php echo _("1. Certificate Holder Details"); ?></h2> |
|
140 | 140 | <form action="action_req_certificate.php" method="POST"> |
141 | 141 | <input type="radio" name="LEVEL" id="NRO" value="NRO" checked><?php printf(_("Certificate for %s role"), $uiElements->nomenclatureFed); ?></input> |
142 | 142 | <?php |
143 | 143 | if (count($feds) == 1) { |
144 | 144 | $fedObject = new \core\Federation($feds[0]['value']); |
145 | - echo " <strong>" . $cat->knownFederations[$fedObject->tld] . "</strong>"; |
|
146 | - echo '<input type="hidden" name="NRO-list" id="NRO-list" value="' . $fedObject->tld . '"/>'; |
|
145 | + echo " <strong>".$cat->knownFederations[$fedObject->tld]."</strong>"; |
|
146 | + echo '<input type="hidden" name="NRO-list" id="NRO-list" value="'.$fedObject->tld.'"/>'; |
|
147 | 147 | } else { |
148 | 148 | ?> |
149 | 149 | <select name="NRO-list" id="NRO-list"> |
@@ -151,7 +151,7 @@ discard block |
||
151 | 151 | <?php |
152 | 152 | foreach ($feds as $oneFed) { |
153 | 153 | $fedObject = new \core\Federation($oneFed['value']); |
154 | - echo '<option value="' . strtoupper($fedObject->tld) . '">' . $cat->knownFederations[$fedObject->tld] . "</option>"; |
|
154 | + echo '<option value="'.strtoupper($fedObject->tld).'">'.$cat->knownFederations[$fedObject->tld]."</option>"; |
|
155 | 155 | } |
156 | 156 | ?> |
157 | 157 | </select> |
@@ -171,15 +171,15 @@ discard block |
||
171 | 171 | } |
172 | 172 | } |
173 | 173 | foreach ($allIdPs as $id => $name) { |
174 | - echo '<option value="' . $id . '">' . $name . "</option>"; |
|
174 | + echo '<option value="'.$id.'">'.$name."</option>"; |
|
175 | 175 | } |
176 | 176 | ?> |
177 | 177 | </select> |
178 | 178 | <br/> |
179 | - <h2><?php echo _("2. CSR generation");?></h2> |
|
180 | - <p><?php echo _("One way to generate an acceptable certificate request is via this openssl one-liner:");?></p> |
|
179 | + <h2><?php echo _("2. CSR generation"); ?></h2> |
|
180 | + <p><?php echo _("One way to generate an acceptable certificate request is via this openssl one-liner:"); ?></p> |
|
181 | 181 | <p>openssl req -new -newkey rsa:4096 -out test.csr -keyout test.key -subj /DC=test/DC=test/DC=eduroam/C=XY/O=WillBeReplaced/CN=will.be.replaced</p> |
182 | - <h2><?php echo _("3. Submission");?></h2> |
|
182 | + <h2><?php echo _("3. Submission"); ?></h2> |
|
183 | 183 | <?php echo _("Please paste your CSR here:"); ?><br/><textarea name="CSR" id="CSR" rows="20" cols="85"/></textarea><br/> |
184 | 184 | <button type="submit" name="requestcert" id="requestcert" value="<?php echo \web\lib\common\FormElements::BUTTON_SAVE ?>"><?php echo _("Send request"); ?></button> |
185 | 185 | </form> |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | |
107 | 107 | $this->loggerInstance->debug(5, "translateFile($source_name, $output_name, $encoding)\n"); |
108 | 108 | ob_start(); |
109 | - $this->loggerInstance->debug(5, $this->module_path . '/Files/' . $this->device_id . '/' . $source_name . "\n"); |
|
109 | + $this->loggerInstance->debug(5, $this->module_path.'/Files/'.$this->device_id.'/'.$source_name."\n"); |
|
110 | 110 | $source = $this->findSourceFile($source_name); |
111 | 111 | |
112 | 112 | if ($source !== FALSE) { // if there is no file found, don't attempt to include an uninitialised variable |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | } |
115 | 115 | $output = ob_get_clean(); |
116 | 116 | if ($encoding != "NONE") { |
117 | - $outputClean = iconv('UTF-8', $encoding . '//TRANSLIT', $output); |
|
117 | + $outputClean = iconv('UTF-8', $encoding.'//TRANSLIT', $output); |
|
118 | 118 | if ($outputClean) { |
119 | 119 | $output = $outputClean; |
120 | 120 | } |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | $encoding = "NONE"; |
159 | 159 | } |
160 | 160 | if ($encoding != "NONE") { |
161 | - $output_c = iconv('UTF-8', $encoding . '//TRANSLIT', $source_string); |
|
161 | + $output_c = iconv('UTF-8', $encoding.'//TRANSLIT', $source_string); |
|
162 | 162 | } else { |
163 | 163 | $output_c = $source_string; |
164 | 164 | } |
@@ -235,7 +235,7 @@ discard block |
||
235 | 235 | if (isset(WindowsCommon::LANGS[$this->languageInstance->getLang()])) { |
236 | 236 | $language = WindowsCommon::LANGS[$this->languageInstance->getLang()]; |
237 | 237 | $this->lang = $language['nsis']; |
238 | - $this->codePage = 'cp' . $language['cp']; |
|
238 | + $this->codePage = 'cp'.$language['cp']; |
|
239 | 239 | } else { |
240 | 240 | $this->lang = 'English'; |
241 | 241 | $this->codePage = 'cp1252'; |
@@ -257,8 +257,8 @@ discard block |
||
257 | 257 | $out .= sprintf(_("%s installer will be in the form of an EXE file. It will configure %s on your device, by creating wireless network profiles.<p>When you click the download button, the installer will be saved by your browser. Copy it to the machine you want to configure and execute."), \config\ConfAssistant::CONSORTIUM['display_name'], \config\ConfAssistant::CONSORTIUM['display_name']); |
258 | 258 | $out .= "<p>"; |
259 | 259 | if ($ssidCount > $configCount) { |
260 | - $out .= sprintf(ngettext("In addition to <strong>%s</strong> the installer will also configure access to:", "In addition to <strong>%s</strong> the installer will also configure access to the following networks:", $ssidCount - $configCount), implode(', ', $configList)) . " "; |
|
261 | - $out .= '<strong>' . join('</strong>, <strong>', array_diff(array_keys($ssids), $configList)) . '</strong>'; |
|
260 | + $out .= sprintf(ngettext("In addition to <strong>%s</strong> the installer will also configure access to:", "In addition to <strong>%s</strong> the installer will also configure access to the following networks:", $ssidCount - $configCount), implode(', ', $configList))." "; |
|
261 | + $out .= '<strong>'.join('</strong>, <strong>', array_diff(array_keys($ssids), $configList)).'</strong>'; |
|
262 | 262 | $out .= "<p>"; |
263 | 263 | } |
264 | 264 | // TODO - change this below |
@@ -274,8 +274,8 @@ discard block |
||
274 | 274 | $out .= _("When you are connecting to the network for the first time, Windows will pop up a login box, where you should enter your user name and password. This information will be saved so that you will reconnect to the network automatically each time you are in the range."); |
275 | 275 | if ($ssidCount > 1) { |
276 | 276 | $out .= "<p>"; |
277 | - $out .= _("You will be required to enter the same credentials for each of the configured networks:") . " "; |
|
278 | - $out .= '<strong>' . join('</strong>, <strong>', array_keys($ssids)) . '</strong>'; |
|
277 | + $out .= _("You will be required to enter the same credentials for each of the configured networks:")." "; |
|
278 | + $out .= '<strong>'.join('</strong>, <strong>', array_keys($ssids)).'</strong>'; |
|
279 | 279 | } |
280 | 280 | } |
281 | 281 | return $out; |
@@ -380,13 +380,13 @@ discard block |
||
380 | 380 | */ |
381 | 381 | protected function signInstaller() |
382 | 382 | { |
383 | - $fileName = $this->installerBasename . '.exe'; |
|
383 | + $fileName = $this->installerBasename.'.exe'; |
|
384 | 384 | if (!$this->sign) { |
385 | 385 | rename("installer.exe", $fileName); |
386 | 386 | return $fileName; |
387 | 387 | } |
388 | 388 | // are actually signing |
389 | - $outputFromSigning = system($this->sign . " installer.exe '$fileName' > /dev/null"); |
|
389 | + $outputFromSigning = system($this->sign." installer.exe '$fileName' > /dev/null"); |
|
390 | 390 | if ($outputFromSigning === FALSE) { |
391 | 391 | $this->loggerInstance->debug(2, "Signing the WindowsCommon installer $fileName FAILED!\n"); |
392 | 392 | } |
@@ -400,15 +400,15 @@ discard block |
||
400 | 400 | */ |
401 | 401 | protected function compileNSIS() { |
402 | 402 | if (\config\ConfAssistant::NSIS_VERSION >= 3) { |
403 | - $makensis = \config\ConfAssistant::PATHS['makensis'] . " -INPUTCHARSET UTF8"; |
|
403 | + $makensis = \config\ConfAssistant::PATHS['makensis']." -INPUTCHARSET UTF8"; |
|
404 | 404 | } else { |
405 | 405 | $makensis = \config\ConfAssistant::PATHS['makensis']; |
406 | 406 | } |
407 | 407 | $lcAll = getenv("LC_ALL"); |
408 | 408 | putenv("LC_ALL=en_US.UTF-8"); |
409 | - $command = $makensis . ' -V4 cat.NSI > nsis.log 2>&1'; |
|
409 | + $command = $makensis.' -V4 cat.NSI > nsis.log 2>&1'; |
|
410 | 410 | system($command); |
411 | - putenv("LC_ALL=" . $lcAll); |
|
411 | + putenv("LC_ALL=".$lcAll); |
|
412 | 412 | $this->loggerInstance->debug(4, "compileNSIS:$command\n"); |
413 | 413 | } |
414 | 414 | |
@@ -425,10 +425,10 @@ discard block |
||
425 | 425 | 'email' => 'SUPPORT', |
426 | 426 | 'url' => 'URL', |
427 | 427 | ]; |
428 | - $s = "support_" . $type . "_substitute"; |
|
428 | + $s = "support_".$type."_substitute"; |
|
429 | 429 | $substitute = $this->translateString($this->$s, $this->codePage); |
430 | - $returnValue = !empty($attr['support:' . $type][0]) ? $attr['support:' . $type][0] : $substitute; |
|
431 | - return '!define ' . $supportString[$type] . ' "' . $returnValue . '"' . "\n"; |
|
430 | + $returnValue = !empty($attr['support:'.$type][0]) ? $attr['support:'.$type][0] : $substitute; |
|
431 | + return '!define '.$supportString[$type].' "'.$returnValue.'"'."\n"; |
|
432 | 432 | } |
433 | 433 | |
434 | 434 | /** |
@@ -438,20 +438,20 @@ discard block |
||
438 | 438 | * @return string |
439 | 439 | */ |
440 | 440 | protected function writeNsisDefines($attr) { |
441 | - $fcontents = "\n" . '!define NSIS_MAJOR_VERSION ' . \config\ConfAssistant::NSIS_VERSION; |
|
441 | + $fcontents = "\n".'!define NSIS_MAJOR_VERSION '.\config\ConfAssistant::NSIS_VERSION; |
|
442 | 442 | if ($attr['internal:profile_count'][0] > 1) { |
443 | - $fcontents .= "\n" . '!define USER_GROUP "' . $this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0]), $this->codePage) . '" |
|
443 | + $fcontents .= "\n".'!define USER_GROUP "'.$this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0]), $this->codePage).'" |
|
444 | 444 | '; |
445 | 445 | } |
446 | - $fcontents .= ' |
|
447 | -Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0]), $this->codePage) . '" |
|
448 | -!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0]), $this->codePage) . '" |
|
449 | -!define VERSION "' . \core\CAT::VERSION_MAJOR . '.' . \core\CAT::VERSION_MINOR . '" |
|
446 | + $fcontents .= ' |
|
447 | +Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0]), $this->codePage).'" |
|
448 | +!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0]), $this->codePage).'" |
|
449 | +!define VERSION "' . \core\CAT::VERSION_MAJOR.'.'.\core\CAT::VERSION_MINOR.'" |
|
450 | 450 | !define INSTALLER_NAME "installer.exe" |
451 | -!define LANG "' . $this->lang . '" |
|
452 | -!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']) . '" |
|
451 | +!define LANG "' . $this->lang.'" |
|
452 | +!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']).'" |
|
453 | 453 | ;-------------------------------- |
454 | -!define ORGANISATION "' . $this->translateString($attr['general:instname'][0], $this->codePage) . '" |
|
454 | +!define ORGANISATION "' . $this->translateString($attr['general:instname'][0], $this->codePage).'" |
|
455 | 455 | '; |
456 | 456 | $fcontents .= $this->getSupport($attr, 'email'); |
457 | 457 | $fcontents .= $this->getSupport($attr, 'url'); |
@@ -459,18 +459,18 @@ discard block |
||
459 | 459 | $fcontents .= '!define WIRED |
460 | 460 | '; |
461 | 461 | } |
462 | - $fcontents .= '!define PROVIDERID "urn:UUID:' . $this->deviceUUID . '" |
|
462 | + $fcontents .= '!define PROVIDERID "urn:UUID:'.$this->deviceUUID.'" |
|
463 | 463 | '; |
464 | 464 | if (!empty($attr['internal:realm'][0])) { |
465 | - $fcontents .= '!define REALM "' . $attr['internal:realm'][0] . '" |
|
465 | + $fcontents .= '!define REALM "'.$attr['internal:realm'][0].'" |
|
466 | 466 | '; |
467 | 467 | } |
468 | 468 | if (!empty($attr['internal:hint_userinput_suffix'][0]) && $attr['internal:hint_userinput_suffix'][0] == 1) { |
469 | - $fcontents .= '!define HINT_USER_INPUT "' . $attr['internal:hint_userinput_suffix'][0] . '" |
|
469 | + $fcontents .= '!define HINT_USER_INPUT "'.$attr['internal:hint_userinput_suffix'][0].'" |
|
470 | 470 | '; |
471 | 471 | } |
472 | 472 | if (!empty($attr['internal:verify_userinput_suffix'][0]) && $attr['internal:verify_userinput_suffix'][0] == 1) { |
473 | - $fcontents .= '!define VERIFY_USER_REALM_INPUT "' . $attr['internal:verify_userinput_suffix'][0] . '" |
|
473 | + $fcontents .= '!define VERIFY_USER_REALM_INPUT "'.$attr['internal:verify_userinput_suffix'][0].'" |
|
474 | 474 | '; |
475 | 475 | } |
476 | 476 | $fcontents .= $this->msInfoFile($attr); |
@@ -491,7 +491,7 @@ discard block |
||
491 | 491 | $out .= '!define EXTERNAL_INFO "'; |
492 | 492 | // $this->loggerInstance->debug(4,"Info file type ".$attr['support:info_file'][0]['mime']."\n"); |
493 | 493 | if ($attr['internal:info_file'][0]['mime'] == 'rtf') { |
494 | - $out = '!define LICENSE_FILE "' . $attr['internal:info_file'][0]['name']; |
|
494 | + $out = '!define LICENSE_FILE "'.$attr['internal:info_file'][0]['name']; |
|
495 | 495 | } elseif ($attr['internal:info_file'][0]['mime'] == 'txt') { |
496 | 496 | $infoFile = file_get_contents($attr['internal:info_file'][0]['name']); |
497 | 497 | if ($infoFile === FALSE) { |
@@ -500,14 +500,14 @@ discard block |
||
500 | 500 | if (\config\ConfAssistant::NSIS_VERSION >= 3) { |
501 | 501 | $infoFileConverted = $infoFile; |
502 | 502 | } else { |
503 | - $infoFileConverted = iconv('UTF-8', $this->codePage . '//TRANSLIT', $infoFile); |
|
503 | + $infoFileConverted = iconv('UTF-8', $this->codePage.'//TRANSLIT', $infoFile); |
|
504 | 504 | } |
505 | 505 | if ($infoFileConverted !== FALSE && strlen($infoFileConverted) > 0) { |
506 | 506 | file_put_contents('info_f.txt', $infoFileConverted); |
507 | 507 | $out = '!define LICENSE_FILE " info_f.txt'; |
508 | 508 | } |
509 | 509 | } else { |
510 | - $out = '!define EXTERNAL_INFO "' . $attr['internal:info_file'][0]['name']; |
|
510 | + $out = '!define EXTERNAL_INFO "'.$attr['internal:info_file'][0]['name']; |
|
511 | 511 | } |
512 | 512 | |
513 | 513 | $out .= "\"\n"; |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | return $this->counter; |
132 | 132 | } |
133 | 133 | |
134 | - $cachedNumber = @file_get_contents(ROOT . "/var/tmp/cachedSPNumber.serialised"); |
|
134 | + $cachedNumber = @file_get_contents(ROOT."/var/tmp/cachedSPNumber.serialised"); |
|
135 | 135 | if ($cachedNumber !== FALSE) { |
136 | 136 | $numberData = unserialize($cachedNumber); |
137 | 137 | $now = new \DateTime(); |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | } else { // data in cache is too old or doesn't exist. We really need to ask the database |
145 | 145 | $list = $this->listAllServiceProviders(); |
146 | 146 | $this->counter = count($list); |
147 | - file_put_contents(ROOT . "/var/tmp/cachedSPNumber.serialised", serialize(["number" => $this->counter, "timestamp" => new \DateTime()])); |
|
147 | + file_put_contents(ROOT."/var/tmp/cachedSPNumber.serialised", serialize(["number" => $this->counter, "timestamp" => new \DateTime()])); |
|
148 | 148 | return $this->counter; |
149 | 149 | } |
150 | 150 | } |
@@ -175,7 +175,7 @@ discard block |
||
175 | 175 | $returnarray = []; |
176 | 176 | $query = "SELECT id_institution AS id, country, inst_realm as realmlist, name AS collapsed_name, contact AS collapsed_contact, type FROM view_active_institution WHERE country = ?"; |
177 | 177 | if ($eduroamDbType !== NULL) { |
178 | - $query .= " AND ( type = '" . ExternalEduroamDBData::TYPE_IDPSP . "' OR type = '" . $eduroamDbType . "')"; |
|
178 | + $query .= " AND ( type = '".ExternalEduroamDBData::TYPE_IDPSP."' OR type = '".$eduroamDbType."')"; |
|
179 | 179 | } |
180 | 180 | $externals = $this->db->exec($query, "s", $tld); |
181 | 181 | // was a SELECT query, so a resource and not a boolean |
@@ -45,11 +45,11 @@ discard block |
||
45 | 45 | ], |
46 | 46 | [ |
47 | 47 | 'title' => sprintf(_("Is it safe to use %s installers?"), \config\Master::APPEARANCE['productname']), |
48 | - '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']) : ""), |
|
48 | + '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']) : ""), |
|
49 | 49 | ], |
50 | 50 | [ |
51 | 51 | 'title' => _("Windows 'SmartScreen' or 'Internet Explorer' tell me that the file is not commonly downloaded and possibly harmful. Should I be concerned?"), |
52 | - '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>") |
|
52 | + '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>") |
|
53 | 53 | ], |
54 | 54 | [ |
55 | 55 | 'title' => sprintf(_("I can see %s network and my device is configured but it does not connect, what can be the cause?"), \config\ConfAssistant::CONSORTIUM['display_name']), |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | $consortium = \config\ConfAssistant::CONSORTIUM['display_name']; |
69 | 69 | array_push($Faq, |
70 | 70 | [ |
71 | - 'id' => 'what_is_' . \config\ConfAssistant::CONSORTIUM['name'], |
|
71 | + 'id' => 'what_is_'.\config\ConfAssistant::CONSORTIUM['name'], |
|
72 | 72 | 'title' => sprintf(_("What is this %s thing anyway?"), $consortium), |
73 | 73 | 'text' => sprintf(_("%s is a global WiFi roaming consortium which gives members of education and research access to the internet <i>for free</i> on all %s hotspots on the planet. There are several million %s users already, enjoying free internet access on more than %d hotspots! Visit <a href='http://www.eduroam.org'>the %s homepage</a> or <a href='http://monitor.eduroam.org/map_service_loc.php'>the %s location map</a> for more details."), $consortium, $consortium, $consortium, $SPs, $consortium, $consortium) |
74 | 74 | ]); |