Passed
Push — release_2_0 ( f474b2...fbceb4 )
by Stefan
07:29
created
web/admin/edit_silverbullet.php 1 patch
Spacing   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -20,8 +20,8 @@  discard block
 block discarded – undo
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";
24
-require_once dirname(dirname(dirname(__FILE__))) . "/core/phpqrcode.php";
23
+require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php";
24
+require_once dirname(dirname(dirname(__FILE__)))."/core/phpqrcode.php";
25 25
 const QRCODE_PIXELS_PER_SYMBOL = 12;
26 26
 
27 27
 $auth = new \web\lib\admin\Authentication();
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
     $fed = new \core\Federation($inst->federation);
56 56
     $allowSb = $fed->getAttributes("fed:silverbullet");
57 57
     if (count($allowSb) == 0) {
58
-        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!");
58
+        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!");
59 59
     }
60 60
     // okay, new SB profiles are allowed. 
61 61
     // but is there a support:email attribute on inst level?
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
     // Create one.
67 67
     $newProfile = $inst->newProfile(core\AbstractProfile::PROFILETYPE_SILVERBULLET);
68 68
     // and modify the REQUEST_URI to add the new profile ID
69
-    $_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI'] . "&profile_id=" . $newProfile->identifier;
69
+    $_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI']."&profile_id=".$newProfile->identifier;
70 70
     $_GET['profile_id'] = $newProfile->identifier;
71 71
     $profile = $newProfile;
72 72
 } else {
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
 if (isset($_POST['command'])) {
92 92
     switch ($_POST['command']) {
93 93
         case \web\lib\common\FormElements::BUTTON_CLOSE:
94
-            header("Location: overview_idp.php?inst_id=" . $inst->identifier);
94
+            header("Location: overview_idp.php?inst_id=".$inst->identifier);
95 95
             break;
96 96
         case \web\lib\common\FormElements::BUTTON_TERMSOFUSE:
97 97
             if (isset($_POST['agreement']) && $_POST['agreement'] == 'true') {
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
                         break;
135 135
                     }
136 136
                     $properName = $validator->User($elements[0]);
137
-                    $properDate = new DateTime($elements[1] . " 00:00:00");
137
+                    $properDate = new DateTime($elements[1]." 00:00:00");
138 138
                     $numberOfActivations = $elements[2] ?? 1;
139 139
                     $number = $validator->integer($numberOfActivations);
140 140
                     if ($number === FALSE) { // invalid input received, default to sane
@@ -227,18 +227,18 @@  discard block
 block discarded – undo
227 227
                     // warn and ask for confirmation unless already confirmed
228 228
                     if (!isset($_POST['insecureconfirm']) || $_POST['insecureconfirm'] != "CONFIRM") {
229 229
                         echo $deco->pageheader(_("Insecure mail domain!"), "ADMIN-IDP-USERS");
230
-                        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>";
231
-                        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>";
232
-                        echo "<p>" . _("Do you want the system to send this mail anyway?") . "</p>";
230
+                        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>";
231
+                        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>";
232
+                        echo "<p>"._("Do you want the system to send this mail anyway?")."</p>";
233 233
                         echo $formtext;
234
-                        echo "<button type='submit' class='delete'>" . _("DO NOT SEND") . "</button>";
234
+                        echo "<button type='submit' class='delete'>"._("DO NOT SEND")."</button>";
235 235
                         echo "</form>";
236 236
                         echo $formtext;
237
-                        echo "<input type='hidden' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'</>";
237
+                        echo "<input type='hidden' name='command' value='".\web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'</>";
238 238
                         echo "<input type='hidden' name='address' value='$properEmail'</>";
239
-                        echo "<input type='hidden' name='token' value='" . $invitationObject->invitationTokenString . "'</>";
239
+                        echo "<input type='hidden' name='token' value='".$invitationObject->invitationTokenString."'</>";
240 240
                         echo "<input type='hidden' name='insecureconfirm' value='CONFIRM'/>";
241
-                        echo "<button type='submit'>" . _("Send anyway.") . "</button>";
241
+                        echo "<button type='submit'>"._("Send anyway.")."</button>";
242 242
                         echo "</form>";
243 243
                         echo $deco->footer();
244 244
                         exit;
@@ -348,19 +348,19 @@  discard block
 block discarded – undo
348 348
         case "NOSTIPULATION":
349 349
             break;
350 350
         case "EMAIL-SENT":
351
-            echo $boundaryPre . $uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE) . $boundaryPost;
351
+            echo $boundaryPre.$uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE).$boundaryPost;
352 352
             break;
353 353
         case "EMAIL-NOTSENT":
354
-            echo $boundaryPre . $uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE) . $boundaryPost;
354
+            echo $boundaryPre.$uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE).$boundaryPost;
355 355
             break;
356 356
         case "SMS-SENT":
357
-            echo $boundaryPre . $uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE) . $boundaryPost;
357
+            echo $boundaryPre.$uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE).$boundaryPost;
358 358
             break;
