Test Setup Failed
Push — master ( ce5d50...76dac7 )
by Tomasz
09:40
created
web/user/faq.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -50,19 +50,19 @@  discard block
 block discarded – undo
50 50
 
51 51
 array_push($FAQ, [
52 52
     'title' => sprintf(_("Is it safe to use %s installers?"), \config\Master::APPEARANCE['productname']),
53
-    'text' => sprintf(_("%s installers configure security settings on your device, therefore you should be sure that you are using genuine ones."), \config\Master::APPEARANCE['productname']) . ' ' . ( isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("This is why %s installers are digitally signed by %s. Watch out for a system message confirming this."), \config\Master::APPEARANCE['productname'], \config\ConfAssistant::CONSORTIUM['signer_name']) : ""),
53
+    'text' => sprintf(_("%s installers configure security settings on your device, therefore you should be sure that you are using genuine ones."), \config\Master::APPEARANCE['productname']).' '.(isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("This is why %s installers are digitally signed by %s. Watch out for a system message confirming this."), \config\Master::APPEARANCE['productname'], \config\ConfAssistant::CONSORTIUM['signer_name']) : ""),
54 54
 ]);
55 55
 
56 56
 array_push($FAQ, [
57 57
     'title' => _("Windows 'SmartScreen' or 'Internet Explorer' tell me that the file is not commonly downloaded and possibly harmful. Should I be concerned?"),
58
-    'text' => _("Contrary to what the name suggests, 'SmartScreen' isn't actually very smart. The warning merely means that the file has not yet been downloaded by enough users to make Microsoft consider it popular (which would strangely enough make it be considered 'safe'). This message alone is not a security problem.") . " " . (isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("So long as the file is carrying a valid signature from %s, the download is safe."), \config\ConfAssistant::CONSORTIUM['signer_name']) . " " : "") . sprintf(_("Please see also Microsoft's FAQ regarding SmartScreen at %s."), "<a href='http://windows.microsoft.com/en-US/windows7/SmartScreen-Filter-frequently-asked-questions-IE9?SignedIn=1'>Microsoft FAQ</a>")
58
+    'text' => _("Contrary to what the name suggests, 'SmartScreen' isn't actually very smart. The warning merely means that the file has not yet been downloaded by enough users to make Microsoft consider it popular (which would strangely enough make it be considered 'safe'). This message alone is not a security problem.")." ".(isset(\config\ConfAssistant::CONSORTIUM['signer_name']) && \config\ConfAssistant::CONSORTIUM['signer_name'] != "" ? sprintf(_("So long as the file is carrying a valid signature from %s, the download is safe."), \config\ConfAssistant::CONSORTIUM['signer_name'])." " : "").sprintf(_("Please see also Microsoft's FAQ regarding SmartScreen at %s."), "<a href='http://windows.microsoft.com/en-US/windows7/SmartScreen-Filter-frequently-asked-questions-IE9?SignedIn=1'>Microsoft FAQ</a>")
59 59
 ]);
60 60
 
61 61
 if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == NULL) {
62 62
     $text = sprintf(_("There can be a number of different reasons. The network you see may not be a genuine %s one and your device silently drops the connection attempt; there may be something wrong with the configuration of the network; your account may have expired; there may be a connection problem with your home authentication server; you may have broken the regulations of the network you are using and have been refused access as a consequence. You should contact your organisation and report the problem, the administrators should be able to trace your connections."), \config\ConfAssistant::CONSORTIUM['display_name']);
63 63
 } else {
64 64
     if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == 'LOCAL') {
65
-        $diagUrl = \config\Master::PATHS['cat_base_url'] . "diag/";
65
+        $diagUrl = \config\Master::PATHS['cat_base_url']."diag/";
66 66
     } else {
67 67
         $diagUrl = \config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'];
68 68
     }
@@ -99,8 +99,8 @@  discard block
 block discarded – undo
99 99
     $tocText = "";
100 100
     $fullText = "";
101 101
     foreach ($FAQ as $faq) {
102
-        $tocText .= '<a href="#toc' . $counter . '">' . $faq['title'] . "</a><br>\n";
103
-        $fullText .= "<dt><a name=toc$counter>" . $faq['title'] . "</a></dt>\n<dd>" . $faq['text'] . "</dd>\n";
102
+        $tocText .= '<a href="#toc'.$counter.'">'.$faq['title']."</a><br>\n";
103
+        $fullText .= "<dt><a name=toc$counter>".$faq['title']."</a></dt>\n<dd>".$faq['text']."</dd>\n";
104 104
         $counter++;
105 105
     }
106 106
     ?>
Please login to merge, or discard this patch.
core/Options.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -142,17 +142,17 @@  discard block
 block discarded – undo
142 142
         foreach (array_keys($this->typeDb) as $name) {
143 143
             if ($className === 0) {
144 144
                 $tempArray[] = $name;
145
-            } elseif (preg_match('/^' . $className . ':/', $name) > 0) {
145
+            } elseif (preg_match('/^'.$className.':/', $name) > 0) {
146 146
                 $tempArray[] = $name;
147 147
             }
148 148
         }
149 149
         $returnArray = $tempArray;
150 150
         // remove silverbullet-specific options if this deployment is not SB
151 151
         foreach ($tempArray as $key => $val) {
152
-            if (( \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] != 'LOCAL') && (preg_match('/^fed:silverbullet/', $val) > 0)) {
152
+            if ((\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] != 'LOCAL') && (preg_match('/^fed:silverbullet/', $val) > 0)) {
153 153
                 unset($returnArray[$key]);
154 154
             }
155
-            if (( \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] != 'LOCAL') && (preg_match('/^fed:minted_ca_file/', $val) > 0)) {
155
+            if ((\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] != 'LOCAL') && (preg_match('/^fed:minted_ca_file/', $val) > 0)) {
156 156
                 unset($returnArray[$key]);
157 157
             }
158 158
         }
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
         if (isset($this->typeDb[$optionname])) {
173 173
             return $this->typeDb[$optionname];
174 174
         }
175
-        throw new Exception("Metadata about an option was requested, but the option name does not exist in the system: " . htmlentities($optionname));
175
+        throw new Exception("Metadata about an option was requested, but the option name does not exist in the system: ".htmlentities($optionname));
176 176
     }
177 177
 
178 178
     /**
Please login to merge, or discard this patch.
config/_config.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -21,14 +21,14 @@  discard block
 block discarded – undo
21 21
  */
22 22
 
23 23
 require_once "autoloader.php";
24
-require_once __DIR__ . "/../packageRoot.php";
24
+require_once __DIR__."/../packageRoot.php";
25 25
 
26 26
 // enable Composer autoloader, if exists
