@@ -296,7 +296,7 @@ discard block |
||
296 | 296 | <table><tr> |
297 | 297 | <td class='icon_td'>"; |
298 | 298 | $out[] = "<img src='".$this->stateIcons[$this->globalLevelStatic]."' id='main_static_ico' class='icon'></td><td id='main_static_result'>". |
299 | - $this->globalInfo[$this->globalLevelStatic].' '. _("See the appropriate tab for details.").'</td> |
|
299 | + $this->globalInfo[$this->globalLevelStatic].' '._("See the appropriate tab for details.").'</td> |
|
300 | 300 | </tr></table>'; |
301 | 301 | if ($this->naptr > 0) { |
302 | 302 | $out[] = "<hr><strong>"._("Dynamic connectivity tests")."</strong> |
@@ -328,7 +328,7 @@ discard block |
||
328 | 328 | <td class='icon_td'><img src='".$this->stateIcons[$result->level]."' id='src".$hostindex."_img'></td> |
329 | 329 | <td id='src$hostindex' colspan=2> |
330 | 330 | "; |
331 | - $out[] = '<strong>'.($result->server ? $result->server : _("Connected to undetermined server")).'</strong><br/>'.sprintf (_("elapsed time: %sms."), $result->time_millisec).'<div>'.$result->message.'</div>'; |
|
331 | + $out[] = '<strong>'.($result->server ? $result->server : _("Connected to undetermined server")).'</strong><br/>'.sprintf(_("elapsed time: %sms."), $result->time_millisec).'<div>'.$result->message.'</div>'; |
|
332 | 332 | |
333 | 333 | if ($result->level > \core\common\Entity::L_OK && property_exists($result, 'cert_oddities')) { |
334 | 334 | foreach ($result->cert_oddities as $oddities) { |
@@ -345,9 +345,9 @@ discard block |
||
345 | 345 | } |
346 | 346 | } |
347 | 347 | if ($result->server_cert->extensions) { |
348 | - $certdesc .= '<li>' . _('Extensions') . '<ul>'; |
|
348 | + $certdesc .= '<li>'._('Extensions').'<ul>'; |
|
349 | 349 | foreach ($result->server_cert->extensions as $ekey => $eval) { |
350 | - $certdesc .= '<li>' . $ekey . ': ' . $eval; |
|
350 | + $certdesc .= '<li>'.$ekey.': '.$eval; |
|
351 | 351 | } |
352 | 352 | $certdesc .= '</ul>'; |
353 | 353 | } |
@@ -355,7 +355,7 @@ discard block |
||
355 | 355 | $more .= '<span class="morecontent"><span>'.$certdesc. |
356 | 356 | '</span><a href="" class="morelink">'._("show server certificate details").'»</a></span></div>'; |
357 | 357 | } |
358 | - if ($more != '' ) { |
|
358 | + if ($more != '') { |
|
359 | 359 | $out[] = '<tr><td> </td><td colspan="2">'.$more.'</td></tr>'; |
360 | 360 | } |
361 | 361 | $out[] = "</table></ul>"; |
@@ -379,10 +379,10 @@ discard block |
||
379 | 379 | if (isset($this->protocolsMap[$capath->IP]) && $this->protocolsMap[$capath->IP] != '') { |
380 | 380 | $prots = explode(';', $this->protocolsMap[$capath->IP]); |
381 | 381 | if (!empty($prots)) { |
382 | - $capathtest[] = ' ' . _("supported TLS protocols: "); |
|
382 | + $capathtest[] = ' '._("supported TLS protocols: "); |
|
383 | 383 | $capathtest[] = implode(', ', $prots); |
384 | 384 | if (!in_array("TLS1.3", $prots)) { |
385 | - $capathtest[] = ' ' . '<font color="red">' . _("not supported: ") . 'TLS1.3</font>'; |
|
385 | + $capathtest[] = ' '.'<font color="red">'._("not supported: ").'TLS1.3</font>'; |
|
386 | 386 | } |
387 | 387 | } |
388 | 388 | } |
@@ -405,7 +405,7 @@ discard block |
||
405 | 405 | if ($capath->certdata->validTo) { |
406 | 406 | $certdesc .= '<li>'.$this->certFields['validTo'].' '. |
407 | 407 | date_create_from_format('ymdGis', |
408 | - substr($capath->certdata->validTo, 0, -1))->format('Y-m-d H:i:s'). ' UTC'; |
|
408 | + substr($capath->certdata->validTo, 0, -1))->format('Y-m-d H:i:s').' UTC'; |
|
409 | 409 | } |
410 | 410 | if ($capath->certdata->extensions) { |
411 | 411 | if ($capath->certdata->extensions->subjectaltname) { |
@@ -428,7 +428,7 @@ discard block |
||
428 | 428 | } else { |
429 | 429 | $certdesc = '<br>'; |
430 | 430 | } |
431 | - $capathtest[] = '<div>'.($capath->message!='' ? $capath->message : _('Test failed')).'</div>'.$more; |
|
431 | + $capathtest[] = '<div>'.($capath->message != '' ? $capath->message : _('Test failed')).'</div>'.$more; |
|
432 | 432 | $capathtest[] = '</td> |
433 | 433 | </tr> |
434 | 434 | </table>'; |
@@ -455,7 +455,7 @@ discard block |
||
455 | 455 | $srefused = 0; |
456 | 456 | $cliinfo = ''; |
457 | 457 | $cliinfo .= '<li>'._('Client certificate').' <b>'.$ca->clientcertinfo->from. |
458 | - '</b>'.', '.$ca->clientcertinfo->message . |
|
458 | + '</b>'.', '.$ca->clientcertinfo->message. |
|
459 | 459 | '<br> (CA: '.$ca->clientcertinfo->issuer.')<ul>'; |
460 | 460 | foreach ($ca->certificate as $certificate) { |
461 | 461 | if ($certificate->returncode == \core\diag\RADIUSTests::RETVAL_CONNECTION_REFUSED) { |
@@ -521,7 +521,7 @@ discard block |
||
521 | 521 | } else { |
522 | 522 | $cliinfo = _('Test failed'); |
523 | 523 | $clientstest[] = "<table><tr><td class='icon_td' id='srcclient".$hostindex."_img'><img src='". |
524 | - $this->stateIcons[\core\common\Entity::L_WARN]."'></td>" . |
|
524 | + $this->stateIcons[\core\common\Entity::L_WARN]."'></td>". |
|
525 | 525 | "<td id='srcclient$hostindex'>$cliinfo</td></tr></table>"; |
526 | 526 | } |
527 | 527 | } else { |
@@ -168,27 +168,27 @@ discard block |
||
168 | 168 | { |
169 | 169 | // it could match CN or sAN:DNS, we don't care which |
170 | 170 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['subject'])) { |
171 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . |
|
172 | - " against Subject: " . $this->TLS_CA_checks_result[$host]['certdata']['subject']); |
|
171 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName. |
|
172 | + " against Subject: ".$this->TLS_CA_checks_result[$host]['certdata']['subject']); |
|
173 | 173 | // we are checking against accidental misconfig, not attacks, so loosely checking against end of string is appropriate |
174 | - if (preg_match("/CN=" . $this->expectedName . "/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
174 | + if (preg_match("/CN=".$this->expectedName."/", $this->TLS_CA_checks_result[$host]['certdata']['subject']) === 1) { |
|
175 | 175 | return TRUE; |
176 | 176 | } |
177 | 177 | } |
178 | 178 | if (isset($this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname'])) { |
179 | - $this->loggerInstance->debug(4, "Checking expected server name " . $this->expectedName . " against sANs: "); |
|
179 | + $this->loggerInstance->debug(4, "Checking expected server name ".$this->expectedName." against sANs: "); |
|
180 | 180 | $this->loggerInstance->debug(4, $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']); |
181 | 181 | $testNames = $this->TLS_CA_checks_result[$host]['certdata']['extensions']['subjectaltname']; |
182 | 182 | if (!is_array($testNames)) { |
183 | 183 | $testNames = [$testNames]; |
184 | 184 | } |
185 | 185 | foreach ($testNames as $oneName) { |
186 | - if (preg_match("/" . $this->expectedName . "/", $oneName) === 1) { |
|
186 | + if (preg_match("/".$this->expectedName."/", $oneName) === 1) { |
|
187 | 187 | return TRUE; |
188 | 188 | } |
189 | 189 | } |
190 | 190 | } |
191 | - $this->loggerInstance->debug(3, "Tried to check expected server name " . $this->expectedName . " but neither CN nor sANs matched."); |
|
191 | + $this->loggerInstance->debug(3, "Tried to check expected server name ".$this->expectedName." but neither CN nor sANs matched."); |
|
192 | 192 | |
193 | 193 | $this->TLS_CA_checks_result[$host]['cert_oddity'] = RADIUSTests::CERTPROB_DYN_SERVER_NAME_MISMATCH; |
194 | 194 | return FALSE; |
@@ -218,9 +218,9 @@ discard block |
||
218 | 218 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['status'] = $cert['status']; |
219 | 219 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['message'] = $this->TLS_certkeys[$cert['status']]; |
220 | 220 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['expected'] = $cert['expected']; |
221 | - $add = ' -cert ' . ROOT . '/config/cli-certs/' . $cert['public'] . ' -key ' . ROOT . '/config/cli-certs/' . $cert['private']; |
|
222 | - if (!file_exists(ROOT . '/config/cli-certs/' . $cert['public']) ||!file_exists(ROOT . |
|
223 | - '/config/cli-certs/' . $cert['private'])) { |
|
221 | + $add = ' -cert '.ROOT.'/config/cli-certs/'.$cert['public'].' -key '.ROOT.'/config/cli-certs/'.$cert['private']; |
|
222 | + if (!file_exists(ROOT.'/config/cli-certs/'.$cert['public']) || !file_exists(ROOT. |
|
223 | + '/config/cli-certs/'.$cert['private'])) { |
|
224 | 224 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]['finalerror'] = 2; |
225 | 225 | continue; |
226 | 226 | } |
@@ -228,7 +228,7 @@ discard block |
||
228 | 228 | $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k] = []; |
229 | 229 | } |
230 | 230 | // tls1_3 connections have a problem in strdout/stderr buffering |
231 | - $add .= ' ' . "-no_ssl3 -no_tls1_3"; |
|
231 | + $add .= ' '."-no_ssl3 -no_tls1_3"; |
|
232 | 232 | $opensslbabble = $this->execOpensslClient($host, $add, $this->TLS_clients_checks_result[$host]['ca'][$type]['certificate'][$k]); |
233 | 233 | $res = $this->opensslClientsResult($host, $opensslbabble, $this->TLS_clients_checks_result, $type, $k); |
234 | 234 | if ($cert['expected'] == 'PASS') { |
@@ -270,11 +270,11 @@ discard block |
||
270 | 270 | // but code analysers want this more explicit, so here is this extra |
271 | 271 | // call to escapeshellarg() |
272 | 272 | $escapedHost = escapeshellarg($host); |
273 | - $this->loggerInstance->debug(4, \config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -CApath " . ROOT . "/config/ca-certs/$this->consortium/ $arg 2>&1\n"); |
|
273 | + $this->loggerInstance->debug(4, \config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -CApath ".ROOT."/config/ca-certs/$this->consortium/ $arg 2>&1\n"); |
|
274 | 274 | $time_start = microtime(true); |
275 | 275 | $opensslbabble = []; |
276 | 276 | $result = 999; // likely to become zero by openssl; don't want to initialise to zero, could cover up exec failures |
277 | - exec(\config\Master::PATHS['openssl'] . " s_client -connect " . $escapedHost . " -CApath " . ROOT . "/config/ca-certs/$this->consortium/ $arg 2>&1", $opensslbabble, $result); |
|
277 | + exec(\config\Master::PATHS['openssl']." s_client -connect ".$escapedHost." -CApath ".ROOT."/config/ca-certs/$this->consortium/ $arg 2>&1", $opensslbabble, $result); |
|
278 | 278 | $time_stop = microtime(true); |
279 | 279 | $testresults['time_millisec'] = floor(($time_stop - $time_start) * 1000); |
280 | 280 | $testresults['returncode'] = $result; |
@@ -396,7 +396,7 @@ discard block |
||
396 | 396 | private function propertyCheckPolicy($cert) |
397 | 397 | { |
398 | 398 | $oids = []; |
399 | - if (isset($cert['extensions']['certificatePolicies']) && $cert['extensions']['certificatePolicies']) { |
|
399 | + if (isset($cert['extensions']['certificatePolicies']) && $cert['extensions']['certificatePolicies']) { |
|
400 | 400 | foreach (\config\Diagnostics::RADIUSTESTS['TLS-acceptableOIDs'] as $key => $oid) { |
401 | 401 | if (preg_match("/Policy: $oid/", $cert['extensions']['certificatePolicies'])) { |
402 | 402 | $oids[$key] = $oid; |
@@ -165,7 +165,7 @@ discard block |
||
165 | 165 | } |
166 | 166 | } |
167 | 167 | |
168 | - $this->loggerInstance->debug(4, "RADIUSTests is in opMode " . $this->opMode . ", parameters were: $realm, $outerUsernameForChecks, " . /** @scrutinizer ignore-type */ print_r($supportedEapTypes, true)); |
|
168 | + $this->loggerInstance->debug(4, "RADIUSTests is in opMode ".$this->opMode.", parameters were: $realm, $outerUsernameForChecks, "./** @scrutinizer ignore-type */ print_r($supportedEapTypes, true)); |
|
169 | 169 | $this->loggerInstance->debug(4, /** @scrutinizer ignore-type */ print_r($expectedServerNames, true)); |
170 | 170 | $this->loggerInstance->debug(4, /** @scrutinizer ignore-type */ print_r($expectedCABundle, true)); |
171 | 171 | |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | $returnarray[] = RADIUSTests::CERTPROB_WILDCARD_IN_NAME; |
253 | 253 | continue; // otherwise we'd ALSO complain that it's not a real hostname |
254 | 254 | } |
255 | - if ($onename != "" && filter_var("foo@" . idn_to_ascii($onename), FILTER_VALIDATE_EMAIL) === FALSE) { |
|
255 | + if ($onename != "" && filter_var("foo@".idn_to_ascii($onename), FILTER_VALIDATE_EMAIL) === FALSE) { |
|
256 | 256 | $returnarray[] = RADIUSTests::CERTPROB_NOT_A_HOSTNAME; |
257 | 257 | } |
258 | 258 | } |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | $probValue = RADIUSTests::CERTPROB_SHA1_SIGNATURE; |
279 | 279 | $returnarray[] = $probValue; |
280 | 280 | } |
281 | - $this->loggerInstance->debug(4, "CERT IS: " . /** @scrutinizer ignore-type */ print_r($intermediateCa, TRUE)); |
|
281 | + $this->loggerInstance->debug(4, "CERT IS: "./** @scrutinizer ignore-type */ print_r($intermediateCa, TRUE)); |
|
282 | 282 | if ($intermediateCa['basicconstraints_set'] == 0) { |
283 | 283 | $returnarray[] = RADIUSTests::CERTPROB_NO_BASICCONSTRAINTS; |
284 | 284 | } |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | public function udpReachability($probeindex, $opnameCheck = TRUE, $frag = TRUE) { |
327 | 327 | // for EAP-TLS to be a viable option, we need to pass a random client cert to make eapol_test happy |
328 | 328 | // the following PEM data is one of the SENSE EAPLab client certs (not secret at all) |
329 | - $clientcert = file_get_contents(dirname(__FILE__) . "/clientcert.p12"); |
|
329 | + $clientcert = file_get_contents(dirname(__FILE__)."/clientcert.p12"); |
|
330 | 330 | if ($clientcert === FALSE) { |
331 | 331 | throw new Exception("A dummy client cert is part of the source distribution, but could not be loaded!"); |
332 | 332 | } |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | if ($this->opMode == self::RADIUS_TEST_OPERATION_MODE_THOROUGH) { |
336 | 336 | return $this->udpLogin($probeindex, $this->supportedEapTypes[0]->getArrayRep(), $this->outerUsernameForChecks, 'eaplab', $opnameCheck, $frag, $clientcert); |
337 | 337 | } |
338 | - return $this->udpLogin($probeindex, \core\common\EAP::EAPTYPE_ANY, "cat-connectivity-test@" . $this->realm, 'eaplab', $opnameCheck, $frag, $clientcert); |
|
338 | + return $this->udpLogin($probeindex, \core\common\EAP::EAPTYPE_ANY, "cat-connectivity-test@".$this->realm, 'eaplab', $opnameCheck, $frag, $clientcert); |
|
339 | 339 | } |
340 | 340 | |
341 | 341 | /** |
@@ -356,7 +356,7 @@ discard block |
||
356 | 356 | return RADIUSTests::CERTPROB_NO_CDP_HTTP; |
357 | 357 | } |
358 | 358 | // first and second sub-match is the full URL... check it |
359 | - $crlcontent = \core\common\OutsideComm::downloadFile(trim($crlUrl[1] . $crlUrl[2]), \config\Diagnostics::TIMEOUTS['crl_download']); |
|
359 | + $crlcontent = \core\common\OutsideComm::downloadFile(trim($crlUrl[1].$crlUrl[2]), \config\Diagnostics::TIMEOUTS['crl_download']); |
|
360 | 360 | if ($crlcontent === FALSE) { |
361 | 361 | return RADIUSTests::CERTPROB_NO_CRL_AT_CDP_URL; |
362 | 362 | } |
@@ -371,7 +371,7 @@ discard block |
||
371 | 371 | // $pem = chunk_split(base64_encode($crlcontent), 64, "\n"); |
372 | 372 | // inspired by https://stackoverflow.com/questions/2390604/how-to-pass-variables-as-stdin-into-command-line-from-php |
373 | 373 | |
374 | - $proc = \config\Master::PATHS['openssl'] . " crl -inform der"; |
|
374 | + $proc = \config\Master::PATHS['openssl']." crl -inform der"; |
|
375 | 375 | $descriptorspec = [ |
376 | 376 | 0 => ["pipe", "r"], |
377 | 377 | 1 => ["pipe", "w"], |
@@ -409,7 +409,7 @@ discard block |
||
409 | 409 | $origLength = strlen($hex); |
410 | 410 | for ($i = 1; $i < $origLength; $i++) { |
411 | 411 | if ($i % 2 == 1 && $i != strlen($hex)) { |
412 | - $spaced .= $hex[$i] . " "; |
|
412 | + $spaced .= $hex[$i]." "; |
|
413 | 413 | } else { |
414 | 414 | $spaced .= $hex[$i]; |
415 | 415 | } |
@@ -534,19 +534,19 @@ discard block |
||
534 | 534 | $eapText = \core\common\EAP::eapDisplayName($eaptype); |
535 | 535 | $config = ' |
536 | 536 | network={ |
537 | - ssid="' . \config\Master::APPEARANCE['productname'] . ' testing" |
|
537 | + ssid="' . \config\Master::APPEARANCE['productname'].' testing" |
|
538 | 538 | key_mgmt=WPA-EAP |
539 | 539 | proto=WPA2 |
540 | 540 | pairwise=CCMP |
541 | 541 | group=CCMP |
542 | 542 | '; |
543 | 543 | // phase 1 |
544 | - $config .= 'eap=' . $eapText['OUTER'] . "\n"; |
|
544 | + $config .= 'eap='.$eapText['OUTER']."\n"; |
|
545 | 545 | $logConfig = $config; |
546 | 546 | // phase 2 if applicable; all inner methods have passwords |
547 | 547 | if (isset($eapText['INNER']) && $eapText['INNER'] != "") { |
548 | - $config .= ' phase2="auth=' . $eapText['INNER'] . "\"\n"; |
|
549 | - $logConfig .= ' phase2="auth=' . $eapText['INNER'] . "\"\n"; |
|
548 | + $config .= ' phase2="auth='.$eapText['INNER']."\"\n"; |
|
549 | + $logConfig .= ' phase2="auth='.$eapText['INNER']."\"\n"; |
|
550 | 550 | } |
551 | 551 | // all methods set a password, except EAP-TLS |
552 | 552 | if ($eaptype != \core\common\EAP::EAPTYPE_TLS) { |
@@ -562,11 +562,11 @@ discard block |
||
562 | 562 | } |
563 | 563 | |
564 | 564 | // inner identity |
565 | - $config .= ' identity="' . $inner . "\"\n"; |
|
566 | - $logConfig .= ' identity="' . $inner . "\"\n"; |
|
565 | + $config .= ' identity="'.$inner."\"\n"; |
|
566 | + $logConfig .= ' identity="'.$inner."\"\n"; |
|
567 | 567 | // outer identity, may be equal |
568 | - $config .= ' anonymous_identity="' . $outer . "\"\n"; |
|
569 | - $logConfig .= ' anonymous_identity="' . $outer . "\"\n"; |
|
568 | + $config .= ' anonymous_identity="'.$outer."\"\n"; |
|
569 | + $logConfig .= ' anonymous_identity="'.$outer."\"\n"; |
|
570 | 570 | // done |
571 | 571 | $config .= "}"; |
572 | 572 | $logConfig .= "}"; |
@@ -627,13 +627,13 @@ discard block |
||
627 | 627 | * @return string the command-line for eapol_test |
628 | 628 | */ |
629 | 629 | private function eapolTestConfig($probeindex, $opName, $frag) { |
630 | - $cmdline = \config\Diagnostics::PATHS['eapol_test'] . |
|
631 | - " -a " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['ip'] . |
|
632 | - " -s " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['secret'] . |
|
633 | - " -o serverchain.pem" . |
|
634 | - " -c ./udp_login_test.conf" . |
|
635 | - " -M 22:44:66:CA:20:" . sprintf("%02d", $probeindex) . " " . |
|
636 | - " -t " . \config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['timeout'] . " "; |
|
630 | + $cmdline = \config\Diagnostics::PATHS['eapol_test']. |
|
631 | + " -a ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['ip']. |
|
632 | + " -s ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['secret']. |
|
633 | + " -o serverchain.pem". |
|
634 | + " -c ./udp_login_test.conf". |
|
635 | + " -M 22:44:66:CA:20:".sprintf("%02d", $probeindex)." ". |
|
636 | + " -t ".\config\Diagnostics::RADIUSTESTS['UDP-hosts'][$probeindex]['timeout']." "; |
|
637 | 637 | if ($opName) { |
638 | 638 | $cmdline .= '-N126:s:"1cat.eduroam.org" '; |
639 | 639 | } |
@@ -662,10 +662,10 @@ discard block |
||
662 | 662 | * @throws Exception |
663 | 663 | */ |
664 | 664 | private function createCArepository($tmpDir, &$intermOdditiesCAT, $servercert, $eapIntermediates, $eapIntermediateCRLs) { |
665 | - if (!mkdir($tmpDir . "/root-ca-allcerts/", 0700, true)) { |
|
665 | + if (!mkdir($tmpDir."/root-ca-allcerts/", 0700, true)) { |
|
666 | 666 | throw new Exception("unable to create root CA directory (RADIUS Tests): $tmpDir/root-ca-allcerts/\n"); |
667 | 667 | } |
668 | - if (!mkdir($tmpDir . "/root-ca-eaponly/", 0700, true)) { |
|
668 | + if (!mkdir($tmpDir."/root-ca-eaponly/", 0700, true)) { |
|
669 | 669 | throw new Exception("unable to create root CA directory (RADIUS Tests): $tmpDir/root-ca-eaponly/\n"); |
670 | 670 | } |
671 | 671 | // make a copy of the EAP-received chain and add the configured intermediates, if any |
@@ -679,15 +679,15 @@ discard block |
||
679 | 679 | } |
680 | 680 | if ($decoded['ca'] == 1) { |
681 | 681 | if ($decoded['root'] == 1) { // save CAT roots to the root directory |
682 | - file_put_contents($tmpDir . "/root-ca-eaponly/configuredroot" . count($catRoots) . ".pem", $decoded['pem']); |
|
683 | - file_put_contents($tmpDir . "/root-ca-allcerts/configuredroot" . count($catRoots) . ".pem", $decoded['pem']); |
|
682 | + file_put_contents($tmpDir."/root-ca-eaponly/configuredroot".count($catRoots).".pem", $decoded['pem']); |
|
683 | + file_put_contents($tmpDir."/root-ca-allcerts/configuredroot".count($catRoots).".pem", $decoded['pem']); |
|
684 | 684 | $catRoots[] = $decoded['pem']; |
685 | 685 | } else { // save the intermediates to allcerts directory |
686 | - file_put_contents($tmpDir . "/root-ca-allcerts/cat-intermediate" . count($catIntermediates) . ".pem", $decoded['pem']); |
|
686 | + file_put_contents($tmpDir."/root-ca-allcerts/cat-intermediate".count($catIntermediates).".pem", $decoded['pem']); |
|
687 | 687 | $intermOdditiesCAT = array_merge($intermOdditiesCAT, $this->propertyCheckIntermediate($decoded)); |
688 | 688 | if (isset($decoded['CRL']) && isset($decoded['CRL'][0])) { |
689 | 689 | $this->loggerInstance->debug(4, "got an intermediate CRL; adding them to the chain checks. (Remember: checking end-entity cert only, not the whole chain"); |
690 | - file_put_contents($tmpDir . "/root-ca-allcerts/crl_cat" . count($catIntermediates) . ".pem", $decoded['CRL'][0]); |
|
690 | + file_put_contents($tmpDir."/root-ca-allcerts/crl_cat".count($catIntermediates).".pem", $decoded['CRL'][0]); |
|
691 | 691 | } |
692 | 692 | $catIntermediates[] = $decoded['pem']; |
693 | 693 | } |
@@ -696,26 +696,26 @@ discard block |
||
696 | 696 | // save all intermediate certificates and CRLs to separate files in |
697 | 697 | // both root-ca directories |
698 | 698 | foreach ($eapIntermediates as $index => $onePem) { |
699 | - file_put_contents($tmpDir . "/root-ca-eaponly/intermediate$index.pem", $onePem); |
|
700 | - file_put_contents($tmpDir . "/root-ca-allcerts/intermediate$index.pem", $onePem); |
|
699 | + file_put_contents($tmpDir."/root-ca-eaponly/intermediate$index.pem", $onePem); |
|
700 | + file_put_contents($tmpDir."/root-ca-allcerts/intermediate$index.pem", $onePem); |
|
701 | 701 | } |
702 | 702 | foreach ($eapIntermediateCRLs as $index => $onePem) { |
703 | - file_put_contents($tmpDir . "/root-ca-eaponly/intermediateCRL$index.pem", $onePem); |
|
704 | - file_put_contents($tmpDir . "/root-ca-allcerts/intermediateCRL$index.pem", $onePem); |
|
703 | + file_put_contents($tmpDir."/root-ca-eaponly/intermediateCRL$index.pem", $onePem); |
|
704 | + file_put_contents($tmpDir."/root-ca-allcerts/intermediateCRL$index.pem", $onePem); |
|
705 | 705 | } |
706 | 706 | |
707 | 707 | $checkstring = ""; |
708 | 708 | if (isset($servercert['CRL']) && isset($servercert['CRL'][0])) { |
709 | 709 | $this->loggerInstance->debug(4, "got a server CRL; adding them to the chain checks. (Remember: checking end-entity cert only, not the whole chain"); |
710 | 710 | $checkstring = "-crl_check_all"; |
711 | - file_put_contents($tmpDir . "/root-ca-eaponly/crl-server.pem", $servercert['CRL'][0]); |
|
712 | - file_put_contents($tmpDir . "/root-ca-allcerts/crl-server.pem", $servercert['CRL'][0]); |
|
711 | + file_put_contents($tmpDir."/root-ca-eaponly/crl-server.pem", $servercert['CRL'][0]); |
|
712 | + file_put_contents($tmpDir."/root-ca-allcerts/crl-server.pem", $servercert['CRL'][0]); |
|
713 | 713 | } |
714 | 714 | |
715 | 715 | |
716 | 716 | // now c_rehash the root CA directory ... |
717 | - system(\config\Diagnostics::PATHS['c_rehash'] . " $tmpDir/root-ca-eaponly/ > /dev/null"); |
|
718 | - system(\config\Diagnostics::PATHS['c_rehash'] . " $tmpDir/root-ca-allcerts/ > /dev/null"); |
|
717 | + system(\config\Diagnostics::PATHS['c_rehash']." $tmpDir/root-ca-eaponly/ > /dev/null"); |
|
718 | + system(\config\Diagnostics::PATHS['c_rehash']." $tmpDir/root-ca-allcerts/ > /dev/null"); |
|
719 | 719 | return $checkstring; |
720 | 720 | } |
721 | 721 | |
@@ -746,14 +746,14 @@ discard block |
||
746 | 746 | // so test if there's something PEMy in the file at all |
747 | 747 | // serverchain.pem is the output from eapol_test; incomingserver.pem is written by extractIncomingCertsfromEAP() if there was at least one server cert. |
748 | 748 | if (filesize("$tmpDir/serverchain.pem") > 10 && filesize("$tmpDir/incomingserver.pem") > 10) { |
749 | - $cmdString = \config\Master::PATHS['openssl'] . " verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-eaponly/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
749 | + $cmdString = \config\Master::PATHS['openssl']." verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-eaponly/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
750 | 750 | exec($cmdString, $verifyResultEaponly); |
751 | 751 | $this->loggerInstance->debug(4, $cmdString."\n"); |
752 | - $this->loggerInstance->debug(4, "Chain verify pass 1: " . /** @scrutinizer ignore-type */ print_r($verifyResultEaponly, TRUE) . "\n"); |
|
753 | - $cmdString = \config\Master::PATHS['openssl'] . " verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-allcerts/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
752 | + $this->loggerInstance->debug(4, "Chain verify pass 1: "./** @scrutinizer ignore-type */ print_r($verifyResultEaponly, TRUE)."\n"); |
|
753 | + $cmdString = \config\Master::PATHS['openssl']." verify $crlCheckString -no-CAstore -no-CApath -CApath $tmpDir/root-ca-allcerts/ -purpose any $tmpDir/incomingserver.pem 2>&1"; |
|
754 | 754 | exec($cmdString, $verifyResultAllcerts); |
755 | 755 | $this->loggerInstance->debug(4, $cmdString."\n"); |
756 | - $this->loggerInstance->debug(4, "Chain verify pass 2: " . /** @scrutinizer ignore-type */ print_r($verifyResultAllcerts, TRUE) . "\n"); |
|
756 | + $this->loggerInstance->debug(4, "Chain verify pass 2: "./** @scrutinizer ignore-type */ print_r($verifyResultAllcerts, TRUE)."\n"); |
|
757 | 757 | } |
758 | 758 | |
759 | 759 | // now we do certificate verification against the collected parents |
@@ -821,7 +821,7 @@ discard block |
||
821 | 821 | // we are UNHAPPY if no names match! |
822 | 822 | $happiness = "UNHAPPY"; |
823 | 823 | foreach ($this->expectedServerNames as $expectedName) { |
824 | - $this->loggerInstance->debug(4, "Managing expectations for $expectedName: " . /** @scrutinizer ignore-type */ print_r($servercert['CN'], TRUE) . /** @scrutinizer ignore-type */ print_r($servercert['sAN_DNS'], TRUE)); |
|
824 | + $this->loggerInstance->debug(4, "Managing expectations for $expectedName: "./** @scrutinizer ignore-type */ print_r($servercert['CN'], TRUE)./** @scrutinizer ignore-type */ print_r($servercert['sAN_DNS'], TRUE)); |
|
825 | 825 | if (array_search($expectedName, $servercert['CN']) !== FALSE && array_search($expectedName, $servercert['sAN_DNS']) !== FALSE) { |
826 | 826 | $this->loggerInstance->debug(4, "Totally happy!"); |
827 | 827 | $happiness = "TOTALLY"; |
@@ -865,11 +865,11 @@ discard block |
||
865 | 865 | $theconfigs = $this->wpaSupplicantConfig($eaptype, $finalInner, $finalOuter, $password); |
866 | 866 | // the config intentionally does not include CA checking. We do this |
867 | 867 | // ourselves after getting the chain with -o. |
868 | - file_put_contents($tmpDir . "/udp_login_test.conf", $theconfigs[0]); |
|
868 | + file_put_contents($tmpDir."/udp_login_test.conf", $theconfigs[0]); |
|
869 | 869 | |
870 | 870 | $cmdline = $this->eapolTestConfig($probeindex, $opnameCheck, $frag); |
871 | 871 | $this->loggerInstance->debug(4, "Shallow reachability check cmdline: $cmdline\n"); |
872 | - $this->loggerInstance->debug(4, "Shallow reachability check config: $tmpDir\n" . $theconfigs[1] . "\n"); |
|
872 | + $this->loggerInstance->debug(4, "Shallow reachability check config: $tmpDir\n".$theconfigs[1]."\n"); |
|
873 | 873 | $time_start = microtime(true); |
874 | 874 | $pflow = []; |
875 | 875 | exec($cmdline, $pflow); |
@@ -878,7 +878,7 @@ discard block |
||
878 | 878 | } |
879 | 879 | $time_stop = microtime(true); |
880 | 880 | $output = print_r($this->redact($password, $pflow), TRUE); |
881 | - file_put_contents($tmpDir . "/eapol_test_output_redacted_$probeindex.txt", $output); |
|
881 | + file_put_contents($tmpDir."/eapol_test_output_redacted_$probeindex.txt", $output); |
|
882 | 882 | $this->loggerInstance->debug(5, "eapol_test output saved to eapol_test_output_redacted_$probeindex.txt\n"); |
883 | 883 | return [ |
884 | 884 | "time" => ($time_stop - $time_start) * 1000, |
@@ -913,7 +913,7 @@ discard block |
||
913 | 913 | if ($packetflow[count($packetflow) - 1] == 3 && $this->checkLineparse($packetflow_orig, self::LINEPARSE_CHECK_REJECTIGNORE)) { |
914 | 914 | array_pop($packetflow); |
915 | 915 | } |
916 | - $this->loggerInstance->debug(5, "Packetflow: " . /** @scrutinizer ignore-type */ print_r($packetflow, TRUE)); |
|
916 | + $this->loggerInstance->debug(5, "Packetflow: "./** @scrutinizer ignore-type */ print_r($packetflow, TRUE)); |
|
917 | 917 | $packetcount = array_count_values($packetflow); |
918 | 918 | $testresults['packetcount'] = $packetcount; |
919 | 919 | $testresults['packetflow'] = $packetflow; |
@@ -953,7 +953,7 @@ discard block |
||
953 | 953 | */ |
954 | 954 | private function wasModernTlsNegotiated(&$testresults, $packetflow_orig) { |
955 | 955 | $negotiatedTlsVersion = $this->checkLineparse($packetflow_orig, self::LINEPARSE_TLSVERSION); |
956 | - $this->loggerInstance->debug(4, "TLS version found is: $negotiatedTlsVersion" . "\n"); |
|
956 | + $this->loggerInstance->debug(4, "TLS version found is: $negotiatedTlsVersion"."\n"); |
|
957 | 957 | if ($negotiatedTlsVersion === FALSE) { |
958 | 958 | $testresults['cert_oddities'][] = RADIUSTests::TLSPROB_UNKNOWN_TLS_VERSION; |
959 | 959 | } elseif ($negotiatedTlsVersion != self::TLS_VERSION_1_2 && $negotiatedTlsVersion != self::TLS_VERSION_1_3) { |
@@ -1010,7 +1010,7 @@ discard block |
||
1010 | 1010 | |
1011 | 1011 | $x509 = new \core\common\X509(); |
1012 | 1012 | // $eap_certarray holds all certs received in EAP conversation |
1013 | - $incomingData = file_get_contents($tmpDir . "/serverchain.pem"); |
|
1013 | + $incomingData = file_get_contents($tmpDir."/serverchain.pem"); |
|
1014 | 1014 | if ($incomingData !== FALSE && strlen($incomingData) > 0) { |
1015 | 1015 | $eapCertArray = $x509->splitCertificate($incomingData); |
1016 | 1016 | } else { |
@@ -1040,10 +1040,10 @@ discard block |
||
1040 | 1040 | case RADIUSTests::SERVER_CA_SELFSIGNED: |
1041 | 1041 | $servercert[] = $cert; |
1042 | 1042 | if (count($servercert) == 1) { |
1043 | - if (file_put_contents($tmpDir . "/incomingserver.pem", $cert['pem'] . "\n") === FALSE) { |
|
1043 | + if (file_put_contents($tmpDir."/incomingserver.pem", $cert['pem']."\n") === FALSE) { |
|
1044 | 1044 | $this->loggerInstance->debug(4, "The (first) server certificate could not be written to $tmpDir/incomingserver.pem!\n"); |
1045 | 1045 | } |
1046 | - $this->loggerInstance->debug(4, "This is the (first) server certificate, with CRL content if applicable: " . /** @scrutinizer ignore-type */ print_r($servercert[0], true)); |
|
1046 | + $this->loggerInstance->debug(4, "This is the (first) server certificate, with CRL content if applicable: "./** @scrutinizer ignore-type */ print_r($servercert[0], true)); |
|
1047 | 1047 | } elseif (!in_array(RADIUSTests::CERTPROB_TOO_MANY_SERVER_CERTS, $testresults['cert_oddities'])) { |
1048 | 1048 | $testresults['cert_oddities'][] = RADIUSTests::CERTPROB_TOO_MANY_SERVER_CERTS; |
1049 | 1049 | } |
@@ -1113,7 +1113,7 @@ discard block |
||
1113 | 1113 | public function autodetectCAWithProbe($outerId) { |
1114 | 1114 | // for EAP-TLS to be a viable option, we need to pass a random client cert to make eapol_test happy |
1115 | 1115 | // the following PEM data is one of the SENSE EAPLab client certs (not secret at all) |
1116 | - $clientcert = file_get_contents(dirname(__FILE__) . "/clientcert.p12"); |
|
1116 | + $clientcert = file_get_contents(dirname(__FILE__)."/clientcert.p12"); |
|
1117 | 1117 | if ($clientcert === FALSE) { |
1118 | 1118 | throw new Exception("A dummy client cert is part of the source distribution, but could not be loaded!"); |
1119 | 1119 | } |
@@ -1128,7 +1128,7 @@ discard block |
||
1128 | 1128 | $tmpDir = $temporary['dir']; |
1129 | 1129 | chdir($tmpDir); |
1130 | 1130 | $this->loggerInstance->debug(4, "temp dir: $tmpDir\n"); |
1131 | - file_put_contents($tmpDir . "/client.p12", $clientcert); |
|
1131 | + file_put_contents($tmpDir."/client.p12", $clientcert); |
|
1132 | 1132 | $testresults = ['cert_oddities' => []]; |
1133 | 1133 | $runtime_results = $this->executeEapolTest($tmpDir, $probeindex, \core\common\EAP::EAPTYPE_ANY, $outerId, $outerId, "eaplab", FALSE, FALSE); |
1134 | 1134 | $packetflow_orig = $runtime_results['output']; |
@@ -1144,8 +1144,7 @@ discard block |
||
1144 | 1144 | // that's not the case if we do EAP-pwd or could not negotiate an EAP method at |
1145 | 1145 | // all |
1146 | 1146 | // in that case: no server CA guess possible |
1147 | - if (! |
|
1148 | - ($radiusResult == RADIUSTests::RETVAL_CONVERSATION_REJECT && $negotiatedEapType) || $radiusResult == RADIUSTests::RETVAL_OK |
|
1147 | + if (!($radiusResult == RADIUSTests::RETVAL_CONVERSATION_REJECT && $negotiatedEapType) || $radiusResult == RADIUSTests::RETVAL_OK |
|
1149 | 1148 | ) { |
1150 | 1149 | return RADIUSTests::RETVAL_INVALID; |
1151 | 1150 | } |
@@ -1185,7 +1184,7 @@ discard block |
||
1185 | 1184 | // trust, and custom ones we may have configured |
1186 | 1185 | $ourRoots = file_get_contents(\config\ConfAssistant::PATHS['trust-store-custom']); |
1187 | 1186 | $mozillaRoots = file_get_contents(\config\ConfAssistant::PATHS['trust-store-mozilla']); |
1188 | - $allRoots = $x509->splitCertificate($ourRoots . "\n" . $mozillaRoots); |
|
1187 | + $allRoots = $x509->splitCertificate($ourRoots."\n".$mozillaRoots); |
|
1189 | 1188 | foreach ($allRoots as $oneRoot) { |
1190 | 1189 | $processedRoot = $x509->processCertificate($oneRoot); |
1191 | 1190 | if ($processedRoot['full_details']['subject'] == $currentHighestKnownIssuer) { |
@@ -1229,7 +1228,7 @@ discard block |
||
1229 | 1228 | chdir($tmpDir); |
1230 | 1229 | $this->loggerInstance->debug(4, "temp dir: $tmpDir\n"); |
1231 | 1230 | if ($clientcertdata !== NULL) { |
1232 | - file_put_contents($tmpDir . "/client.p12", $clientcertdata); |
|
1231 | + file_put_contents($tmpDir."/client.p12", $clientcertdata); |
|
1233 | 1232 | } |
1234 | 1233 | $testresults = []; |
1235 | 1234 | // initialise the sub-array for cleaner parsing |
@@ -1334,7 +1333,7 @@ discard block |
||
1334 | 1333 | 'issuer' => $this->printDN($certdata['issuer']), |
1335 | 1334 | 'validFrom' => $this->printTm($certdata['validFrom_time_t']), |
1336 | 1335 | 'validTo' => $this->printTm($certdata['validTo_time_t']), |
1337 | - 'serialNumber' => $certdata['serialNumber'] . sprintf(" (0x%X)", $certdata['serialNumber']), |
|
1336 | + 'serialNumber' => $certdata['serialNumber'].sprintf(" (0x%X)", $certdata['serialNumber']), |
|
1338 | 1337 | 'sha1' => $certdata['sha1'], |
1339 | 1338 | 'public_key_length' => $certdata['public_key_length'], |
1340 | 1339 | 'extensions' => $certdata['extensions'] |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | $this->test_result = []; |
130 | 130 | $this->test_result['global'] = 0; |
131 | 131 | // parse the schema file to find out the number of expected rows... |
132 | - $schema = file(dirname(dirname(__FILE__)) . "/schema/schema.sql"); |
|
132 | + $schema = file(dirname(dirname(__FILE__))."/schema/schema.sql"); |
|
133 | 133 | $this->profileOptionCount = 0; |
134 | 134 | $passedTheWindmill = FALSE; |
135 | 135 | foreach ($schema as $schemaLine) { |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | { |
157 | 157 | $this->out[$test] = []; |
158 | 158 | $this->name = $test; |
159 | - $m_name = 'test' . $test; |
|
159 | + $m_name = 'test'.$test; |
|
160 | 160 | $this->test_result[$test] = 0; |
161 | 161 | if (!method_exists($this, $m_name)) { |
162 | 162 | $this->storeTestResult(\core\common\Entity::L_ERROR, "Configuration error, no test configured for <strong>$test</strong>."); |
@@ -269,9 +269,9 @@ discard block |
||
269 | 269 | private function testPhp() |
270 | 270 | { |
271 | 271 | if (version_compare(phpversion(), $this->needversionPHP, '>=')) { |
272 | - $this->storeTestResult(\core\common\Entity::L_OK, "<strong>PHP</strong> is sufficiently recent. You are running " . phpversion() . "."); |
|
272 | + $this->storeTestResult(\core\common\Entity::L_OK, "<strong>PHP</strong> is sufficiently recent. You are running ".phpversion()."."); |
|
273 | 273 | } else { |
274 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>PHP</strong> is too old. We need at least $this->needversionPHP, but you only have " . phpversion() . "."); |
|
274 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>PHP</strong> is too old. We need at least $this->needversionPHP, but you only have ".phpversion()."."); |
|
275 | 275 | } |
276 | 276 | } |
277 | 277 | |
@@ -284,12 +284,12 @@ discard block |
||
284 | 284 | */ |
285 | 285 | private function runConstantsTest($config) |
286 | 286 | { |
287 | - $templateConfig = file_get_contents(ROOT . "/config/$config-template.php"); |
|
288 | - $newTemplateConfig = preg_replace("/class *$config/", "class $config" . "_template", $templateConfig); |
|
289 | - file_put_contents(ROOT . "/var/tmp/$config-template.php", $newTemplateConfig); |
|
290 | - include(ROOT . "/var/tmp/$config-template.php"); |
|
291 | - unlink(ROOT . "/var/tmp/$config-template.php"); |
|
292 | - $rft = new \ReflectionClass("\config\\$config" . "_template"); |
|
287 | + $templateConfig = file_get_contents(ROOT."/config/$config-template.php"); |
|
288 | + $newTemplateConfig = preg_replace("/class *$config/", "class $config"."_template", $templateConfig); |
|
289 | + file_put_contents(ROOT."/var/tmp/$config-template.php", $newTemplateConfig); |
|
290 | + include(ROOT."/var/tmp/$config-template.php"); |
|
291 | + unlink(ROOT."/var/tmp/$config-template.php"); |
|
292 | + $rft = new \ReflectionClass("\config\\$config"."_template"); |
|
293 | 293 | $templateConstants = $rft->getConstants(); |
294 | 294 | $failResults = []; |
295 | 295 | foreach ($templateConstants as $constant => $value) { |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | * Check if all required constants are set |
307 | 307 | */ |
308 | 308 | private function testConfigConstants() { |
309 | - set_error_handler(function ($severity, $message, $file, $line) { |
|
309 | + set_error_handler(function($severity, $message, $file, $line) { |
|
310 | 310 | throw new \ErrorException($message, $severity, $severity, $file, $line); |
311 | 311 | }); |
312 | 312 | |
@@ -317,7 +317,7 @@ discard block |
||
317 | 317 | $failCount = $failCount + count($failResults); |
318 | 318 | if (count($failResults) > 0) { |
319 | 319 | $this->storeTestResult(\core\common\Entity::L_ERROR, |
320 | - "<strong>The following constants are not set:</strong>" . implode(', ', $failResults)); |
|
320 | + "<strong>The following constants are not set:</strong>".implode(', ', $failResults)); |
|
321 | 321 | } |
322 | 322 | } |
323 | 323 | |
@@ -341,7 +341,7 @@ discard block |
||
341 | 341 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>cat_base_url</strong> set correctly"); |
342 | 342 | } else { |
343 | 343 | $rootFromScript = $m[1] === '' ? '/' : $m[1]; |
344 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>cat_base_url</strong> is set to <strong>" . \config\Master::PATHS['cat_base_url'] . "</strong> and should be <strong>$rootFromScript</strong>"); |
|
344 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>cat_base_url</strong> is set to <strong>".\config\Master::PATHS['cat_base_url']."</strong> and should be <strong>$rootFromScript</strong>"); |
|
345 | 345 | } |
346 | 346 | } |
347 | 347 | |
@@ -362,7 +362,7 @@ discard block |
||
362 | 362 | if (count($probeReturns) == 0) { |
363 | 363 | $this->storeTestResult(common\Entity::L_OK, "All configured RADIUS/UDP probes are reachable."); |
364 | 364 | } else { |
365 | - $this->storeTestResult(common\Entity::L_ERROR, "The following RADIUS probes are NOT reachable: " . implode(', ', $probeReturns)); |
|
365 | + $this->storeTestResult(common\Entity::L_ERROR, "The following RADIUS probes are NOT reachable: ".implode(', ', $probeReturns)); |
|
366 | 366 | } |
367 | 367 | } |
368 | 368 | |
@@ -379,10 +379,10 @@ discard block |
||
379 | 379 | include_once \config\Master::AUTHENTICATION['ssp-path-to-autoloader']; |
380 | 380 | $SSPconfig = \SimpleSAML\Configuration::getInstance(); |
381 | 381 | $sspVersion = explode('.', $SSPconfig->getVersion()); |
382 | - if ( (int) $sspVersion[0] > $this->needversionSSP['major'] || ((int) $sspVersion[0] == $this->needversionSSP['major'] && (int) $sspVersion[1] >= $this->needversionSSP['minor'])) { |
|
383 | - $this->storeTestResult(\core\common\Entity::L_OK, "<strong>simpleSAMLphp</strong> is sufficiently recent. You are running " . implode('.', $sspVersion)); |
|
382 | + if ((int) $sspVersion[0] > $this->needversionSSP['major'] || ((int) $sspVersion[0] == $this->needversionSSP['major'] && (int) $sspVersion[1] >= $this->needversionSSP['minor'])) { |
|
383 | + $this->storeTestResult(\core\common\Entity::L_OK, "<strong>simpleSAMLphp</strong> is sufficiently recent. You are running ".implode('.', $sspVersion)); |
|
384 | 384 | } else { |
385 | - $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>simpleSAMLphp</strong> is too old. We need at least " . implode('.', $this->needversionSSP)); |
|
385 | + $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>simpleSAMLphp</strong> is too old. We need at least ".implode('.', $this->needversionSSP)); |
|
386 | 386 | } |
387 | 387 | } |
388 | 388 | } |
@@ -409,7 +409,7 @@ discard block |
||
409 | 409 | $A = $this->getExecPath('zip'); |
410 | 410 | if ($A['exec'] != "") { |
411 | 411 | $fullOutput = []; |
412 | - $t = exec($A['exec'] . ' --version', $fullOutput); |
|
412 | + $t = exec($A['exec'].' --version', $fullOutput); |
|
413 | 413 | if ($A['exec_is'] == "EXPLICIT") { |
414 | 414 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>".$fullOutput[1]."</strong> was found and is configured explicitly in your config."); |
415 | 415 | } else { |
@@ -447,8 +447,8 @@ discard block |
||
447 | 447 | */ |
448 | 448 | private function testLogdir() |
449 | 449 | { |
450 | - if (fopen(\config\Master::PATHS['logdir'] . "/debug.log", "a") == FALSE) { |
|
451 | - $this->storeTestResult(\core\common\Entity::L_WARN, "Log files in <strong>" . \config\Master::PATHS['logdir'] . "</strong> are not writable!"); |
|
450 | + if (fopen(\config\Master::PATHS['logdir']."/debug.log", "a") == FALSE) { |
|
451 | + $this->storeTestResult(\core\common\Entity::L_WARN, "Log files in <strong>".\config\Master::PATHS['logdir']."</strong> are not writable!"); |
|
452 | 452 | } else { |
453 | 453 | $this->storeTestResult(\core\common\Entity::L_OK, "Log directory is writable."); |
454 | 454 | } |
@@ -576,7 +576,7 @@ discard block |
||
576 | 576 | { |
577 | 577 | $A = $this->getExecPath('openssl'); |
578 | 578 | if ($A['exec'] != "") { |
579 | - $t = exec($A['exec'] . ' version'); |
|
579 | + $t = exec($A['exec'].' version'); |
|
580 | 580 | if ($A['exec_is'] == "EXPLICIT") { |
581 | 581 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>$t</strong> was found and is configured explicitly in your config."); |
582 | 582 | } else { |
@@ -598,13 +598,13 @@ discard block |
||
598 | 598 | if ($A['exec'] != "" && $A['exec_is'] == "EXPLICIT" && !file_exists($A['exec'])) { |
599 | 599 | $this->storeTestResult(\core\common\Entity::L_ERROR, "<strong>sslscan</strong> is configured explicitly and was not found on your system!"); |
600 | 600 | } else { |
601 | - exec($A['exec'] . ' --version --xml=-', $output, $res); |
|
601 | + exec($A['exec'].' --version --xml=-', $output, $res); |
|
602 | 602 | if ($res == 0) { |
603 | 603 | $xml = simplexml_load_string(implode($output)); |
604 | - $resarray = json_decode(json_encode((array)$xml),true); |
|
604 | + $resarray = json_decode(json_encode((array) $xml), true); |
|
605 | 605 | $t = 'sslscan'; |
606 | 606 | if (isset($resarray['@attributes']) and isset($resarray['@attributes']['version'])) { |
607 | - $t = 'sslscan ' . $resarray['@attributes']['version']; |
|
607 | + $t = 'sslscan '.$resarray['@attributes']['version']; |
|
608 | 608 | } |
609 | 609 | } else { |
610 | 610 | $t = ''; |
@@ -637,14 +637,14 @@ discard block |
||
637 | 637 | } |
638 | 638 | $A = $this->getExecPath('makensis'); |
639 | 639 | if ($A['exec'] != "") { |
640 | - $t = exec($A['exec'] . ' -VERSION'); |
|
640 | + $t = exec($A['exec'].' -VERSION'); |
|
641 | 641 | if ($A['exec_is'] == "EXPLICIT") { |
642 | 642 | $this->storeTestResult(\core\common\Entity::L_OK, "<strong>makensis $t</strong> was found and is configured explicitly in your config."); |
643 | 643 | } else { |
644 | 644 | $this->storeTestResult(\core\common\Entity::L_WARN, "<strong>makensis $t</strong> was found, but is not configured with an absolute path in your config."); |
645 | 645 | } |
646 | 646 | $outputArray = []; |
647 | - exec($A['exec'] . ' -HELP', $outputArray); |
|
647 | + exec($A['exec'].' -HELP', $outputArray); |
|
648 | 648 | $t1 = count(preg_grep('/INPUTCHARSET/', $outputArray)); |
649 | 649 | if ($t1 == 1 && \config\ConfAssistant::NSIS_VERSION == 2) { |
650 | 650 | $this->storeTestResult(\core\common\Entity::L_ERROR, "Declared NSIS_VERSION does not seem to match the file pointed to by PATHS['makensis']!"); |
@@ -674,7 +674,7 @@ discard block |
||
674 | 674 | $NSIS_Module_status = []; |
675 | 675 | foreach ($this->NSISModules as $module) { |
676 | 676 | unset($out); |
677 | - exec(\config\ConfAssistant::PATHS['makensis'] . " -V1 '-X!include $module' '-XOutFile $exe' '-XSection X' '-XSectionEnd'", $out, $retval); |
|
677 | + exec(\config\ConfAssistant::PATHS['makensis']." -V1 '-X!include $module' '-XOutFile $exe' '-XSection X' '-XSectionEnd'", $out, $retval); |
|
678 | 678 | if ($retval > 0) { |
679 | 679 | $NSIS_Module_status[$module] = 0; |
680 | 680 | } else { |
@@ -741,8 +741,8 @@ discard block |
||
741 | 741 | $locales = shell_exec("locale -a"); |
742 | 742 | $allthere = ""; |
743 | 743 | foreach (\config\Master::LANGUAGES as $onelanguage) { |
744 | - if (preg_match("/" . $onelanguage['locale'] . "/", $locales) == 0) { |
|
745 | - $allthere .= $onelanguage['locale'] . " "; |
|
744 | + if (preg_match("/".$onelanguage['locale']."/", $locales) == 0) { |
|
745 | + $allthere .= $onelanguage['locale']." "; |
|
746 | 746 | } |
747 | 747 | } |
748 | 748 | if ($allthere == "") { |
@@ -756,47 +756,47 @@ discard block |
||
756 | 756 | ["SETTING" => \config\Master::APPEARANCE['from-mail'], |
757 | 757 | "DEFVALUE" => "[email protected]", |
758 | 758 | "COMPLAINTSTRING" => "APPEARANCE/from-mail ", |
759 | - "REQUIRED" => FALSE,], |
|
759 | + "REQUIRED" => FALSE, ], |
|
760 | 760 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['url'], |
761 | 761 | "DEFVALUE" => "[email protected]?body=Only%20English%20language%20please!", |
762 | 762 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/url ", |
763 | - "REQUIRED" => FALSE,], |
|
763 | + "REQUIRED" => FALSE, ], |
|
764 | 764 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['display'], |
765 | 765 | "DEFVALUE" => "[email protected]", |
766 | 766 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/display ", |
767 | - "REQUIRED" => FALSE,], |
|
767 | + "REQUIRED" => FALSE, ], |
|
768 | 768 | ["SETTING" => \config\Master::APPEARANCE['support-contact']['developer-mail'], |
769 | 769 | "DEFVALUE" => "[email protected]", |
770 | 770 | "COMPLAINTSTRING" => "APPEARANCE/support-contact/mail ", |
771 | - "REQUIRED" => FALSE,], |
|
771 | + "REQUIRED" => FALSE, ], |
|
772 | 772 | ["SETTING" => \config\Master::APPEARANCE['abuse-mail'], |
773 | 773 | "DEFVALUE" => "[email protected]", |
774 | 774 | "COMPLAINTSTRING" => "APPEARANCE/abuse-mail ", |
775 | - "REQUIRED" => FALSE,], |
|
775 | + "REQUIRED" => FALSE, ], |
|
776 | 776 | ["SETTING" => \config\Master::APPEARANCE['MOTD'], |
777 | 777 | "DEFVALUE" => "Release Candidate. All bugs to be shot on sight!", |
778 | 778 | "COMPLAINTSTRING" => "APPEARANCE/MOTD ", |
779 | - "REQUIRED" => FALSE,], |
|
779 | + "REQUIRED" => FALSE, ], |
|
780 | 780 | ["SETTING" => \config\Master::APPEARANCE['webcert_CRLDP'], |
781 | 781 | "DEFVALUE" => ['list', 'of', 'CRL', 'pointers'], |
782 | 782 | "COMPLAINTSTRING" => "APPEARANCE/webcert_CRLDP ", |
783 | - "REQUIRED" => TRUE,], |
|
783 | + "REQUIRED" => TRUE, ], |
|
784 | 784 | ["SETTING" => \config\Master::APPEARANCE['webcert_OCSP'], |
785 | 785 | "DEFVALUE" => ['list', 'of', 'OCSP', 'pointers'], |
786 | 786 | "COMPLAINTSTRING" => "APPEARANCE/webcert_OCSP ", |
787 | - "REQUIRED" => TRUE,], |
|
787 | + "REQUIRED" => TRUE, ], |
|
788 | 788 | ["SETTING" => \config\Master::DB['INST']['host'], |
789 | 789 | "DEFVALUE" => "db.host.example", |
790 | 790 | "COMPLAINTSTRING" => "DB/INST ", |
791 | - "REQUIRED" => TRUE,], |
|
791 | + "REQUIRED" => TRUE, ], |
|
792 | 792 | ["SETTING" => \config\Master::DB['INST']['host'], |
793 | 793 | "DEFVALUE" => "db.host.example", |
794 | 794 | "COMPLAINTSTRING" => "DB/USER ", |
795 | - "REQUIRED" => TRUE,], |
|
795 | + "REQUIRED" => TRUE, ], |
|
796 | 796 | ["SETTING" => \config\Master::DB['EXTERNAL']['host'], |
797 | 797 | "DEFVALUE" => "customerdb.otherhost.example", |
798 | 798 | "COMPLAINTSTRING" => "DB/EXTERNAL ", |
799 | - "REQUIRED" => FALSE,], |
|
799 | + "REQUIRED" => FALSE, ], |
|
800 | 800 | ]; |
801 | 801 | |
802 | 802 | /** |
@@ -825,11 +825,11 @@ discard block |
||
825 | 825 | if (isset(\config\Diagnostics::RADIUSTESTS['TLS-clientcerts'])) { |
826 | 826 | foreach (\config\Diagnostics::RADIUSTESTS['TLS-clientcerts'] as $cadata) { |
827 | 827 | foreach ($cadata['certificates'] as $cert_files) { |
828 | - if (file_get_contents(ROOT . "/config/cli-certs/" . $cert_files['public']) === FALSE) { |
|
829 | - $defaultvalues .= "CERTIFICATE/" . $cert_files['public'] . " "; |
|
828 | + if (file_get_contents(ROOT."/config/cli-certs/".$cert_files['public']) === FALSE) { |
|
829 | + $defaultvalues .= "CERTIFICATE/".$cert_files['public']." "; |
|
830 | 830 | } |
831 | - if (file_get_contents(ROOT . "/config/cli-certs/" . $cert_files['private']) === FALSE) { |
|
832 | - $defaultvalues .= "CERTIFICATE/" . $cert_files['private'] . " "; |
|
831 | + if (file_get_contents(ROOT."/config/cli-certs/".$cert_files['private']) === FALSE) { |
|
832 | + $defaultvalues .= "CERTIFICATE/".$cert_files['private']." "; |
|
833 | 833 | } |
834 | 834 | } |
835 | 835 | } |
@@ -922,14 +922,14 @@ discard block |
||
922 | 922 | if ($global_no_cache) { |
923 | 923 | foreach ($Devs as $dev => $D) { |
924 | 924 | if (empty($D['options']['no_cache']) || $D['options']['no_cache'] != 0) { |
925 | - $no_cache_dev .= $dev . " "; |
|
925 | + $no_cache_dev .= $dev." "; |
|
926 | 926 | $no_cache_dev_count++; |
927 | 927 | } |
928 | 928 | } |
929 | 929 | } else { |
930 | 930 | foreach ($Devs as $dev => $D) { |
931 | 931 | if (!empty($D['options']['no_cache']) && $D['options']['no_cache'] != 0) { |
932 | - $no_cache_dev .= $dev . " "; |
|
932 | + $no_cache_dev .= $dev." "; |
|
933 | 933 | $no_cache_dev_count++; |
934 | 934 | } |
935 | 935 | } |
@@ -973,14 +973,14 @@ discard block |
||
973 | 973 | $mail->isHTML(FALSE); |
974 | 974 | $mail->CharSet = 'UTF-8'; |
975 | 975 | $mail->From = \config\Master::APPEARANCE['from-mail']; |
976 | - $mail->FromName = \config\Master::APPEARANCE['productname'] . " Invitation System"; |
|
976 | + $mail->FromName = \config\Master::APPEARANCE['productname']." Invitation System"; |
|
977 | 977 | $mail->addAddress(\config\Master::APPEARANCE['abuse-mail']); |
978 | 978 | $mail->Subject = "testing CAT configuration mail"; |
979 | 979 | $mail->Body = "Testing CAT mailing\n"; |
980 | 980 | $sent = $mail->send(); |
981 | 981 | |
982 | 982 | if ($sent) { |
983 | - $this->storeTestResult(\core\common\Entity::L_OK, "mailer settings appear to be working, check " . \config\Master::APPEARANCE['abuse-mail'] . " mailbox if the message was receiced."); |
|
983 | + $this->storeTestResult(\core\common\Entity::L_OK, "mailer settings appear to be working, check ".\config\Master::APPEARANCE['abuse-mail']." mailbox if the message was receiced."); |
|
984 | 984 | } else { |
985 | 985 | $this->storeTestResult(\core\common\Entity::L_ERROR, "mailer settings failed, check the Config::MAILSETTINGS"); |
986 | 986 | } |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | |
104 | 104 | $this->loggerInstance->debug(5, "translateFile($source_name, $output_name)\n"); |
105 | 105 | ob_start(); |
106 | - $this->loggerInstance->debug(5, $this->module_path . '/Files/' . $this->device_id . '/' . $source_name . "\n"); |
|
106 | + $this->loggerInstance->debug(5, $this->module_path.'/Files/'.$this->device_id.'/'.$source_name."\n"); |
|
107 | 107 | $source = $this->findSourceFile($source_name); |
108 | 108 | |
109 | 109 | if ($source !== false) { // if there is no file found, don't attempt to include an uninitialised variable |
@@ -230,8 +230,8 @@ discard block |
||
230 | 230 | $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']); |
231 | 231 | $out .= "<p>"; |
232 | 232 | if ($networksCount > $configCount) { |
233 | - $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:", $networksCount - $configCount), implode(', ', $configNetworkList)) . " "; |
|
234 | - $out .= '<strong>' . join('</strong>, <strong>', array_diff($networkList, $configNetworkList)) . '</strong>'; |
|
233 | + $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:", $networksCount - $configCount), implode(', ', $configNetworkList))." "; |
|
234 | + $out .= '<strong>'.join('</strong>, <strong>', array_diff($networkList, $configNetworkList)).'</strong>'; |
|
235 | 235 | $out .= "<p>"; |
236 | 236 | } |
237 | 237 | // TODO - change this below |
@@ -340,14 +340,14 @@ discard block |
||
340 | 340 | */ |
341 | 341 | protected function signInstaller() |
342 | 342 | { |
343 | - $fileName = $this->installerBasename . '.exe'; |
|
343 | + $fileName = $this->installerBasename.'.exe'; |
|
344 | 344 | if (!$this->sign) { |
345 | 345 | rename("installer.exe", $fileName); |
346 | 346 | return $fileName; |
347 | 347 | } |
348 | 348 | $retval = 0; |
349 | 349 | // are actually signing |
350 | - $outputFromSigning = system($this->sign . " installer.exe '$fileName' > /dev/null", $retval); |
|
350 | + $outputFromSigning = system($this->sign." installer.exe '$fileName' > /dev/null", $retval); |
|
351 | 351 | $this->loggerInstance->debug(4, $retval, "Output from Windows signing:", "==\n"); |
352 | 352 | if ($retval !== 0 || $outputFromSigning === false) { |
353 | 353 | $this->loggerInstance->debug(2, "Signing the WindowsCommon installer $fileName FAILED!\n"); |
@@ -365,12 +365,12 @@ discard block |
||
365 | 365 | */ |
366 | 366 | protected function compileNSIS() |
367 | 367 | { |
368 | - $makensis = \config\ConfAssistant::PATHS['makensis'] . " -INPUTCHARSET UTF8"; |
|
368 | + $makensis = \config\ConfAssistant::PATHS['makensis']." -INPUTCHARSET UTF8"; |
|
369 | 369 | $lcAll = getenv("LC_ALL"); |
370 | 370 | putenv("LC_ALL=en_US.UTF-8"); |
371 | - $command = $makensis . ' -V4 cat.NSI > nsis.log 2>&1'; |
|
371 | + $command = $makensis.' -V4 cat.NSI > nsis.log 2>&1'; |
|
372 | 372 | system($command); |
373 | - putenv("LC_ALL=" . $lcAll); |
|
373 | + putenv("LC_ALL=".$lcAll); |
|
374 | 374 | $this->loggerInstance->debug(4, "compileNSIS:$command\n"); |
375 | 375 | } |
376 | 376 | |
@@ -387,10 +387,10 @@ discard block |
||
387 | 387 | 'email' => 'SUPPORT', |
388 | 388 | 'url' => 'URL', |
389 | 389 | ]; |
390 | - $s = "support_" . $type . "_substitute"; |
|
390 | + $s = "support_".$type."_substitute"; |
|
391 | 391 | $substitute = $this->translateString($this->$s); |
392 | - $returnValue = !empty($attr['support:' . $type][0]) ? $attr['support:' . $type][0] : $substitute; |
|
393 | - return '!define ' . $supportString[$type] . ' "' . $returnValue . '"' . "\n"; |
|
392 | + $returnValue = !empty($attr['support:'.$type][0]) ? $attr['support:'.$type][0] : $substitute; |
|
393 | + return '!define '.$supportString[$type].' "'.$returnValue.'"'."\n"; |
|
394 | 394 | } |
395 | 395 | |
396 | 396 | /** |
@@ -403,18 +403,18 @@ discard block |
||
403 | 403 | { |
404 | 404 | $fcontents = ''; |
405 | 405 | if ($attr['internal:profile_count'][0] > 1) { |
406 | - $fcontents .= "\n" . '!define USER_GROUP "' . $this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0])) . '" |
|
406 | + $fcontents .= "\n".'!define USER_GROUP "'.$this->translateString(str_replace('"', '$\\"', $attr['profile:name'][0])).'" |
|
407 | 407 | '; |
408 | 408 | } |
409 | 409 | $fcontents .= ' |
410 | -Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])) . '" |
|
411 | -!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])) . '" |
|
412 | -!define VERSION "' . \core\CAT::VERSION_MAJOR . '.' . \core\CAT::VERSION_MINOR . '.' . \core\CAT::VERSION_PATCH . '" |
|
410 | +Caption "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])).'" |
|
411 | +!define APPLICATION "' . $this->translateString(sprintf(WindowsCommon::sprintNsis(_("%s installer for %s")), \config\ConfAssistant::CONSORTIUM['display_name'], $attr['general:instname'][0])).'" |
|
412 | +!define VERSION "' . \core\CAT::VERSION_MAJOR.'.'.\core\CAT::VERSION_MINOR.'.'.\core\CAT::VERSION_PATCH.'" |
|
413 | 413 | !define INSTALLER_NAME "installer.exe" |
414 | -!define LANG "' . $this->lang . '" |
|
415 | -!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']) . '" |
|
414 | +!define LANG "' . $this->lang.'" |
|
415 | +!define LOCALE "' . preg_replace('/\..*$/', '', \config\Master::LANGUAGES[$this->languageInstance->getLang()]['locale']).'" |
|
416 | 416 | ;-------------------------------- |
417 | -!define ORGANISATION "' . $this->translateString($attr['general:instname'][0]) . '" |
|
417 | +!define ORGANISATION "' . $this->translateString($attr['general:instname'][0]).'" |
|
418 | 418 | '; |
419 | 419 | $fcontents .= $this->getSupport($attr, 'email'); |
420 | 420 | $fcontents .= $this->getSupport($attr, 'url'); |
@@ -422,18 +422,18 @@ discard block |
||
422 | 422 | $fcontents .= '!define WIRED |
423 | 423 | '; |
424 | 424 | } |
425 | - $fcontents .= '!define PROVIDERID "urn:UUID:' . $this->deviceUUID . '" |
|
425 | + $fcontents .= '!define PROVIDERID "urn:UUID:'.$this->deviceUUID.'" |
|
426 | 426 | '; |
427 | 427 | if (!empty($attr['internal:realm'][0])) { |
428 | - $fcontents .= '!define REALM "' . $attr['internal:realm'][0] . '" |
|
428 | + $fcontents .= '!define REALM "'.$attr['internal:realm'][0].'" |
|
429 | 429 | '; |
430 | 430 | } |
431 | 431 | if (!empty($attr['internal:hint_userinput_suffix'][0]) && $attr['internal:hint_userinput_suffix'][0] == 1) { |
432 | - $fcontents .= '!define HINT_USER_INPUT "' . $attr['internal:hint_userinput_suffix'][0] . '" |
|
432 | + $fcontents .= '!define HINT_USER_INPUT "'.$attr['internal:hint_userinput_suffix'][0].'" |
|
433 | 433 | '; |
434 | 434 | } |
435 | 435 | if (!empty($attr['internal:verify_userinput_suffix'][0]) && $attr['internal:verify_userinput_suffix'][0] == 1) { |
436 | - $fcontents .= '!define VERIFY_USER_REALM_INPUT "' . $attr['internal:verify_userinput_suffix'][0] . '" |
|
436 | + $fcontents .= '!define VERIFY_USER_REALM_INPUT "'.$attr['internal:verify_userinput_suffix'][0].'" |
|
437 | 437 | '; |
438 | 438 | } |
439 | 439 | $fcontents .= $this->msInfoFile($attr); |
@@ -454,7 +454,7 @@ discard block |
||
454 | 454 | $out .= '!define EXTERNAL_INFO "'; |
455 | 455 | // $this->loggerInstance->debug(4,"Info file type ".$attr['support:info_file'][0]['mime']."\n"); |
456 | 456 | if ($attr['internal:info_file'][0]['mime'] == 'rtf') { |
457 | - $out = '!define LICENSE_FILE "' . $attr['internal:info_file'][0]['name']; |
|
457 | + $out = '!define LICENSE_FILE "'.$attr['internal:info_file'][0]['name']; |
|
458 | 458 | } elseif ($attr['internal:info_file'][0]['mime'] == 'txt') { |
459 | 459 | $infoFile = file_get_contents($attr['internal:info_file'][0]['name']); |
460 | 460 | if ($infoFile === false) { |
@@ -467,7 +467,7 @@ discard block |
||
467 | 467 | $out = '!define LICENSE_FILE " info_f.txt'; |
468 | 468 | } |
469 | 469 | } else { |
470 | - $out = '!define EXTERNAL_INFO "' . $attr['internal:info_file'][0]['name']; |
|
470 | + $out = '!define EXTERNAL_INFO "'.$attr['internal:info_file'][0]['name']; |
|
471 | 471 | } |
472 | 472 | |
473 | 473 | $out .= "\"\n"; |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | public function htmlHeadCode() { |
48 | 48 | $cat = new \core\CAT(); |
49 | 49 | \core\common\Entity::intoThePotatoes(); |
50 | - $retval = "<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=" . \config\Master::APPEARANCE['google_maps_api_key'] . "'></script> |
|
50 | + $retval = "<script type='text/javascript' src='https://maps.googleapis.com/maps/api/js?key=".\config\Master::APPEARANCE['google_maps_api_key']."'></script> |
|
51 | 51 | <script type='text/javascript'> |
52 | 52 | // some global variables; |
53 | 53 | var center_lat=49.6114885608729; |
@@ -103,19 +103,19 @@ discard block |
||
103 | 103 | * |
104 | 104 | */ |
105 | 105 | function locator_magic() { |
106 | - geocoder.geocode({'address':\"" . preg_replace("/\"/", """, $this->instName) . "\", 'region':\"" . strtolower($this->fedName) . "\"}, |
|
106 | + geocoder.geocode({'address':\"" . preg_replace("/\"/", """, $this->instName)."\", 'region':\"".strtolower($this->fedName)."\"}, |
|
107 | 107 | function(r,status) { |
108 | 108 | if(status != google.maps.GeocoderStatus.OK) { |
109 | - locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "\"); |
|
109 | + locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name']."\"); |
|
110 | 110 | } else { |
111 | 111 | var i; |
112 | 112 | for(i = 0; i < r.length; i++) { |
113 | 113 | Addr = getAddressElements(r[i].address_components); |
114 | - if(Addr.country == \"" . strtoupper($this->fedName) . "\") |
|
114 | + if(Addr.country == \"" . strtoupper($this->fedName)."\") |
|
115 | 115 | break; |
116 | 116 | } |
117 | - if(Addr.country != \"" . strtoupper($this->fedName) . "\") |
|
118 | - locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "\"); |
|
117 | + if(Addr.country != \"" . strtoupper($this->fedName)."\") |
|
118 | + locate_country(\"" . $cat->knownFederations[strtoupper($this->fedName)]['name']."\"); |
|
119 | 119 | else { |
120 | 120 | addMarker(r[i].geometry.location,15,null); |
121 | 121 | } |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | */ |
129 | 129 | function markerClicked(m) { |
130 | 130 | info_window.close(); |
131 | - var t = \"" . _("This is location ") . "\"+m.info; |
|
131 | + var t = \"" . _("This is location ")."\"+m.info; |
|
132 | 132 | info_window.setContent(t); |
133 | 133 | info_window.setPosition(m.getPosition()); |
134 | 134 | info_window.open(map,m); |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | function getAddressLocation() { |
208 | 208 | var city = $('#address').val(); |
209 | 209 | if(city == '') { |
210 | - alert(\"" . _("nothing entered in the address field") . "\"); |
|
210 | + alert(\"" . _("nothing entered in the address field")."\"); |
|
211 | 211 | return false; |
212 | 212 | } |
213 | 213 | geocoder.geocode( { 'address': city}, function(results, status) { |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | * trigger geolocation |
228 | 228 | */ |
229 | 229 | function locateMe() { |
230 | - $('#address').val(\"" . _("locating") . "\"); |
|
230 | + $('#address').val(\"" . _("locating")."\"); |
|
231 | 231 | navigator.geolocation.getCurrentPosition(locate_succes,locate_fail,{maximumAge:3600000, timeout:5000}); |
232 | 232 | } |
233 | 233 | |
@@ -345,7 +345,7 @@ discard block |
||
345 | 345 | if ($this->readOnly) { |
346 | 346 | return "<div id='map' class='googlemap'></div>"; |
347 | 347 | } else { |
348 | - return $this->htmlPreEdit($wizard, $additional) . $this->findLocationHtml() . "<div id='map' class='googlemap'></div>" . $this->htmlPostEdit(FALSE); |
|
348 | + return $this->htmlPreEdit($wizard, $additional).$this->findLocationHtml()."<div id='map' class='googlemap'></div>".$this->htmlPostEdit(FALSE); |
|
349 | 349 | } |
350 | 350 | } |
351 | 351 | |
@@ -358,11 +358,11 @@ discard block |
||
358 | 358 | */ |
359 | 359 | public static function optionListDisplayCode($coords, $number) { |
360 | 360 | // quiesce warnings about unused variable |
361 | - if (strlen(sprintf("%s", $coords)) <0) { |
|
361 | + if (strlen(sprintf("%s", $coords)) < 0) { |
|
362 | 362 | throw new \Exception("A miracle! A string with negative length!"); |
363 | 363 | }; |
364 | 364 | \core\common\Entity::intoThePotatoes(); |
365 | - $retval = "<button id='location_b_" . $number . "' class='location_button'>" . _("Click to see location") . " $number</button>"; |
|
365 | + $retval = "<button id='location_b_".$number."' class='location_button'>"._("Click to see location")." $number</button>"; |
|
366 | 366 | \core\common\Entity::outOfThePotatoes(); |
367 | 367 | return $retval; |
368 | 368 | } |
@@ -373,7 +373,7 @@ discard block |
||
373 | 373 | * @return string |
374 | 374 | */ |
375 | 375 | public function bodyTagCode() { |
376 | - return "onload='load(" . ($this->readOnly ? "0" : "1") . ")'"; |
|
376 | + return "onload='load(".($this->readOnly ? "0" : "1").")'"; |
|
377 | 377 | } |
378 | 378 | |
379 | 379 | /** |
@@ -383,7 +383,7 @@ discard block |
||
383 | 383 | */ |
384 | 384 | private function findLocationHtml() { |
385 | 385 | \core\common\Entity::intoThePotatoes(); |
386 | - $retval = "<p>" . _("Address:") . " <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>" . _("Find address") . "</button> <button type='button' onclick='locateMe()'>" . _("Locate Me!") . "</button></p>"; |
|
386 | + $retval = "<p>"._("Address:")." <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>"._("Find address")."</button> <button type='button' onclick='locateMe()'>"._("Locate Me!")."</button></p>"; |
|
387 | 387 | \core\common\Entity::outOfThePotatoes(); |
388 | 388 | return $retval; |
389 | 389 | } |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | |
84 | 84 | // use HTML5 geolocation |
85 | 85 | function locateMe() { |
86 | - $('#address').val(\"" . _("locating") . "\"); |
|
86 | + $('#address').val(\"" . _("locating")."\"); |
|
87 | 87 | navigator.geolocation.getCurrentPosition(locate_succes,locate_fail,{maximumAge:3600000, timeout:5000}); |
88 | 88 | } |
89 | 89 | |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | view.fit(extent, {padding: [10, 0, 10, 0]}); |
206 | 206 | } else { |
207 | 207 | view.setCenter([0,0]); |
208 | - locate_country('" . $cat->knownFederations[strtoupper($this->fedName)]['name'] . "'); // use the federation code to locate the country |
|
208 | + locate_country('" . $cat->knownFederations[strtoupper($this->fedName)]['name']."'); // use the federation code to locate the country |
|
209 | 209 | map.setView(view); |
210 | 210 | } |
211 | 211 | view.setMaxZoom(20); |
@@ -227,14 +227,14 @@ discard block |
||
227 | 227 | function getAddressLocation() { |
228 | 228 | var city = $('#address').val(); |
229 | 229 | if(city == '') { |
230 | - alert(\"" . _("nothing entered in the address field") . "\"); |
|
230 | + alert(\"" . _("nothing entered in the address field")."\"); |
|
231 | 231 | return false; |
232 | 232 | } |
233 | 233 | city = city.replace(/\s*,\s*/g,',+'); |
234 | 234 | city = city.replace(/ +/,'+'); |
235 | 235 | $.get(addressService+'?format=json&addressdetails=0&q='+city, '', function(data) { |
236 | 236 | if (data[0] === undefined) { |
237 | - alert('" . _("Address not found, perhaps try another form, like putting the street number to the front.") . "'); |
|
237 | + alert('" . _("Address not found, perhaps try another form, like putting the street number to the front.")."'); |
|
238 | 238 | return; |
239 | 239 | } |
240 | 240 | showTmpPointer(data[0].lon, data[0].lat); |
@@ -285,7 +285,7 @@ discard block |
||
285 | 285 | if ($this->readOnly) { |
286 | 286 | return "<div id='map' class='locationmap'></div><script>generateMap('map')</script>"; |
287 | 287 | } else { |
288 | - return $this->htmlPreEdit($wizard, $additional) . $this->findLocationHtml() . "<span id='location-prompt'>You can drag the pointer to the final location before you save the results.</span><div id='map' class='locationmap'></div><script>generateMap('map')</script>" . $this->htmlPostEdit(FALSE); |
|
288 | + return $this->htmlPreEdit($wizard, $additional).$this->findLocationHtml()."<span id='location-prompt'>You can drag the pointer to the final location before you save the results.</span><div id='map' class='locationmap'></div><script>generateMap('map')</script>".$this->htmlPostEdit(FALSE); |
|
289 | 289 | } |
290 | 290 | } |
291 | 291 | |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | // we don't need this parameter in this subclass |
311 | 311 | unset($coords); |
312 | 312 | \core\common\Entity::intoThePotatoes(); |
313 | - $retval = "<button id='location_b_" . $number . "' class='location_button'>" . _("Click to see location") . " $number</button>"; |
|
313 | + $retval = "<button id='location_b_".$number."' class='location_button'>"._("Click to see location")." $number</button>"; |
|
314 | 314 | \core\common\Entity::outOfThePotatoes(); |
315 | 315 | return $retval; |
316 | 316 | } |
@@ -322,7 +322,7 @@ discard block |
||
322 | 322 | */ |
323 | 323 | private function findLocationHtml() { |
324 | 324 | \core\common\Entity::intoThePotatoes(); |
325 | - $retval = "<p>" . _("Address:") . " <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>" . _("Find address") . "</button> <button type='button' onclick='locateMe()'>" . _("Locate Me!") . "</button></p>"; |
|
325 | + $retval = "<p>"._("Address:")." <input name='address' id='address' /><button type='button' onclick='getAddressLocation()'>"._("Find address")."</button> <button type='button' onclick='locateMe()'>"._("Locate Me!")."</button></p>"; |
|
326 | 326 | \core\common\Entity::outOfThePotatoes(); |
327 | 327 | return $retval; |
328 | 328 | } |
@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | * <base_url>/copyright.php after deploying the software |
20 | 20 | */ |
21 | 21 | |
22 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
22 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
23 | 23 | |
24 | 24 | $auth = new \web\lib\admin\Authentication(); |
25 | 25 | $deco = new \web\lib\admin\PageDecoration(); |
@@ -116,12 +116,12 @@ discard block |
||
116 | 116 | </table> |
117 | 117 | </div> |
118 | 118 | <?php |
119 | - echo "<form enctype='multipart/form-data' action='edit_participant_result.php?inst_id=$my_inst->identifier" . ($wizardStyle ? "&wizard=true" : "") . "' method='post' accept-charset='UTF-8'> |
|
120 | - <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE . "'>"; |
|
119 | + echo "<form enctype='multipart/form-data' action='edit_participant_result.php?inst_id=$my_inst->identifier".($wizardStyle ? "&wizard=true" : "")."' method='post' accept-charset='UTF-8'> |
|
120 | + <input type='hidden' name='MAX_FILE_SIZE' value='" . \config\Master::MAX_UPLOAD_SIZE."'>"; |
|
121 | 121 | |
122 | 122 | if ($wizardStyle) { |
123 | - echo "<p>" . |
|
124 | - sprintf(_("Hello, newcomer. The %s is new to us. This wizard will ask you several questions about it, so that we can generate beautiful profiles for you in the end. All of the information below is optional, but it is important to fill out as many fields as possible for the benefit of your end users."), $uiElements->nomenclatureParticipant) . "</p>"; |
|
123 | + echo "<p>". |
|
124 | + sprintf(_("Hello, newcomer. The %s is new to us. This wizard will ask you several questions about it, so that we can generate beautiful profiles for you in the end. All of the information below is optional, but it is important to fill out as many fields as possible for the benefit of your end users."), $uiElements->nomenclatureParticipant)."</p>"; |
|
125 | 125 | } |
126 | 126 | $optionDisplay = new web\lib\admin\OptionDisplay($idpoptions, \core\Options::LEVEL_IDP); |
127 | 127 | ?> |
@@ -163,9 +163,9 @@ discard block |
||
163 | 163 | $discardLabel = _("Discard changes"); |
164 | 164 | } |
165 | 165 | if ($wizardStyle) { |
166 | - echo "<p>" . sprintf(_("When you are sure that everything is correct, please click on %sContinue ...%s"), "<button type='submit' name='submitbutton' value='" . web\lib\common\FormElements::BUTTON_CONTINUE . "'>", "</button>") . "</p></form>"; |
|
166 | + echo "<p>".sprintf(_("When you are sure that everything is correct, please click on %sContinue ...%s"), "<button type='submit' name='submitbutton' value='".web\lib\common\FormElements::BUTTON_CONTINUE."'>", "</button>")."</p></form>"; |
|
167 | 167 | } else { |
168 | - echo "<div><button type='submit' id='submitbutton' name='submitbutton' value='" . web\lib\common\FormElements::BUTTON_SAVE . "'>" . _("Save data") . "</button> <button type='button' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_org.php?inst_id=$my_inst->identifier\"'>".$discardLabel."</button></div></form>"; |
|
168 | + echo "<div><button type='submit' id='submitbutton' name='submitbutton' value='".web\lib\common\FormElements::BUTTON_SAVE."'>"._("Save data")."</button> <button type='button' name='abortbutton' value='abort' onclick='javascript:window.location = \"overview_org.php?inst_id=$my_inst->identifier\"'>".$discardLabel."</button></div></form>"; |
|
169 | 169 | } |
170 | 170 | echo $deco->footer(); |
171 | 171 | |
172 | 172 | \ No newline at end of file |
@@ -129,7 +129,7 @@ |
||
129 | 129 | foreach ($D as $id=>$priority) { |
130 | 130 | echo "<input type='hidden' class='profiles' id='profile-$id' name='profile-$id' value='$priority'>"; |
131 | 131 | } |
132 | - ?> |
|
132 | + ?> |
|
133 | 133 | </form> |
134 | 134 | <?php echo $deco->footer(); |
135 | 135 |
@@ -27,7 +27,7 @@ |
||
27 | 27 | ?> |
28 | 28 | |
29 | 29 | <?php |
30 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
30 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
31 | 31 | |
32 | 32 | $deco = new \web\lib\admin\PageDecoration(); |
33 | 33 | $validator = new \web\lib\common\InputValidation(); |