359 359
         case "SMS-NOTSENT":
360
-            echo $boundaryPre . $uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE) . $boundaryPost;
360
+            echo $boundaryPre.$uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE).$boundaryPost;
361 361
             break;
362 362
         case "SMS-FRAGMENT":
363
-            echo $boundaryPre . $uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE) . $boundaryPost;
363
+            echo $boundaryPre.$uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE).$boundaryPost;
364 364
             break;
365 365
     }
366 366
     ?>
@@ -428,23 +428,23 @@  discard block
 block discarded – undo
428 428
                                 $display = empty(devices\Devices::listDevices()[$oneCert->device]['display']) ? $oneCert->device : devices\Devices::listDevices()[$oneCert->device]['display'];
429 429
 
430 430
                                 $bufferText = "<div class='sb-certificate-summary ca-summary' $style>
431
-                                    <div class='sb-certificate-details'>" . _("Device:") . " " . $display .
432
-                                        "<br>" . _("Serial Number:") . "&nbsp;" . dechex($oneCert->serial) .
433
-                                        "<br>" . _("CN:") . "&nbsp;" . explode('@', $oneCert->username)[0] . "@…" .
434
-                                        "<br>" . _("Expiry:") . "&nbsp;" . $oneCert->expiry .
435
-                                        "<br>" . _("Issued:") . "&nbsp;" . $oneCert->issued .
436
-                                        "</div>" .
431
+                                    <div class='sb-certificate-details'>"._("Device:")." ".$display.
432
+                                        "<br>"._("Serial Number:")."&nbsp;".dechex($oneCert->serial).
433
+                                        "<br>"._("CN:")."&nbsp;".explode('@', $oneCert->username)[0]."@…".
434
+                                        "<br>"._("Expiry:")."&nbsp;".$oneCert->expiry.
435
+                                        "<br>"._("Issued:")."&nbsp;".$oneCert->issued.
436
+                                        "</div>".
437 437
                                         "<div style='text-align:right;padding-top: 5px; $buttonStyle'>";
438 438
 
439 439
                                 if ($buttonText == "") {
440 440
                                     $bufferText .= $formtext
441
-                                            . "<input type='hidden' name='certSerial' value='" . $oneCert->serial . "'/>"
442
-                                            . "<input type='hidden' name='certAlgo' value='" . $oneCert->ca_type . "'/>"
441
+                                            . "<input type='hidden' name='certSerial' value='".$oneCert->serial."'/>"
442
+                                            . "<input type='hidden' name='certAlgo' value='".$oneCert->ca_type."'/>"
443 443
                                             . "<button type='submit' "
444 444
                                             . "name='command' "
445
-                                            . "value='" . \web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL . "' "
445
+                                            . "value='".\web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL."' "
446 446
                                             . "class='delete' "
447
-                                            . "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']) . "\")'>"
447
+                                            . "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'])."\")'>"
448 448
                                             . _("Revoke")
449 449
                                             . "</button>"
450 450
                                             . "</form>";
@@ -469,13 +469,13 @@  discard block
 block discarded – undo
469 469
                             }
470 470
                             // wrap the revoked and expired certs in a div that is hidden by default
471 471
                             if ($textRevokedCerts !== "") {
472
-                                $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>";
472
+                                $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>";
473 473
                             }
474 474
                             if ($textExpiredCerts !== "") {
475
-                                $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>";
475
+                                $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>";
476 476
                             }
477 477
                             // and push out the HTML
478
-                            echo $textActiveCerts . "<br/>" . $textExpiredCerts . " " . $textRevokedCerts;
478
+                            echo $textActiveCerts."<br/>".$textExpiredCerts." ".$textRevokedCerts;
479 479
                             ?>
480 480
                         </td>
481 481
 
@@ -490,38 +490,38 @@  discard block
 block discarded – undo
490 490
                                     $tokenHtmlBuffer .= "<tr class='sb-certificate-row'><td></td>";