27
-if (file_exists(__DIR__ . "/../vendor/autoload.php") !== FALSE) {
28
-    include_once __DIR__ . "/../vendor/autoload.php";
27
+if (file_exists(__DIR__."/../vendor/autoload.php") !== FALSE) {
28
+    include_once __DIR__."/../vendor/autoload.php";
29 29
 }
30 30
 
31
-if (!file_exists(ROOT . "/config/Master.php")) {
31
+if (!file_exists(ROOT."/config/Master.php")) {
32 32
     echo "Master configuration file not found. You need to configure the product! At least config/Master.php is required!";
33 33
     throw new Exception("Master config file not found!");
34 34
 }
@@ -36,14 +36,14 @@  discard block
 block discarded – undo
36 36
 /* load sub-configs if we are dealing with those in this installation */
37 37
 
38 38
 if (\config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_SILVERBULLET'] == 'LOCAL' || \config\Master::FUNCTIONALITY_LOCATIONS['CONFASSISTANT_RADIUS'] == 'LOCAL') {
39
-    if (!file_exists(ROOT . "/config/ConfAssistant.php")) {
39
+    if (!file_exists(ROOT."/config/ConfAssistant.php")) {
40 40
         echo "ConfAssistant configuration file not found. You need to configure the product!";
41 41
         throw new Exception("ConfAssistant config file not found!");
42 42
     }
43 43
 }
44 44
 
45 45
 if (\config\Master::FUNCTIONALITY_LOCATIONS['DIAGNOSTICS'] == 'LOCAL') {
46
-    if (!file_exists(ROOT . "/config/Diagnostics.php")) {
46
+    if (!file_exists(ROOT."/config/Diagnostics.php")) {
47 47
         echo "Diagnostics configuration file not found. You need to configure the product!";
48 48
         throw new Exception("Diagnostics config file not found!");
49 49
     }
Please login to merge, or discard this patch.
web/admin/edit_federation_result.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
  * @author Stefan Winter <[email protected]>
26 26
  */
27 27
 
28
-require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php";
28
+require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php";
29 29
 
30 30
 $auth = new \web\lib\admin\Authentication();
31 31
 $deco = new \web\lib\admin\PageDecoration();
@@ -46,18 +46,18 @@  discard block
 block discarded – undo
46 46
 
47 47
 if ($submitGiven == web\lib\common\FormElements::BUTTON_SAVE) { // here we go
48 48
     $fed_name = $my_fed->name;
49
-    echo "<h1>" . sprintf(_("Submitted attributes for %s '%s'"), $uiElements->nomenclatureFed, $fed_name) . "</h1>";
49
+    echo "<h1>".sprintf(_("Submitted attributes for %s '%s'"), $uiElements->nomenclatureFed, $fed_name)."</h1>";
50 50
     echo "<table>";
51 51
     echo $optionParser->processSubmittedFields($my_fed, $_POST, $_FILES);
52 52
     echo "</table>";
53 53
 
54 54
     $loggerInstance = new \core\common\Logging();
55
-    $loggerInstance->writeAudit($_SESSION['user'], "MOD", "FED " . $my_fed->name . " - attributes changed");
55
+    $loggerInstance->writeAudit($_SESSION['user'], "MOD", "FED ".$my_fed->name." - attributes changed");
56 56
 
57 57
     // re-instantiate ourselves... profiles need fresh data
58 58
 
59 59
     $my_fed = $validator->existingFederation($_GET['fed_id'], $_SESSION['user']);
60 60
 
61
-    echo "<br/><form method='post' action='overview_federation.php' accept-charset='UTF-8'><button type='submit'>" . _("Continue to dashboard") . "</button></form>";
61
+    echo "<br/><form method='post' action='overview_federation.php' accept-charset='UTF-8'><button type='submit'>"._("Continue to dashboard")."</button></form>";
62 62
 }
63 63
 echo $deco->footer();
Please login to merge, or discard this patch.
utils/installTranslations.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@
 block discarded – undo
8 8
  * License: see the web/copyright.php file in the file structure
9 9
  * ******************************************************************************
10 10
  */
11
-require_once dirname(dirname(__FILE__)) . "/config/_config.php";
11
+require_once dirname(dirname(__FILE__))."/config/_config.php";
12 12
 
13 13
 const AREAS = ["web_admin", "web_user", "devices", "core", "diagnostics"];
14 14
 foreach (\config\Master::LANGUAGES as $lang => $details) {
Please login to merge, or discard this patch.
web/lib/admin/API.php 2 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -607,8 +607,7 @@
 block discarded – undo
607 607
         $output = json_encode(["result" => "SUCCESS", "details" => $details], JSON_PRETTY_PRINT);
608 608
         if ($output === FALSE) {
609 609
             $this->returnError(API::ERROR_INTERNAL_ERROR, "Unable to JSON encode return data: ". json_last_error(). " - ". json_last_error_msg());
610
-        }
611
-        else {
610
+        } else {
612 611
             echo $output;
613 612
         }
614 613
     }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
     const ACTIONS = [
254 254
         // Inst-level actions.
255 255
         API::ACTION_NEWINST_BY_REF => [
256
-            "REQ" => [API::AUXATTRIB_EXTERNALID,],
256
+            "REQ" => [API::AUXATTRIB_EXTERNALID, ],
257 257
             "OPT" => [
258 258
                 'general:geo_coordinates',
259 259
                 'general:logo_file',
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
             "FLAG" => [],
271 271
         ],
272 272
         API::ACTION_NEWINST => [
273
-            "REQ" => [API::AUXATTRIB_INSTTYPE,], // "IdP", "SP" or "IdPSP"
273
+            "REQ" => [API::AUXATTRIB_INSTTYPE, ], // "IdP", "SP" or "IdPSP"
274 274
             "OPT" => [
275 275
                 'general:instname',
276 276
                 'general:geo_coordinates',
@@ -489,12 +489,12 @@  discard block
 block discarded – undo
489 489
     public function scrub($inputJson, $fedObject) {        
490 490
         $optionInstance = \core\Options::instance();
491 491
         $parameters = [];
492
-        $allPossibleAttribs = array_merge(API::ACTIONS[$inputJson['ACTION']]['REQ'], API::ACTIONS[$inputJson['ACTION']]['OPT'],  API::ACTIONS[$inputJson['ACTION']]['FLAG']);
492
+        $allPossibleAttribs = array_merge(API::ACTIONS[$inputJson['ACTION']]['REQ'], API::ACTIONS[$inputJson['ACTION']]['OPT'], API::ACTIONS[$inputJson['ACTION']]['FLAG']);
493 493
         // some actions don't need parameters. Don't get excited when there aren't any.
494 494
         if (!isset($inputJson['PARAMETERS'])) {
495 495
             return [];
496 496
         }
497
-        \core\common\Logging::debug_s(4, $inputJson['PARAMETERS'], "JSON:\n","\n");
497
+        \core\common\Logging::debug_s(4, $inputJson['PARAMETERS'], "JSON:\n", "\n");
498 498
         foreach ($inputJson['PARAMETERS'] as $number => $oneIncomingParam) {
499 499
             // index has to be an integer
500 500
             if (!is_int($number)) {
@@ -543,7 +543,7 @@  discard block
 block discarded – undo
543 543
                         break;
544 544
                 }   
545 545
             } elseif (preg_match("/^FLAG-/", $oneIncomingParam['NAME'])) {
546
-                if ($oneIncomingParam['VALUE'] != "TRUE" && $oneIncomingParam['VALUE'] != "FALSE" ) {
546
+                if ($oneIncomingParam['VALUE'] != "TRUE" && $oneIncomingParam['VALUE'] != "FALSE") {
547 547
                     // incorrect FLAG value
548 548
                     $parameters[$number] = array_merge($oneIncomingParam, ['VERFY_RESULT'=>false, 'VERIFY_DESC'=>"Incorrect FLAG value"]);
549 549
                     continue;
@@ -603,8 +603,8 @@  discard block
 block discarded – undo
603 603
 
604 604
                 case \core\Options::TYPECODE_COORDINATES:
605 605
                     $extension = \core\Options::TYPECODE_TEXT;
606
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
607
-                    $coercedInline["value"][$basename . "-" . $extension] = $oneAttrib['VALUE'];
606
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
607
+                    $coercedInline["value"][$basename."-".$extension] = $oneAttrib['VALUE'];
608 608
                     break;
609 609
                 case \core\Options::TYPECODE_TEXT:
610 610
                 // Fall-through: they all get the same treatment.
@@ -614,18 +614,18 @@  discard block
 block discarded – undo
614 614
                 // Fall-through: they all get the same treatment.
615 615
                 case \core\Options::TYPECODE_INTEGER:
616 616
                     $extension = $optionInfo['type'];
617
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
618
-                    $coercedInline["value"][$basename . "-" . $extension] = $oneAttrib['VALUE'];
617
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
618
+                    $coercedInline["value"][$basename."-".$extension] = $oneAttrib['VALUE'];
619 619
                     if ($optionInfo['flag'] == "ML") {
620
-                        $coercedInline["value"][$basename . "-lang"] = $oneAttrib['LANG'];
620
+                        $coercedInline["value"][$basename."-lang"] = $oneAttrib['LANG'];
621 621
                     }
622 622
                     break;
623 623
                 case \core\Options::TYPECODE_FILE:
624 624
                     // Binary data is expected in base64 encoding. This is true also for PEM files!
625 625
                     $extension = $optionInfo['type'];
626
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
627
-                    file_put_contents($dir['dir'] . "/" . $basename . "-" . $extension, base64_decode($oneAttrib['VALUE']));
628
-                    $coercedFile["value"]['tmp_name'][$basename . "-" . $extension] = $dir['dir'] . "/" . $basename . "-" . $extension;
626
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
627
+                    file_put_contents($dir['dir']."/".$basename."-".$extension, base64_decode($oneAttrib['VALUE']));
628
+                    $coercedFile["value"]['tmp_name'][$basename."-".$extension] = $dir['dir']."/".$basename."-".$extension;
629 629
                     break;
630 630
                 default:
631 631
                     throw new Exception("We don't seem to know this type code!");
@@ -654,7 +654,7 @@  discard block
 block discarded – undo
654 654
     public function returnSuccess($details) {
655 655
         $output = json_encode(["result" => "SUCCESS", "details" => $details], JSON_PRETTY_PRINT);
656 656
         if ($output === FALSE) {
657
-            $this->returnError(API::ERROR_INTERNAL_ERROR, "Unable to JSON encode return data: ". json_last_error(). " - ". json_last_error_msg());
657
+            $this->returnError(API::ERROR_INTERNAL_ERROR, "Unable to JSON encode return data: ".json_last_error()." - ".json_last_error_msg());
658 658
         }
659 659
         else {
660 660
             echo $output;
Please login to merge, or discard this patch.
web/admin/112365365321.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  *          <base_url>/copyright.php after deploying the software
20 20
  */
21 21
 
22
-require_once dirname(dirname(__DIR__)) . '/config/_config.php';
22
+require_once dirname(dirname(__DIR__)).'/config/_config.php';
23 23
 
24 24
 $uiElements = new web\lib\admin\UIElements();
25 25
 
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
                         // filesystem cleanup
76 76
                     case web\lib\common\FormElements::BUTTON_DELETE:
77 77
                         $i = web\lib\admin\Maintenance::deleteObsoleteTempDirs();
78
-                        echo "<div class='ca-summary'><table>" . $uiElements->boxRemark(sprintf("Deleted %d cache directories.", $i), "Cache deleted") . "</table></div>";
78
+                        echo "<div class='ca-summary'><table>".$uiElements->boxRemark(sprintf("Deleted %d cache directories.", $i), "Cache deleted")."</table></div>";
79 79
                         break;
80 80
                     default:
81 81
                         break;
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
                     $admin_query = $dbHandle->exec("SELECT SUM(downloads_admin) AS admin, SUM(downloads_user) AS user, SUM(downloads_silverbullet) as silverbullet FROM downloads WHERE device_id = '$index'");
142 142
                     // SELECT -> mysqli_result, not boolean
143 143
                     while ($a = mysqli_fetch_object(/** @scrutinizer ignore-type */ $admin_query)) {
144
-                        echo "<td>" . $device_array['display'] . "</td><td>" . $a->admin . "</td><td>" . $a->user . "</td><td>" . $a->silverbullet . "</td><td>" . sprintf("%s", $a->user + $a->silverbullet) . "</td>";
144
+                        echo "<td>".$device_array['display']."</td><td>".$a->admin."</td><td>".$a->user."</td><td>".$a->silverbullet."</td><td>".sprintf("%s", $a->user + $a->silverbullet)."</td>";
145 145
                         $gross_admin = $gross_admin + $a->admin;
146 146
                         $gross_user = $gross_user + $a->user;
147 147
                         $gross_silverbullet = $gross_silverbullet + $a->silverbullet;
Please login to merge, or discard this patch.
utils/SP_consistency_check.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1,10 +1,10 @@
 block discarded – undo
1 1
 <?php
2 2
 require_once dirname(dirname(__FILE__)) . "/config/_config.php";
3 3
 /**
4
-    * check if URL responds with 200
5
-    *
6
-    * @param string $srv server name
7
-    * @return integer or NULL
4
+ * check if URL responds with 200
5
+ *
6
+ * @param string $srv server name
7
+ * @return integer or NULL
8 8
 */
9 9
 function checkConfigRADIUSDaemon ($srv) {
10 10
     $ch = curl_init();
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -1,22 +1,22 @@  discard block
 block discarded – undo
1 1
 <?php
2
-require_once dirname(dirname(__FILE__)) . "/config/_config.php";
2
+require_once dirname(dirname(__FILE__))."/config/_config.php";
3 3
 /**
4 4
     * check if URL responds with 200
5 5
     *
6 6
     * @param string $srv server name
7 7
     * @return integer or NULL
8 8
 */
9
-function checkConfigRADIUSDaemon ($srv) {
9
+function checkConfigRADIUSDaemon($srv) {
10 10
     $ch = curl_init();
11 11
     if ($ch === FALSE) {
12 12
         return NULL;
13 13
     }
14 14
     $timeout = 10;
15
-    curl_setopt ( $ch, CURLOPT_URL, $srv );
16
-    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
17
-    curl_setopt ( $ch, CURLOPT_TIMEOUT, $timeout );
15
+    curl_setopt($ch, CURLOPT_URL, $srv);
16
+    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
17
+    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
18 18
     curl_exec($ch);
19
-    $http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
19
+    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
20 20
     curl_close($ch);
21 21
     if ($http_code == 200) {
22 22
         return 1;
@@ -53,8 +53,8 @@  discard block
 block discarded – undo
53 53
 }
54 54
 $siteStatus = array();
55 55
 foreach (array_keys($brokenDeployments) as $server_id) {
56
-    print "check $server_id " . $radiusSite[$server_id] . "\n";
57
-    $siteStatus[$server_id]  = checkConfigRADIUSDaemon('http://' . $radiusSite[$server_id]);
56
+    print "check $server_id ".$radiusSite[$server_id]."\n";
57
+    $siteStatus[$server_id] = checkConfigRADIUSDaemon('http://'.$radiusSite[$server_id]);
58 58
     if ($siteStatus[$server_id]) {
59 59
         echo "\ncheck radius\n";
60 60
         echo \config\Diagnostics::RADIUSSPTEST['port']."\n";
Please login to merge, or discard this patch.
web/admin/API.php 3 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -417,7 +417,7 @@
 block discarded – undo
417 417
         $userId = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
418 418
         $userName = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME);
419 419
         $certSerial = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
420
-		$certCN = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTCN);
420
+        $certCN = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTCN);
421 421
         if ($userId === FALSE && $userName === FALSE && $certSerial === FALSE && $certCN === FALSE) {
422 422
             // we need at least one of those
423 423
             $adminApi->returnError(\web\lib\admin\API::ERROR_MISSING_PARAMETER, "At least one of User ID, Username, certificate serial, or certificate CN is required.");
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  *          <base_url>/copyright.php after deploying the software
21 21
  */
22 22
 
23
-require_once dirname(dirname(dirname(__FILE__))) . "/config/_config.php";
23
+require_once dirname(dirname(dirname(__FILE__)))."/config/_config.php";
24 24
 
25 25
 // no SAML auth on this page. The API key authenticates the entity
26 26
 
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
 
39 39
 $inputDecoded = json_decode($inputRaw, TRUE);
40 40
 if (!is_array($inputDecoded)) {
41
-    $adminApi->returnError(web\lib\admin\API::ERROR_MALFORMED_REQUEST, "Unable to decode JSON POST data." . json_last_error_msg() . $inputRaw);
41
+    $adminApi->returnError(web\lib\admin\API::ERROR_MALFORMED_REQUEST, "Unable to decode JSON POST data.".json_last_error_msg().$inputRaw);
42 42
     exit(1);
43 43
 }
44 44
 
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
             throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
133 133
         }
134 134
         $newtokens = $mgmt->createTokens(true, [$admin], $idp);
135
-        $URL = "https://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . "/action_enrollment.php?token=" . array_keys($newtokens)[0];
135
+        $URL = "https://".$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME'])."/action_enrollment.php?token=".array_keys($newtokens)[0];
136 136
         $success = ["TOKEN URL" => $URL, "TOKEN" => array_keys($newtokens)[0]];
137 137
         // done with the essentials - display in response. But if we also have an email address, send it there
138 138
         $email = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TARGETMAIL);
@@ -169,7 +169,7 @@  discard block
 block discarded – undo
169 169
         if ($found) {
170 170
             $adminApi->returnSuccess([]);
171 171
         }
172
-        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP " . $idp->identifier);
172
+        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP ".$idp->identifier);
173 173
         break;
174 174
     case web\lib\admin\API::ACTION_STATISTICS_FED:
175 175
         $detail = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_DETAIL);
@@ -281,10 +281,10 @@  discard block
 block discarded – undo
281 281
                 $outer = "";
282 282
                 $profile->setAnonymousIDSupport(FALSE);
283 283
             } else {
284
-                $outer = $outer . "@";
284
+                $outer = $outer."@";
285 285
                 $profile->setAnonymousIDSupport(TRUE);
286 286
             }
287
-            $profile->setRealm($outer . $realm);
287
+            $profile->setRealm($outer.$realm);
288 288
         }
289 289
         /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
290 290
         $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
@@ -531,7 +531,7 @@  discard block
 block discarded – undo
531 531
         // extract relevant subset of information from cert objects
532 532
         $certDetails = [];
533 533
         foreach ($certs as $cert) {
534
-            $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
534
+            $certDetails[$cert->ca_type.":".$cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
535 535
         }
536 536
         $adminApi->returnSuccess($certDetails);
537 537
         break;
Please login to merge, or discard this patch.
Switch Indentation   +406 added lines, -406 removed lines patch added patch discarded remove patch
@@ -91,142 +91,142 @@  discard block
 block discarded – undo
91 91
 
92 92
 
93 93
 switch ($inputDecoded['ACTION']) {
94
-    case web\lib\admin\API::ACTION_NEWINST:
95
-        // create the inst, no admin, no attributes
96
-        $typeRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_INSTTYPE);
97
-        if ($typeRaw === FALSE) {
98
-            throw new Exception("We did not receive a valid participant type!");
99
-        }
100
-        $type = $validator->partType($typeRaw);
101
-        $idp = new \core\IdP($fed->newIdP('TOKEN', $type, "PENDING", "API"));
102
-        // now add all submitted attributes
103
-        $inputs = $adminApi->uglify($scrubbedParameters);
104
-        $optionParser->processSubmittedFields($idp, $inputs["POST"], $inputs["FILES"]);
105
-        $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_CAT_INST_ID => $idp->identifier]);
106
-        break;
107
-    case web\lib\admin\API::ACTION_DELINST:
108
-        try {
109
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
110
-        } catch (Exception $e) {
111
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
112
-            exit(1);
113
-        }
114
-        $idp->destroy();
115
-        $adminApi->returnSuccess([]);
116
-        break;
117
-    case web\lib\admin\API::ACTION_ADMIN_LIST:
118
-        try {
119
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
120
-        } catch (Exception $e) {
121
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
122
-            exit(1);
123
-        }
124
-        $adminApi->returnSuccess($idp->listOwners());
125
-        break;
126
-    case web\lib\admin\API::ACTION_ADMIN_ADD:
127
-        // IdP in question
128
-        try {
129
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
130
-        } catch (Exception $e) {
131
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
132
-            exit(1);
133
-        }
134
-        // here is the token
135
-        $mgmt = new core\UserManagement();
136
-        // we know we have an admin ID but scrutinizer wants this checked more explicitly
137
-        $admin = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
138
-        if ($admin === FALSE) {
139
-            throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
140
-        }
141
-        $newtokens = $mgmt->createTokens(true, [$admin], $idp);
142
-        $URL = "https://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . "/action_enrollment.php?token=" . array_keys($newtokens)[0];
143
-        $success = ["TOKEN URL" => $URL, "TOKEN" => array_keys($newtokens)[0]];
144
-        // done with the essentials - display in response. But if we also have an email address, send it there
145
-        $email = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TARGETMAIL);
146
-        if ($email !== FALSE) {
147
-            $sent = \core\common\OutsideComm::adminInvitationMail($email, "EXISTING-FED", array_keys($newtokens)[0], $idp->name, $fed, $idp->type);
148
-            $success["EMAIL SENT"] = $sent["SENT"];
149
-            if ($sent["SENT"] === TRUE) {
150
-                $success["EMAIL TRANSPORT SECURE"] = $sent["TRANSPORT"];
94
+        case web\lib\admin\API::ACTION_NEWINST:
95
+            // create the inst, no admin, no attributes
96
+            $typeRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_INSTTYPE);
97
+            if ($typeRaw === FALSE) {
98
+                throw new Exception("We did not receive a valid participant type!");
151 99
             }
152
-        }
153
-        $adminApi->returnSuccess($success);
154
-        break;
155
-    case web\lib\admin\API::ACTION_ADMIN_DEL:
156
-        // IdP in question
157
-        try {
158
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
159
-        } catch (Exception $e) {
160
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
161
-            exit(1);
162
-        }
163
-        $currentAdmins = $idp->listOwners();
164
-        $toBeDeleted = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
165
-        if ($toBeDeleted === FALSE) {
166
-            throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
167
-        }
168
-        $found = FALSE;
169
-        foreach ($currentAdmins as $oneAdmin) {
170
-            if ($oneAdmin['MAIL'] == $toBeDeleted) {
171
-                $found = TRUE;
172
-                $mgmt = new core\UserManagement();
173
-                $mgmt->removeAdminFromIdP($idp, $oneAdmin['ID']);
100
+            $type = $validator->partType($typeRaw);
101
+            $idp = new \core\IdP($fed->newIdP('TOKEN', $type, "PENDING", "API"));
102
+            // now add all submitted attributes
103
+            $inputs = $adminApi->uglify($scrubbedParameters);
104
+            $optionParser->processSubmittedFields($idp, $inputs["POST"], $inputs["FILES"]);
105
+            $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_CAT_INST_ID => $idp->identifier]);
106
+            break;
107
+        case web\lib\admin\API::ACTION_DELINST:
108
+            try {
109
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
110
+            } catch (Exception $e) {
111
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
112
+                exit(1);
174 113
             }
175
-        }
176
-        if ($found) {
114
+            $idp->destroy();
177 115
             $adminApi->returnSuccess([]);
178
-        }
179
-        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP " . $idp->identifier);
180
-        break;
181
-    case web\lib\admin\API::ACTION_STATISTICS_FED:
182
-        $detail = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_DETAIL);
183
-        $adminApi->returnSuccess($fed->downloadStats("array", $detail));
184
-        break;
185
-    case \web\lib\admin\API::ACTION_FEDERATION_LISTIDP:
186
-        $retArray = [];
187
-        $noLogo = null;
188
-        $idpIdentifier = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID);
189
-        $logoFlag = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::FLAG_NOLOGO);
190
-        $detail = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_DETAIL);
191
-        if ($logoFlag === "TRUE") {
192
-            $noLogo = 'general:logo_file';
193
-        }
194
-        if ($idpIdentifier === FALSE) {
195
-            $allIdPs = $fed->listIdentityProviders(0);
196
-            foreach ($allIdPs as $instanceId => $oneIdP) {
197
-                $theIdP = $oneIdP["instance"];
198
-                $retArray[$instanceId] = $theIdP->getAttributes(null, $noLogo);
116
+            break;
117
+        case web\lib\admin\API::ACTION_ADMIN_LIST:
118
+            try {
119
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
120
+            } catch (Exception $e) {
121
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
122
+                exit(1);
199 123
             }
200
-        } else {
124
+            $adminApi->returnSuccess($idp->listOwners());
125
+            break;
126
+        case web\lib\admin\API::ACTION_ADMIN_ADD:
127
+            // IdP in question
201 128
             try {
202
-                $thisIdP = $validator->existingIdP($idpIdentifier, NULL, $fed);
129
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
203 130
             } catch (Exception $e) {
204 131
                 $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
205 132
                 exit(1);
206 133
             }
207
-            $retArray[$idpIdentifier] = $thisIdP->getAttributes(null, $noLogo);
208
-            foreach ($thisIdP->listProfiles() as $oneProfile) {
209
-                $retArray[$idpIdentifier]["PROFILES"][$oneProfile->identifier] = $oneProfile->getAttributes(null, $noLogo);
134
+            // here is the token
135
+            $mgmt = new core\UserManagement();
136
+            // we know we have an admin ID but scrutinizer wants this checked more explicitly
137
+            $admin = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
138
+            if ($admin === FALSE) {
139
+                throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
210 140
             }
211
-        }
212
-        foreach ($retArray as $instNumber => $oneInstData) {
213
-            foreach ($oneInstData as $attribNumber => $oneAttrib) {
214
-                if ($oneAttrib['name'] == "general:logo_file") {
215
-                    // JSON doesn't cope well with raw binary data, so b64 it
216
-                    $retArray[$instNumber][$attribNumber]['value'] = base64_encode($oneAttrib['value']);
141
+            $newtokens = $mgmt->createTokens(true, [$admin], $idp);
142
+            $URL = "https://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['SCRIPT_NAME']) . "/action_enrollment.php?token=" . array_keys($newtokens)[0];
143
+            $success = ["TOKEN URL" => $URL, "TOKEN" => array_keys($newtokens)[0]];
144
+            // done with the essentials - display in response. But if we also have an email address, send it there
145
+            $email = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TARGETMAIL);
146
+            if ($email !== FALSE) {
147
+                $sent = \core\common\OutsideComm::adminInvitationMail($email, "EXISTING-FED", array_keys($newtokens)[0], $idp->name, $fed, $idp->type);
148
+                $success["EMAIL SENT"] = $sent["SENT"];
149
+                if ($sent["SENT"] === TRUE) {
150
+                    $success["EMAIL TRANSPORT SECURE"] = $sent["TRANSPORT"];
151
+                }
152
+            }
153
+            $adminApi->returnSuccess($success);
154
+            break;
155
+        case web\lib\admin\API::ACTION_ADMIN_DEL:
156
+            // IdP in question
157
+            try {
158
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
159
+            } catch (Exception $e) {
160
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
161
+                exit(1);
162
+            }
163
+            $currentAdmins = $idp->listOwners();
164
+            $toBeDeleted = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
165
+            if ($toBeDeleted === FALSE) {
166
+                throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
167
+            }
168
+            $found = FALSE;
169
+            foreach ($currentAdmins as $oneAdmin) {
170
+                if ($oneAdmin['MAIL'] == $toBeDeleted) {
171
+                    $found = TRUE;
172
+                    $mgmt = new core\UserManagement();
173
+                    $mgmt->removeAdminFromIdP($idp, $oneAdmin['ID']);
174
+                }
175
+            }
176
+            if ($found) {
177
+                $adminApi->returnSuccess([]);
178
+            }
179
+            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP " . $idp->identifier);
180
+            break;
181
+        case web\lib\admin\API::ACTION_STATISTICS_FED:
182
+            $detail = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_DETAIL);
183
+            $adminApi->returnSuccess($fed->downloadStats("array", $detail));
184
+            break;
185
+        case \web\lib\admin\API::ACTION_FEDERATION_LISTIDP:
186
+            $retArray = [];
187
+            $noLogo = null;
188
+            $idpIdentifier = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID);
189
+            $logoFlag = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::FLAG_NOLOGO);
190
+            $detail = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_DETAIL);
191
+            if ($logoFlag === "TRUE") {
192
+                $noLogo = 'general:logo_file';
193
+            }
194
+            if ($idpIdentifier === FALSE) {
195
+                $allIdPs = $fed->listIdentityProviders(0);
196
+                foreach ($allIdPs as $instanceId => $oneIdP) {
197
+                    $theIdP = $oneIdP["instance"];
198
+                    $retArray[$instanceId] = $theIdP->getAttributes(null, $noLogo);
217 199
                 }
218
-                if ($attribNumber == "PROFILES") {
219
-                    // scan for included fed:logo_file and b64 escape it, t2oo
220
-                    foreach ($oneAttrib as $profileNumber => $profileContent) {
221
-                            foreach ($profileContent as $oneProfileIterator => $oneProfileContent) {
222
-                                    if ($oneProfileContent['name'] == "fed:logo_file" || $oneProfileContent['name'] == "general:logo_file" || $oneProfileContent['name'] == "eap:ca_file") {
223
-                                            $retArray[$instNumber]["PROFILES"][$profileNumber][$oneProfileIterator]['value'] = base64_encode($oneProfileContent['value']);
224
-                                    }
225
-                            }
200
+            } else {
201
+                try {
202
+                    $thisIdP = $validator->existingIdP($idpIdentifier, NULL, $fed);
203
+                } catch (Exception $e) {
204
+                    $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
205
+                    exit(1);
206
+                }
207
+                $retArray[$idpIdentifier] = $thisIdP->getAttributes(null, $noLogo);
208
+                foreach ($thisIdP->listProfiles() as $oneProfile) {
209
+                    $retArray[$idpIdentifier]["PROFILES"][$oneProfile->identifier] = $oneProfile->getAttributes(null, $noLogo);
210
+                }
211
+            }
212
+            foreach ($retArray as $instNumber => $oneInstData) {
213
+                foreach ($oneInstData as $attribNumber => $oneAttrib) {
214
+                    if ($oneAttrib['name'] == "general:logo_file") {
215
+                        // JSON doesn't cope well with raw binary data, so b64 it
216
+                        $retArray[$instNumber][$attribNumber]['value'] = base64_encode($oneAttrib['value']);
217
+                    }
218
+                    if ($attribNumber == "PROFILES") {
219
+                        // scan for included fed:logo_file and b64 escape it, t2oo
220
+                        foreach ($oneAttrib as $profileNumber => $profileContent) {
221
+                                foreach ($profileContent as $oneProfileIterator => $oneProfileContent) {
222
+                                        if ($oneProfileContent['name'] == "fed:logo_file" || $oneProfileContent['name'] == "general:logo_file" || $oneProfileContent['name'] == "eap:ca_file") {
223
+                                                $retArray[$instNumber]["PROFILES"][$profileNumber][$oneProfileIterator]['value'] = base64_encode($oneProfileContent['value']);
224
+                                        }
225
+                                }
226
+                        }
226 227
                     }
227 228
                 }
228 229
             }
229
-        }
230 230
         
231 231
 /*        
232 232
                     $retArray[$idpIdentifier] = [];
@@ -237,102 +237,102 @@  discard block
 block discarded – undo
237 237
  * 
238 238
  */        
239 239
         
240
-        $adminApi->returnSuccess($retArray);
241
-        break;
242
-    case \web\lib\admin\API::ACTION_NEWPROF_RADIUS:
243
-    // fall-through intended: both get mostly identical treatment
244
-    case web\lib\admin\API::ACTION_NEWPROF_SB:
245
-        try {
246
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
247
-        } catch (Exception $e) {
248
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
249
-            exit(1);
250
-        }
251
-        if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_RADIUS) {
252
-            $type = "RADIUS";
253
-        } else {
254
-            $type = "SILVERBULLET";
255
-        }
256
-        $profile = $idp->newProfile($type);
257
-        if ($profile === NULL) {
258
-            $adminApi->returnError(\web\lib\admin\API::ERROR_INTERNAL_ERROR, "Unable to create a new Profile, for no apparent reason. Please contact support.");
259
-            exit(1);
260
-        }
261
-        $inputs = $adminApi->uglify($scrubbedParameters);
262
-        $optionParser->processSubmittedFields($profile, $inputs["POST"], $inputs["FILES"]);
263
-        if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_SB) {
264
-            // auto-accept ToU?
265
-            if ($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_TOU) !== FALSE) {
266
-                $profile->addAttribute("hiddenprofile:tou_accepted", NULL, 1);
267
-            }
268
-            // we're done at this point
269
-            $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profile->identifier]);
240
+            $adminApi->returnSuccess($retArray);
270 241
             break;
271
-        }
272
-        if (!$profile instanceof core\ProfileRADIUS) {
273
-            throw new Exception("Can't be. This is only here to convince Scrutinizer that we're really talking RADIUS.");
274
-        }
275
-        /* const AUXATTRIB_PROFILE_REALM = 'ATTRIB-PROFILE-REALM';
276
-          const AUXATTRIB_PROFILE_OUTERVALUE = 'ATTRIB-PROFILE-OUTERVALUE'; */
277
-        $realm = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_REALM);
278
-        $outer = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_OUTERVALUE);
279
-        if ($realm !== FALSE) {
280
-            if ($outer === FALSE) {
281
-                $outer = "";
282
-                $profile->setAnonymousIDSupport(FALSE);
242
+        case \web\lib\admin\API::ACTION_NEWPROF_RADIUS:
243
+        // fall-through intended: both get mostly identical treatment
244
+        case web\lib\admin\API::ACTION_NEWPROF_SB:
245
+            try {
246
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID), NULL, $fed);
247
+            } catch (Exception $e) {
248
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
249
+                exit(1);
250
+            }
251
+            if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_RADIUS) {
252
+                $type = "RADIUS";
283 253
             } else {
284
-                $outer = $outer . "@";
285
-                $profile->setAnonymousIDSupport(TRUE);
254
+                $type = "SILVERBULLET";
286 255
             }
