@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | /* |
21 | 21 | * Class autoloader invocation, should be included prior to any other code at the entry points to the application |
22 | 22 | */ |
23 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
23 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
24 | 24 | |
25 | 25 | $auth = new \web\lib\admin\Authentication(); |
26 | 26 | $auth->authenticate(); |
@@ -53,7 +53,7 @@ discard block |
||
53 | 53 | $fed = new \core\Federation($inst->federation); |
54 | 54 | $allowSb = $fed->getAttributes("fed:silverbullet"); |
55 | 55 | if (count($allowSb) == 0) { |
56 | - throw new Exception("We were told to create a new SB profile, but this " . \config\ConfAssistant::CONSORTIUM['nomenclature_federation'] . " does not allow SB at all!"); |
|
56 | + throw new Exception("We were told to create a new SB profile, but this ".\config\ConfAssistant::CONSORTIUM['nomenclature_federation']." does not allow SB at all!"); |
|
57 | 57 | } |
58 | 58 | // okay, new SB profiles are allowed. |
59 | 59 | // but is there a support:email attribute on inst level? |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | // Create one. |
65 | 65 | $newProfile = $inst->newProfile(core\AbstractProfile::PROFILETYPE_SILVERBULLET); |
66 | 66 | // and modify the REQUEST_URI to add the new profile ID |
67 | - $_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI'] . "&profile_id=" . $newProfile->identifier; |
|
67 | + $_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI']."&profile_id=".$newProfile->identifier; |
|
68 | 68 | $_GET['profile_id'] = $newProfile->identifier; |
69 | 69 | $profile = $newProfile; |
70 | 70 | } else { |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | if (isset($_POST['command'])) { |
90 | 90 | switch ($_POST['command']) { |
91 | 91 | case \web\lib\common\FormElements::BUTTON_CLOSE: |
92 | - header("Location: overview_org.php?inst_id=" . $inst->identifier); |
|
92 | + header("Location: overview_org.php?inst_id=".$inst->identifier); |
|
93 | 93 | break; |
94 | 94 | case \web\lib\common\FormElements::BUTTON_TERMSOFUSE_ACCEPTED: |
95 | 95 | if (isset($_POST['agreement']) && $_POST['agreement'] == 'true') { |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | break; |
133 | 133 | } |
134 | 134 | $properName = $validator->syntaxConformUser($elements[0]); |
135 | - $properDate = new DateTime($elements[1] . " 00:00:00"); |
|
135 | + $properDate = new DateTime($elements[1]." 00:00:00"); |
|
136 | 136 | $numberOfActivations = $elements[2] ?? 5; |
137 | 137 | $number = $validator->integer($numberOfActivations); |
138 | 138 | if ($number === FALSE) { // invalid input received, default to sane |
@@ -235,18 +235,18 @@ discard block |
||
235 | 235 | // warn and ask for confirmation unless already confirmed |
236 | 236 | if (!isset($_POST['insecureconfirm']) || $_POST['insecureconfirm'] != "CONFIRM") { |
237 | 237 | echo $deco->pageheader(_("Insecure mail domain!"), "ADMIN-IDP-USERS"); |
238 | - echo "<p>" . sprintf(_("The mail domain of the mail address <strong>%s</strong> is not secure: some or all of the mail servers are not accepting encrypted connections (no consistent support for STARTTLS)."), $properEmail) . "</p>"; |
|
239 | - echo "<p>" . _("The invitation would need to be sent in cleartext across the internet, and can possibly be read and abused by anyone in transit.") . "</p>"; |
|
240 | - echo "<p>" . _("Do you want the system to send this mail anyway?") . "</p>"; |
|
238 | + echo "<p>".sprintf(_("The mail domain of the mail address <strong>%s</strong> is not secure: some or all of the mail servers are not accepting encrypted connections (no consistent support for STARTTLS)."), $properEmail)."</p>"; |
|
239 | + echo "<p>"._("The invitation would need to be sent in cleartext across the internet, and can possibly be read and abused by anyone in transit.")."</p>"; |
|
240 | + echo "<p>"._("Do you want the system to send this mail anyway?")."</p>"; |
|
241 | 241 | echo $formtext; |
242 | - echo "<button type='submit' class='delete'>" . _("DO NOT SEND") . "</button>"; |
|
242 | + echo "<button type='submit' class='delete'>"._("DO NOT SEND")."</button>"; |
|
243 | 243 | echo "</form>"; |
244 | 244 | echo $formtext; |
245 | - echo "<input type='hidden' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'</>"; |
|
245 | + echo "<input type='hidden' name='command' value='".\web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'</>"; |
|
246 | 246 | echo "<input type='hidden' name='address' value='$properEmail'</>"; |
247 | - echo "<input type='hidden' name='token' value='" . $invitationObject->invitationTokenString . "'</>"; |
|
247 | + echo "<input type='hidden' name='token' value='".$invitationObject->invitationTokenString."'</>"; |
|
248 | 248 | echo "<input type='hidden' name='insecureconfirm' value='CONFIRM'/>"; |
249 | - echo "<button type='submit'>" . _("Send anyway.") . "</button>"; |
|
249 | + echo "<button type='submit'>"._("Send anyway.")."</button>"; |
|
250 | 250 | echo "</form>"; |
251 | 251 | echo $deco->footer(); |
252 | 252 | exit; |
@@ -297,7 +297,7 @@ discard block |
||
297 | 297 | $activeUsers = $profile->listActiveUsers(); |
298 | 298 | |
299 | 299 | |
300 | -echo $deco->defaultPagePrelude(sprintf(_('Managing %s users'), \core\ProfileSilverbullet::PRODUCTNAME )); |
|
300 | +echo $deco->defaultPagePrelude(sprintf(_('Managing %s users'), \core\ProfileSilverbullet::PRODUCTNAME)); |
|
301 | 301 | |
302 | 302 | ?> |
303 | 303 | <script src='js/option_expand.js' type='text/javascript'></script> |
@@ -337,12 +337,12 @@ discard block |
||
337 | 337 | <img src='../resources/images/icons/loading51.gif' id='spin' alt='loading...' style='position:absolute;left: 50%; top: 50%; transform: translate(-100px, -50px); display:none; z-index: 100;'> |
338 | 338 | <?php echo $uiElements->instLevelInfoBoxes($inst); ?> |
339 | 339 | <div class='infobox'> |
340 | - <h2><?php $tablecaption = sprintf(_('Current %s users'), \core\ProfileSilverbullet::PRODUCTNAME); echo $tablecaption;?></h2> |
|
340 | + <h2><?php $tablecaption = sprintf(_('Current %s users'), \core\ProfileSilverbullet::PRODUCTNAME); echo $tablecaption; ?></h2> |
|
341 | 341 | <table> |
342 | - <caption><?php echo $tablecaption;?></caption> |
|
342 | + <caption><?php echo $tablecaption; ?></caption> |
|
343 | 343 | <tr> |
344 | - <th class="wai-invisible" scope="col"><?php echo _("Property Type");?></th> |
|
345 | - <th class="wai-invisible" scope="col"><?php echo _("Property Value");?></th> |
|
344 | + <th class="wai-invisible" scope="col"><?php echo _("Property Type"); ?></th> |
|
345 | + <th class="wai-invisible" scope="col"><?php echo _("Property Value"); ?></th> |
|
346 | 346 | </tr> |
347 | 347 | |
348 | 348 | <tr> |
@@ -366,19 +366,19 @@ discard block |
||
366 | 366 | case "NOSTIPULATION": |
367 | 367 | break; |
368 | 368 | case "EMAIL-SENT": |
369 | - echo $boundaryPre . $uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE) . $boundaryPost; |
|
369 | + echo $boundaryPre.$uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE).$boundaryPost; |
|
370 | 370 | break; |
371 | 371 | case "EMAIL-NOTSENT": |
372 | - echo $boundaryPre . $uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE) . $boundaryPost; |
|
372 | + echo $boundaryPre.$uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE).$boundaryPost; |
|
373 | 373 | break; |
374 | 374 | case "SMS-SENT": |
375 | - echo $boundaryPre . $uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE) . $boundaryPost; |
|
375 | + echo $boundaryPre.$uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE).$boundaryPost; |
|
376 | 376 | break; |
377 | 377 | case "SMS-NOTSENT": |
378 | - echo $boundaryPre . $uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE) . $boundaryPost; |
|
378 | + echo $boundaryPre.$uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE).$boundaryPost; |
|
379 | 379 | break; |
380 | 380 | case "SMS-FRAGMENT": |
381 | - echo $boundaryPre . $uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE) . $boundaryPost; |
|
381 | + echo $boundaryPre.$uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE).$boundaryPost; |
|
382 | 382 | break; |
383 | 383 | } |
384 | 384 | ?> |
@@ -391,17 +391,17 @@ discard block |
||
391 | 391 | <?php |
392 | 392 | $bufferCurrentUsers = "<table class='sb-user-table' style='max-width:1920px;'> |
393 | 393 | <tr class='sb-title-row_id'> |
394 | - <td>" . _("User") . "</td> |
|
395 | - <td>" . _("Token/Certificate details") . "</td> |
|
396 | - <td>" . _("User/Token Expiry") . "</td> |
|
397 | - <td>" . _("Actions") . "</td> |
|
394 | + <td>" . _("User")."</td> |
|
395 | + <td>" . _("Token/Certificate details")."</td> |
|
396 | + <td>" . _("User/Token Expiry")."</td> |
|
397 | + <td>" . _("Actions")."</td> |
|
398 | 398 | </tr>"; |
399 | 399 | $bufferPreviousUsers = "<table class='sb-user-table' style='max-width:1920px;'> |
400 | 400 | <tr class='sb-title-row_id'> |
401 | - <td>" . _("User") . "</td> |
|
402 | - <td>" . _("Certificate details") . "</td> |
|
403 | - <td>" . _("User Expiry") . "</td> |
|
404 | - <td>" . _("Actions") . "</td> |
|
401 | + <td>" . _("User")."</td> |
|
402 | + <td>" . _("Certificate details")."</td> |
|
403 | + <td>" . _("User Expiry")."</td> |
|
404 | + <td>" . _("Actions")."</td> |
|
405 | 405 | </tr>"; |
406 | 406 | |
407 | 407 | natsort($allUsers); |
@@ -458,23 +458,23 @@ discard block |
||
458 | 458 | $display = empty(devices\Devices::listDevices()[$oneCert->device]['display']) ? $oneCert->device : devices\Devices::listDevices()[$oneCert->device]['display']; |
459 | 459 | |
460 | 460 | $bufferText = "<div class='sb-certificate-summary ca-summary' $style> |
461 | - <div class='sb-certificate-details'>" . _("Device:") . " " . $display . |
|
462 | - "<br>" . _("Serial Number:") . " " . dechex($oneCert->serial) . |
|
463 | - "<br>" . _("CN:") . " " . explode('@', $oneCert->username)[0] . "@…" . |
|
464 | - "<br>" . _("Expiry:") . " " . $oneCert->expiry . |
|
465 | - "<br>" . _("Issued:") . " " . $oneCert->issued . |
|
466 | - "</div>" . |
|
461 | + <div class='sb-certificate-details'>"._("Device:")." ".$display. |
|
462 | + "<br>"._("Serial Number:")." ".dechex($oneCert->serial). |
|
463 | + "<br>"._("CN:")." ".explode('@', $oneCert->username)[0]."@…". |
|
464 | + "<br>"._("Expiry:")." ".$oneCert->expiry. |
|
465 | + "<br>"._("Issued:")." ".$oneCert->issued. |
|
466 | + "</div>". |
|
467 | 467 | "<div style='text-align:right;padding-top: 5px; $buttonStyle'>"; |
468 | 468 | |
469 | 469 | if ($buttonText == "") { |
470 | 470 | $bufferText .= $formtext |
471 | - . "<input type='hidden' name='certSerial' value='" . $oneCert->serial . "'/>" |
|
472 | - . "<input type='hidden' name='certAlgo' value='" . $oneCert->ca_type . "'/>" |
|
471 | + . "<input type='hidden' name='certSerial' value='".$oneCert->serial."'/>" |
|
472 | + . "<input type='hidden' name='certAlgo' value='".$oneCert->ca_type."'/>" |
|
473 | 473 | . "<button type='submit' " |
474 | 474 | . "name='command' " |
475 | - . "value='" . \web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL . "' " |
|
475 | + . "value='".\web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL."' " |
|
476 | 476 | . "class='delete' " |
477 | - . "onclick='return confirm(\"" . sprintf(_("The device in question will stop functioning with %s. The revocation cannot be undone. Are you sure you want to do this?"), \config\ConfAssistant::CONSORTIUM['display_name']) . "\")'>" |
|
477 | + . "onclick='return confirm(\"".sprintf(_("The device in question will stop functioning with %s. The revocation cannot be undone. Are you sure you want to do this?"), \config\ConfAssistant::CONSORTIUM['display_name'])."\")'>" |
|
478 | 478 | . _("Revoke") |
479 | 479 | . "</button>" |
480 | 480 | . "</form>"; |
@@ -499,13 +499,13 @@ discard block |
||
499 | 499 | } |
500 | 500 | // wrap the revoked and expired certs in a div that is hidden by default |
501 | 501 | if ($textRevokedCerts !== "") { |
502 | - $textRevokedCerts = "<span style='text-decoration: underline;' id='$oneUserId-revoked-heading' onclick='document.getElementById(\"$oneUserId-revoked-certs\").style.display = \"block\"; document.getElementById(\"$oneUserId-revoked-heading\").style.display = \"none\";'>" . sprintf(ngettext("(show %d revoked certificate)", "(show %d revoked certificates)", $countRevoked), $countRevoked) . "</span><div id='$oneUserId-revoked-certs' style='display:none;'>" . $textRevokedCerts . "</div>"; |
|
502 | + $textRevokedCerts = "<span style='text-decoration: underline;' id='$oneUserId-revoked-heading' onclick='document.getElementById(\"$oneUserId-revoked-certs\").style.display = \"block\"; document.getElementById(\"$oneUserId-revoked-heading\").style.display = \"none\";'>".sprintf(ngettext("(show %d revoked certificate)", "(show %d revoked certificates)", $countRevoked), $countRevoked)."</span><div id='$oneUserId-revoked-certs' style='display:none;'>".$textRevokedCerts."</div>"; |
|
503 | 503 | } |
504 | 504 | if ($textExpiredCerts !== "") { |
505 | - $textExpiredCerts = "<span style='text-decoration: underline;' id='$oneUserId-expired-heading' onclick='document.getElementById(\"$oneUserId-expired-certs\").style.display = \"block\"; document.getElementById(\"$oneUserId-expired-heading\").style.display = \"none\";'>" . sprintf(ngettext("(show %d expired certificate)", "(show %d expired certificates)", $countExpired), $countExpired) . "</span><div id='$oneUserId-expired-certs' style='display:none;'>" . $textExpiredCerts . "</div>"; |
|
505 | + $textExpiredCerts = "<span style='text-decoration: underline;' id='$oneUserId-expired-heading' onclick='document.getElementById(\"$oneUserId-expired-certs\").style.display = \"block\"; document.getElementById(\"$oneUserId-expired-heading\").style.display = \"none\";'>".sprintf(ngettext("(show %d expired certificate)", "(show %d expired certificates)", $countExpired), $countExpired)."</span><div id='$oneUserId-expired-certs' style='display:none;'>".$textExpiredCerts."</div>"; |
|
506 | 506 | } |
507 | 507 | // and push out the HTML |
508 | - ${$outputBuffer} .= $textActiveCerts . "<br/>" . $textExpiredCerts . " " . $textRevokedCerts . "</td>"; |
|
508 | + ${$outputBuffer} .= $textActiveCerts."<br/>".$textExpiredCerts." ".$textRevokedCerts."</td>"; |
|
509 | 509 | $tokenHtmlBuffer = ""; |
510 | 510 | $hasOnePendingInvite = FALSE; |
511 | 511 | foreach ($tokensWithoutCerts as $invitationObject) { |
@@ -516,38 +516,38 @@ discard block |
||
516 | 516 | $tokenHtmlBuffer .= "<tr class='sb-certificate-row_id'><td></td>"; |
517 | 517 | $jsEncodedBody = str_replace('\n', '%0D%0A', str_replace('"', '', json_encode($invitationObject->invitationMailBody()))); |
518 | 518 | $tokenHtmlBuffer .= "<td>"; |
519 | - $tokenHtmlBuffer .= sprintf(_("The invitation token %s is ready for sending! Choose how to send it:"), "<input type='text' readonly='readonly' style='background-color:lightgrey;' size='60' value='" . $invitationObject->link() . "' name='token' class='identifiedtokenarea-" . $invitationObject->identifier . "'>(…)<br/>"); |
|
519 | + $tokenHtmlBuffer .= sprintf(_("The invitation token %s is ready for sending! Choose how to send it:"), "<input type='text' readonly='readonly' style='background-color:lightgrey;' size='60' value='".$invitationObject->link()."' name='token' class='identifiedtokenarea-".$invitationObject->identifier."'>(…)<br/>"); |
|
520 | 520 | $tokenHtmlBuffer .= "<table> |
521 | - <tr><td style='vertical-align:bottom;'>" . _("E-Mail:") . "</td><td> |
|
521 | + <tr><td style='vertical-align:bottom;'>" . _("E-Mail:")."</td><td> |
|
522 | 522 | $formtext |
523 | - <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
523 | + <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/> |
|
524 | 524 | <input type='text' name='address' id='address-$invitationObject->identifier'/> |
525 | - <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=" . $invitationObject->invitationMailSubject() . "&body=$jsEncodedBody\"; return false;'>" . _("Local mail client") . "</button> |
|
526 | - <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'>" . _("Send with CAT") . "</button> |
|
525 | + <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=".$invitationObject->invitationMailSubject()."&body=$jsEncodedBody\"; return false;'>"._("Local mail client")."</button> |
|
526 | + <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'>"._("Send with CAT")."</button> |
|
527 | 527 | </form> |
528 | 528 | </td></tr> |
529 | - <tr><td style='vertical-align:bottom;'>" . _("SMS:") . "</td><td> |
|
529 | + <tr><td style='vertical-align:bottom;'>" . _("SMS:")."</td><td> |
|
530 | 530 | $formtext |
531 | - <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
531 | + <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/> |
|
532 | 532 | <input type='text' name='smsnumber' /> |
533 | - <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS . "'>" . _("Send in SMS...") . "</button> |
|
533 | + <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS."'>"._("Send in SMS...")."</button> |
|
534 | 534 | </form> |
535 | 535 | </td></tr> |
536 | - <tr><td style='vertical-align:bottom;'>" . _("Manual:") . "</td><td> |
|
537 | - <button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier . ");'>" . _("Copy to Clipboard") . "</button> |
|
536 | + <tr><td style='vertical-align:bottom;'>" . _("Manual:")."</td><td> |
|
537 | + <button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier.");'>"._("Copy to Clipboard")."</button> |
|
538 | 538 | <form style='display:inline-block;' method='post' action='inc/displayQRcode.inc.php' onsubmit='popupQRWindow(this); return false;' accept-charset='UTF-8'> |
539 | - <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
540 | - <button type='submit'>" . _("Display QR code") . "</button> |
|
539 | + <input type='hidden' value='" . $invitationObject->invitationTokenString."' name='token'><br/> |
|
540 | + <button type='submit'>" . _("Display QR code")."</button> |
|
541 | 541 | </form> |
542 | 542 | </td></tr> |
543 | 543 | |
544 | 544 | </table> |
545 | 545 | </td>"; |
546 | - $tokenHtmlBuffer .= "<td>" . _("Expiry Date:") . " " . $invitationObject->expiry . " UTC<br>" . _("Activations remaining:") . " " . sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal) . "</td>"; |
|
546 | + $tokenHtmlBuffer .= "<td>"._("Expiry Date:")." ".$invitationObject->expiry." UTC<br>"._("Activations remaining:")." ".sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal)."</td>"; |
|
547 | 547 | $tokenHtmlBuffer .= "<td>" |
548 | 548 | . $formtext |
549 | - . "<input type='hidden' name='invitationtoken' value='" . $invitationObject->invitationTokenString . "'/>" |
|
550 | - . "<button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_REVOKEINVITATION . "' class='delete'>" . _("Revoke") . "</button></form>" |
|
549 | + . "<input type='hidden' name='invitationtoken' value='".$invitationObject->invitationTokenString."'/>" |
|
550 | + . "<button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_REVOKEINVITATION."' class='delete'>"._("Revoke")."</button></form>" |
|
551 | 551 | . "</td></tr>"; |
552 | 552 | break; |
553 | 553 | case core\SilverbulletInvitation::SB_TOKENSTATUS_EXPIRED: |
@@ -563,10 +563,10 @@ discard block |
||
563 | 563 | } |
564 | 564 | ${$outputBuffer} .= "<td>$formtext |
565 | 565 | <div class='sb-date-container' style='min-width: 200px;'> |
566 | - <span><input type='text' maxlength='19' class='sb-date-picker' name='userexpiry' value='" . $profile->getUserExpiryDate($oneUserId) . "'> (UTC)</span> |
|
566 | + <span><input type='text' maxlength='19' class='sb-date-picker' name='userexpiry' value='".$profile->getUserExpiryDate($oneUserId)."'> (UTC)</span> |
|
567 | 567 | </div> |
568 | 568 | <input type='hidden' name='userid' value='$oneUserId'/> |
569 | - <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_CHANGEUSEREXPIRY . "'>" . _("Update") . "</button> |
|
569 | + <button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_CHANGEUSEREXPIRY."'>"._("Update")."</button> |
|
570 | 570 | </form> |
571 | 571 | </td> |
572 | 572 | <td> |
@@ -574,33 +574,33 @@ discard block |
||
574 | 574 | |
575 | 575 | if ($hasOnePendingInvite || count($validCerts) > 0) { |
576 | 576 | $deletionText = sprintf(_("All of the currently active devices will stop functioning with %s. This cannot be undone. While the user can be re-activated later, they will then need to be re-provisioned with new invitation tokens. Are you sure you want to do this?"), \config\ConfAssistant::CONSORTIUM['display_name']); |
577 | - ${$outputBuffer} .= $formtext . " |
|
577 | + ${$outputBuffer} .= $formtext." |
|
578 | 578 | <input type='hidden' name='userid' value='$oneUserId'/> |
579 | 579 | <button type='submit' " |
580 | 580 | . "name='command' " |
581 | - . "value='" . \web\lib\common\FormElements::BUTTON_DEACTIVATEUSER . "' " |
|
581 | + . "value='".\web\lib\common\FormElements::BUTTON_DEACTIVATEUSER."' " |
|
582 | 582 | . "class='delete' " |
583 | - . ( count($validCerts) > 0 ? "onclick='return confirm(\"" . $deletionText . "\")' " : "" ) |
|
583 | + . (count($validCerts) > 0 ? "onclick='return confirm(\"".$deletionText."\")' " : "") |
|
584 | 584 | . ">" |
585 | 585 | . _("Deactivate User") |
586 | 586 | . "</button> |
587 | 587 | </form>"; |
588 | 588 | } |
589 | - ${$outputBuffer} .= "<form method='post' action='inc/userStats.inc.php?inst_id=" . $profile->institution . "&profile_id=" . $profile->identifier . "&user_id=$oneUserId' onsubmit='popupStatsWindow(this); return false;' accept-charset='UTF-8'> |
|
590 | - <button type='submit'>" . _("Show Authentication Records") . "</button> |
|
589 | + ${$outputBuffer} .= "<form method='post' action='inc/userStats.inc.php?inst_id=".$profile->institution."&profile_id=".$profile->identifier."&user_id=$oneUserId' onsubmit='popupStatsWindow(this); return false;' accept-charset='UTF-8'> |
|
590 | + <button type='submit'>"._("Show Authentication Records")."</button> |
|
591 | 591 | </form>"; |
592 | 592 | if (new DateTime() < new DateTime($expiryDate)) { // current user, allow sending new token |
593 | - ${$outputBuffer} .= $formtext . " |
|
593 | + ${$outputBuffer} .= $formtext." |
|
594 | 594 | <input type='hidden' name='userid' value='$oneUserId'/> |
595 | - <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_NEWINVITATION . "'>" . _("New Invitation") . "</button> |
|
596 | - <label>" . _("Activations:") . " |
|
595 | + <button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_NEWINVITATION."'>"._("New Invitation")."</button> |
|
596 | + <label>" . _("Activations:")." |
|
597 | 597 | <input type='text' name='invitationsquantity' value='5' maxlength='3' style='width: 30px;'/> |
598 | 598 | </label> |
599 | 599 | </form>"; |
600 | 600 | } elseif (count($profile->getUserAuthRecords($oneUserId)) == 0) { // previous user; if there are NO authentication records, allow full deletion - otherwise, need to keep user trace for abuse handling |
601 | - ${$outputBuffer} .= $formtext . " |
|
601 | + ${$outputBuffer} .= $formtext." |
|
602 | 602 | <input type='hidden' name='userid' value='$oneUserId'/> |
603 | - <button type='submit' class='delete' name='command' value='" . \web\lib\common\FormElements::BUTTON_DELETE . "'>" . _("Delete User") . "</button> |
|
603 | + <button type='submit' class='delete' name='command' value='".\web\lib\common\FormElements::BUTTON_DELETE."'>"._("Delete User")."</button> |
|
604 | 604 | </form>"; |
605 | 605 | } |
606 | 606 | ${$outputBuffer} .= "</div> |
@@ -632,13 +632,13 @@ discard block |
||
632 | 632 | . ' If all accounts shown as active above are indeed still valid, please check the box below and push "Save".' |
633 | 633 | . ' If any of the accounts are stale, please deactivate them by pushing the corresponding button before doing this.'), \config\ConfAssistant::SILVERBULLET['gracetime'] ?? core\ProfileSilverbullet::SB_ACKNOWLEDGEMENT_REQUIRED_DAYS); |
634 | 634 | |
635 | - echo $formtext . "<div style='padding-bottom: 20px;'>" |
|
635 | + echo $formtext."<div style='padding-bottom: 20px;'>" |
|
636 | 636 | . " |
637 | 637 | <p>$acknowledgeText</p> |
638 | 638 | <input type='checkbox' name='acknowledge' value='true'> |
639 | - <label>" . sprintf(_("I have verified that all configured users are still eligible for %s."),\config\ConfAssistant::CONSORTIUM['display_name']) . "</label> |
|
639 | + <label>".sprintf(_("I have verified that all configured users are still eligible for %s."), \config\ConfAssistant::CONSORTIUM['display_name'])."</label> |
|
640 | 640 | </div> |
641 | - <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY . "'>" . _("Save") . "</button></form>"; |
|
641 | + <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY."'>"._("Save")."</button></form>"; |
|
642 | 642 | } |
643 | 643 | ?> |
644 | 644 | </div> |
@@ -81,9 +81,9 @@ discard block |
||
81 | 81 | $loggerInstance = new \core\common\Logging(); |
82 | 82 | $olddomain = textdomain(NULL); |
83 | 83 | $loggerInstance->debug(4, "set_locale($domain)\n"); |
84 | - $loggerInstance->debug(4, ROOT . "\n"); |
|
84 | + $loggerInstance->debug(4, ROOT."\n"); |
|
85 | 85 | textdomain($domain); |
86 | - bindtextdomain($domain, ROOT . "/translation/"); |
|
86 | + bindtextdomain($domain, ROOT."/translation/"); |
|
87 | 87 | bind_textdomain_codeset($domain, "UTF-8"); |
88 | 88 | return $olddomain; |
89 | 89 | } |
@@ -136,7 +136,7 @@ discard block |
||
136 | 136 | |
137 | 137 | // check if this language is supported by the CAT config |
138 | 138 | foreach (\config\Master::LANGUAGES as $language => $value) { |
139 | - if (preg_match("/^" . $language . ".*/", $tryLang)) { |
|
139 | + if (preg_match("/^".$language.".*/", $tryLang)) { |
|
140 | 140 | $localeTmp = $value['locale']; |
141 | 141 | $langIndex = $language; // ??? |
142 | 142 | break; |
@@ -152,12 +152,12 @@ discard block |
||
152 | 152 | } |
153 | 153 | } |
154 | 154 | $isRtl = \config\Master::LANGUAGES[$langIndex]['rtl']; |
155 | - putenv("LC_ALL=" . $theLocale); |
|
156 | - putenv("LANGUAGE=" . $theLocale); |
|
155 | + putenv("LC_ALL=".$theLocale); |
|
156 | + putenv("LANGUAGE=".$theLocale); |
|
157 | 157 | $_SESSION['language'] = $langIndex; |
158 | 158 | $loggerInstance->debug(4, "selected lang:$langIndex:$theLocale\n"); |
159 | 159 | $loggerInstance->debug(4, print_r($langConverted, true)); |
160 | - return([$langIndex, $theLocale,$isRtl]); |
|
160 | + return([$langIndex, $theLocale, $isRtl]); |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | /** |
@@ -27,9 +27,9 @@ discard block |
||
27 | 27 | #private const EDUPKI_ENDPOINT_PUBLIC = "https://pki.edupki.org/edupki-ca/cgi-bin/pub/soap?wsdl=1"; |
28 | 28 | #private const EDUPKI_ENDPOINT_RA = "https://ra.edupki.org/edupki-ca/cgi-bin/ra/soap?wsdl=1"; |
29 | 29 | |
30 | - private const LOCATION_RA_CERT = ROOT . "/config/SilverbulletClientCerts/edupki-test-ra.pem"; |
|
31 | - private const LOCATION_RA_KEY = ROOT . "/config/SilverbulletClientCerts/edupki-test-ra.clearkey"; |
|
32 | - private const LOCATION_WEBROOT = ROOT . "/config/SilverbulletClientCerts/eduPKI-webserver-root.pem"; |
|
30 | + private const LOCATION_RA_CERT = ROOT."/config/SilverbulletClientCerts/edupki-test-ra.pem"; |
|
31 | + private const LOCATION_RA_KEY = ROOT."/config/SilverbulletClientCerts/edupki-test-ra.clearkey"; |
|
32 | + private const LOCATION_WEBROOT = ROOT."/config/SilverbulletClientCerts/eduPKI-webserver-root.pem"; |
|
33 | 33 | private const EDUPKI_RA_ID = 700; |
34 | 34 | private const EDUPKI_CERT_PROFILE_BOTH = "Radius Server SOAP"; |
35 | 35 | private const EDUPKI_CERT_PROFILE_IDP = "Radius Server SOAP"; |
@@ -49,13 +49,13 @@ discard block |
||
49 | 49 | parent::__construct(); |
50 | 50 | |
51 | 51 | if (stat(CertificationAuthorityEduPkiServer::LOCATION_RA_CERT) === FALSE) { |
52 | - throw new Exception("RA operator PEM file not found: " . CertificationAuthorityEduPkiServer::LOCATION_RA_CERT); |
|
52 | + throw new Exception("RA operator PEM file not found: ".CertificationAuthorityEduPkiServer::LOCATION_RA_CERT); |
|
53 | 53 | } |
54 | 54 | if (stat(CertificationAuthorityEduPkiServer::LOCATION_RA_KEY) === FALSE) { |
55 | - throw new Exception("RA operator private key file not found: " . CertificationAuthorityEduPkiServer::LOCATION_RA_KEY); |
|
55 | + throw new Exception("RA operator private key file not found: ".CertificationAuthorityEduPkiServer::LOCATION_RA_KEY); |
|
56 | 56 | } |
57 | 57 | if (stat(CertificationAuthorityEduPkiServer::LOCATION_WEBROOT) === FALSE) { |
58 | - throw new Exception("CA website root CA file not found: " . CertificationAuthorityEduPkiServer::LOCATION_WEBROOT); |
|
58 | + throw new Exception("CA website root CA file not found: ".CertificationAuthorityEduPkiServer::LOCATION_WEBROOT); |
|
59 | 59 | } |
60 | 60 | } |
61 | 61 | |
@@ -122,22 +122,22 @@ discard block |
||
122 | 122 | throw new Exception("Unexpected policies requested."); |
123 | 123 | } |
124 | 124 | $altArray = [# Array mit den Subject Alternative Names |
125 | - "email:" . $csr["USERMAIL"] |
|
125 | + "email:".$csr["USERMAIL"] |
|
126 | 126 | ]; |
127 | 127 | foreach ($csr["ALTNAMES"] as $oneAltName) { |
128 | - $altArray[] = "DNS:" . $oneAltName; |
|
128 | + $altArray[] = "DNS:".$oneAltName; |
|
129 | 129 | } |
130 | 130 | $soapPub = $this->initEduPKISoapSession("PUBLIC"); |
131 | 131 | $this->loggerInstance->debug(5, "FIRST ACTUAL SOAP REQUEST (Public, newRequest)!\n"); |
132 | - $this->loggerInstance->debug(5, "PARAM_1: " . CertificationAuthorityEduPkiServer::EDUPKI_RA_ID . "\n"); |
|
133 | - $this->loggerInstance->debug(5, "PARAM_2: " . $csr["CSR_STRING"] . "\n"); |
|
132 | + $this->loggerInstance->debug(5, "PARAM_1: ".CertificationAuthorityEduPkiServer::EDUPKI_RA_ID."\n"); |
|
133 | + $this->loggerInstance->debug(5, "PARAM_2: ".$csr["CSR_STRING"]."\n"); |
|
134 | 134 | $this->loggerInstance->debug(5, "PARAM_3: "); |
135 | 135 | $this->loggerInstance->debug(5, $altArray); |
136 | - $this->loggerInstance->debug(5, "PARAM_4: " . $profile . "\n"); |
|
137 | - $this->loggerInstance->debug(5, "PARAM_5: " . sha1("notused") . "\n"); |
|
138 | - $this->loggerInstance->debug(5, "PARAM_6: " . $csr["USERNAME"] . "\n"); |
|
139 | - $this->loggerInstance->debug(5, "PARAM_7: " . $csr["USERMAIL"] . "\n"); |
|
140 | - $this->loggerInstance->debug(5, "PARAM_8: " . ProfileSilverbullet::PRODUCTNAME . "\n"); |
|
136 | + $this->loggerInstance->debug(5, "PARAM_4: ".$profile."\n"); |
|
137 | + $this->loggerInstance->debug(5, "PARAM_5: ".sha1("notused")."\n"); |
|
138 | + $this->loggerInstance->debug(5, "PARAM_6: ".$csr["USERNAME"]."\n"); |
|
139 | + $this->loggerInstance->debug(5, "PARAM_7: ".$csr["USERMAIL"]."\n"); |
|
140 | + $this->loggerInstance->debug(5, "PARAM_8: ".ProfileSilverbullet::PRODUCTNAME."\n"); |
|
141 | 141 | $this->loggerInstance->debug(5, "PARAM_9: false\n"); |
142 | 142 | $soapNewRequest = $soapPub->newRequest( |
143 | 143 | CertificationAuthorityEduPkiServer::EDUPKI_RA_ID, # RA-ID |
@@ -159,11 +159,11 @@ discard block |
||
159 | 159 | } catch (Exception $e) { |
160 | 160 | // PHP 7.1 can do this much better |
161 | 161 | if (is_soap_fault($e)) { |
162 | - throw new Exception("Error when sending SOAP request: " . "{$e->faultcode}: { |
|
162 | + throw new Exception("Error when sending SOAP request: "."{$e->faultcode}: { |
|
163 | 163 | $e->faultstring |
164 | 164 | }\n"); |
165 | 165 | } |
166 | - throw new Exception("Something odd happened while doing the SOAP request:" . $e->getMessage()); |
|
166 | + throw new Exception("Something odd happened while doing the SOAP request:".$e->getMessage()); |
|
167 | 167 | } |
168 | 168 | try { |
169 | 169 | $soap = $this->initEduPKISoapSession("RA"); |
@@ -195,7 +195,7 @@ discard block |
||
195 | 195 | // for obnoxious reasons, we have to dump the request into a file and let pkcs7_sign read from the file |
196 | 196 | // rather than just using the string. Grr. |
197 | 197 | $tempdir = \core\common\Entity::createTemporaryDirectory("test"); |
198 | - file_put_contents($tempdir['dir'] . "/content.txt", $soapCleartext); |
|
198 | + file_put_contents($tempdir['dir']."/content.txt", $soapCleartext); |
|
199 | 199 | // retrieve our RA cert from filesystem |
200 | 200 | // the RA certificates are not needed right now because we |
201 | 201 | // have resorted to S/MIME signatures with openssl command-line |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | // sign the data, using cmdline because openssl_pkcs7_sign produces strange results |
208 | 208 | // -binary didn't help, nor switch -md to sha1 sha256 or sha512 |
209 | 209 | $this->loggerInstance->debug(5, "Actual content to be signed is this:\n $soapCleartext\n"); |
210 | - $execCmd = \config\Master::PATHS['openssl'] . " smime -sign -binary -in " . $tempdir['dir'] . "/content.txt -out " . $tempdir['dir'] . "/signature.txt -outform pem -inkey " . CertificationAuthorityEduPkiServer::LOCATION_RA_KEY . " -signer " . CertificationAuthorityEduPkiServer::LOCATION_RA_CERT; |
|
210 | + $execCmd = \config\Master::PATHS['openssl']." smime -sign -binary -in ".$tempdir['dir']."/content.txt -out ".$tempdir['dir']."/signature.txt -outform pem -inkey ".CertificationAuthorityEduPkiServer::LOCATION_RA_KEY." -signer ".CertificationAuthorityEduPkiServer::LOCATION_RA_CERT; |
|
211 | 211 | $this->loggerInstance->debug(2, "Calling openssl smime with following cmdline: $execCmd\n"); |
212 | 212 | $output = []; |
213 | 213 | $return = 999; |
@@ -216,21 +216,21 @@ discard block |
||
216 | 216 | throw new Exception("Non-zero return value from openssl smime!"); |
217 | 217 | } |
218 | 218 | // and get the signature blob back from the filesystem |
219 | - $detachedSig = trim(file_get_contents($tempdir['dir'] . "/signature.txt")); |
|
219 | + $detachedSig = trim(file_get_contents($tempdir['dir']."/signature.txt")); |
|
220 | 220 | $this->loggerInstance->debug(5, "Request for server approveRequest has parameters:\n"); |
221 | - $this->loggerInstance->debug(5, $soapReqnum . "\n"); |
|
222 | - $this->loggerInstance->debug(5, $soapCleartext . "\n"); // PHP magically encodes this as base64 while sending! |
|
223 | - $this->loggerInstance->debug(5, $detachedSig . "\n"); |
|
221 | + $this->loggerInstance->debug(5, $soapReqnum."\n"); |
|
222 | + $this->loggerInstance->debug(5, $soapCleartext."\n"); // PHP magically encodes this as base64 while sending! |
|
223 | + $this->loggerInstance->debug(5, $detachedSig."\n"); |
|
224 | 224 | $soapIssueCert = $soap->approveRequest($soapReqnum, $soapCleartext, $detachedSig); |
225 | - $this->loggerInstance->debug(5, "approveRequest Request was: \n" . $soap->__getLastRequest()); |
|
226 | - $this->loggerInstance->debug(5, "approveRequest Response was: \n" . $soap->__getLastResponse()); |
|
225 | + $this->loggerInstance->debug(5, "approveRequest Request was: \n".$soap->__getLastRequest()); |
|
226 | + $this->loggerInstance->debug(5, "approveRequest Response was: \n".$soap->__getLastResponse()); |
|
227 | 227 | if ($soapIssueCert === FALSE) { |
228 | 228 | throw new Exception("The locally approved request was NOT processed by the CA."); |
229 | 229 | } |
230 | 230 | } catch (SoapFault $e) { |
231 | - throw new Exception("SoapFault: Error when sending or receiving SOAP message: " . "{$e->faultcode}: {$e->faultname}: {$e->faultstring}: {$e->faultactor}: {$e->detail}: {$e->headerfault}\n"); |
|
231 | + throw new Exception("SoapFault: Error when sending or receiving SOAP message: "."{$e->faultcode}: {$e->faultname}: {$e->faultstring}: {$e->faultactor}: {$e->detail}: {$e->headerfault}\n"); |
|
232 | 232 | } catch (Exception $e) { |
233 | - throw new Exception("Exception: Something odd happened between the SOAP requests:" . $e->getMessage()); |
|
233 | + throw new Exception("Exception: Something odd happened between the SOAP requests:".$e->getMessage()); |
|
234 | 234 | } |
235 | 235 | return $soapReqnum; |
236 | 236 | } |
@@ -282,9 +282,9 @@ discard block |
||
282 | 282 | throw new Exception("CAInfo has no root certificate for us!"); |
283 | 283 | } |
284 | 284 | } catch (SoapFault $e) { |
285 | - throw new Exception("SoapFault: Error when sending or receiving SOAP message: " . "{$e->faultcode}: {$e->faultname}: {$e->faultstring}: {$e->faultactor}: {$e->detail}: {$e->headerfault}\n"); |
|
285 | + throw new Exception("SoapFault: Error when sending or receiving SOAP message: "."{$e->faultcode}: {$e->faultname}: {$e->faultstring}: {$e->faultactor}: {$e->detail}: {$e->headerfault}\n"); |
|
286 | 286 | } catch (Exception $e) { |
287 | - throw new Exception("Exception: Something odd happened between the SOAP requests:" . $e->getMessage()); |
|
287 | + throw new Exception("Exception: Something odd happened between the SOAP requests:".$e->getMessage()); |
|
288 | 288 | } |
289 | 289 | return [ |
290 | 290 | "CERT" => openssl_x509_read($parsedCert['pem']), |
@@ -317,12 +317,12 @@ discard block |
||
317 | 317 | // for obnoxious reasons, we have to dump the request into a file and let pkcs7_sign read from the file |
318 | 318 | // rather than just using the string. Grr. |
319 | 319 | $tempdir = \core\common\Entity::createTemporaryDirectory("test"); |
320 | - file_put_contents($tempdir['dir'] . "/content.txt", $soapRawRevRequest); |
|
320 | + file_put_contents($tempdir['dir']."/content.txt", $soapRawRevRequest); |
|
321 | 321 | // retrieve our RA cert from filesystem |
322 | 322 | // sign the data, using cmdline because openssl_pkcs7_sign produces strange results |
323 | 323 | // -binary didn't help, nor switch -md to sha1 sha256 or sha512 |
324 | 324 | $this->loggerInstance->debug(5, "Actual content to be signed is this:\n$soapRawRevRequest\n"); |
325 | - $execCmd = \config\Master::PATHS['openssl'] . " smime -sign -binary -in " . $tempdir['dir'] . "/content.txt -out " . $tempdir['dir'] . "/signature.txt -outform pem -inkey " . CertificationAuthorityEduPkiServer::LOCATION_RA_KEY . " -signer " . CertificationAuthorityEduPkiServer::LOCATION_RA_CERT; |
|
325 | + $execCmd = \config\Master::PATHS['openssl']." smime -sign -binary -in ".$tempdir['dir']."/content.txt -out ".$tempdir['dir']."/signature.txt -outform pem -inkey ".CertificationAuthorityEduPkiServer::LOCATION_RA_KEY." -signer ".CertificationAuthorityEduPkiServer::LOCATION_RA_CERT; |
|
326 | 326 | $this->loggerInstance->debug(2, "Calling openssl smime with following cmdline: $execCmd\n"); |
327 | 327 | $output = []; |
328 | 328 | $return = 999; |
@@ -331,7 +331,7 @@ discard block |
||
331 | 331 | throw new Exception("Non-zero return value from openssl smime!"); |
332 | 332 | } |
333 | 333 | // and get the signature blob back from the filesystem |
334 | - $detachedSig = trim(file_get_contents($tempdir['dir'] . "/signature.txt")); |
|
334 | + $detachedSig = trim(file_get_contents($tempdir['dir']."/signature.txt")); |
|
335 | 335 | $soapIssueRev = $soap->approveRevocationRequest($soapRevocationSerial, $soapRawRevRequest, $detachedSig); |
336 | 336 | if ($soapIssueRev === FALSE) { |
337 | 337 | throw new Exception("The locally approved revocation request was NOT processed by the CA."); |
@@ -339,9 +339,9 @@ discard block |
||
339 | 339 | } catch (Exception $e) { |
340 | 340 | // PHP 7.1 can do this much better |
341 | 341 | if (is_soap_fault($e)) { |
342 | - throw new Exception("Error when sending SOAP request: " . "{$e->faultcode}: {$e->faultstring}\n"); |
|
342 | + throw new Exception("Error when sending SOAP request: "."{$e->faultcode}: {$e->faultstring}\n"); |
|
343 | 343 | } |
344 | - throw new Exception("Something odd happened while doing the SOAP request:" . $e->getMessage()); |
|
344 | + throw new Exception("Something odd happened while doing the SOAP request:".$e->getMessage()); |
|
345 | 345 | } |
346 | 346 | } |
347 | 347 | |
@@ -441,9 +441,9 @@ discard block |
||
441 | 441 | */ |
442 | 442 | public function soapToXmlInteger($x) |
443 | 443 | { |
444 | - return '<' . $x[0] . '>' |
|
444 | + return '<'.$x[0].'>' |
|
445 | 445 | . htmlentities($x[1], ENT_NOQUOTES | ENT_XML1) |
446 | - . '</' . $x[0] . '>'; |
|
446 | + . '</'.$x[0].'>'; |
|
447 | 447 | } |
448 | 448 | |
449 | 449 | /** |
@@ -462,9 +462,9 @@ discard block |
||
462 | 462 | // dump private key into directory |
463 | 463 | $outstring = ""; |
464 | 464 | openssl_pkey_export($privateKey, $outstring); |
465 | - file_put_contents($tempdir . "/pkey.pem", $outstring); |
|
465 | + file_put_contents($tempdir."/pkey.pem", $outstring); |
|
466 | 466 | // PHP can only do one DC in the Subject. But we need three. |
467 | - $execCmd = \config\Master::PATHS['openssl'] . " req -new -sha256 -key $tempdir/pkey.pem -out $tempdir/request.csr -subj /DC=test/DC=test/DC=eduroam/C=$fed/O=" . \config\ConfAssistant::CONSORTIUM['name'] . "/OU=$fed/CN=$username/emailAddress=$username"; |
|
467 | + $execCmd = \config\Master::PATHS['openssl']." req -new -sha256 -key $tempdir/pkey.pem -out $tempdir/request.csr -subj /DC=test/DC=test/DC=eduroam/C=$fed/O=".\config\ConfAssistant::CONSORTIUM['name']."/OU=$fed/CN=$username/emailAddress=$username"; |
|
468 | 468 | $this->loggerInstance->debug(2, "Calling openssl req with following cmdline: $execCmd\n"); |
469 | 469 | $output = []; |
470 | 470 | $return = 999; |
@@ -47,9 +47,9 @@ discard block |
||
47 | 47 | $Gui->loggerInstance->debug(4, $operatingSystem); |
48 | 48 | $uiElements = new web\lib\admin\UIElements(); |
49 | 49 | if ($operatingSystem) { |
50 | - print "recognisedOS = '" . $operatingSystem['device'] . "';\n"; |
|
50 | + print "recognisedOS = '".$operatingSystem['device']."';\n"; |
|
51 | 51 | } |
52 | -require dirname(__DIR__) . '/user/js/cat_js.php'; |
|
52 | +require dirname(__DIR__).'/user/js/cat_js.php'; |
|
53 | 53 | ?> |
54 | 54 | var lang = "<?php echo($Gui->languageInstance->getLang()) ?>"; |
55 | 55 | </script> |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | <?php |
80 | 80 | switch ($statusInfo['errorcode']) { |
81 | 81 | case "GENERATOR_CONSUMED": |
82 | - echo $uiElements->boxError(_("You attempted to download an installer that was already downloaded before. Please request a new token from your administrator instead."), _("Attempt to reuse download link"), TRUE) . "<p>"; |
|
82 | + echo $uiElements->boxError(_("You attempted to download an installer that was already downloaded before. Please request a new token from your administrator instead."), _("Attempt to reuse download link"), TRUE)."<p>"; |
|
83 | 83 | break; |
84 | 84 | case NULL: |
85 | 85 | default: |
@@ -102,7 +102,7 @@ discard block |
||
102 | 102 | echo " "; |
103 | 103 | echo sprintf(ngettext("<strong>%d</strong> of your credentials is not valid any more.", "<strong>%d</strong> of your credentials are not valid any more.", $noGoodCerts), $noGoodCerts); |
104 | 104 | } |
105 | - echo " <span id='detailtext'>" . _("I want to see the details.") . "</span>"; |
|
105 | + echo " <span id='detailtext'>"._("I want to see the details.")."</span>"; |
|
106 | 106 | echo "<table id='cert_details'></table>"; |
107 | 107 | } |
108 | 108 | } |
@@ -111,60 +111,60 @@ discard block |
||
111 | 111 | case \core\SilverbulletInvitation::SB_TOKENSTATUS_VALID: // treat both cases as equal |
112 | 112 | case \core\SilverbulletInvitation::SB_TOKENSTATUS_PARTIALLY_REDEEMED: |
113 | 113 | if ($statusInfo['invitation_object']->activationsTotal > 1) { // only show this extra info in the non-trivial case. |
114 | - echo "<h3>" . sprintf(_("Your invitation token is valid for %d more device activations (%d have already been used)."), $statusInfo['invitation_object']->activationsRemaining, $statusInfo['invitation_object']->activationsTotal - $statusInfo['invitation_object']->activationsRemaining) . "</h3>"; |
|
114 | + echo "<h3>".sprintf(_("Your invitation token is valid for %d more device activations (%d have already been used)."), $statusInfo['invitation_object']->activationsRemaining, $statusInfo['invitation_object']->activationsTotal - $statusInfo['invitation_object']->activationsRemaining)."</h3>"; |
|
115 | 115 | } |
116 | 116 | if (!$statusInfo["OS"]) { |
117 | - echo "<p>" . _("Unfortunately, we are unable to determine your device's operating system. If you have made modifications on your device which prevent it from being recognised (e.g. custom 'User Agent' settings), please undo such modifications. You can come back to this page again; the invitation link has not been used up yet.") . "</p>"; |
|
117 | + echo "<p>"._("Unfortunately, we are unable to determine your device's operating system. If you have made modifications on your device which prevent it from being recognised (e.g. custom 'User Agent' settings), please undo such modifications. You can come back to this page again; the invitation link has not been used up yet.")."</p>"; |
|
118 | 118 | break; |
119 | 119 | } |
120 | 120 | |
121 | 121 | $dev = new \core\DeviceFactory($statusInfo['OS']['device']); |
122 | 122 | $dev->device->calculatePreferredEapType([new \core\common\EAP(\core\common\EAP::EAPTYPE_SILVERBULLET)]); |
123 | 123 | if ($dev->device->selectedEap == []) { |
124 | - echo "<p>" . sprintf(_("Unfortunately, the operating system your device uses (%s) is currently not supported for hosted end-user accounts. You can visit this page with a supported operating system later; the invitation link has not been used up yet."), $statusInfo['OS']['display']) . "</p>"; |
|
124 | + echo "<p>".sprintf(_("Unfortunately, the operating system your device uses (%s) is currently not supported for hosted end-user accounts. You can visit this page with a supported operating system later; the invitation link has not been used up yet."), $statusInfo['OS']['display'])."</p>"; |
|
125 | 125 | break; |
126 | 126 | } |
127 | - $message = $dev->device->options['message'] ?? '' ; |
|
127 | + $message = $dev->device->options['message'] ?? ''; |
|
128 | 128 | |
129 | 129 | $sbMessage = $dev->device->options['sb_message'] ?? ''; |
130 | 130 | if ($message != '' && $sbMessage != '') { |
131 | - $message = $message . "<p>" . $sbMessage; |
|
131 | + $message = $message."<p>".$sbMessage; |
|
132 | 132 | } else { |
133 | - $message = $message . $sbMessage; |
|
133 | + $message = $message.$sbMessage; |
|
134 | 134 | } |
135 | 135 | |
136 | - echo "<div id='sb_download_message'><p>" . sprintf(_("You can now download a personalised %s installation program."), \config\ConfAssistant::CONSORTIUM['display_name']); |
|
136 | + echo "<div id='sb_download_message'><p>".sprintf(_("You can now download a personalised %s installation program."), \config\ConfAssistant::CONSORTIUM['display_name']); |
|
137 | 137 | // echo sprintf(_("The installation program is <span class='emph'>strictly personal</span>, to be used <span class='emph'>only on this device (%s)</span>, and it is <span class='emph'>not permitted to share</span> this information with anyone."), $statusInfo['OS']['display']); |
138 | 138 | echo sprintf(_("The installation program is <span class='emph'>strictly personal</span>, to be used <span class='emph'>only on this device (%s)</span>, and it is <span class='emph'>not permitted to share</span> this information with anyone."), $statusInfo['OS']['display']); |
139 | - echo "<p style='color:red;'>" . sprintf(_("When the system detects abuse such as sharing login data with others, all access rights for you will be revoked and you may be sanctioned by your local %s administrator."), \config\ConfAssistant::CONSORTIUM['display_name']) . "</p>"; |
|
140 | - echo "<p>" . _("During the installation process, you will be asked for the following import PIN. This only happens once during the installation. You do not have to write down this PIN.") . "</p></div>"; |
|
139 | + echo "<p style='color:red;'>".sprintf(_("When the system detects abuse such as sharing login data with others, all access rights for you will be revoked and you may be sanctioned by your local %s administrator."), \config\ConfAssistant::CONSORTIUM['display_name'])."</p>"; |
|
140 | + echo "<p>"._("During the installation process, you will be asked for the following import PIN. This only happens once during the installation. You do not have to write down this PIN.")."</p></div>"; |
|
141 | 141 | |
142 | 142 | $importPassword = \core\common\Entity::randomString(4, "0123456789"); |
143 | 143 | $profile = new \core\ProfileSilverbullet($statusInfo['profile']->identifier, NULL); |
144 | 144 | |
145 | - echo "<h2>" . sprintf(_("Import PIN: %s"), $importPassword) . "</h2>"; |
|
145 | + echo "<h2>".sprintf(_("Import PIN: %s"), $importPassword)."</h2>"; |
|
146 | 146 | $_SESSION['individualtoken'] = $cleanToken; |
147 | 147 | $_SESSION['importpassword'] = $importPassword; |
148 | - echo "<input type='hidden' name='device' value='" . $statusInfo['OS']['device'] . "'/>"; |
|
148 | + echo "<input type='hidden' name='device' value='".$statusInfo['OS']['device']."'/>"; |
|
149 | 149 | echo "<input type='hidden' name='generatedfor' value='silverbullet'/>"; |
150 | - echo "<button class='large_button' id='user_button_sb' style='height:80px;'><span id='user_buttonnnn'>" . sprintf(_("Click here to download your %s installer!"), \config\ConfAssistant::CONSORTIUM['display_name']) . "</span></button>"; |
|
150 | + echo "<button class='large_button' id='user_button_sb' style='height:80px;'><span id='user_buttonnnn'>".sprintf(_("Click here to download your %s installer!"), \config\ConfAssistant::CONSORTIUM['display_name'])."</span></button>"; |
|
151 | 151 | echo "<div class='device_info' id='info_g_sb'></div>"; |
152 | 152 | break; |
153 | 153 | case \core\SilverbulletInvitation::SB_TOKENSTATUS_EXPIRED: |
154 | 154 | echo "<h2>Invitation link expired</h2>"; |
155 | - echo "<p>" . sprintf(_("Unfortunately, the invitation link you just used is too old. The %s sign-up invitation was valid until %s. You cannot use this link any more. Please ask your administrator to issue you a new invitation link."), \config\ConfAssistant::CONSORTIUM['display_name'], $statusInfo['invitation_object']->expiry) . "</p>"; |
|
155 | + echo "<p>".sprintf(_("Unfortunately, the invitation link you just used is too old. The %s sign-up invitation was valid until %s. You cannot use this link any more. Please ask your administrator to issue you a new invitation link."), \config\ConfAssistant::CONSORTIUM['display_name'], $statusInfo['invitation_object']->expiry)."</p>"; |
|
156 | 156 | echo "<p>Below is all the information about your account's other login details, if any.</p>"; |
157 | 157 | // do NOT break, display full account info instead (this was a previously valid token after all) |
158 | 158 | case \core\SilverbulletInvitation::SB_TOKENSTATUS_REDEEMED: |
159 | 159 | // nothing to say really. User got the breakdown of certs above, and this link doesn't give him any new ones. |
160 | 160 | break; |
161 | 161 | case \core\SilverbulletInvitation::SB_TOKENSTATUS_INVALID: |
162 | - echo "<h2>" . _("Account information not found") . "</h2>"; |
|
163 | - echo "<p>" . sprintf(_("The invitation link you followed does not map to any invititation we have on file.") . "</p><p>" . _("You should use the exact link you got during sign-up to come here. Alternatively, if you have a valid %s credential already, you can visit this page and Accept the question about logging in with a client certificate (select a certificate with a name ending in '…%s')."),\config\ConfAssistant::CONSORTIUM['display_name'], \config\ConfAssistant::SILVERBULLET['realm_suffix']); |
|
162 | + echo "<h2>"._("Account information not found")."</h2>"; |
|
163 | + echo "<p>".sprintf(_("The invitation link you followed does not map to any invititation we have on file.")."</p><p>"._("You should use the exact link you got during sign-up to come here. Alternatively, if you have a valid %s credential already, you can visit this page and Accept the question about logging in with a client certificate (select a certificate with a name ending in '…%s')."), \config\ConfAssistant::CONSORTIUM['display_name'], \config\ConfAssistant::SILVERBULLET['realm_suffix']); |
|
164 | 164 | } |
165 | 165 | if (isset($statusInfo['profile_id']) && isset($statusInfo['idp_id'])) { |
166 | - echo "<input type='hidden' name='profile' id='profile_id' value='" . $statusInfo['profile_id'] . "'/>"; |
|
167 | - echo "<input type='hidden' id='inst_id' name='idp' value='" . $statusInfo['idp_id'] . "'/>"; |
|
166 | + echo "<input type='hidden' name='profile' id='profile_id' value='".$statusInfo['profile_id']."'/>"; |
|
167 | + echo "<input type='hidden' id='inst_id' name='idp' value='".$statusInfo['idp_id']."'/>"; |
|
168 | 168 | } |
169 | 169 | ?> |
170 | 170 | </div> |
@@ -184,18 +184,18 @@ discard block |
||
184 | 184 | $attributes = $statusInfo['attributes']; |
185 | 185 | $supportInfo = ''; |
186 | 186 | if (!empty($attributes['local_url'])) { |
187 | - $supportInfo .= '<tr><td>' . ("WWW:") . '</td><td><a href="' . $attributes['local_url'] . '" target="_blank">' . $attributes['local_url'] . '</a></td></tr>'; |
|
187 | + $supportInfo .= '<tr><td>'.("WWW:").'</td><td><a href="'.$attributes['local_url'].'" target="_blank">'.$attributes['local_url'].'</a></td></tr>'; |
|
188 | 188 | } |
189 | 189 | if (!empty($attributes['local_email'])) { |
190 | - $supportInfo .= '<tr><td>' . ("email:") . '</td><td><a href="' . $attributes['local_email'] . '" target="_blank">' . $attributes['local_email'] . '</a></td></tr>'; |
|
190 | + $supportInfo .= '<tr><td>'.("email:").'</td><td><a href="'.$attributes['local_email'].'" target="_blank">'.$attributes['local_email'].'</a></td></tr>'; |
|
191 | 191 | } |
192 | 192 | if (!empty($attributes['local_phone'])) { |
193 | - $supportInfo .= '<tr><td>' . ("tel:") . '</td><td><a href="' . $attributes['local_phone'] . '" target="_blank">' . $attributes['local_phone'] . '</a></td></tr>'; |
|
193 | + $supportInfo .= '<tr><td>'.("tel:").'</td><td><a href="'.$attributes['local_phone'].'" target="_blank">'.$attributes['local_phone'].'</a></td></tr>'; |
|
194 | 194 | } |
195 | 195 | if ($supportInfo != '') { |
196 | - $supportInfo = "<table><tr><th colspan='2'>" . _("If you encounter problems, then you can obtain direct assistance from your organisation at:") . "</th></tr>$supportInfo</table>"; |
|
196 | + $supportInfo = "<table><tr><th colspan='2'>"._("If you encounter problems, then you can obtain direct assistance from your organisation at:")."</th></tr>$supportInfo</table>"; |
|
197 | 197 | } else { |
198 | - $supportInfo = "<table><tr><th colspan='2'>" . _("If you encounter problems you should ask those who gave you your account for help.") . "</th></tr></table>"; |
|
198 | + $supportInfo = "<table><tr><th colspan='2'>"._("If you encounter problems you should ask those who gave you your account for help.")."</th></tr></table>"; |
|
199 | 199 | } |
200 | 200 | ?> |
201 | 201 | <script> |
@@ -204,7 +204,7 @@ discard block |
||
204 | 204 | var logo = <?php echo $statusInfo['idp_logo']; ?>; |
205 | 205 | var idpId = <?php echo $statusInfo['idp_id']; ?>; |
206 | 206 | <?php |
207 | - if($message != '') { |
|
207 | + if ($message != '') { |
|
208 | 208 | echo "message = \"$message\";\n"; |
209 | 209 | } |
210 | 210 | ?> |
@@ -62,24 +62,24 @@ discard block |
||
62 | 62 | case "EXTERNAL": |
63 | 63 | case "FRONTEND": |
64 | 64 | case "DIAGNOSTICS": |
65 | - if (!isset(self::${"instance" . $theDb})) { |
|
65 | + if (!isset(self::${"instance".$theDb})) { |
|
66 | 66 | $class = __CLASS__; |
67 | - self::${"instance" . $theDb} = new $class($database); |
|
68 | - DBConnection::${"instance" . $theDb}->databaseInstance = $theDb; |
|
67 | + self::${"instance".$theDb} = new $class($database); |
|
68 | + DBConnection::${"instance".$theDb}->databaseInstance = $theDb; |
|
69 | 69 | } |
70 | - return self::${"instance" . $theDb}; |
|
70 | + return self::${"instance".$theDb}; |
|
71 | 71 | case "RADIUS": |
72 | - if (!isset(self::${"instance" . $theDb})) { |
|
72 | + if (!isset(self::${"instance".$theDb})) { |
|
73 | 73 | $class = __CLASS__; |
74 | 74 | foreach (\config\ConfAssistant::DB as $name => $oneRadiusAuthDb) { |
75 | 75 | $theInstance = new $class($name); |
76 | - self::${"instance" . $theDb}[] = $theInstance; |
|
76 | + self::${"instance".$theDb}[] = $theInstance; |
|
77 | 77 | $theInstance->databaseInstance = $theDb; |
78 | 78 | } |
79 | 79 | } |
80 | - return self::${"instance" . $theDb}; |
|
80 | + return self::${"instance".$theDb}; |
|
81 | 81 | default: |
82 | - throw new Exception("This type of database (" . strtoupper($database) . ") is not known!"); |
|
82 | + throw new Exception("This type of database (".strtoupper($database).") is not known!"); |
|
83 | 83 | } |
84 | 84 | } |
85 | 85 | |
@@ -121,18 +121,18 @@ discard block |
||
121 | 121 | } |
122 | 122 | } |
123 | 123 | // log exact query to debug log, if log level is at 5 |
124 | - $this->loggerInstance->debug(5, "DB ATTEMPT: ".$this->databaseInstance .": " . $querystring . "\n"); |
|
124 | + $this->loggerInstance->debug(5, "DB ATTEMPT: ".$this->databaseInstance.": ".$querystring."\n"); |
|
125 | 125 | if ($types !== NULL) { |
126 | - $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: " . /** @scrutinizer ignore-type */ print_r($arguments, true)); |
|
126 | + $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: "./** @scrutinizer ignore-type */ print_r($arguments, true)); |
|
127 | 127 | } |
128 | 128 | |
129 | 129 | if ($this->connection->connect_error) { |
130 | - throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number" . $this->connection->connect_error . ")!"); |
|
130 | + throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number".$this->connection->connect_error.")!"); |
|
131 | 131 | } |
132 | 132 | if ($types === NULL) { |
133 | 133 | $result = $this->connection->query($querystring); |
134 | 134 | if ($result === FALSE) { |
135 | - throw new Exception("DB: Unable to execute simple statement! Error was --> " . $this->connection->error . " <--"); |
|
135 | + throw new Exception("DB: Unable to execute simple statement! Error was --> ".$this->connection->error." <--"); |
|
136 | 136 | } |
137 | 137 | } else { |
138 | 138 | // fancy! prepared statement with dedicated argument list |
@@ -148,7 +148,7 @@ discard block |
||
148 | 148 | } |
149 | 149 | $prepResult = $statementObject->prepare($querystring); |
150 | 150 | if ($prepResult === FALSE) { |
151 | - throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> " . $statementObject->error . " <--."); |
|
151 | + throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> ".$statementObject->error." <--."); |
|
152 | 152 | } |
153 | 153 | $this->preparedStatements[$querystring] = $statementObject; |
154 | 154 | } |
@@ -161,11 +161,11 @@ discard block |
||
161 | 161 | array_unshift($localArray, $types); |
162 | 162 | $retval = call_user_func_array([$statementObject, "bind_param"], $localArray); |
163 | 163 | if ($retval === FALSE) { |
164 | - throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> " . var_export($localArray, TRUE) . " <--. Error was --> " . $statementObject->error . " <--"); |
|
164 | + throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> ".var_export($localArray, TRUE)." <--. Error was --> ".$statementObject->error." <--"); |
|
165 | 165 | } |
166 | 166 | $result = $statementObject->execute(); |
167 | 167 | if ($result === FALSE) { |
168 | - throw new Exception("DB: Unable to execute prepared statement! Error was --> " . $statementObject->error . " <--"); |
|
168 | + throw new Exception("DB: Unable to execute prepared statement! Error was --> ".$statementObject->error." <--"); |
|
169 | 169 | } |
170 | 170 | $selectResult = $statementObject->get_result(); |
171 | 171 | if ($selectResult !== FALSE) { |
@@ -175,14 +175,14 @@ discard block |
||
175 | 175 | |
176 | 176 | // all cases where $result could be FALSE have been caught earlier |
177 | 177 | if ($this->connection->errno) { |
178 | - throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was " . $this->connection->errno . "!"); |
|
178 | + throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was ".$this->connection->errno."!"); |
|
179 | 179 | } |
180 | 180 | |
181 | 181 | |
182 | 182 | if ($isMoreThanSelect) { |
183 | - $this->loggerInstance->writeSQLAudit("[DB: " . strtoupper($this->databaseInstance) . "] " . $querystring); |
|
183 | + $this->loggerInstance->writeSQLAudit("[DB: ".strtoupper($this->databaseInstance)."] ".$querystring); |
|
184 | 184 | if ($types !== NULL) { |
185 | - $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: " . /** @scrutinizer ignore-type */ print_r($arguments, true)); |
|
185 | + $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: "./** @scrutinizer ignore-type */ print_r($arguments, true)); |
|
186 | 186 | } |
187 | 187 | } |
188 | 188 | return $result; |
@@ -280,13 +280,13 @@ discard block |
||
280 | 280 | if (isset(\config\Master::DB[$databaseCapitalised])) { |
281 | 281 | $this->connection = new \mysqli(\config\Master::DB[$databaseCapitalised]['host'], \config\Master::DB[$databaseCapitalised]['user'], \config\Master::DB[$databaseCapitalised]['pass'], \config\Master::DB[$databaseCapitalised]['db']); |
282 | 282 | if ($this->connection->connect_error) { |
283 | - throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number " . $this->connection->connect_errno . ")."); |
|
283 | + throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number ".$this->connection->connect_errno.")."); |
|
284 | 284 | } |
285 | 285 | $this->readOnly = \config\Master::DB[$databaseCapitalised]['readonly']; |
286 | 286 | } else { // one of the RADIUS DBs |
287 | 287 | $this->connection = new \mysqli(\config\ConfAssistant::DB[$databaseCapitalised]['host'], \config\ConfAssistant::DB[$databaseCapitalised]['user'], \config\ConfAssistant::DB[$databaseCapitalised]['pass'], \config\ConfAssistant::DB[$databaseCapitalised]['db']); |
288 | 288 | if ($this->connection->connect_error) { |
289 | - throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number " . $this->connection->connect_errno . ")."); |
|
289 | + throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number ".$this->connection->connect_errno.")."); |
|
290 | 290 | } |
291 | 291 | $this->readOnly = \config\ConfAssistant::DB[$databaseCapitalised]['readonly']; |
292 | 292 | } |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | */ |
50 | 50 | private function writeToFile($filename, $message) |
51 | 51 | { |
52 | - file_put_contents(\config\Master::PATHS['logdir'] . "/$filename", sprintf("%-015s", microtime(TRUE)) . $message, FILE_APPEND); |
|
52 | + file_put_contents(\config\Master::PATHS['logdir']."/$filename", sprintf("%-015s", microtime(TRUE)).$message, FILE_APPEND); |
|
53 | 53 | } |
54 | 54 | |
55 | 55 | /** |
@@ -77,9 +77,9 @@ discard block |
||
77 | 77 | $output .= " [$file / $function / $line] "; |
78 | 78 | } |
79 | 79 | if (is_string($stuff)) { |
80 | - $output .= $prefix . $stuff . $suffix; |
|
80 | + $output .= $prefix.$stuff.$suffix; |
|
81 | 81 | } else { |
82 | - $output .= $prefix . var_export($stuff, TRUE) . $suffix; |
|
82 | + $output .= $prefix.var_export($stuff, TRUE).$suffix; |
|
83 | 83 | } |
84 | 84 | $this->writeToFile("debug.log", $output); |
85 | 85 | |
@@ -128,6 +128,6 @@ discard block |
||
128 | 128 | $logTextStep1 = preg_replace("/[\n\r]/", "", $query); |
129 | 129 | $logTextStep2 = preg_replace("/ +/", " ", $logTextStep1); |
130 | 130 | $logTextStep3 = iconv("UTF-8", "UTF-8//IGNORE", $logTextStep2); |
131 | - $this->writeToFile("audit-SQL.log", " " . $logTextStep3 . "\n"); |
|
131 | + $this->writeToFile("audit-SQL.log", " ".$logTextStep3."\n"); |
|
132 | 132 | } |
133 | 133 | } |
134 | 134 | \ No newline at end of file |
@@ -19,12 +19,12 @@ |
||
19 | 19 | * <base_url>/copyright.php after deploying the software |
20 | 20 | */ |
21 | 21 | |
22 | -require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php"; |
|
22 | +require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php"; |
|
23 | 23 | |
24 | 24 | \core\CAT::sessionStart(); |
25 | 25 | $validator = new \web\lib\common\InputValidation(); |
26 | 26 | |
27 | -if (!isset($_GET["class"] )) { |
|
27 | +if (!isset($_GET["class"])) { |
|
28 | 28 | throw new Exception("Unknown type of option!"); |
29 | 29 | } |
30 | 30 |
@@ -218,7 +218,7 @@ |
||
218 | 218 | } |
219 | 219 | } |
220 | 220 | } |
221 | - break; |
|
221 | + break; |
|
222 | 222 | default: |
223 | 223 | break; |
224 | 224 | } |
@@ -112,7 +112,7 @@ discard block |
||
112 | 112 | */ |
113 | 113 | public function prefilledOptionTable(string $attributePrefix, $fed) |
114 | 114 | { |
115 | - $retval = "<table id='expandable_$attributePrefix" . "_options'>"; |
|
115 | + $retval = "<table id='expandable_$attributePrefix"."_options'>"; |
|
116 | 116 | |
117 | 117 | $prepopulate = []; |
118 | 118 | foreach ($this->listOfOptions as $existingAttribute) { |
@@ -120,7 +120,7 @@ discard block |
||
120 | 120 | $prepopulate[] = $existingAttribute; |
121 | 121 | } |
122 | 122 | } |
123 | - if (is_array($prepopulate) && ( count($prepopulate) > 0 || $attributePrefix == "device-specific" || $attributePrefix == "eap-specific" )) { // editing... fill with values |
|
123 | + if (is_array($prepopulate) && (count($prepopulate) > 0 || $attributePrefix == "device-specific" || $attributePrefix == "eap-specific")) { // editing... fill with values |
|
124 | 124 | $retval .= $this->addOptionEdit($attributePrefix, $prepopulate); |
125 | 125 | } else { |
126 | 126 | $retval .= $this->addOptionNew($attributePrefix, $fed); |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | if (preg_match("/^$class:/", $option['name']) && !preg_match("/($blackListOnPrefill)/", $option['name'])) { |
155 | 155 | $optiontypearray = $optioninfo->optionType($option['name']); |
156 | 156 | $loggerInstance->debug(5, "About to execute optiontext with PREFILL!\n"); |
157 | - $retval .= $this->optiontext([$option['name']], ($optiontypearray["type"] == "file" ? 'ROWID-' . $option['level'] . '-' . $option['row_id'] : $option['value']), $option['lang']); |
|
157 | + $retval .= $this->optiontext([$option['name']], ($optiontypearray["type"] == "file" ? 'ROWID-'.$option['level'].'-'.$option['row_id'] : $option['value']), $option['lang']); |
|
158 | 158 | } |
159 | 159 | } |
160 | 160 | return $retval; |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | * @param string $fed the federation TLD, to determine fed ops preference context |
171 | 171 | * @return array the list of options to display |
172 | 172 | */ |
173 | - public static function enumerateOptionsToDisplay($class, $fed, $device='') |
|
173 | + public static function enumerateOptionsToDisplay($class, $fed, $device = '') |
|
174 | 174 | { |
175 | 175 | $optioninfo = \core\Options::instance(); |
176 | 176 | $loggerInstance = new \core\common\Logging(); |
@@ -266,18 +266,18 @@ discard block |
||
266 | 266 | } |
267 | 267 | $descriptions["media:force_proxy"] = sprintf(_("The format of this option is: IPv4|IPv6|hostname:port . Forcing your users through a content filter of your own is a significant invasion of user self-determination. It also has technical issues. Please thoroughly read the discussion at %s before specifying a proxy with this option. This feature is currently experimental and only has an effect in Apple installers."), "https://github.com/GEANT/CAT/issues/96"); |
268 | 268 | $descriptions["managedsp:realmforvlan"] = sprintf(_("If you are also using %s, then your own realm is automatically tagged with the VLAN you choose, there is no need to add it here manually."), \core\ProfileSilverbullet::PRODUCTNAME); |
269 | - $descriptions["media:openroaming"] = sprintf(_("By opting in to OpenRoaming, you agree to be bound by the %s."), "eduroam Ecosystem Broker OpenRoaming Identity Provider Policy") . |
|
270 | - " " . |
|
271 | - sprintf(_("Note that your requirement to inform users about the OpenRoaming End User Terms and Conditions is fulfilled when directing your end users to the %s download portal for installer download. Any other means of providing the installers needs to present this information via its own channel."), \config\Master::APPEARANCE['productname']) . |
|
272 | - " " . |
|
273 | - _("You are also aware that for best technical interoperability, you need to add a DNS entry into the DNS zone of your RADIUS realm.") . |
|
274 | - " " . |
|
269 | + $descriptions["media:openroaming"] = sprintf(_("By opting in to OpenRoaming, you agree to be bound by the %s."), "eduroam Ecosystem Broker OpenRoaming Identity Provider Policy"). |
|
270 | + " ". |
|
271 | + sprintf(_("Note that your requirement to inform users about the OpenRoaming End User Terms and Conditions is fulfilled when directing your end users to the %s download portal for installer download. Any other means of providing the installers needs to present this information via its own channel."), \config\Master::APPEARANCE['productname']). |
|
272 | + " ". |
|
273 | + _("You are also aware that for best technical interoperability, you need to add a DNS entry into the DNS zone of your RADIUS realm."). |
|
274 | + " ". |
|
275 | 275 | _("Read the instructions in the wiki."); |
276 | 276 | \core\common\Entity::outOfThePotatoes(); |
277 | 277 | if (!isset($descriptions[$input])) { |
278 | 278 | return ""; |
279 | 279 | } |
280 | - return "<span class='tooltip' id='S$rowid-tooltip-$input' style='display:" . ($isVisible ? "block" : "none") . "' onclick='alert(\"" . $descriptions[$input] . "\")'><img src='../resources/images/icons/question-mark-icon.png" . "'></span>"; |
|
280 | + return "<span class='tooltip' id='S$rowid-tooltip-$input' style='display:".($isVisible ? "block" : "none")."' onclick='alert(\"".$descriptions[$input]."\")'><img src='../resources/images/icons/question-mark-icon.png"."'></span>"; |
|
281 | 281 | } |
282 | 282 | |
283 | 283 | /** |
@@ -291,19 +291,19 @@ discard block |
||
291 | 291 | private function selectElement($rowid, $list) |
292 | 292 | { |
293 | 293 | $jsmagic = "onchange=' |
294 | - if (/#ML#/.test(document.getElementById(\"option-S" . $rowid . "-select\").value)) { |
|
294 | + if (/#ML#/.test(document.getElementById(\"option-S" . $rowid."-select\").value)) { |
|
295 | 295 | document.getElementById(\"S$rowid-input-langselect\").style.display = \"block\"; |
296 | 296 | } else { |
297 | 297 | document.getElementById(\"S$rowid-input-langselect\").style.display = \"none\"; |
298 | 298 | }"; |
299 | 299 | foreach (array_keys($this->htmlDatatypeTexts) as $key) { |
300 | - $jsmagic .= "if (/#" . $key . "#/.test(document.getElementById(\"option-S" . $rowid . "-select\").value)) { |
|
301 | - document.getElementById(\"S$rowid-input-file\").style.display = \"" . ($key == \core\Options::TYPECODE_FILE ? "block" : "none") . "\"; |
|
302 | - document.getElementById(\"S$rowid-input-text\").style.display = \"" . ($key == \core\Options::TYPECODE_TEXT ? "block" : "none") . "\"; |
|
303 | - document.getElementById(\"S$rowid-input-string\").style.display = \"" . ($key == \core\Options::TYPECODE_STRING ? "block" : "none") . "\"; |
|
304 | - document.getElementById(\"S$rowid-input-enum_openroaming\").style.display = \"" . ($key == \core\Options::TYPECODE_ENUM_OPENROAMING ? "block" : "none") . "\"; |
|
305 | - document.getElementById(\"S$rowid-input-boolean\").style.display = \"" . ($key == \core\Options::TYPECODE_BOOLEAN ? "block" : "none") . "\"; |
|
306 | - document.getElementById(\"S$rowid-input-integer\").style.display = \"" . ($key == \core\Options::TYPECODE_INTEGER ? "block" : "none") . "\"; |
|
300 | + $jsmagic .= "if (/#".$key."#/.test(document.getElementById(\"option-S".$rowid."-select\").value)) { |
|
301 | + document.getElementById(\"S$rowid-input-file\").style.display = \"".($key == \core\Options::TYPECODE_FILE ? "block" : "none")."\"; |
|
302 | + document.getElementById(\"S$rowid-input-text\").style.display = \"".($key == \core\Options::TYPECODE_TEXT ? "block" : "none")."\"; |
|
303 | + document.getElementById(\"S$rowid-input-string\").style.display = \"".($key == \core\Options::TYPECODE_STRING ? "block" : "none")."\"; |
|
304 | + document.getElementById(\"S$rowid-input-enum_openroaming\").style.display = \"".($key == \core\Options::TYPECODE_ENUM_OPENROAMING ? "block" : "none")."\"; |
|
305 | + document.getElementById(\"S$rowid-input-boolean\").style.display = \"".($key == \core\Options::TYPECODE_BOOLEAN ? "block" : "none")."\"; |
|
306 | + document.getElementById(\"S$rowid-input-integer\").style.display = \"".($key == \core\Options::TYPECODE_INTEGER ? "block" : "none")."\"; |
|
307 | 307 | } |
308 | 308 | "; |
309 | 309 | // hide all tooltips (each is a <span>, and there are no other <span>s) |
@@ -334,7 +334,7 @@ discard block |
||
334 | 334 | $value = array_shift($list); |
335 | 335 | $listtype = $optioninfo->optionType($value); |
336 | 336 | $retval .= $uiElements->displayName($value); |
337 | - $retval .= "<input type='hidden' name='option[S$rowid]' value='$value#" . $listtype["type"] . "#" . $listtype["flag"] . "#'/>"; |
|
337 | + $retval .= "<input type='hidden' name='option[S$rowid]' value='$value#".$listtype["type"]."#".$listtype["flag"]."#'/>"; |
|
338 | 338 | $activelisttype = $listtype; |
339 | 339 | $tooltips = $this->tooltip($rowid, $value, TRUE); |
340 | 340 | break; |
@@ -342,7 +342,7 @@ discard block |
||
342 | 342 | $retval .= "<select id='option-S$rowid-select' name='option[S$rowid]' $jsmagic>"; |
343 | 343 | foreach ($list as $value) { |
344 | 344 | $listtype = $optioninfo->optionType($value); |
345 | - $retval .= "<option id='option-S$rowid-v-$value' value='$value#" . $listtype["type"] . "#" . $listtype["flag"] . "#' "; |
|
345 | + $retval .= "<option id='option-S$rowid-v-$value' value='$value#".$listtype["type"]."#".$listtype["flag"]."#' "; |
|
346 | 346 | if ($iterator == $this->optionIterator) { |
347 | 347 | $retval .= "selected='selected'"; |
348 | 348 | $activelisttype = $listtype; |
@@ -350,7 +350,7 @@ discard block |
||
350 | 350 | } else { |
351 | 351 | $tooltips .= $this->tooltip($rowid, $value, FALSE); |
352 | 352 | } |
353 | - $retval .= ">" . $uiElements->displayName($value) . "</option>"; |
|
353 | + $retval .= ">".$uiElements->displayName($value)."</option>"; |
|
354 | 354 | $iterator++; |
355 | 355 | } |
356 | 356 | |
@@ -376,9 +376,9 @@ discard block |
||
376 | 376 | private function selectLanguage($rowid, $makeVisible) |
377 | 377 | { |
378 | 378 | \core\common\Entity::intoThePotatoes(); |
379 | - $retval = "<select style='display:" . ($makeVisible ? "block" : "none") . "' name='value[S$rowid-lang]' id='S" . $rowid . "-input-langselect'> |
|
380 | - <option value='' name='select_language' selected>" . _("select language") . "</option> |
|
381 | - <option value='C' name='all_languages'>" . _("default/other languages") . "</option>"; |
|
379 | + $retval = "<select style='display:".($makeVisible ? "block" : "none")."' name='value[S$rowid-lang]' id='S".$rowid."-input-langselect'> |
|
380 | + <option value='' name='select_language' selected>" . _("select language")."</option> |
|
381 | + <option value='C' name='all_languages'>" . _("default/other languages")."</option>"; |
|
382 | 382 | foreach (\config\Master::LANGUAGES as $langindex => $possibleLang) { |
383 | 383 | $thislang = $possibleLang['display']; |
384 | 384 | $retval .= "<option value='$langindex' name='$langindex'>$thislang</option>"; |
@@ -399,7 +399,7 @@ discard block |
||
399 | 399 | { |
400 | 400 | $retval = ""; |
401 | 401 | foreach ($this->htmlDatatypeTexts as $key => $type) { |
402 | - $retval .= "<" . $type['html'] . " style='display:" . ($activetype['type'] == $key ? "block" : "none") . "' name='value[S$rowid-$key]' id='S" . $rowid . "-input-" . $key . "'" . $type['tail'] . ">"; |
|
402 | + $retval .= "<".$type['html']." style='display:".($activetype['type'] == $key ? "block" : "none")."' name='value[S$rowid-$key]' id='S".$rowid."-input-".$key."'".$type['tail'].">"; |
|
403 | 403 | } |
404 | 404 | return $retval; |
405 | 405 | } |
@@ -415,11 +415,11 @@ discard block |
||
415 | 415 | { |
416 | 416 | // first column: the <select> element with the names of options and their field-toggling JS magic |
417 | 417 | $selectorInfo = $this->selectElement($rowid, $list); |
418 | - $retval = "<td>" . $selectorInfo["TEXT"] . "</td>"; |
|
418 | + $retval = "<td>".$selectorInfo["TEXT"]."</td>"; |
|
419 | 419 | // second column: the <select> element for language selection - only visible if the active option is multi-lang |
420 | - $retval .= "<td>" . $this->selectLanguage($rowid, $selectorInfo['ACTIVE']['flag'] == "ML") . "</td>"; |
|
420 | + $retval .= "<td>".$this->selectLanguage($rowid, $selectorInfo['ACTIVE']['flag'] == "ML")."</td>"; |
|
421 | 421 | // third column: the actual input fields; the data type of the active option is visible, all others hidden |
422 | - $retval .= "<td>" . $this->inputFields($rowid, $selectorInfo['ACTIVE']) . "</td>"; |
|
422 | + $retval .= "<td>".$this->inputFields($rowid, $selectorInfo['ACTIVE'])."</td>"; |
|
423 | 423 | return $retval; |
424 | 424 | } |
425 | 425 | |
@@ -443,20 +443,20 @@ discard block |
||
443 | 443 | $retval .= "<td>"; |
444 | 444 | $uiElements = new UIElements(); |
445 | 445 | $listtype = $optioninfo->optionType($optionName); |
446 | - $retval .= "<span style='display:flex;'>" . $uiElements->displayName($optionName); |
|
447 | - $retval .= $this->tooltip($rowid, $optionName, TRUE) . "</span>"; |
|
448 | - $retval .= "<input type='hidden' id='option-S$rowid-select' name='option[S$rowid]' value='$optionName#" . $listtype["type"] . "#" . $listtype["flag"] . "#' ></td>"; |
|
446 | + $retval .= "<span style='display:flex;'>".$uiElements->displayName($optionName); |
|
447 | + $retval .= $this->tooltip($rowid, $optionName, TRUE)."</span>"; |
|
448 | + $retval .= "<input type='hidden' id='option-S$rowid-select' name='option[S$rowid]' value='$optionName#".$listtype["type"]."#".$listtype["flag"]."#' ></td>"; |
|
449 | 449 | |
450 | 450 | // language tag if any |
451 | 451 | $retval .= "<td>"; |
452 | 452 | if ($listtype["flag"] == "ML") { |
453 | 453 | |
454 | - $language = "(" . strtoupper($optionLang) . ")"; |
|
454 | + $language = "(".strtoupper($optionLang).")"; |
|
455 | 455 | if ($optionLang == 'C') { |
456 | 456 | $language = _("(default/other languages)"); |
457 | 457 | } |
458 | 458 | $retval .= $language; |
459 | - $retval .= "<input type='hidden' name='value[S$rowid-lang]' id='S" . $rowid . "-input-langselect' value='" . $optionLang . "' style='display:block'>"; |
|
459 | + $retval .= "<input type='hidden' name='value[S$rowid-lang]' id='S".$rowid."-input-langselect' value='".$optionLang."' style='display:block'>"; |
|
460 | 460 | } |
461 | 461 | $retval .= "</td>"; |
462 | 462 | // attribute content |
@@ -466,12 +466,12 @@ discard block |
||
466 | 466 | case \core\Options::TYPECODE_COORDINATES: |
467 | 467 | $this->allLocationCount = $this->allLocationCount + 1; |
468 | 468 | // display of the locations varies by map provider |
469 | - $classname = "\web\lib\admin\Map" . \config\ConfAssistant::MAPPROVIDER['PROVIDER']; |
|
469 | + $classname = "\web\lib\admin\Map".\config\ConfAssistant::MAPPROVIDER['PROVIDER']; |
|
470 | 470 | $link = $classname::optionListDisplayCode($optionValue, $this->allLocationCount); |
471 | - $retval .= "<input readonly style='display:none' type='text' name='value[S$rowid-" . \core\Options::TYPECODE_TEXT . "]' id='S$rowid-input-text' value='$optionValue'>$link"; |
|
471 | + $retval .= "<input readonly style='display:none' type='text' name='value[S$rowid-".\core\Options::TYPECODE_TEXT."]' id='S$rowid-input-text' value='$optionValue'>$link"; |
|
472 | 472 | break; |
473 | 473 | case \core\Options::TYPECODE_FILE: |
474 | - $retval .= "<input readonly type='text' name='value[S$rowid-" . \core\Options::TYPECODE_STRING . "]' id='S" . $rowid . "-input-string' style='display:none' value='" . urlencode($optionValue) . "'>"; |
|
474 | + $retval .= "<input readonly type='text' name='value[S$rowid-".\core\Options::TYPECODE_STRING."]' id='S".$rowid."-input-string' style='display:none' value='".urlencode($optionValue)."'>"; |
|
475 | 475 | $uiElements = new UIElements(); |
476 | 476 | switch ($optionName) { |
477 | 477 | case "eap:ca_file": |
@@ -493,7 +493,7 @@ discard block |
||
493 | 493 | break; |
494 | 494 | case \core\Options::TYPECODE_ENUM_OPENROAMING: // is a string after all |
495 | 495 | $displayedVariant = $this->enumPrettyPrints[$optionValue]; |
496 | - $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-" . $listtype['type'] . "]' id='S" . $rowid . "-input-" . $listtype["type"] . "' value=\"" . htmlspecialchars($optionValue) . "\" style='display:block'>"; |
|
496 | + $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-".$listtype['type']."]' id='S".$rowid."-input-".$listtype["type"]."' value=\"".htmlspecialchars($optionValue)."\" style='display:block'>"; |
|
497 | 497 | break; |
498 | 498 | case \core\Options::TYPECODE_STRING: |
499 | 499 | // fall-thorugh is intentional; mostly identical HTML code for the three types |
@@ -501,11 +501,11 @@ discard block |
||
501 | 501 | // fall-thorugh is intentional; mostly identical HTML code for the three types |
502 | 502 | case \core\Options::TYPECODE_TEXT: |
503 | 503 | $displayedVariant = $optionValue; // for all three types, value tag and actual display are identical |
504 | - $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-" . $listtype['type'] . "]' id='S" . $rowid . "-input-" . $listtype["type"] . "' value=\"" . htmlspecialchars($optionValue) . "\" style='display:block'>"; |
|
504 | + $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-".$listtype['type']."]' id='S".$rowid."-input-".$listtype["type"]."' value=\"".htmlspecialchars($optionValue)."\" style='display:block'>"; |
|
505 | 505 | break; |
506 | 506 | case \core\Options::TYPECODE_BOOLEAN: |
507 | 507 | $displayedVariant = ($optionValue == "on" ? _("on") : _("off")); |
508 | - $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-" . $listtype['type'] . "]' id='S" . $rowid . "-input-" . $listtype["type"] . "' value=\"" . htmlspecialchars($optionValue) . "\" style='display:block'>"; |
|
508 | + $retval .= "<strong>$displayedVariant</strong><input type='hidden' name='value[S$rowid-".$listtype['type']."]' id='S".$rowid."-input-".$listtype["type"]."' value=\"".htmlspecialchars($optionValue)."\" style='display:block'>"; |
|
509 | 509 | break; |
510 | 510 | default: |
511 | 511 | // this should never happen! |
@@ -551,10 +551,10 @@ discard block |
||
551 | 551 | <td> |
552 | 552 | <button type='button' class='delete' onclick='"; |
553 | 553 | if ($prefillValue !== NULL && $item == "general:geo_coordinates") { |
554 | - $funcname = "Map" . \config\ConfAssistant::MAPPROVIDER['PROVIDER'] . 'DeleteCoord'; |
|
555 | - $retval .= 'if (typeof ' . $funcname . ' === "function") { ' . $funcname . '(' . $this->allLocationCount . '); } '; |
|
554 | + $funcname = "Map".\config\ConfAssistant::MAPPROVIDER['PROVIDER'].'DeleteCoord'; |
|
555 | + $retval .= 'if (typeof '.$funcname.' === "function") { '.$funcname.'('.$this->allLocationCount.'); } '; |
|
556 | 556 | } |
557 | - $retval .= 'deleteOption("option-S' . $rowid . '")'; |
|
557 | + $retval .= 'deleteOption("option-S'.$rowid.'")'; |
|
558 | 558 | $retval .= "'>-</button> |
559 | 559 | </td> |
560 | 560 | </tr>"; |
@@ -437,7 +437,7 @@ discard block |
||
437 | 437 | ], |
438 | 438 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
439 | 439 | "geteduroam", |
440 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=app.eduroam.geteduroam'>Google Play</a>, <a target='_blank' href='geteduroam-stable.apk'>" . _("as local download") . "</a>"), |
|
440 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=app.eduroam.geteduroam'>Google Play</a>, <a target='_blank' href='geteduroam-stable.apk'>"._("as local download")."</a>"), |
|
441 | 441 | |
442 | 442 | 'geteduroam_text' => sprintf(_("Use our app, it will guide you through the setup process:%s" |
443 | 443 | ."(or download it manually %s.)<p>" |
@@ -465,7 +465,7 @@ discard block |
||
465 | 465 | 'mime' => 'application/eap-config', |
466 | 466 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
467 | 467 | "geteduroam", |
468 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=app.eduroam.geteduroam'>Google Play</a>, <a target='_blank' href='geteduroam-stable.apk'>" . _("as local download") . "</a>"), |
|
468 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=app.eduroam.geteduroam'>Google Play</a>, <a target='_blank' href='geteduroam-stable.apk'>"._("as local download")."</a>"), |
|
469 | 469 | ], |
470 | 470 | ], |
471 | 471 | |
@@ -482,7 +482,7 @@ discard block |
||
482 | 482 | ], |
483 | 483 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
484 | 484 | "eduroamCAT", |
485 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
485 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
486 | 486 | 'geteduroam_text' => sprintf(_("Use our app, it will guide you through the setup process:%s" |
487 | 487 | ."(or download it manually %s.)<p>" |
488 | 488 | . "After installation, open the app, select your home institution and the app will collect required information " |
@@ -509,7 +509,7 @@ discard block |
||
509 | 509 | 'mime' => 'application/eap-config', |
510 | 510 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
511 | 511 | "eduroamCAT", |
512 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
512 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
513 | 513 | ], |
514 | 514 | ], |
515 | 515 | 'android_pie' => [ |
@@ -523,7 +523,7 @@ discard block |
||
523 | 523 | 'mime' => 'application/eap-config', |
524 | 524 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
525 | 525 | "eduroamCAT", |
526 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
526 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
527 | 527 | ], |
528 | 528 | ], |
529 | 529 | 'android_oreo' => [ |
@@ -537,7 +537,7 @@ discard block |
||
537 | 537 | 'mime' => 'application/eap-config', |
538 | 538 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
539 | 539 | "eduroamCAT", |
540 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
540 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
541 | 541 | ], |
542 | 542 | ], |
543 | 543 | 'android_nougat' => [ |
@@ -551,7 +551,7 @@ discard block |
||
551 | 551 | 'mime' => 'application/eap-config', |
552 | 552 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
553 | 553 | "eduroamCAT", |
554 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
554 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
555 | 555 | ], |
556 | 556 | ], |
557 | 557 | 'android_marshmallow' => [ |
@@ -565,7 +565,7 @@ discard block |
||
565 | 565 | 'mime' => 'application/eap-config', |
566 | 566 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
567 | 567 | "eduroamCAT", |
568 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
568 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
569 | 569 | ], |
570 | 570 | ], |
571 | 571 | 'android_lollipop' => [ |
@@ -579,7 +579,7 @@ discard block |
||
579 | 579 | 'mime' => 'application/eap-config', |
580 | 580 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
581 | 581 | "eduroamCAT", |
582 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
582 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
583 | 583 | ], |
584 | 584 | ], |
585 | 585 | 'android_kitkat' => [ |
@@ -593,7 +593,7 @@ discard block |
||
593 | 593 | 'mime' => 'application/eap-config', |
594 | 594 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
595 | 595 | "eduroamCAT", |
596 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
596 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
597 | 597 | ], |
598 | 598 | ], |
599 | 599 | 'android_43' => [ |
@@ -607,7 +607,7 @@ discard block |
||
607 | 607 | 'mime' => 'application/eap-config', |
608 | 608 | 'message' => sprintf(_("Before you proceed with installation on Android systems, please make sure that you have installed the %s application. This application is available from these sites: %s and will use the configuration file downloaded from CAT to create all necessary settings."), |
609 | 609 | "eduroamCAT", |
610 | - "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>" . _("as local download") . "</a>"), |
|
610 | + "<a target='_blank' href='https://play.google.com/store/apps/details?id=uk.ac.swansea.eduroamcat'>Google Play</a>, <a target='_blank' href='https://www.amazon.com/dp/B01EACCX0S/'>Amazon Appstore</a>, <a target='_blank' href='eduroamCAT-stable.apk'>"._("as local download")."</a>"), |
|
611 | 611 | ], |
612 | 612 | ], |
613 | 613 |