491 491
                                     $jsEncodedBody = str_replace('\n', '%0D%0A', str_replace('"', '', json_encode($invitationObject->invitationMailBody())));
492 492
                                     $tokenHtmlBuffer .= "<td>";
493
-                                    $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/>");
493
+                                    $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/>");
494 494
                                     $tokenHtmlBuffer .= "<table>
495
-                                    <tr><td style='vertical-align:bottom;'>" . _("E-Mail:") . "</td><td>
495
+                                    <tr><td style='vertical-align:bottom;'>" . _("E-Mail:")."</td><td>
496 496
                                     $formtext
497
-                                <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/>
497
+                                <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/>
498 498
                                 <input type='text' name='address' id='address-$invitationObject->identifier'/>
499
-                                <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=" . $invitationObject->invitationMailSubject() . "&amp;body=$jsEncodedBody\"; return false;'>" . _("Local mail client") . "</button>
500
-                                <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'>" . _("Send with CAT") . "</button>
499
+                                <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=".$invitationObject->invitationMailSubject()."&amp;body=$jsEncodedBody\"; return false;'>"._("Local mail client")."</button>
500
+                                <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'>"._("Send with CAT")."</button>
501 501
                                     </form>
502 502
                                     </td></tr>
503
-                                    <tr><td style='vertical-align:bottom;'>" . _("SMS:") . "</td><td>
503
+                                    <tr><td style='vertical-align:bottom;'>" . _("SMS:")."</td><td>
504 504
                                     $formtext
505
-                                    <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/>
505
+                                    <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/>
506 506
                                     <input type='text' name='smsnumber' />
507
-				<button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS . "'>" . _("Send in SMS...") . "</button>
507
+				<button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS."'>"._("Send in SMS...")."</button>
508 508
                                     </form>
509 509
 				</td></tr>
510
-                                    <tr><td style='vertical-align:bottom;'>" . _("Manual:") . "</td><td>
511
-				<button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier . ");'>" . _("Copy to Clipboard") . "</button>
510
+                                    <tr><td style='vertical-align:bottom;'>" . _("Manual:")."</td><td>
511
+				<button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier.");'>"._("Copy to Clipboard")."</button>
512 512
                                     <form style='display:inline-block;' method='post' action='inc/displayQRcode.inc.php' onsubmit='popupQRWindow(this); return false;' accept-charset='UTF-8'>
513
-                                    <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/>
514
-                                      <button type='submit'>" . _("Display QR code") . "</button>
513
+                                    <input type='hidden' value='" . $invitationObject->invitationTokenString."' name='token'><br/>
514
+                                      <button type='submit'>" . _("Display QR code")."</button>
515 515
                                   </form>
516 516
                                         </td></tr>
517 517
                                         
518 518
                                 </table>
519 519
                                 </td>";
520
-                                    $tokenHtmlBuffer .= "<td>" . _("Expiry Date:") . " " . $invitationObject->expiry . " UTC<br>" . _("Activations remaining:") . " " . sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal) . "</td>";
520
+                                    $tokenHtmlBuffer .= "<td>"._("Expiry Date:")." ".$invitationObject->expiry." UTC<br>"._("Activations remaining:")." ".sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal)."</td>";
521 521
                                     $tokenHtmlBuffer .= "<td>"
522 522
                                             . $formtext
523
-                                            . "<input type='hidden' name='invitationtoken' value='" . $invitationObject->invitationTokenString . "'/>"
524
-                                            . "<button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_REVOKEINVITATION . "' class='delete'>" . _("Revoke") . "</button></form>"
523
+                                            . "<input type='hidden' name='invitationtoken' value='".$invitationObject->invitationTokenString."'/>"
524
+                                            . "<button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_REVOKEINVITATION."' class='delete'>"._("Revoke")."</button></form>"
525 525
                                             . "</td></tr>";
526 526
                                     break;
527 527
                                 case core\SilverbulletInvitation::SB_TOKENSTATUS_EXPIRED:
@@ -551,13 +551,13 @@  discard block
 block discarded – undo
551 551
                                 <?php