287
-            $profile->setRealm($outer . $realm);
288
-        }
289
-        /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
290
-        $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
291
-        if ($testuser !== FALSE) {
292
-            $profile->setRealmCheckUser(TRUE, $testuser);
293
-        }
294
-        /* const AUXATTRIB_PROFILE_INPUT_HINT = 'ATTRIB-PROFILE-HINTREALM';
256
+            $profile = $idp->newProfile($type);
257
+            if ($profile === NULL) {
258
+                $adminApi->returnError(\web\lib\admin\API::ERROR_INTERNAL_ERROR, "Unable to create a new Profile, for no apparent reason. Please contact support.");
259
+                exit(1);
260
+            }
261
+            $inputs = $adminApi->uglify($scrubbedParameters);
262
+            $optionParser->processSubmittedFields($profile, $inputs["POST"], $inputs["FILES"]);
263
+            if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_SB) {
264
+                // auto-accept ToU?
265
+                if ($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_TOU) !== FALSE) {
266
+                    $profile->addAttribute("hiddenprofile:tou_accepted", NULL, 1);
267
+                }
268
+                // we're done at this point
269
+                $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profile->identifier]);
270
+                break;
271
+            }
272
+            if (!$profile instanceof core\ProfileRADIUS) {
273
+                throw new Exception("Can't be. This is only here to convince Scrutinizer that we're really talking RADIUS.");
274
+            }
275
+            /* const AUXATTRIB_PROFILE_REALM = 'ATTRIB-PROFILE-REALM';
276
+          const AUXATTRIB_PROFILE_OUTERVALUE = 'ATTRIB-PROFILE-OUTERVALUE'; */
277
+            $realm = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_REALM);
278
+            $outer = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_OUTERVALUE);
279
+            if ($realm !== FALSE) {
280
+                if ($outer === FALSE) {
281
+                    $outer = "";
282
+                    $profile->setAnonymousIDSupport(FALSE);
283
+                } else {
284
+                    $outer = $outer . "@";
285
+                    $profile->setAnonymousIDSupport(TRUE);
286
+                }
287
+                $profile->setRealm($outer . $realm);
288
+            }
289
+            /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
290
+            $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
291
+            if ($testuser !== FALSE) {
292
+                $profile->setRealmCheckUser(TRUE, $testuser);
293
+            }
294
+            /* const AUXATTRIB_PROFILE_INPUT_HINT = 'ATTRIB-PROFILE-HINTREALM';
295 295
           const AUXATTRIB_PROFILE_INPUT_VERIFY = 'ATTRIB-PROFILE-VERIFYREALM'; */
