@@ -37,7 +37,7 @@ discard block |
||
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 |
||
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 |
||
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 |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | otherdata = j.otherdata; |
88 | 88 | if(! result) { |
89 | 89 | alert("<?php escaped_echo(_("no matching data found"))?>"); |
90 | - document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/') . '/' ?>'; |
|
90 | + document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/').'/' ?>'; |
|
91 | 91 | } |
92 | 92 | j = j.data; |
93 | 93 | n = j.length; |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | result = j1.status; |
225 | 225 | if(! result) { |
226 | 226 | alert("<?php escaped_echo(_("no matching data found")) ?>"); |
227 | - document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/') . '/' ?>'; |
|
227 | + document.location.href='<?php echo rtrim(dirname($_SERVER['SCRIPT_NAME']), '/').'/' ?>'; |
|
228 | 228 | } |
229 | 229 | j = j1.data; |
230 | 230 | if(j.description !== undefined && j.description) { |
@@ -235,7 +235,7 @@ discard block |
||
235 | 235 | $("#profile_desc").hide(); |
236 | 236 | $("#profile_desc").text(''); |
237 | 237 | } |
238 | - updateTxt = '<span class="user_info"><?php escaped_echo(_("This entry was last updated at:"));?>'+' '+j.last_changed+'</span><br/>'; |
|
238 | + updateTxt = '<span class="user_info"><?php escaped_echo(_("This entry was last updated at:")); ?>'+' '+j.last_changed+'</span><br/>'; |
|
239 | 239 | if(j.local_url !== undefined && j.local_url) |
240 | 240 | txt = txt+'<span class="user_info"><?php escaped_echo(_("WWW:")); ?> <a href="'+j.local_url+'" target="_blank">'+j.local_url+'</a></span><br/>'; |
241 | 241 | if(j.local_email !== undefined && j.local_email) |
@@ -90,7 +90,7 @@ discard block |
||
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,11 +107,11 @@ discard block |
||
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 | $temp = array_merge($this->addInternalAttributes($internalAttributes), $this->addInternalAttributes($silverbulletAttributes)); |
113 | 113 | $x509 = new \core\common\X509(); |
114 | - $caHandle = fopen(dirname(__FILE__) . "/../config/SilverbulletServerCerts/" . strtoupper($myFed->tld) . "/root.pem", "r"); |
|
114 | + $caHandle = fopen(dirname(__FILE__)."/../config/SilverbulletServerCerts/".strtoupper($myFed->tld)."/root.pem", "r"); |
|
115 | 115 | if ($caHandle !== FALSE) { |
116 | 116 | $cAFile = fread($caHandle, 16000000); |
117 | 117 | foreach ($x509->splitCertificate($cAFile) as $oneCa) { |
@@ -132,26 +132,26 @@ discard block |
||
132 | 132 | $this->loggerInstance->debug(3, "--- END Constructing new Profile object ... ---\n"); |
133 | 133 | |
134 | 134 | $this->termsAndConditions = "<h2>Product Definition</h2> |
135 | - <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> |
|
135 | + <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> |
|
136 | 136 | <ul> |
137 | 137 | <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> |
138 | 138 | <li>a technical infrastructure ('CA') which issues and revokes credentials</li> |
139 | - <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name'] . "</li> |
|
139 | + <li>a technical infrastructure ('RADIUS') which verifies access credentials and subsequently grants access to " . CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']."</li> |
|
140 | 140 | </ul> |
141 | 141 | <h2>User Account Liability</h2> |
142 | - <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>"; |
|
142 | + <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>"; |
|
143 | 143 | $this->termsAndConditions .= "<p>Your responsibilities include that you</p> |
144 | 144 | <ul> |
145 | - <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'] . ", as defined by your local policy.</li> |
|
145 | + <li>only issue accounts to members of your " . CONFIG_CONFASSISTANT['CONSORTIUM']['nomenclature_institution'].", as defined by your local policy.</li> |
|
146 | 146 | <li>must make sure that all accounts that you issue can be linked by you to actual human end users</li> |
147 | - <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> |
|
147 | + <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> |
|
148 | 148 | <li>will act upon notifications about possible network abuse by your users and will appropriately sanction them</li> |
149 | 149 | </ul> |
150 | 150 | <p>"; |
151 | - $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."; |
|
151 | + $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."; |
|
152 | 152 | $this->termsAndConditions .= "</p> |
153 | 153 | <h2>Privacy</h2> |
154 | - <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> |
|
154 | + <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> |
|
155 | 155 | <ul> |
156 | 156 | <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> |
157 | 157 | <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> |
@@ -254,7 +254,7 @@ discard block |
||
254 | 254 | if (empty($certNames)) { |
255 | 255 | return []; |
256 | 256 | } |
257 | - $namesCondensed = "'" . implode("' OR username = '", $certNames) . "'"; |
|
257 | + $namesCondensed = "'".implode("' OR username = '", $certNames)."'"; |
|
258 | 258 | $serverHandles = DBConnection::handle("RADIUS"); |
259 | 259 | $returnarray = []; |
260 | 260 | foreach ($serverHandles as $oneDbServer) { |
@@ -106,7 +106,6 @@ discard block |
||
106 | 106 | * ["my.server.name"] => "my.server.name" |
107 | 107 | * ["foo.bar.de", "baz.bar.ge"] => "e" |
108 | 108 | * ["server1.example.com", "server2.example.com", "serverN.example.com"] => ".example.com" |
109 | - |
|
110 | 109 | * @return string |
111 | 110 | */ |
112 | 111 | public function longestNameSuffix() { |
@@ -340,7 +339,6 @@ discard block |
||
340 | 339 | * |
341 | 340 | * @param string $format only "der" and "pem" are currently allowed |
342 | 341 | * @return array an array of arrays or empty array on error |
343 | - |
|
344 | 342 | */ |
345 | 343 | final protected function saveCertificateFiles($format) { |
346 | 344 | switch ($format) { |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | */ |
84 | 84 | protected function setSupportedEapMethods($eapArray) { |
85 | 85 | $this->supportedEapMethods = $eapArray; |
86 | - $this->loggerInstance->debug(4, "This device (" . __CLASS__ . ") supports the following EAP methods: "); |
|
86 | + $this->loggerInstance->debug(4, "This device (".__CLASS__.") supports the following EAP methods: "); |
|
87 | 87 | $this->loggerInstance->debug(4, $this->supportedEapMethods); |
88 | 88 | } |
89 | 89 | |
@@ -133,7 +133,7 @@ discard block |
||
133 | 133 | break 2; |
134 | 134 | } |
135 | 135 | } |
136 | - $longestSuffix = $candidate . $longestSuffix; |
|
136 | + $longestSuffix = $candidate.$longestSuffix; |
|
137 | 137 | } |
138 | 138 | return $longestSuffix; |
139 | 139 | } |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | throw new Exception("No EAP type available."); |
170 | 170 | } |
171 | 171 | $this->attributes = $this->getProfileAttributes($profile); |
172 | - $this->deviceUUID = common\Entity::uuid('', 'CAT' . $profile->institution . "-" . $profile->identifier . "-" . $this->device_id); |
|
172 | + $this->deviceUUID = common\Entity::uuid('', 'CAT'.$profile->institution."-".$profile->identifier."-".$this->device_id); |
|
173 | 173 | |
174 | 174 | |
175 | 175 | // if we are instantiating a Silverbullet profile AND have been given |
@@ -193,8 +193,8 @@ discard block |
||
193 | 193 | // create temporary directory, its full path will be saved in $this->FPATH; |
194 | 194 | $tempDir = $this->createTemporaryDirectory($purpose); |
195 | 195 | $this->FPATH = $tempDir['dir']; |
196 | - mkdir($tempDir['dir'] . '/tmp'); |
|
197 | - chdir($tempDir['dir'] . '/tmp'); |
|
196 | + mkdir($tempDir['dir'].'/tmp'); |
|
197 | + chdir($tempDir['dir'].'/tmp'); |
|
198 | 198 | $caList = []; |
199 | 199 | $x509 = new \core\common\X509(); |
200 | 200 | if (isset($this->attributes['eap:ca_file'])) { |
@@ -230,7 +230,7 @@ discard block |
||
230 | 230 | $this->support_url_substitute = sprintf(_("your local %s support page"), CONFIG_CONFASSISTANT['CONSORTIUM']['display_name']); |
231 | 231 | |
232 | 232 | if ($this->signer && $this->options['sign']) { |
233 | - $this->sign = ROOT . '/signer/' . $this->signer; |
|
233 | + $this->sign = ROOT.'/signer/'.$this->signer; |
|
234 | 234 | } |
235 | 235 | $this->installerBasename = $this->getInstallerBasename(); |
236 | 236 | common\Entity::outOfThePotatoes(); |
@@ -286,10 +286,10 @@ discard block |
||
286 | 286 | * @return string|boolean the filename as found, with path, or FALSE if it does not exist |
287 | 287 | */ |
288 | 288 | protected function findSourceFile($file) { |
289 | - if (is_file($this->module_path . '/Files/' . $this->device_id . '/' . $file)) { |
|
290 | - return $this->module_path . '/Files/' . $this->device_id . '/' . $file; |
|
291 | - } elseif (is_file($this->module_path . '/Files/' . $file)) { |
|
292 | - return $this->module_path . '/Files/' . $file; |
|
289 | + if (is_file($this->module_path.'/Files/'.$this->device_id.'/'.$file)) { |
|
290 | + return $this->module_path.'/Files/'.$this->device_id.'/'.$file; |
|
291 | + } elseif (is_file($this->module_path.'/Files/'.$file)) { |
|
292 | + return $this->module_path.'/Files/'.$file; |
|
293 | 293 | } else { |
294 | 294 | $this->loggerInstance->debug(2, "requested file $file does not exist\n"); |
295 | 295 | return FALSE; |
@@ -410,17 +410,17 @@ discard block |
||
410 | 410 | */ |
411 | 411 | private function getInstallerBasename() { |
412 | 412 | |
413 | - $baseName = $this->customTranslit(CONFIG_CONFASSISTANT['CONSORTIUM']['name']) . "-" . $this->getDeviceId(); |
|
413 | + $baseName = $this->customTranslit(CONFIG_CONFASSISTANT['CONSORTIUM']['name'])."-".$this->getDeviceId(); |
|
414 | 414 | if (isset($this->attributes['profile:customsuffix'][1])) { |
415 | 415 | // this string will end up as a filename on a filesystem, so always |
416 | 416 | // take a latin-based language variant if available |
417 | 417 | // and then scrub non-ASCII just in case |
418 | - return $baseName . $this->customTranslit($this->attributes['profile:customsuffix'][1]); |
|
418 | + return $baseName.$this->customTranslit($this->attributes['profile:customsuffix'][1]); |
|
419 | 419 | } |
420 | 420 | // Okay, no custom suffix. |
421 | 421 | // Use the configured inst name and apply shortening heuristics |
422 | 422 | $lang_pointer = CONFIG['LANGUAGES'][$this->languageInstance->getLang()]['latin_based'] == TRUE ? 0 : 1; |
423 | - $this->loggerInstance->debug(5, "getInstallerBasename1:" . $this->attributes['general:instname'][$lang_pointer] . "\n"); |
|
423 | + $this->loggerInstance->debug(5, "getInstallerBasename1:".$this->attributes['general:instname'][$lang_pointer]."\n"); |
|
424 | 424 | $inst = $this->customTranslit($this->attributes['general:instname'][$lang_pointer]); |
425 | 425 | $this->loggerInstance->debug(4, "getInstallerBasename2:$inst\n"); |
426 | 426 | $Inst_a = explode('_', $inst); |
@@ -435,10 +435,10 @@ discard block |
||
435 | 435 | if (!empty($this->attributes['profile:name']) && !empty($this->attributes['profile:name'][$lang_pointer])) { |
436 | 436 | $profTemp = $this->customTranslit($this->attributes['profile:name'][$lang_pointer]); |
437 | 437 | $prof = preg_replace('/_+$/', '', $profTemp); |
438 | - return $baseName . $inst . '-' . $prof; |
|
438 | + return $baseName.$inst.'-'.$prof; |
|
439 | 439 | } |
440 | 440 | } |
441 | - return $baseName . $inst; |
|
441 | + return $baseName.$inst; |
|
442 | 442 | } |
443 | 443 | |
444 | 444 | /** |
@@ -551,7 +551,7 @@ discard block |
||
551 | 551 | $ext = 'unsupported'; |
552 | 552 | } |
553 | 553 | $this->loggerInstance->debug(5, "saveLogoFile: $mime : $ext\n"); |
554 | - $fileName = 'logo-' . $type . $iterator . '.' . $ext; |
|
554 | + $fileName = 'logo-'.$type.$iterator.'.'.$ext; |
|
555 | 555 | $fileHandle = fopen($fileName, "w"); |
556 | 556 | if (!$fileHandle) { |
557 | 557 | $this->loggerInstance->debug(2, "saveLogoFile failed for: $fileName\n"); |
@@ -577,13 +577,13 @@ discard block |
||
577 | 577 | $mime = $finfo->buffer($blob); |
578 | 578 | $ext = isset($this->mime_extensions[$mime]) ? $this->mime_extensions[$mime] : 'usupported'; |
579 | 579 | $this->loggerInstance->debug(5, "saveInfoFile: $mime : $ext\n"); |
580 | - $fileHandle = fopen('local-info.' . $ext, "w"); |
|
580 | + $fileHandle = fopen('local-info.'.$ext, "w"); |
|
581 | 581 | if ($fileHandle === FALSE) { |
582 | 582 | throw new Exception("problem opening the file"); |
583 | 583 | } |
584 | 584 | fwrite($fileHandle, $blob); |
585 | 585 | fclose($fileHandle); |
586 | - return(['name' => 'local-info.' . $ext, 'mime' => $ext]); |
|
586 | + return(['name' => 'local-info.'.$ext, 'mime' => $ext]); |
|
587 | 587 | } |
588 | 588 | |
589 | 589 | /** |
@@ -634,9 +634,9 @@ discard block |
||
634 | 634 | protected function determineOuterIdString() { |
635 | 635 | $outerId = NULL; |
636 | 636 | if (isset($this->attributes['internal:use_anon_outer']) && $this->attributes['internal:use_anon_outer'][0] == "1" && isset($this->attributes['internal:realm'])) { |
637 | - $outerId = "@" . $this->attributes['internal:realm'][0]; |
|
637 | + $outerId = "@".$this->attributes['internal:realm'][0]; |
|
638 | 638 | if (isset($this->attributes['internal:anon_local_value'])) { |
639 | - $outerId = $this->attributes['internal:anon_local_value'][0] . $outerId; |
|
639 | + $outerId = $this->attributes['internal:anon_local_value'][0].$outerId; |
|
640 | 640 | } |
641 | 641 | } |
642 | 642 | return $outerId; |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | |
22 | 22 | namespace core; |
23 | 23 | |
24 | -require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php"; |
|
24 | +require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php"; |
|
25 | 25 | |
26 | 26 | $instMgmt = new \core\UserManagement(); |
27 | 27 | $deco = new \web\lib\admin\PageDecoration(); |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | <?php echo $uiElements->infoblock($user->getAttributes(), "user", "User"); ?> |
52 | 52 | <tr> |
53 | 53 | <td> |
54 | -<?php echo "" . _("Unique Identifier") ?> |
|
54 | +<?php echo ""._("Unique Identifier") ?> |
|
55 | 55 | </td> |
56 | 56 | <td> |
57 | 57 | </td> |
@@ -64,14 +64,14 @@ discard block |
||
64 | 64 | <div> |
65 | 65 | <?php |
66 | 66 | if (CONFIG['DB']['USER']['readonly'] === FALSE) { |
67 | - echo "<a href='edit_user.php'><button>" . _("Edit User Details") . "</button></a>"; |
|
67 | + echo "<a href='edit_user.php'><button>"._("Edit User Details")."</button></a>"; |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | if ($user->isFederationAdmin()) { |
71 | - echo "<form action='overview_federation.php' method='GET' accept-charset='UTF-8'><button type='submit'>" . sprintf(_('Click here for %s management tasks'), $uiElements->nomenclatureFed) . "</button></form>"; |
|
71 | + echo "<form action='overview_federation.php' method='GET' accept-charset='UTF-8'><button type='submit'>".sprintf(_('Click here for %s management tasks'), $uiElements->nomenclatureFed)."</button></form>"; |
|
72 | 72 | } |
73 | 73 | if ($user->isSuperadmin()) { |
74 | - echo "<form action='112365365321.php' method='GET' accept-charset='UTF-8'><button type='submit'>" . _('Click here to access the superadmin page') . "</button></form>"; |
|
74 | + echo "<form action='112365365321.php' method='GET' accept-charset='UTF-8'><button type='submit'>"._('Click here to access the superadmin page')."</button></form>"; |
|
75 | 75 | } |
76 | 76 | ?> |
77 | 77 | </div> |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | if (CONFIG['FUNCTIONALITY_LOCATIONS']['CONFASSISTANT_SILVERBULLET'] == "LOCAL") { |
84 | 84 | $target = "https://wiki.geant.org/x/6Zg7Bw"; // Managed IdP manual |
85 | 85 | } |
86 | - $helptext = "<h3 style='display:inline;'>" . sprintf(_("(Need help? Refer to the <a href='%s'>%s administrator manual</a>)"), $target, $uiElements->nomenclatureInst) . "</h3>"; |
|
86 | + $helptext = "<h3 style='display:inline;'>".sprintf(_("(Need help? Refer to the <a href='%s'>%s administrator manual</a>)"), $target, $uiElements->nomenclatureInst)."</h3>"; |
|
87 | 87 | } else { |
88 | 88 | $helptext = ""; |
89 | 89 | } |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | // we need to run the Federation constructor |
93 | 93 | $cat = new \core\CAT; |
94 | 94 | /// first parameter: number of Identity Providers; second param is the literal configured term for 'Identity Provider' (you may or may not be able to add a plural suffix for your locale) |
95 | - echo "<h2>" . sprintf(ngettext("You are managing the following <span style='display:none'>%d </span>%s:", "You are managing the following <strong>%d</strong> %s:", sizeof($hasInst)), sizeof($hasInst), $uiElements->nomenclatureInst) . "</h2>"; |
|
95 | + echo "<h2>".sprintf(ngettext("You are managing the following <span style='display:none'>%d </span>%s:", "You are managing the following <strong>%d</strong> %s:", sizeof($hasInst)), sizeof($hasInst), $uiElements->nomenclatureInst)."</h2>"; |
|
96 | 96 | $instlist = []; |
97 | 97 | $my_idps = []; |
98 | 98 | $myFeds = []; |
@@ -114,10 +114,10 @@ discard block |
||
114 | 114 | $country[$key] = $row['country']; |
115 | 115 | $name[$key] = $row['name']; |
116 | 116 | } |
117 | - echo "<tr><th>" . sprintf(_("%s Name"), $uiElements->nomenclatureInst) . "</th><th>" . sprintf(_("Other admins of this %s"), $uiElements->nomenclatureInst) . "</th><th>" . ( CONFIG['DB']['INST']['readonly'] === FALSE ? _("Administrator Management") : "") . "</th></tr>"; |
|
117 | + echo "<tr><th>".sprintf(_("%s Name"), $uiElements->nomenclatureInst)."</th><th>".sprintf(_("Other admins of this %s"), $uiElements->nomenclatureInst)."</th><th>".(CONFIG['DB']['INST']['readonly'] === FALSE ? _("Administrator Management") : "")."</th></tr>"; |
|
118 | 118 | foreach ($myFeds as $fed_id => $fed_name) { |
119 | 119 | /// nomenclature 'fed', fed name, nomenclature 'inst' |
120 | - echo "<tr><td colspan='3'><strong>" . sprintf(_("%s %s: %s list"), $uiElements->nomenclatureFed, $fed_name, $uiElements->nomenclatureInst) . "</strong></td></tr>"; |
|
120 | + echo "<tr><td colspan='3'><strong>".sprintf(_("%s %s: %s list"), $uiElements->nomenclatureFed, $fed_name, $uiElements->nomenclatureInst)."</strong></td></tr>"; |
|
121 | 121 | |
122 | 122 | $fed_idps = $my_idps[$fed_id]; |
123 | 123 | asort($fed_idps); |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | $oneinst = $instlist[$index]; |
126 | 126 | $the_inst = $oneinst['object']; |
127 | 127 | |
128 | - echo "<tr><td><a href='overview_idp.php?inst_id=$the_inst->identifier'>" . $oneinst['name'] . "</a></td><td>"; |
|
128 | + echo "<tr><td><a href='overview_idp.php?inst_id=$the_inst->identifier'>".$oneinst['name']."</a></td><td>"; |
|
129 | 129 | echo "<input type='hidden' name='inst' value='$the_inst->identifier'>"; |
130 | 130 | $admins = $the_inst->listOwners(); |
131 | 131 | $blessedUser = FALSE; |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | $coadmin = new \core\User($username['ID']); |
135 | 135 | $coadmin_name = $coadmin->getAttributes('user:realname'); |
136 | 136 | if (count($coadmin_name) > 0) { |
137 | - echo $coadmin_name[0]['value'] . "<br/>"; |
|
137 | + echo $coadmin_name[0]['value']."<br/>"; |
|
138 | 138 | unset($admins[$number]); |
139 | 139 | } |
140 | 140 | } else { // don't list self |
@@ -146,29 +146,29 @@ discard block |
||
146 | 146 | } |
147 | 147 | $otherAdminCount = count($admins); // only the unnamed remain |
148 | 148 | if ($otherAdminCount > 0) { |
149 | - echo sprintf(ngettext("%d other user", "%d other users", $otherAdminCount),$otherAdminCount); |
|
149 | + echo sprintf(ngettext("%d other user", "%d other users", $otherAdminCount), $otherAdminCount); |
|
150 | 150 | } |
151 | 151 | echo "</td><td>"; |
152 | 152 | if ($blessedUser && CONFIG['DB']['INST']['readonly'] === FALSE) { |
153 | - echo "<div style='white-space: nowrap;'><form method='post' action='inc/manageAdmins.inc.php?inst_id=" . $the_inst->identifier . "' onsubmit='popupRedirectWindow(this); return false;' accept-charset='UTF-8'><button type='submit'>" . _("Add/Remove Administrators") . "</button></form></div>"; |
|
153 | + echo "<div style='white-space: nowrap;'><form method='post' action='inc/manageAdmins.inc.php?inst_id=".$the_inst->identifier."' onsubmit='popupRedirectWindow(this); return false;' accept-charset='UTF-8'><button type='submit'>"._("Add/Remove Administrators")."</button></form></div>"; |
|
154 | 154 | } |
155 | 155 | echo "</td></tr>"; |
156 | 156 | } |
157 | 157 | } |
158 | 158 | echo "</table>"; |
159 | 159 | } else { |
160 | - echo "<h2>" . sprintf(_("You are not managing any %s."), $uiElements->nomenclatureInst) . "</h2>"; |
|
160 | + echo "<h2>".sprintf(_("You are not managing any %s."), $uiElements->nomenclatureInst)."</h2>"; |
|
161 | 161 | } |
162 | 162 | if (CONFIG['DB']['INST']['readonly'] === FALSE) { |
163 | 163 | if (CONFIG_CONFASSISTANT['CONSORTIUM']['selfservice_registration'] === NULL) { |
164 | - echo "<p>" . sprintf(_("Please ask your %s administrator to invite you to become an %s administrator."), $uiElements->nomenclatureFed, $uiElements->nomenclatureInst) . "</p>"; |
|
164 | + echo "<p>".sprintf(_("Please ask your %s administrator to invite you to become an %s administrator."), $uiElements->nomenclatureFed, $uiElements->nomenclatureInst)."</p>"; |
|
165 | 165 | echo "<hr/> |
166 | 166 | <div style='white-space: nowrap;'> |
167 | 167 | <form action='action_enrollment.php' method='get' accept-charset='UTF-8'>" . |
168 | - sprintf(_("Did you receive an invitation token to manage an %s? Please paste it here:"), $uiElements->nomenclatureInst) . |
|
168 | + sprintf(_("Did you receive an invitation token to manage an %s? Please paste it here:"), $uiElements->nomenclatureInst). |
|
169 | 169 | " <input type='text' id='token' name='token'/> |
170 | 170 | <button type='submit'>" . |
171 | - _("Go!") . " |
|
171 | + _("Go!")." |
|
172 | 172 | </button> |
173 | 173 | </form> |
174 | 174 | </div>"; |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | <div style='white-space: nowrap;'> |
178 | 178 | <form action='action_enrollment.php' method='get'><button type='submit' accept-charset='UTF-8'> |
179 | 179 | <input type='hidden' id='token' name='token' value='SELF-REGISTER'/>" . |
180 | - sprintf(_("New %s Registration"), $uiElements->nomenclatureInst) . " |
|
180 | + sprintf(_("New %s Registration"), $uiElements->nomenclatureInst)." |
|
181 | 181 | </button> |
182 | 182 | </form> |
183 | 183 | </div>"; |
@@ -20,8 +20,8 @@ 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"; |
|
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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> |