552 552
                                 if ($hasOnePendingInvite || count($validCerts) > 0) {
553 553
                                     $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']);
554
-                                    echo $formtext . "
554
+                                    echo $formtext."
555 555
                                     <input type='hidden' name='userid' value='$oneUserId'/>
556 556
                                     <button type='submit' "
557 557
                                     . "name='command' "
558
-                                    . "value='" . \web\lib\common\FormElements::BUTTON_DEACTIVATEUSER . "' "
558
+                                    . "value='".\web\lib\common\FormElements::BUTTON_DEACTIVATEUSER."' "
559 559
                                     . "class='delete' "
560
-                                    . ( count($validCerts) > 0 ? "onclick='return confirm(\"" . $deletionText . "\")' " : "" )
560
+                                    . (count($validCerts) > 0 ? "onclick='return confirm(\"".$deletionText."\")' " : "")
561 561
                                     . ">"
562 562
                                     . _("Deactivate User")
563 563
                                     . "</button>
@@ -566,9 +566,9 @@  discard block
 block discarded – undo
566 566
                                 $expiryDate = $profile->getUserExpiryDate($oneUserId);
567 567
                                 
568 568
                                 ?>
569
-                                <form method='post' action='inc/userStats.inc.php?inst_id=<?php echo $profile->institution;?>&profile_id=<?php echo $profile->identifier;?>&user_id=<?php echo $oneUserId ?>' onsubmit='popupStatsWindow(this); return false;' accept-charset='UTF-8'>
569
+                                <form method='post' action='inc/userStats.inc.php?inst_id=<?php echo $profile->institution; ?>&profile_id=<?php echo $profile->identifier; ?>&user_id=<?php echo $oneUserId ?>' onsubmit='popupStatsWindow(this); return false;' accept-charset='UTF-8'>
570 570
                                       <button type='submit'>
571
-                    <?php echo _("Show Authentication Records");?>
571
+                    <?php echo _("Show Authentication Records"); ?>
572 572
                                       </button>
573 573
                                   </form>
574 574
                                 <?php
@@ -604,13 +604,13 @@  discard block
 block discarded – undo
604 604
                                     . ' If all accounts shown as active above are indeed still valid, please check the box below and push "Save".'
605 605
                                     . ' 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);
606 606
 
607
-                    echo $formtext . "<div style='padding-bottom: 20px;'>"
607
+                    echo $formtext."<div style='padding-bottom: 20px;'>"
608 608
                     . "
609 609
                     <p>$acknowledgeText</p>
610 610
                     <input type='checkbox' name='acknowledge' value='true'>
611
-                    <label>" . sprintf(_("I have verified that all configured users are still eligible for %s."), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']) . "</label>
611
+                    <label>".sprintf(_("I have verified that all configured users are still eligible for %s."), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'])."</label>
612 612
                 </div>
613
-                <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY . "'>" . _("Save") . "</button></form>";
613
+                <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY."'>"._("Save")."</button></form>";
614 614
                 }
615 615
                 ?>
616 616
             </div>
Please login to merge, or discard this patch.
web/admin/inc/userStats.inc.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
  * ******************************************************************************
10 10
  */
11 11
 
12
-require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php";
12
+require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php";
13 13
 
14 14
 $auth = new \web\lib\admin\Authentication();
15 15
 $auth->authenticate();
@@ -22,30 +22,30 @@  discard block
 block discarded – undo
22 22
 
23 23
 ?>
24 24
 
25
-<h1><?php echo _("User Authentication Records");?></h1>
26
-<p><?php echo _("Note that:");?></p>
25
+<h1><?php echo _("User Authentication Records"); ?></h1>
26
+<p><?php echo _("Note that:"); ?></p>
27 27
 <ul>
28
-    <li><?php echo _("Authentication records are deleted after six months retention time");?></li>
29
-    <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots");?></li>
30
-    <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems");?></li>
28
+    <li><?php echo _("Authentication records are deleted after six months retention time"); ?></li>
29
+    <li><?php echo _("Operator Domain is based on the RADIUS attribute 'Operator-Name' and not sent by all hotspots"); ?></li>
30
+    <li><?php echo _("Different MAC addresses per credential may be due to MAC Address randomisation in recent operating systems"); ?></li>
31 31
 </ul>
32 32
 <table class='authrecord'>
33 33
     <tr>
34
-        <td><strong><?php echo _("Timestamp");?></strong></td>
35
-        <td><strong><?php echo _("Credential");?></strong></td>
36
-        <td><strong><?php echo _("MAC Address");?></strong></td>
37
-        <td><strong><?php echo _("Result");?></strong></td>
38
-        <td><strong><?php echo _("Operator Domain");?></strong></td>
34
+        <td><strong><?php echo _("Timestamp"); ?></strong></td>
35
+        <td><strong><?php echo _("Credential"); ?></strong></td>
36
+        <td><strong><?php echo _("MAC Address"); ?></strong></td>
37
+        <td><strong><?php echo _("Result"); ?></strong></td>
38
+        <td><strong><?php echo _("Operator Domain"); ?></strong></td>
39 39
     </tr>