296
-        $hint = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_HINT);
297
-        $enforce = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_VERIFY);
298
-        if ($enforce !== FALSE) {
299
-            $profile->setInputVerificationPreference($enforce, $hint);
300
-        }
301
-        /* const AUXATTRIB_PROFILE_EAPTYPE */
302
-        $iterator = 1;
303
-        foreach ($scrubbedParameters as $oneParam) {
304
-            if ($oneParam['NAME'] == web\lib\admin\API::AUXATTRIB_PROFILE_EAPTYPE && is_int($oneParam["VALUE"])) {
305
-                $type = new \core\common\EAP($oneParam["VALUE"]);
306
-                $profile->addSupportedEapMethod($type, $iterator);
307
-                $iterator = $iterator + 1;
296
+            $hint = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_HINT);
297
+            $enforce = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_VERIFY);
298
+            if ($enforce !== FALSE) {
299
+                $profile->setInputVerificationPreference($enforce, $hint);
308 300
             }
309
-        }
310
-        // reinstantiate $profile freshly from DB - it was updated in the process
311
-        $profileFresh = new core\ProfileRADIUS($profile->identifier);
312
-        $profileFresh->prepShowtime();
313
-        $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profileFresh->identifier]);
314
-        break;
315
-    case web\lib\admin\API::ACTION_ENDUSER_NEW:
316
-    // fall-through intentional, those two actions are doing nearly identical things
317
-    case web\lib\admin\API::ACTION_ENDUSER_CHANGEEXPIRY:
318
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
319
-        if ($prof_id === FALSE) {
320
-            exit(1);
321
-        }
322
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
323
-        if ($evaluation === FALSE) {
324
-            exit(1);
325
-        }
326
-        list($idp, $profile) = $evaluation;
327
-        $user = $validator->string($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME));
328
-        $expiryRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_EXPIRY);
329
-        if ($expiryRaw === FALSE) {
330
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The expiry date wasn't found in the request.");
301
+            /* const AUXATTRIB_PROFILE_EAPTYPE */
302
+            $iterator = 1;
303
+            foreach ($scrubbedParameters as $oneParam) {
304
+                if ($oneParam['NAME'] == web\lib\admin\API::AUXATTRIB_PROFILE_EAPTYPE && is_int($oneParam["VALUE"])) {
305
+                    $type = new \core\common\EAP($oneParam["VALUE"]);
306
+                    $profile->addSupportedEapMethod($type, $iterator);
307
+                    $iterator = $iterator + 1;
308
+                }
309
+            }
310
+            // reinstantiate $profile freshly from DB - it was updated in the process
311
+            $profileFresh = new core\ProfileRADIUS($profile->identifier);
312
+            $profileFresh->prepShowtime();
313
+            $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profileFresh->identifier]);
331 314
             break;
