|
@@ -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] ?? 5; |
|
139
|
139
|
$number = $validator->integer($numberOfActivations); |
|
140
|
140
|
if ($number === FALSE) { // invalid input received, default to sane |
|
@@ -237,18 +237,18 @@ discard block |
|
|
block discarded – undo |
|
237
|
237
|
// warn and ask for confirmation unless already confirmed |
|
238
|
238
|
if (!isset($_POST['insecureconfirm']) || $_POST['insecureconfirm'] != "CONFIRM") { |
|
239
|
239
|
echo $deco->pageheader(_("Insecure mail domain!"), "ADMIN-IDP-USERS"); |
|
240
|
|
- 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>"; |
|
241
|
|
- 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>"; |
|
242
|
|
- echo "<p>" . _("Do you want the system to send this mail anyway?") . "</p>"; |
|
|
240
|
+ 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>"; |
|
|
241
|
+ 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>"; |
|
|
242
|
+ echo "<p>"._("Do you want the system to send this mail anyway?")."</p>"; |
|
243
|
243
|
echo $formtext; |
|
244
|
|
- echo "<button type='submit' class='delete'>" . _("DO NOT SEND") . "</button>"; |
|
|
244
|
+ echo "<button type='submit' class='delete'>"._("DO NOT SEND")."</button>"; |
|
245
|
245
|
echo "</form>"; |
|
246
|
246
|
echo $formtext; |
|
247
|
|
- echo "<input type='hidden' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'</>"; |
|
|
247
|
+ echo "<input type='hidden' name='command' value='".\web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'</>"; |
|
248
|
248
|
echo "<input type='hidden' name='address' value='$properEmail'</>"; |
|
249
|
|
- echo "<input type='hidden' name='token' value='" . $invitationObject->invitationTokenString . "'</>"; |
|
|
249
|
+ echo "<input type='hidden' name='token' value='".$invitationObject->invitationTokenString."'</>"; |
|
250
|
250
|
echo "<input type='hidden' name='insecureconfirm' value='CONFIRM'/>"; |
|
251
|
|
- echo "<button type='submit'>" . _("Send anyway.") . "</button>"; |
|
|
251
|
+ echo "<button type='submit'>"._("Send anyway.")."</button>"; |
|
252
|
252
|
echo "</form>"; |
|
253
|
253
|
echo $deco->footer(); |
|
254
|
254
|
exit; |
|
@@ -358,19 +358,19 @@ discard block |
|
|
block discarded – undo |
|
358
|
358
|
case "NOSTIPULATION": |
|
359
|
359
|
break; |
|
360
|
360
|
case "EMAIL-SENT": |
|
361
|
|
- echo $boundaryPre . $uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE) . $boundaryPost; |
|
|
361
|
+ echo $boundaryPre.$uiElements->boxOkay(_("The e-mail was sent successfully."), _("E-mail OK."), FALSE).$boundaryPost; |
|
362
|
362
|
break; |
|
363
|
363
|
case "EMAIL-NOTSENT": |
|
364
|
|
- echo $boundaryPre . $uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE) . $boundaryPost; |
|
|
364
|
+ echo $boundaryPre.$uiElements->boxError(_("The e-mail was NOT sent."), _("E-mail not OK."), FALSE).$boundaryPost; |
|
365
|
365
|
break; |
|
366
|
366
|
case "SMS-SENT": |
|
367
|
|
- echo $boundaryPre . $uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE) . $boundaryPost; |
|
|
367
|
+ echo $boundaryPre.$uiElements->boxOkay(_("The SMS was sent successfully."), _("SMS OK."), FALSE).$boundaryPost; |
|
368
|
368
|
break; |
|
369
|
369
|
case "SMS-NOTSENT": |
|
370
|
|
- echo $boundaryPre . $uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE) . $boundaryPost; |
|
|
370
|
+ echo $boundaryPre.$uiElements->boxOkay(_("The SMS was NOT sent."), _("SMS not OK."), FALSE).$boundaryPost; |
|
371
|
371
|
break; |
|
372
|
372
|
case "SMS-FRAGMENT": |
|
373
|
|
- echo $boundaryPre . $uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE) . $boundaryPost; |
|
|
373
|
+ echo $boundaryPre.$uiElements->boxWarning(_("Only a fragment of the SMS was sent. You should re-send it."), _("SMS Fragment."), FALSE).$boundaryPost; |
|
374
|
374
|
break; |
|
375
|
375
|
} |
|
376
|
376
|
?> |
|
@@ -383,17 +383,17 @@ discard block |
|
|
block discarded – undo |
|
383
|
383
|
<?php |
|
384
|
384
|
$bufferCurrentUsers = "<table class='sb-user-table' style='max-width:1920px;'> |
|
385
|
385
|
<tr class='sb-title-row'> |
|
386
|
|
- <td>" . _("User") . "</td> |
|
387
|
|
- <td>" . _("Token/Certificate details") . "</td> |
|
388
|
|
- <td>" . _("User/Token Expiry") . "</td> |
|
389
|
|
- <td>" . _("Actions") . "</td> |
|
|
386
|
+ <td>" . _("User")."</td> |
|
|
387
|
+ <td>" . _("Token/Certificate details")."</td> |
|
|
388
|
+ <td>" . _("User/Token Expiry")."</td> |
|
|
389
|
+ <td>" . _("Actions")."</td> |
|
390
|
390
|
</tr>"; |
|
391
|
391
|
$bufferPreviousUsers = "<table class='sb-user-table' style='max-width:1920px;'> |
|
392
|
392
|
<tr class='sb-title-row'> |
|
393
|
|
- <td>" . _("User") . "</td> |
|
394
|
|
- <td>" . _("Certificate details") . "</td> |
|
395
|
|
- <td>" . _("User Expiry") . "</td> |
|
396
|
|
- <td>" . _("Actions") . "</td> |
|
|
393
|
+ <td>" . _("User")."</td> |
|
|
394
|
+ <td>" . _("Certificate details")."</td> |
|
|
395
|
+ <td>" . _("User Expiry")."</td> |
|
|
396
|
+ <td>" . _("Actions")."</td> |
|
397
|
397
|
</tr>"; |
|
398
|
398
|
|
|
399
|
399
|
natsort($allUsers); |
|
@@ -449,23 +449,23 @@ discard block |
|
|
block discarded – undo |
|
449
|
449
|
$display = empty(devices\Devices::listDevices()[$oneCert->device]['display']) ? $oneCert->device : devices\Devices::listDevices()[$oneCert->device]['display']; |
|
450
|
450
|
|
|
451
|
451
|
$bufferText = "<div class='sb-certificate-summary ca-summary' $style> |
|
452
|
|
- <div class='sb-certificate-details'>" . _("Device:") . " " . $display . |
|
453
|
|
- "<br>" . _("Serial Number:") . " " . dechex($oneCert->serial) . |
|
454
|
|
- "<br>" . _("CN:") . " " . explode('@', $oneCert->username)[0] . "@…" . |
|
455
|
|
- "<br>" . _("Expiry:") . " " . $oneCert->expiry . |
|
456
|
|
- "<br>" . _("Issued:") . " " . $oneCert->issued . |
|
457
|
|
- "</div>" . |
|
|
452
|
+ <div class='sb-certificate-details'>"._("Device:")." ".$display. |
|
|
453
|
+ "<br>"._("Serial Number:")." ".dechex($oneCert->serial). |
|
|
454
|
+ "<br>"._("CN:")." ".explode('@', $oneCert->username)[0]."@…". |
|
|
455
|
+ "<br>"._("Expiry:")." ".$oneCert->expiry. |
|
|
456
|
+ "<br>"._("Issued:")." ".$oneCert->issued. |
|
|
457
|
+ "</div>". |
|
458
|
458
|
"<div style='text-align:right;padding-top: 5px; $buttonStyle'>"; |
|
459
|
459
|
|
|
460
|
460
|
if ($buttonText == "") { |
|
461
|
461
|
$bufferText .= $formtext |
|
462
|
|
- . "<input type='hidden' name='certSerial' value='" . $oneCert->serial . "'/>" |
|
463
|
|
- . "<input type='hidden' name='certAlgo' value='" . $oneCert->ca_type . "'/>" |
|
|
462
|
+ . "<input type='hidden' name='certSerial' value='".$oneCert->serial."'/>" |
|
|
463
|
+ . "<input type='hidden' name='certAlgo' value='".$oneCert->ca_type."'/>" |
|
464
|
464
|
. "<button type='submit' " |
|
465
|
465
|
. "name='command' " |
|
466
|
|
- . "value='" . \web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL . "' " |
|
|
466
|
+ . "value='".\web\lib\common\FormElements::BUTTON_REVOKECREDENTIAL."' " |
|
467
|
467
|
. "class='delete' " |
|
468
|
|
- . "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']) . "\")'>" |
|
|
468
|
+ . "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'])."\")'>" |
|
469
|
469
|
. _("Revoke") |
|
470
|
470
|
. "</button>" |
|
471
|
471
|
. "</form>"; |
|
@@ -490,13 +490,13 @@ discard block |
|
|
block discarded – undo |
|
490
|
490
|
} |
|
491
|
491
|
// wrap the revoked and expired certs in a div that is hidden by default |
|
492
|
492
|
if ($textRevokedCerts !== "") { |
|
493
|
|
- $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>"; |
|
|
493
|
+ $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>"; |
|
494
|
494
|
} |
|
495
|
495
|
if ($textExpiredCerts !== "") { |
|
496
|
|
- $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>"; |
|
|
496
|
+ $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>"; |
|
497
|
497
|
} |
|
498
|
498
|
// and push out the HTML |
|
499
|
|
- ${$outputBuffer} .= $textActiveCerts . "<br/>" . $textExpiredCerts . " " . $textRevokedCerts . "</td>"; |
|
|
499
|
+ ${$outputBuffer} .= $textActiveCerts."<br/>".$textExpiredCerts." ".$textRevokedCerts."</td>"; |
|
500
|
500
|
$tokenHtmlBuffer = ""; |
|
501
|
501
|
$hasOnePendingInvite = FALSE; |
|
502
|
502
|
foreach ($tokensWithoutCerts as $invitationObject) { |
|
@@ -507,38 +507,38 @@ discard block |
|
|
block discarded – undo |
|
507
|
507
|
$tokenHtmlBuffer .= "<tr class='sb-certificate-row'><td></td>"; |
|
508
|
508
|
$jsEncodedBody = str_replace('\n', '%0D%0A', str_replace('"', '', json_encode($invitationObject->invitationMailBody()))); |
|
509
|
509
|
$tokenHtmlBuffer .= "<td>"; |
|
510
|
|
- $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/>"); |
|
|
510
|
+ $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/>"); |
|
511
|
511
|
$tokenHtmlBuffer .= "<table> |
|
512
|
|
- <tr><td style='vertical-align:bottom;'>" . _("E-Mail:") . "</td><td> |
|
|
512
|
+ <tr><td style='vertical-align:bottom;'>" . _("E-Mail:")."</td><td> |
|
513
|
513
|
$formtext |
|
514
|
|
- <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
|
514
|
+ <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/> |
|
515
|
515
|
<input type='text' name='address' id='address-$invitationObject->identifier'/> |
|
516
|
|
- <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=" . $invitationObject->invitationMailSubject() . "&body=$jsEncodedBody\"; return false;'>" . _("Local mail client") . "</button> |
|
517
|
|
- <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT . "'>" . _("Send with CAT") . "</button> |
|
|
516
|
+ <button type='button' onclick='window.location=\"mailto:\"+document.getElementById(\"address-$invitationObject->identifier\").value+\"?subject=".$invitationObject->invitationMailSubject()."&body=$jsEncodedBody\"; return false;'>"._("Local mail client")."</button> |
|
|
517
|
+ <button type='submit' name='command' onclick='document.getElementById(\"spin\").style.display =\"block\"' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONMAILBYCAT."'>"._("Send with CAT")."</button> |
|
518
|
518
|
</form> |
|
519
|
519
|
</td></tr> |
|
520
|
|
- <tr><td style='vertical-align:bottom;'>" . _("SMS:") . "</td><td> |
|
|
520
|
+ <tr><td style='vertical-align:bottom;'>" . _("SMS:")."</td><td> |
|
521
|
521
|
$formtext |
|
522
|
|
- <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
|
522
|
+ <input type='hidden' value='".$invitationObject->invitationTokenString."' name='token'><br/> |
|
523
|
523
|
<input type='text' name='smsnumber' /> |
|
524
|
|
- <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS . "'>" . _("Send in SMS...") . "</button> |
|
|
524
|
+ <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_SENDINVITATIONSMS."'>"._("Send in SMS...")."</button> |
|
525
|
525
|
</form> |
|
526
|
526
|
</td></tr> |
|
527
|
|
- <tr><td style='vertical-align:bottom;'>" . _("Manual:") . "</td><td> |
|
528
|
|
- <button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier . ");'>" . _("Copy to Clipboard") . "</button> |
|
|
527
|
+ <tr><td style='vertical-align:bottom;'>" . _("Manual:")."</td><td> |
|
|
528
|
+ <button type='button' class='clipboardButton' onclick='clipboardCopy(" . $invitationObject->identifier.");'>"._("Copy to Clipboard")."</button> |
|
529
|
529
|
<form style='display:inline-block;' method='post' action='inc/displayQRcode.inc.php' onsubmit='popupQRWindow(this); return false;' accept-charset='UTF-8'> |
|
530
|
|
- <input type='hidden' value='" . $invitationObject->invitationTokenString . "' name='token'><br/> |
|
531
|
|
- <button type='submit'>" . _("Display QR code") . "</button> |
|
|
530
|
+ <input type='hidden' value='" . $invitationObject->invitationTokenString."' name='token'><br/> |
|
|
531
|
+ <button type='submit'>" . _("Display QR code")."</button> |
|
532
|
532
|
</form> |
|
533
|
533
|
</td></tr> |
|
534
|
534
|
|
|
535
|
535
|
</table> |
|
536
|
536
|
</td>"; |
|
537
|
|
- $tokenHtmlBuffer .= "<td>" . _("Expiry Date:") . " " . $invitationObject->expiry . " UTC<br>" . _("Activations remaining:") . " " . sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal) . "</td>"; |
|
|
537
|
+ $tokenHtmlBuffer .= "<td>"._("Expiry Date:")." ".$invitationObject->expiry." UTC<br>"._("Activations remaining:")." ".sprintf(_("%d of %d"), $invitationObject->activationsRemaining, $invitationObject->activationsTotal)."</td>"; |
|
538
|
538
|
$tokenHtmlBuffer .= "<td>" |
|
539
|
539
|
. $formtext |
|
540
|
|
- . "<input type='hidden' name='invitationtoken' value='" . $invitationObject->invitationTokenString . "'/>" |
|
541
|
|
- . "<button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_REVOKEINVITATION . "' class='delete'>" . _("Revoke") . "</button></form>" |
|
|
540
|
+ . "<input type='hidden' name='invitationtoken' value='".$invitationObject->invitationTokenString."'/>" |
|
|
541
|
+ . "<button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_REVOKEINVITATION."' class='delete'>"._("Revoke")."</button></form>" |
|
542
|
542
|
. "</td></tr>"; |
|
543
|
543
|
break; |
|
544
|
544
|
case core\SilverbulletInvitation::SB_TOKENSTATUS_EXPIRED: |
|
@@ -554,10 +554,10 @@ discard block |
|
|
block discarded – undo |
|
554
|
554
|
} |
|
555
|
555
|
${$outputBuffer} .= "<td>$formtext |
|
556
|
556
|
<div class='sb-date-container' style='min-width: 200px;'> |
|
557
|
|
- <span><input type='text' maxlength='19' class='sb-date-picker' name='userexpiry' value='" . $profile->getUserExpiryDate($oneUserId) . "'> (UTC)</span> |
|
|
557
|
+ <span><input type='text' maxlength='19' class='sb-date-picker' name='userexpiry' value='".$profile->getUserExpiryDate($oneUserId)."'> (UTC)</span> |
|
558
|
558
|
</div> |
|
559
|
559
|
<input type='hidden' name='userid' value='$oneUserId'/> |
|
560
|
|
- <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_CHANGEUSEREXPIRY . "'>" . _("Update") . "</button> |
|
|
560
|
+ <button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_CHANGEUSEREXPIRY."'>"._("Update")."</button> |
|
561
|
561
|
</form> |
|
562
|
562
|
</td> |
|
563
|
563
|
<td> |
|
@@ -565,33 +565,33 @@ discard block |
|
|
block discarded – undo |
|
565
|
565
|
|
|
566
|
566
|
if ($hasOnePendingInvite || count($validCerts) > 0) { |
|
567
|
567
|
$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']); |
|
568
|
|
- ${$outputBuffer} .= $formtext . " |
|
|
568
|
+ ${$outputBuffer} .= $formtext." |
|
569
|
569
|
<input type='hidden' name='userid' value='$oneUserId'/> |
|
570
|
570
|
<button type='submit' " |
|
571
|
571
|
. "name='command' " |
|
572
|
|
- . "value='" . \web\lib\common\FormElements::BUTTON_DEACTIVATEUSER . "' " |
|
|
572
|
+ . "value='".\web\lib\common\FormElements::BUTTON_DEACTIVATEUSER."' " |
|
573
|
573
|
. "class='delete' " |
|
574
|
|
- . ( count($validCerts) > 0 ? "onclick='return confirm(\"" . $deletionText . "\")' " : "" ) |
|
|
574
|
+ . (count($validCerts) > 0 ? "onclick='return confirm(\"".$deletionText."\")' " : "") |
|
575
|
575
|
. ">" |
|
576
|
576
|
. _("Deactivate User") |
|
577
|
577
|
. "</button> |
|
578
|
578
|
</form>"; |
|
579
|
579
|
} |
|
580
|
|
- ${$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'> |
|
581
|
|
- <button type='submit'>" . _("Show Authentication Records") . "</button> |
|
|
580
|
+ ${$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'> |
|
|
581
|
+ <button type='submit'>"._("Show Authentication Records")."</button> |
|
582
|
582
|
</form>"; |
|
583
|
583
|
if (new DateTime() < new DateTime($expiryDate)) { // current user, allow sending new token |
|
584
|
|
- ${$outputBuffer} .= $formtext . " |
|
|
584
|
+ ${$outputBuffer} .= $formtext." |
|
585
|
585
|
<input type='hidden' name='userid' value='$oneUserId'/> |
|
586
|
|
- <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_NEWINVITATION . "'>" . _("New Invitation") . "</button> |
|
587
|
|
- <label>" . _("Activations:") . " |
|
|
586
|
+ <button type='submit' name='command' value='".\web\lib\common\FormElements::BUTTON_NEWINVITATION."'>"._("New Invitation")."</button> |
|
|
587
|
+ <label>" . _("Activations:")." |
|
588
|
588
|
<input type='text' name='invitationsquantity' value='5' maxlength='3' style='width: 30px;'/> |
|
589
|
589
|
</label> |
|
590
|
590
|
</form>"; |
|
591
|
591
|
} 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 |
|
592
|
|
- ${$outputBuffer} .= $formtext . " |
|
|
592
|
+ ${$outputBuffer} .= $formtext." |
|
593
|
593
|
<input type='hidden' name='userid' value='$oneUserId'/> |
|
594
|
|
- <button type='submit' class='delete' name='command' value='" . \web\lib\common\FormElements::BUTTON_DELETE . "'>" . _("Delete User") . "</button> |
|
|
594
|
+ <button type='submit' class='delete' name='command' value='".\web\lib\common\FormElements::BUTTON_DELETE."'>"._("Delete User")."</button> |
|
595
|
595
|
</form>"; |
|
596
|
596
|
} |
|
597
|
597
|
${$outputBuffer} .= "</div> |
|
@@ -623,13 +623,13 @@ discard block |
|
|
block discarded – undo |
|
623
|
623
|
. ' If all accounts shown as active above are indeed still valid, please check the box below and push "Save".' |
|
624
|
624
|
. ' 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); |
|
625
|
625
|
|
|
626
|
|
- echo $formtext . "<div style='padding-bottom: 20px;'>" |
|
|
626
|
+ echo $formtext."<div style='padding-bottom: 20px;'>" |
|
627
|
627
|
. " |
|
628
|
628
|
<p>$acknowledgeText</p> |
|
629
|
629
|
<input type='checkbox' name='acknowledge' value='true'> |
|
630
|
|
- <label>" . sprintf(_("I have verified that all configured users are still eligible for %s."), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']) . "</label> |
|
|
630
|
+ <label>".sprintf(_("I have verified that all configured users are still eligible for %s."), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'])."</label> |
|
631
|
631
|
</div> |
|
632
|
|
- <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY . "'>" . _("Save") . "</button></form>"; |
|
|
632
|
+ <button type='submit' name='command' value='" . \web\lib\common\FormElements::BUTTON_ACKUSERELIGIBILITY."'>"._("Save")."</button></form>"; |
|
633
|
633
|
} |
|
634
|
634
|
?> |
|
635
|
635
|
</div> |