40 40
     <?php
41 41
     $userAuthData = $profile->getUserAuthRecords($userInt);
42 42
     foreach ($userAuthData as $oneRecord) {
43
-        echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail" )."'>"
43
+        echo "<tr class='".($oneRecord['RESULT'] == "Access-Accept" ? "auth-success" : "auth-fail")."'>"
44 44
                 . "<td>".$oneRecord['TIMESTAMP']."</td>"
45
-                . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'],"@"))."</td>"
45
+                . "<td>".substr_replace($oneRecord['CN'], "@…", strpos($oneRecord['CN'], "@"))."</td>"
46 46
                 . "<td>".$oneRecord['MAC']."</td>"
47 47
                 . "<td>".($oneRecord['RESULT'] == "Access-Accept" ? _("Success") : _("Failure"))."</td>"
48
-                . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)",1)."</td>"
48
+                . "<td>".substr($oneRecord['OPERATOR'] ?? "1(unknown)", 1)."</td>"
49 49
                 . "</tr>";
50 50
     }
51 51
     ?>
Please login to merge, or discard this patch.
core/ProfileSilverbullet.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
 
91 91
 // realm is automatically calculated, then stored in DB
92 92
 
93
-        $this->realm = "opaquehash@$myInst->identifier-$this->identifier." . strtolower($myInst->federation) . CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix'];
93
+        $this->realm = "opaquehash@$myInst->identifier-$this->identifier.".strtolower($myInst->federation).CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix'];
94 94
         $localValueIfAny = "";
95 95
 
96 96
 // but there's some common internal attributes populated directly
@@ -107,10 +107,10 @@  discard block
 block discarded – undo
107 107
 
108 108
 // and we need to populate eap:server_name and eap:ca_file with the NRO-specific EAP information
109 109
         $silverbulletAttributes = [
110
-            "eap:server_name" => "auth." . strtolower($myFed->tld) . CONFIG_CONFASSISTANT['SILVERBULLET']['server_suffix'],
110
+            "eap:server_name" => "auth.".strtolower($myFed->tld).CONFIG_CONFASSISTANT['SILVERBULLET']['server_suffix'],
111 111
         ];
112 112
         $x509 = new \core\common\X509();