332
-        }
333
-        $expiry = new DateTime($expiryRaw);
334
-        try {
335
-            switch ($inputDecoded['ACTION']) {
315
+        case web\lib\admin\API::ACTION_ENDUSER_NEW:
316
+        // fall-through intentional, those two actions are doing nearly identical things
317
+        case web\lib\admin\API::ACTION_ENDUSER_CHANGEEXPIRY:
318
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
319
+            if ($prof_id === FALSE) {
320
+                exit(1);
321
+            }
322
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
323
+            if ($evaluation === FALSE) {
324
+                exit(1);
325
+            }
326
+            list($idp, $profile) = $evaluation;
327
+            $user = $validator->string($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME));
328
+            $expiryRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_EXPIRY);
329
+            if ($expiryRaw === FALSE) {
330
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The expiry date wasn't found in the request.");
331
+                break;
332
+            }
333
+            $expiry = new DateTime($expiryRaw);
334
+            try {
335
+                switch ($inputDecoded['ACTION']) {
336 336
                 case web\lib\admin\API::ACTION_ENDUSER_NEW:
337 337
                     $retval = $profile->addUser($user, $expiry);
338 338
                     break;
@@ -345,7 +345,7 @@  discard block
 block discarded – undo
345 345
                         $retval = 1; // function doesn't have any failure vectors not raising an Exception and doesn't return a value
346 346
                     }
347 347
                     break;
348
-            }
348
+                }
349 349
         } catch (Exception $e) {
350 350
             $adminApi->returnError(web\lib\admin\API::ERROR_INTERNAL_ERROR, "The operation failed. Maybe a duplicate username, or malformed expiry date?");
351 351
             exit(1);
@@ -356,25 +356,25 @@  discard block
 block discarded – undo
356 356
         }
357 357
         $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_SB_USERNAME => $user, \web\lib\admin\API::AUXATTRIB_SB_USERID => $retval]);
358 358
         break;
359
-    case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
360
-    // fall-through intended: both actions are very similar
361
-    case \web\lib\admin\API::ACTION_TOKEN_NEW:
362
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
363
-        if ($profile_id === FALSE) {
364
-            exit(1);
365
-        }
366
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
367
-        if ($evaluation === FALSE) {
368
-            exit(1);
369
-        }
370
-        list($idp, $profile) = $evaluation;
371
-        $userId = $validator->integer($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID));
372
-        if ($userId === FALSE) {
373
-            $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "User ID is not an integer.");
374
-            exit(1);
375
-        }
376
-        $additionalInfo = [];
377
-        switch ($inputDecoded['ACTION']) { // this is where the two differ
359
+        case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
360
+        // fall-through intended: both actions are very similar
361
+        case \web\lib\admin\API::ACTION_TOKEN_NEW:
362
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
363
+            if ($profile_id === FALSE) {
364
+                exit(1);
365
+            }
366
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
367
+            if ($evaluation === FALSE) {
368
+                exit(1);
369
+            }
370
+            list($idp, $profile) = $evaluation;
371
+            $userId = $validator->integer($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID));
372
+            if ($userId === FALSE) {
373
+                $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "User ID is not an integer.");
374
+                exit(1);
375
+            }
376
+            $additionalInfo = [];
377
+            switch ($inputDecoded['ACTION']) { // this is where the two differ
378 378
             case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
379 379
                 $result = $profile->deactivateUser($userId);
380 380
                 break;
@@ -407,7 +407,7 @@  discard block
 block discarded – undo
407 407
                     }