113
-        $caHandle = fopen(dirname(__FILE__) . "/../config/SilverbulletServerCerts/" . strtoupper($myFed->tld) . "/root.pem", "r");
113
+        $caHandle = fopen(dirname(__FILE__)."/../config/SilverbulletServerCerts/".strtoupper($myFed->tld)."/root.pem", "r");
114 114
         if ($caHandle !== FALSE) {
115 115
             $cAFile = fread($caHandle, 16000000);
116 116
             $silverbulletAttributes["eap:ca_file"] = $x509->der2pem(($x509->pem2der($cAFile)));
@@ -130,26 +130,26 @@  discard block
 block discarded – undo
130 130
         $this->loggerInstance->debug(3, "--- END Constructing new Profile object ... ---\n");
131 131
 
132 132
         $this->termsAndConditions = "<h2>Product Definition</h2>
133
-        <p>" . \core\ProfileSilverbullet::PRODUCTNAME . " outsources the technical setup of " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " functions to the " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " Operations Team. The system includes</p>
133
+        <p>" . \core\ProfileSilverbullet::PRODUCTNAME." outsources the technical setup of ".CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." functions to the ".CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." Operations Team. The system includes</p>
134 134
             <ul>
135 135
                 <li>a web-based user management interface where user accounts and access credentials can be created and revoked (there is a limit to the number of active users)</li>
136 136
                 <li>a technical infrastructure ('CA') which issues and revokes credentials</li>
137
-                <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . "</li>           
137
+                <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']."</li>           
138 138
             </ul>
139 139
         <h2>User Account Liability</h2>
140
-        <p>As an " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . " " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " administrator using this system, you are authorized to create user accounts according to your local " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " policy. You are fully responsible for the accounts you issue and are the data controller for all user information you deposit in this system; the system is a data processor.</p>";
140
+        <p>As an " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']." ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." administrator using this system, you are authorized to create user accounts according to your local ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." policy. You are fully responsible for the accounts you issue and are the data controller for all user information you deposit in this system; the system is a data processor.</p>";
141 141
         $this->termsAndConditions .= "<p>Your responsibilities include that you</p>
142 142
         <ul>
143
-            <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . ", as defined by your local policy.</li>
143
+            <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'].", as defined by your local policy.</li>
144 144
             <li>must make sure that all accounts that you issue can be linked by you to actual human end users</li>
145
-            <li>have to immediately revoke accounts of users when they leave or otherwise stop being a member of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . "</li>
145
+            <li>have to immediately revoke accounts of users when they leave or otherwise stop being a member of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']."</li>
146 146
             <li>will act upon notifications about possible network abuse by your users and will appropriately sanction them</li>
147 147
         </ul>
148 148
         <p>";
149
-        $this->termsAndConditions .= "Failure to comply with these requirements may make your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_federation'] . " act on your behalf, which you authorise, and will ultimately lead to the deletion of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . " (and all the users you create inside) in this system.";
149
+        $this->termsAndConditions .= "Failure to comply with these requirements may make your ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_federation']." act on your behalf, which you authorise, and will ultimately lead to the deletion of your ".CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution']." (and all the users you create inside) in this system.";
150 150
         $this->termsAndConditions .= "</p>
151 151
         <h2>Privacy</h2>
152
-        <p>With " . \core\ProfileSilverbullet::PRODUCTNAME . ", we are necessarily storing personally identifiable information about the end users you create. While the actual human is only identifiable with your help, we consider all the user data as relevant in terms of privacy jurisdiction. Please note that</p>
152
+        <p>With " . \core\ProfileSilverbullet::PRODUCTNAME.", we are necessarily storing personally identifiable information about the end users you create. While the actual human is only identifiable with your help, we consider all the user data as relevant in terms of privacy jurisdiction. Please note that</p>
153 153
         <ul>
154 154
             <li>You are the only one who needs to be able to make a link to the human behind the usernames you create. The usernames you create in the system have to be rich enough to allow you to make that identification step. Also consider situations when you are unavailable or leave the organisation and someone else needs to perform the matching to an individual.</li>
155 155
             <li>The identifiers we create in the credentials are not linked to the usernames you add to the system; they are randomly generated pseudonyms.</li>
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
         if (empty($certNames)) {
256 256
             return [];
257 257
         }
258
-        $namesCondensed = "'" . implode("' OR username = '", $certNames) . "'";
258
+        $namesCondensed = "'".implode("' OR username = '", $certNames)."'";
259 259
         $serverHandles = DBConnection::handle("RADIUS");
260 260
         $returnarray = [];
261 261
         foreach ($serverHandles as $oneDbServer) {
Please login to merge, or discard this patch.
core/DBConnection.php 1 patch
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 
33 33
 use \Exception;
34 34
 
35
-require_once dirname(__DIR__) . "/config/_config.php";
35
+require_once dirname(__DIR__)."/config/_config.php";
36 36
 
37 37
 /**
38 38
  * This class is a singleton for establishing a connection to the database
@@ -60,24 +60,24 @@  discard block
 block discarded – undo
60 60
             case "EXTERNAL":
61 61
             case "FRONTEND":
62 62
             case "DIAGNOSTICS":
63
-                if (!isset(self::${"instance" . $theDb})) {
63
+                if (!isset(self::${"instance".$theDb})) {
64 64
                     $class = __CLASS__;
65
-                    self::${"instance" . $theDb} = new $class($database);
66
-                    DBConnection::${"instance" . $theDb}->databaseInstance = $theDb;
65
+                    self::${"instance".$theDb} = new $class($database);
66
+                    DBConnection::${"instance".$theDb}->databaseInstance = $theDb;
67 67
                 }
68
-                return self::${"instance" . $theDb};
68
+                return self::${"instance".$theDb};
69 69
             case "RADIUS":
70
-                if (!isset(self::${"instance" . $theDb})) {
70
+                if (!isset(self::${"instance".$theDb})) {
71 71
                     $class = __CLASS__;
72 72
                     foreach (CONFIG_CONFASSISTANT['DB'] as $name => $oneRadiusAuthDb) {
73 73
                         $theInstance = new $class($name);
74
-                        self::${"instance" . $theDb}[] = $theInstance;
74
+                        self::${"instance".$theDb}[] = $theInstance;
75 75
                         $theInstance->databaseInstance = $theDb;
76 76
                     }
77 77
                 }
78
-                return self::${"instance" . $theDb};
78
+                return self::${"instance".$theDb};
79 79
             default:
80
-                throw new Exception("This type of database (" . strtoupper($database) . ") is not known!");
80
+                throw new Exception("This type of database (".strtoupper($database).") is not known!");
81 81
         }
82 82
     }
83 83
 
@@ -116,18 +116,18 @@  discard block
 block discarded – undo
116 116
             }
117 117
         }
118 118
         // log exact query to debug log, if log level is at 5
119
-        $this->loggerInstance->debug(5, "DB ATTEMPT: " . $querystring . "\n");
119
+        $this->loggerInstance->debug(5, "DB ATTEMPT: ".$querystring."\n");
120 120
         if ($types !== NULL) {
121
-            $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: " . print_r($arguments, true));
121
+            $this->loggerInstance->debug(5, "Argument type sequence: $types, parameters are: ".print_r($arguments, true));
122 122
         }
123 123
 
124 124
         if ($this->connection->connect_error) {
125
-            throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number" . $this->connection->connect_error . ")!");
125
+            throw new Exception("ERROR: Cannot send query to $this->databaseInstance database (no connection, error number".$this->connection->connect_error.")!");
126 126
         }
127 127
         if ($types === NULL) {
128 128
             $result = $this->connection->query($querystring);
129 129
             if ($result === FALSE) {
130
-                throw new Exception("DB: Unable to execute simple statement! Error was --> " . $this->connection->error . " <--");
130
+                throw new Exception("DB: Unable to execute simple statement! Error was --> ".$this->connection->error." <--");
131 131
             }
132 132
         } else {
133 133
             // fancy! prepared statement with dedicated argument list
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
             }
141 141
             $prepResult = $statementObject->prepare($querystring);
142 142
             if ($prepResult === FALSE) {
143
-                throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> " . $statementObject->error . " <--.");
143
+                throw new Exception("DB: Unable to prepare statement! Statement was --> $querystring <--, error was --> ".$statementObject->error." <--.");
144 144
             }
145 145
 
146 146
             // we have a variable number of arguments packed into the ... array
@@ -152,11 +152,11 @@  discard block
 block discarded – undo
152 152
             array_unshift($localArray, $types);
153 153
             $retval = call_user_func_array([$statementObject, "bind_param"], $localArray);
154 154
             if ($retval === FALSE) {
155
-                throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> " . var_export($localArray, TRUE) . " <--. Error was --> " . $statementObject->error . " <--");
155
+                throw new Exception("DB: Unable to bind parameters to prepared statement! Argument array was --> ".var_export($localArray, TRUE)." <--. Error was --> ".$statementObject->error." <--");
156 156
             }
157 157
             $result = $statementObject->execute();
158 158
             if ($result === FALSE) {
159
-                throw new Exception("DB: Unable to execute prepared statement! Error was --> " . $statementObject->error . " <--");
159
+                throw new Exception("DB: Unable to execute prepared statement! Error was --> ".$statementObject->error." <--");
160 160
             }
161 161
             $selectResult = $statementObject->get_result();
162 162
             if ($selectResult !== FALSE) {
@@ -168,14 +168,14 @@  discard block
 block discarded – undo
168 168
 
169 169
         // all cases where $result could be FALSE have been caught earlier
170 170
         if ($this->connection->errno) {
171
-            throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was " . $this->connection->errno . "!");
171
+            throw new Exception("ERROR: Cannot execute query in $this->databaseInstance database - (hopefully escaped) query was '$querystring', errno was ".$this->connection->errno."!");
172 172
         }
173 173
 
174 174
 
175 175
         if ($isMoreThanSelect) {
176
-            $this->loggerInstance->writeSQLAudit("[DB: " . strtoupper($this->databaseInstance) . "] " . $querystring);
176
+            $this->loggerInstance->writeSQLAudit("[DB: ".strtoupper($this->databaseInstance)."] ".$querystring);
177 177
             if ($types !== NULL) {
178
-                $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: " . print_r($arguments, true));
178
+                $this->loggerInstance->writeSQLAudit("Argument type sequence: $types, parameters are: ".print_r($arguments, true));
179 179
             }
180 180
         }
181 181
         return $result;
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
             $this->readOnly = CONFIG_CONFASSISTANT['DB'][$databaseCapitalised]['readonly'];
271 271
         }
272 272
         if ($this->connection->connect_error) {
273
-            throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number " . $this->connection->connect_errno . ").");
273
+            throw new Exception("ERROR: Unable to connect to $database database! This is a fatal error, giving up (error number ".$this->connection->connect_errno.").");
274 274
         }
275 275
 
276 276
         if ($databaseCapitalised == "EXTERNAL" && CONFIG_CONFASSISTANT['CONSORTIUM']['name'] == "eduroam" && isset(CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo']) && CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo'] == "Operations Team") {
Please login to merge, or discard this patch.
core/IdP.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
      * @return array<AbstractProfile> list of Profiles of this IdP
111 111
      */
112 112
     public function listProfiles(bool $activeOnly = FALSE) {
113
-        $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier" . ($activeOnly ? " AND showtime = 1" : "");
113
+        $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier".($activeOnly ? " AND showtime = 1" : "");
114 114
         $allProfiles = $this->databaseHandle->exec($query);
115 115
         $returnarray = [];
116 116
         // SELECT -> resource, not boolean
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
             $returnarray[] = $oneProfile;
121 121
         }
122 122
 
123
-        $this->loggerInstance->debug(4, "listProfiles: " . print_r($returnarray, true));
123
+        $this->loggerInstance->debug(4, "listProfiles: ".print_r($returnarray, true));
124 124
         return $returnarray;
125 125
     }
126 126
 
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
                 case AbstractProfile::PROFILETYPE_SILVERBULLET:
220 220
                     $theProfile = new ProfileSilverbullet($identifier, $this);
221 221
                     $theProfile->addSupportedEapMethod(new \core\common\EAP(\core\common\EAP::EAPTYPE_SILVERBULLET), 1);
222
-                    $theProfile->setRealm($this->identifier . "-" . $theProfile->identifier . "." . strtolower($this->federation) . strtolower(CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix']));
222
+                    $theProfile->setRealm($this->identifier."-".$theProfile->identifier.".".strtolower($this->federation).strtolower(CONFIG_CONFASSISTANT['SILVERBULLET']['realm_suffix']));
223 223
                     return $theProfile;
224 224
                 default:
225 225
                     throw new Exception("This type of profile is unknown and can not be added.");
@@ -336,7 +336,7 @@  discard block
 block discarded – undo
336 336
      */
337 337
     public function getExternalDBId() {
338 338
         if (CONFIG_CONFASSISTANT['CONSORTIUM']['name'] == "eduroam" && isset(CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo']) && CONFIG_CONFASSISTANT['CONSORTIUM']['deployment-voodoo'] == "Operations Team") { // SW: APPROVED
339
-            $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = " . self::EXTERNAL_DB_SYNCSTATE_SYNCED);
339
+            $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = ".self::EXTERNAL_DB_SYNCSTATE_SYNCED);
340 340
             // SELECT -> it's a resource, not a boolean
341 341
             if (mysqli_num_rows(/** @scrutinizer ignore-type */ $idQuery) == 0) {
342 342
                 return FALSE;
Please login to merge, or discard this patch.
web/lib/common/InputValidation.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
      */
38 38
     private function inputValidationError($customtext) {
39 39
         \core\common\Entity::intoThePotatoes();
40
-        $retval = "<p>" . _("Input validation error: ") . $customtext . "</p>";
40
+        $retval = "<p>"._("Input validation error: ").$customtext."</p>";
41 41
         \core\common\Entity::outOfThePotatoes();
42 42
         return $retval;
43 43
     }
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
      */
150 150
     public function string($input, $allowWhitespace = FALSE) {
151 151
     // always chop out invalid characters, and surrounding whitespace
152
-    $retvalStep0 =  iconv("UTF-8", "UTF-8//TRANSLIT", $input);
152
+    $retvalStep0 = iconv("UTF-8", "UTF-8//TRANSLIT", $input);
153 153
     if ($retvalStep0 === FALSE) {
154 154
         throw new Exception("iconv failure for string sanitisation. With TRANSLIT, this should never happen!");
155 155
     }
@@ -457,7 +457,7 @@  discard block
 block discarded – undo
457 457
     try {
458 458
         $image->readImageBlob($binary);
459 459
     } catch (\ImagickException $exception) {
460
-        echo "Error" . $exception->getMessage();
460
+        echo "Error".$exception->getMessage();
461 461
         return FALSE;
462 462
     }
463 463
     // image survived the sanity check
Please login to merge, or discard this patch.