408 408
                 }
409 409
                 break;
410
-        }
410
+            }
411 411
 
412 412
         if ($result !== TRUE) {
413 413
             $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "These parameters did not lead to an existing, active user.");
@@ -415,69 +415,69 @@  discard block
 block discarded – undo
415 415
         }
416 416
         $adminApi->returnSuccess($additionalInfo);
417 417
         break;
418
-    case \web\lib\admin\API::ACTION_ENDUSER_IDENTIFY:
419
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
420
-        if ($profile_id === FALSE) {
421
-            exit(1);
422
-        }
423
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
424
-        if ($evaluation === FALSE) {
425
-            exit(1);
426
-        }
427
-        list($idp, $profile) = $evaluation;
428
-        $userId = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
429
-        $userName = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME);
430
-        $certSerial = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
431
-		$certCN = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTCN);
432
-        if ($userId === FALSE && $userName === FALSE && $certSerial === FALSE && $certCN === FALSE) {
433
-            // we need at least one of those
434
-            $adminApi->returnError(\web\lib\admin\API::ERROR_MISSING_PARAMETER, "At least one of User ID, Username, certificate serial, or certificate CN is required.");
435
-            break;
436
-        }
437
-        if ($certSerial !== FALSE) { // we got a cert serial
438
-            $serial = explode(":", $certSerial);
439
-            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
418
+        case \web\lib\admin\API::ACTION_ENDUSER_IDENTIFY:
419
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
420
+            if ($profile_id === FALSE) {
421
+                exit(1);
440 422
             }
441
-        if ($certCN !== FALSE) { // we got a cert CN
442
-            $cert = new \core\SilverbulletCertificate($certCN);
443
-        }
444
-        if ($cert !== NULL) { // we found a cert; verify it and extract userId
445
-            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
446
-                return $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Certificate not found.");
423
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
424
+            if ($evaluation === FALSE) {
425
+                exit(1);
447 426
             }
448
-            if ($cert->profileId != $profile->identifier) {
449
-                return $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Certificate does not belong to this profile.");
427
+            list($idp, $profile) = $evaluation;
428
+            $userId = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
429
+            $userName = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME);
430
+            $certSerial = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
431
+		    $certCN = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTCN);
432
+            if ($userId === FALSE && $userName === FALSE && $certSerial === FALSE && $certCN === FALSE) {
433
+                // we need at least one of those
434
+                $adminApi->returnError(\web\lib\admin\API::ERROR_MISSING_PARAMETER, "At least one of User ID, Username, certificate serial, or certificate CN is required.");
435
+                break;
450 436
             }
451
-            $userId = $cert->userId;
452
-        }
453
-        if ($userId !== FALSE) {
454
-            $userList = $profile->getUserById($userId);
455
-        }
456
-        if ($userName !== FALSE) {
457
-            $userList = $profile->getUserByName($userName);
458
-        }
459
-        if (count($userList) === 1) {
460
-            foreach ($userList as $oneUserId => $oneUserName) {
461
-                return $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_SB_USERNAME => $oneUserName, \web\lib\admin\API::AUXATTRIB_SB_USERID => $oneUserId]);
437
+            if ($certSerial !== FALSE) { // we got a cert serial
438
+                $serial = explode(":", $certSerial);
439
+                $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
440
+                }
441
+            if ($certCN !== FALSE) { // we got a cert CN
442
+                $cert = new \core\SilverbulletCertificate($certCN);
462 443
             }
463
-        }
464
-        $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "No matching user found in this profile.");
465
-        break;
466
-    case \web\lib\admin\API::ACTION_ENDUSER_LIST:
467
-    // fall-through: those two are similar
468
-    case \web\lib\admin\API::ACTION_TOKEN_LIST:
469
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
470
-        if ($profile_id === FALSE) {
471
-            exit(1);
472
-        }
473
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
474
-        if ($evaluation === FALSE) {
475
-            exit(1);
476
-        }
477
-        list($idp, $profile) = $evaluation;
478
-        $allUsers = $profile->listAllUsers();
479
-        // this is where they differ
480
-        switch ($inputDecoded['ACTION']) {
444
+            if ($cert !== NULL) { // we found a cert; verify it and extract userId
445
+                if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
446
+                    return $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Certificate not found.");
447
+                }
448
+                if ($cert->profileId != $profile->identifier) {
449
+                    return $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Certificate does not belong to this profile.");
450
+                }
451
+                $userId = $cert->userId;
452
+            }
453
+            if ($userId !== FALSE) {
454
+                $userList = $profile->getUserById($userId);
455
+            }
456
+            if ($userName !== FALSE) {
457
+                $userList = $profile->getUserByName($userName);
458
+            }
459
+            if (count($userList) === 1) {
460
+                foreach ($userList as $oneUserId => $oneUserName) {
461
+                    return $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_SB_USERNAME => $oneUserName, \web\lib\admin\API::AUXATTRIB_SB_USERID => $oneUserId]);
462
+                }
463
+            }
464
+            $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "No matching user found in this profile.");
465
+            break;
466
+        case \web\lib\admin\API::ACTION_ENDUSER_LIST:
467
+        // fall-through: those two are similar
468
+        case \web\lib\admin\API::ACTION_TOKEN_LIST:
469
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
470
+            if ($profile_id === FALSE) {
471
+                exit(1);
472
+            }
473
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
474
+            if ($evaluation === FALSE) {
475
+                exit(1);
476
+            }
477
+            list($idp, $profile) = $evaluation;
478
+            $allUsers = $profile->listAllUsers();
479
+            // this is where they differ
480
+            switch ($inputDecoded['ACTION']) {
481 481
             case \web\lib\admin\API::ACTION_ENDUSER_LIST:
482 482
                 $adminApi->returnSuccess($allUsers);
483 483
                 break;
@@ -496,123 +496,123 @@  discard block
 block discarded – undo
496 496
                     $infoSet[$oneTokenObject->userId] = [\web\lib\admin\API::AUXATTRIB_TOKEN => $oneTokenObject->invitationTokenString, "STATUS" => $oneTokenObject->invitationTokenStatus];
497 497
                 }
498 498
                 $adminApi->returnSuccess($infoSet);
499
-        }
500
-        break;
501
-    case \web\lib\admin\API::ACTION_TOKEN_REVOKE:
502
-        $tokenRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TOKEN);
503
-        if ($tokenRaw === FALSE) {
504
-            exit(1);
505
-        }
506
-        $token = new core\SilverbulletInvitation($tokenRaw);
507
-        if ($token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_VALID && $token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_PARTIALLY_REDEEMED) {
508
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "This is not a currently valid token.");
509
-            exit(1);
510
-        }
511
-        $token->revokeInvitation();
512
-        $adminApi->returnSuccess([]);
513
-        break;
514
-    case \web\lib\admin\API::ACTION_CERT_LIST:
515
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
516
-        $user_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
517
-        if ($prof_id === FALSE || !is_int($user_id)) {
518
-            exit(1);
519
-        }
520
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
521
-        if ($evaluation === FALSE) {
522
-            exit(1);
523
-        }
524
-        list($idp, $profile) = $evaluation;
525
-        $invitations = $profile->userStatus($user_id);
526
-        // now pull out cert information from the object
527
-        $certs = [];
528
-        foreach ($invitations as $oneInvitation) {
529
-            $certs = array_merge($certs, $oneInvitation->associatedCertificates);
530
-        }
531
-        // extract relevant subset of information from cert objects
532
-        $certDetails = [];
533
-        foreach ($certs as $cert) {
534
-            $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
535
-        }
536
-        $adminApi->returnSuccess($certDetails);
537
-        break;
538
-    case \web\lib\admin\API::ACTION_CERT_REVOKE:
539
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
540
-        if ($prof_id === FALSE) {
541
-            exit(1);
542
-        }
543
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
544
-        if ($evaluation === FALSE) {
545
-            exit(1);
546
-        }
547
-        list($idp, $profile) = $evaluation;
548
-        // tear apart the serial
549
-        $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
550
-        if ($serialRaw === FALSE) {
551
-            exit(1);
552
-        }
553
-        $serial = explode(":", $serialRaw);
554
-        $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
555
-        if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
556
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
557
-        }
558
-        if ($cert->profileId != $profile->identifier) {
559
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
560
-        }
561
-        $cert->revokeCertificate();
562
-        $adminApi->returnSuccess([]);
499
+            }
563 500
         break;
564
-    case \web\lib\admin\API::ACTION_CERT_ANNOTATE:
565
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
566
-        if ($prof_id === FALSE) {
567
-            exit(1);
568
-        }
569
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
570
-        if ($evaluation === FALSE) {
571
-            exit(1);
572
-        }
573
-        list($idp, $profile) = $evaluation;
574
-        // tear apart the serial
575
-        $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
576
-        if ($serialRaw === FALSE) {
577
-            exit(1);
578
-        }
579
-        $serial = explode(":", $serialRaw);
580
-        $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
581
-        if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
582
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
583
-        }
584
-        if ($cert->profileId != $profile->identifier) {
585
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
586
-        }
587
-        $annotationRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTANNOTATION);
588
-        if ($annotationRaw === FALSE) {
589
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Unable to extract annotation.");
501
+        case \web\lib\admin\API::ACTION_TOKEN_REVOKE:
502
+            $tokenRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TOKEN);
503
+            if ($tokenRaw === FALSE) {
504
+                exit(1);
505
+            }
506
+            $token = new core\SilverbulletInvitation($tokenRaw);
507
+            if ($token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_VALID && $token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_PARTIALLY_REDEEMED) {
508
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "This is not a currently valid token.");
509
+                exit(1);
510
+            }
511
+            $token->revokeInvitation();
512
+            $adminApi->returnSuccess([]);
590 513
             break;
591
-        }
592
-        $annotation = json_decode($annotationRaw, TRUE);
593
-        $cert->annotate($annotation);
594
-        $adminApi->returnSuccess([]);
595
-
596
-        break;
597
-    case web\lib\admin\API::ACTION_STATISTICS_INST:
598
-        $retArray = [];
599
-        $idpIdentifier = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID);
600
-        if ($idpIdentifier === FALSE) {
601
-            throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
602
-        } else {
603
-            try {
604
-                $thisIdP = $validator->existingIdP($idpIdentifier, NULL, $fed);
605
-            } catch (Exception $e) {
606
-                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
514
+        case \web\lib\admin\API::ACTION_CERT_LIST:
515
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
516
+            $user_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
517
+            if ($prof_id === FALSE || !is_int($user_id)) {
607 518
                 exit(1);
608 519
             }
609
-            $retArray[$idpIdentifier] = [];
610
-            foreach ($thisIdP->listProfiles() as $oneProfile) {
611
-                $retArray[$idpIdentifier][$oneProfile->identifier] = $oneProfile->getUserDownloadStats();
520
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
521
+            if ($evaluation === FALSE) {
522
+                exit(1);
612 523
             }
613
-        }
614
-        $adminApi->returnSuccess($retArray);
615
-        break;
616
-    default:
617
-        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_ACTION, "Not implemented yet.");
524
+            list($idp, $profile) = $evaluation;
525
+            $invitations = $profile->userStatus($user_id);
526
+            // now pull out cert information from the object
527
+            $certs = [];
528
+            foreach ($invitations as $oneInvitation) {
529
+                $certs = array_merge($certs, $oneInvitation->associatedCertificates);
530
+            }
531
+            // extract relevant subset of information from cert objects
532
+            $certDetails = [];
533
+            foreach ($certs as $cert) {
534
+                $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
535
+            }
536
+            $adminApi->returnSuccess($certDetails);
537
+            break;
538
+        case \web\lib\admin\API::ACTION_CERT_REVOKE:
539
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
540
+            if ($prof_id === FALSE) {
541
+                exit(1);
542
+            }
543
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
544
+            if ($evaluation === FALSE) {
545
+                exit(1);
546
+            }
547
+            list($idp, $profile) = $evaluation;
548
+            // tear apart the serial
549
+            $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
550
+            if ($serialRaw === FALSE) {
551
+                exit(1);
552
+            }
553
+            $serial = explode(":", $serialRaw);
554
+            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
555
+            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
556
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
557
+            }
558
+            if ($cert->profileId != $profile->identifier) {
559
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
560
+            }
561
+            $cert->revokeCertificate();
562
+            $adminApi->returnSuccess([]);
563
+            break;
564
+        case \web\lib\admin\API::ACTION_CERT_ANNOTATE:
565
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
566
+            if ($prof_id === FALSE) {
567
+                exit(1);
568
+            }
569
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
570
+            if ($evaluation === FALSE) {
571
+                exit(1);
572
+            }
573
+            list($idp, $profile) = $evaluation;
574
+            // tear apart the serial
575
+            $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
576
+            if ($serialRaw === FALSE) {
577
+                exit(1);
578
+            }
579
+            $serial = explode(":", $serialRaw);
580
+            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
581
+            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
582
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
583
+            }
584
+            if ($cert->profileId != $profile->identifier) {
585
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
586
+            }
587
+            $annotationRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTANNOTATION);
588
+            if ($annotationRaw === FALSE) {
589
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Unable to extract annotation.");
590
+                break;
591
+            }
592
+            $annotation = json_decode($annotationRaw, TRUE);
593
+            $cert->annotate($annotation);
594
+            $adminApi->returnSuccess([]);
595
+
596
+            break;
597
+        case web\lib\admin\API::ACTION_STATISTICS_INST:
598
+            $retArray = [];
599
+            $idpIdentifier = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID);
600
+            if ($idpIdentifier === FALSE) {
601
+                throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
602
+            } else {
603
+                try {
604
+                    $thisIdP = $validator->existingIdP($idpIdentifier, NULL, $fed);
605
+                } catch (Exception $e) {
606
+                    $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
607
+                    exit(1);
608
+                }
609
+                $retArray[$idpIdentifier] = [];
610
+                foreach ($thisIdP->listProfiles() as $oneProfile) {
611
+                    $retArray[$idpIdentifier][$oneProfile->identifier] = $oneProfile->getUserDownloadStats();
612
+                }
613
+            }
614
+            $adminApi->returnSuccess($retArray);
615
+            break;
616
+        default:
617
+            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_ACTION, "Not implemented yet.");
618 618
 }
619 619
\ No newline at end of file
Please login to merge, or discard this patch.