Passed
Push — master ( c57d81...3d7ab7 )
by Maja
06:49
created
core/diag/Telepath.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
         if ($this->idPFederation === NULL && preg_match("/\.(..)$/", $realm, $matches)) {
111 111
             $this->idPFederation = strtoupper($matches[1]);
112 112
         }
113
-        $this->loggerInstance->debug(4, "XYZ: IdP-side NRO is " . $this->idPFederation . "\n");
113
+        $this->loggerInstance->debug(4, "XYZ: IdP-side NRO is ".$this->idPFederation."\n");
114 114
     }
115 115
 
116 116
     /* The eduroam OT monitoring has the following return codes:
@@ -434,12 +434,12 @@  discard block
 block discarded – undo
434 434
                     break;
435 435
                 case \core\AbstractProfile::READINESS_LEVEL_NOTREADY:
436 436
                     $this->additionalFindings[AbstractTest::INFRA_IDP_RADIUS][] = ["Profile" => "UNCONCLUSIVE"];
437
-                    $this->testsuite = new RADIUSTests($this->realm, "anonymous@" . $this->realm);
437
+                    $this->testsuite = new RADIUSTests($this->realm, "anonymous@".$this->realm);
438 438
                     break;
439 439
                 default:
440 440
             }
441 441
         } else {
442
-            $this->testsuite = new RADIUSTests($this->realm, "anonymous@" . $this->realm);
442
+            $this->testsuite = new RADIUSTests($this->realm, "anonymous@".$this->realm);
443 443
         }
444 444
     }
445 445
 
Please login to merge, or discard this patch.
core/diag/RFC7585Tests.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -167,7 +167,7 @@
 block discarded – undo
167 167
             $this->NAPTR_executed = RADIUSTests::RETVAL_NOTCONFIGURED;
168 168
             return RADIUSTests::RETVAL_NOTCONFIGURED;
169 169
         }
170
-        $NAPTRs = dns_get_record($this->realm . ".", DNS_NAPTR);
170
+        $NAPTRs = dns_get_record($this->realm.".", DNS_NAPTR);
171 171
         if ($NAPTRs === FALSE || count($NAPTRs) == 0) {
172 172
             $this->NAPTR_executed = RFC7585Tests::RETVAL_NONAPTR;
173 173
             return RFC7585Tests::RETVAL_NONAPTR;
Please login to merge, or discard this patch.
Indentation   -1 removed lines patch added patch discarded remove patch
@@ -194,7 +194,6 @@
 block discarded – undo
194 194
      * - RETVAL_NOTCONFIGURED; needs \config\Diagnostics::RADIUSTESTS['TLS-discoverytag']
195 195
      * - RETVAL_INVALID (at least one format error)
196 196
      * - RETVAL_OK (all fine)
197
-
198 197
      * @return int one of two RETVALs above
199 198
      */
200 199
     public function relevantNAPTRcompliance() {
Please login to merge, or discard this patch.
web/admin/inc/sendinvite.inc.php 2 patches
Switch Indentation   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -72,96 +72,96 @@
 block discarded – undo
72 72
 }
73 73
 
74 74
 switch ($operationMode) {
75
-    case OPERATION_MODE_EDIT:
76
-        $idp = $validator->existingIdP($_GET['inst_id']);
77
-        // editing IdPs is done from within the popup. When we're done, send the 
78
-        // user back to the popup (append the result of the operation later)
79
-        $redirectDestination = "manageAdmins.inc.php?inst_id=" . $idp->identifier . "&";
80
-        if (count($validAddresses) == 0) {
81
-            header("Location: $redirectDestination" . "invitation=INVALIDSYNTAX");
82
-            exit(1);
83
-        }
84
-        // is the user primary admin of this IdP?
85
-        $is_owner = $idp->isPrimaryOwner($_SESSION['user']);
86
-        // check if he is (also) federation admin for the federation this IdP is in. His invitations have more blessing then.
87
-        $fedadmin = $userObject->isFederationAdmin($idp->federation);
88
-        // check if he is either one, if not, complain
89
-        if (!$is_owner && !$fedadmin) {
90
-            echo "<p>" . sprintf(_("Something's wrong... you are a %s admin, but not for the %s the requested %s belongs to!"), $uiElements->nomenclatureFed, $uiElements->nomenclatureFed, $uiElements->nomenclatureInst) . "</p>";
91
-            exit(1);
92
-        }
75
+        case OPERATION_MODE_EDIT:
76
+            $idp = $validator->existingIdP($_GET['inst_id']);
77
+            // editing IdPs is done from within the popup. When we're done, send the 
78
+            // user back to the popup (append the result of the operation later)
79
+            $redirectDestination = "manageAdmins.inc.php?inst_id=" . $idp->identifier . "&";
80
+            if (count($validAddresses) == 0) {
81
+                header("Location: $redirectDestination" . "invitation=INVALIDSYNTAX");
82
+                exit(1);
83
+            }
84
+            // is the user primary admin of this IdP?
85
+            $is_owner = $idp->isPrimaryOwner($_SESSION['user']);
86
+            // check if he is (also) federation admin for the federation this IdP is in. His invitations have more blessing then.
87
+            $fedadmin = $userObject->isFederationAdmin($idp->federation);
88
+            // check if he is either one, if not, complain
89
+            if (!$is_owner && !$fedadmin) {
90
+                echo "<p>" . sprintf(_("Something's wrong... you are a %s admin, but not for the %s the requested %s belongs to!"), $uiElements->nomenclatureFed, $uiElements->nomenclatureFed, $uiElements->nomenclatureInst) . "</p>";
91
+                exit(1);
92
+            }
93 93
 
94
-        $prettyprintname = $idp->name;
95
-        $newtokens = $mgmt->createTokens($fedadmin, $validAddresses, $idp);
96
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP " . $idp->identifier . " - Token created for " . implode(",", $validAddresses));
97
-        $introtext = "CO-ADMIN";
98
-        $participant_type = $idp->type;
99
-        break;
100
-    case OPERATION_MODE_NEWUNLINKED:
101
-        $redirectDestination = "../overview_federation.php?";
102
-        if (count($validAddresses) == 0) {
103
-            header("Location: $redirectDestination"."invitation=INVALIDSYNTAX");
104
-            exit(1);
105
-        }
106
-        // run an input check and conversion of the raw inputs... just in case
107
-        $newinstname = $validator->string($_POST['name']);
108
-        $newcountry = $validator->string($_POST['country']);
109
-        $participant_type = $validator->partType($_POST['participant_type']);
110
-        $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($newcountry);
111
-        if ($new_idp_authorized_fedadmin !== TRUE) {
112
-            throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
113
-        }
114
-        $federation = $validator->existingFederation($newcountry);
115
-        $prettyprintname = $newinstname;
116
-        $introtext = "NEW-FED";
117
-        // send the user back to his federation overview page, append the result of the operation later
118
-        // do the token creation magic
119
-        $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $newinstname, 0, $newcountry, $participant_type);
120
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "ORG FUTURE  - Token created for $participant_type " . implode(",", $validAddresses));
121
-        break;
122
-    case OPERATION_MODE_NEWFROMDB:
123
-        $redirectDestination = "../overview_federation.php?";
124
-        if (count($validAddresses) == 0) {
125
-            header("Location: $redirectDestination"."invitation=INVALIDSYNTAX");
126
-            exit(1);
127
-        }
128
-        // a real external DB entry was submitted and all the required parameters are there
129
-        $newexternalid = $validator->string($_POST['externals']);
130
-        $extinfo = $catInstance->getExternalDBEntityDetails($newexternalid);
131
-        $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($extinfo['country']);
132
-        if ($new_idp_authorized_fedadmin !== TRUE) {
133
-            throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
134
-        }
135
-        $federation = $validator->existingFederation($extinfo['country']);
136
-        $newcountry = $extinfo['country'];
137
-        // see if the inst name is defined in the currently set language; if not, pick its English name; if N/A, pick the last in the list
138
-        $prettyprintname = "";
139
-        foreach ($extinfo['names'] as $lang => $name) {
140
-            if ($lang == $languageInstance->getLang()) {
141
-                $prettyprintname = $name;
94
+            $prettyprintname = $idp->name;
95
+            $newtokens = $mgmt->createTokens($fedadmin, $validAddresses, $idp);
96
+            $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP " . $idp->identifier . " - Token created for " . implode(",", $validAddresses));
97
+            $introtext = "CO-ADMIN";
98
+            $participant_type = $idp->type;
99
+            break;
100
+        case OPERATION_MODE_NEWUNLINKED:
101
+            $redirectDestination = "../overview_federation.php?";
102
+            if (count($validAddresses) == 0) {
103
+                header("Location: $redirectDestination"."invitation=INVALIDSYNTAX");
104
+                exit(1);
142 105
             }
143
-        }
144
-        if ($prettyprintname == "" && isset($extinfo['names']['en'])) {
145
-            $prettyprintname = $extinfo['names']['en'];
146
-        }
147
-        if ($prettyprintname == "") {
148
-            foreach ($extinfo['names'] as $name) {
149
-                $prettyprintname = $name;
106
+            // run an input check and conversion of the raw inputs... just in case
107
+            $newinstname = $validator->string($_POST['name']);
108
+            $newcountry = $validator->string($_POST['country']);
109
+            $participant_type = $validator->partType($_POST['participant_type']);
110
+            $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($newcountry);
111
+            if ($new_idp_authorized_fedadmin !== TRUE) {
112
+                throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
150 113
             }
151
-        }
152
-        $participant_type = $extinfo['type'];
153
-        // fill the rest of the text
154
-        $introtext = "EXISTING-FED";
155
-        // do the token creation magic
156
-        $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $prettyprintname, $newexternalid);
157
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP FUTURE  - Token created for " . implode(",", $validAddresses));
158
-        break;
159
-    default: // includes OPERATION_MODE_INVALID
160
-        $wrongcontent = print_r($_POST, TRUE);
161
-        echo "<pre>Wrong parameters in POST:
114
+            $federation = $validator->existingFederation($newcountry);
115
+            $prettyprintname = $newinstname;
116
+            $introtext = "NEW-FED";
117
+            // send the user back to his federation overview page, append the result of the operation later
118
+            // do the token creation magic
119
+            $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $newinstname, 0, $newcountry, $participant_type);
120
+            $loggerInstance->writeAudit($_SESSION['user'], "NEW", "ORG FUTURE  - Token created for $participant_type " . implode(",", $validAddresses));
121
+            break;
122
+        case OPERATION_MODE_NEWFROMDB:
123
+            $redirectDestination = "../overview_federation.php?";
124
+            if (count($validAddresses) == 0) {
125
+                header("Location: $redirectDestination"."invitation=INVALIDSYNTAX");
126
+                exit(1);
127
+            }
128
+            // a real external DB entry was submitted and all the required parameters are there
129
+            $newexternalid = $validator->string($_POST['externals']);
130
+            $extinfo = $catInstance->getExternalDBEntityDetails($newexternalid);
131
+            $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($extinfo['country']);
132
+            if ($new_idp_authorized_fedadmin !== TRUE) {
133
+                throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
134
+            }
135
+            $federation = $validator->existingFederation($extinfo['country']);
136
+            $newcountry = $extinfo['country'];
137
+            // see if the inst name is defined in the currently set language; if not, pick its English name; if N/A, pick the last in the list
138
+            $prettyprintname = "";
139
+            foreach ($extinfo['names'] as $lang => $name) {
140
+                if ($lang == $languageInstance->getLang()) {
141
+                    $prettyprintname = $name;
142
+                }
143
+            }
144
+            if ($prettyprintname == "" && isset($extinfo['names']['en'])) {
145
+                $prettyprintname = $extinfo['names']['en'];
146
+            }
147
+            if ($prettyprintname == "") {
148
+                foreach ($extinfo['names'] as $name) {
149
+                    $prettyprintname = $name;
150
+                }
151
+            }
152
+            $participant_type = $extinfo['type'];
153
+            // fill the rest of the text
154
+            $introtext = "EXISTING-FED";
155
+            // do the token creation magic
156
+            $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $prettyprintname, $newexternalid);
157
+            $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP FUTURE  - Token created for " . implode(",", $validAddresses));
158
+            break;
159
+        default: // includes OPERATION_MODE_INVALID
160
+            $wrongcontent = print_r($_POST, TRUE);
161
+            echo "<pre>Wrong parameters in POST:
162 162
 " . htmlspecialchars($wrongcontent) . "
163 163
 </pre>";
164
-        exit(1);
164
+            exit(1);
165 165
 }
166 166
 
167 167
 // send, and invalidate the token immediately if the mail could not be sent!
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 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(__DIR__))) . "/config/_config.php";
23
+require_once dirname(dirname(dirname(__DIR__)))."/config/_config.php";
24 24
 
25 25
 $auth = new \web\lib\admin\Authentication();
26 26
 $auth->authenticate();
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
         $idp = $validator->existingIdP($_GET['inst_id']);
77 77
         // editing IdPs is done from within the popup. When we're done, send the 
78 78
         // user back to the popup (append the result of the operation later)
79
-        $redirectDestination = "manageAdmins.inc.php?inst_id=" . $idp->identifier . "&";
79
+        $redirectDestination = "manageAdmins.inc.php?inst_id=".$idp->identifier."&";
80 80
         if (count($validAddresses) == 0) {
81
-            header("Location: $redirectDestination" . "invitation=INVALIDSYNTAX");
81
+            header("Location: $redirectDestination"."invitation=INVALIDSYNTAX");
82 82
             exit(1);
83 83
         }
84 84
         // is the user primary admin of this IdP?
@@ -87,13 +87,13 @@  discard block
 block discarded – undo
87 87
         $fedadmin = $userObject->isFederationAdmin($idp->federation);
88 88
         // check if he is either one, if not, complain
89 89
         if (!$is_owner && !$fedadmin) {
90
-            echo "<p>" . sprintf(_("Something's wrong... you are a %s admin, but not for the %s the requested %s belongs to!"), $uiElements->nomenclatureFed, $uiElements->nomenclatureFed, $uiElements->nomenclatureInst) . "</p>";
90
+            echo "<p>".sprintf(_("Something's wrong... you are a %s admin, but not for the %s the requested %s belongs to!"), $uiElements->nomenclatureFed, $uiElements->nomenclatureFed, $uiElements->nomenclatureInst)."</p>";
91 91
             exit(1);
92 92
         }
93 93
 
94 94
         $prettyprintname = $idp->name;
95 95
         $newtokens = $mgmt->createTokens($fedadmin, $validAddresses, $idp);
96
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP " . $idp->identifier . " - Token created for " . implode(",", $validAddresses));
96
+        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP ".$idp->identifier." - Token created for ".implode(",", $validAddresses));
97 97
         $introtext = "CO-ADMIN";
98 98
         $participant_type = $idp->type;
99 99
         break;
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
         $participant_type = $validator->partType($_POST['participant_type']);
110 110
         $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($newcountry);
111 111
         if ($new_idp_authorized_fedadmin !== TRUE) {
112
-            throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
112
+            throw new Exception("Something's wrong... you want to create a new ".$uiElements->nomenclatureInst.", but are not a ".$uiElements->nomenclatureFed." admin for the ".$uiElements->nomenclatureFed." it should be in!");
113 113
         }
114 114
         $federation = $validator->existingFederation($newcountry);
115 115
         $prettyprintname = $newinstname;
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
         // send the user back to his federation overview page, append the result of the operation later
118 118
         // do the token creation magic
119 119
         $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $newinstname, 0, $newcountry, $participant_type);
120
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "ORG FUTURE  - Token created for $participant_type " . implode(",", $validAddresses));
120
+        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "ORG FUTURE  - Token created for $participant_type ".implode(",", $validAddresses));
121 121
         break;
122 122
     case OPERATION_MODE_NEWFROMDB:
123 123
         $redirectDestination = "../overview_federation.php?";
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
         $extinfo = $catInstance->getExternalDBEntityDetails($newexternalid);
131 131
         $new_idp_authorized_fedadmin = $userObject->isFederationAdmin($extinfo['country']);
132 132
         if ($new_idp_authorized_fedadmin !== TRUE) {
133
-            throw new Exception("Something's wrong... you want to create a new " . $uiElements->nomenclatureInst . ", but are not a " . $uiElements->nomenclatureFed . " admin for the " . $uiElements->nomenclatureFed . " it should be in!");
133
+            throw new Exception("Something's wrong... you want to create a new ".$uiElements->nomenclatureInst.", but are not a ".$uiElements->nomenclatureFed." admin for the ".$uiElements->nomenclatureFed." it should be in!");
134 134
         }
135 135
         $federation = $validator->existingFederation($extinfo['country']);
136 136
         $newcountry = $extinfo['country'];
@@ -154,12 +154,12 @@  discard block
 block discarded – undo
154 154
         $introtext = "EXISTING-FED";
155 155
         // do the token creation magic
156 156
         $newtokens = $mgmt->createTokens(TRUE, $validAddresses, $prettyprintname, $newexternalid);
157
-        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP FUTURE  - Token created for " . implode(",", $validAddresses));
157
+        $loggerInstance->writeAudit($_SESSION['user'], "NEW", "IdP FUTURE  - Token created for ".implode(",", $validAddresses));
158 158
         break;
159 159
     default: // includes OPERATION_MODE_INVALID
160 160
         $wrongcontent = print_r($_POST, TRUE);
161 161
         echo "<pre>Wrong parameters in POST:
162
-" . htmlspecialchars($wrongcontent) . "
162
+" . htmlspecialchars($wrongcontent)."
163 163
 </pre>";
164 164
         exit(1);
165 165
 }
@@ -184,14 +184,14 @@  discard block
 block discarded – undo
184 184
 }
185 185
 
186 186
 if (count($status) == 0) {
187
-    header("Location: $redirectDestination" . "invitation=FAILURE");
187
+    header("Location: $redirectDestination"."invitation=FAILURE");
188 188
     exit;
189 189
 }
190 190
 $finalDestParams = "invitation=SUCCESS";
191 191
 if (count($status) < count($totalSegments)) { // only a subset of mails was sent, update status
192 192
     $finalDestParams = "invitation=PARTIAL";
193 193
 }
194
-$finalDestParams .= "&successcount=" . count($status);
194
+$finalDestParams .= "&successcount=".count($status);
195 195
 if ($allEncrypted === TRUE) {
196 196
     $finalDestParams .= "&transportsecurity=ENCRYPTED";
197 197
 } elseif ($allClear === TRUE) {
@@ -200,4 +200,4 @@  discard block
 block discarded – undo
200 200
     $finalDestParams .= "&transportsecurity=PARTIAL";
201 201
 }
202 202
 
203
-header("Location: $redirectDestination" . $finalDestParams);
203
+header("Location: $redirectDestination".$finalDestParams);
Please login to merge, or discard this patch.
web/admin/API.php 2 patches
Switch Indentation   +356 added lines, -356 removed lines patch added patch discarded remove patch
@@ -84,217 +84,217 @@  discard block
 block discarded – undo
84 84
 }
85 85
 
86 86
 switch ($inputDecoded['ACTION']) {
87
-    case web\lib\admin\API::ACTION_NEWINST:
88
-        // create the inst, no admin, no attributes
89
-        $typeRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_INSTTYPE);
90
-        if ($typeRaw === FALSE) {
91
-            throw new Exception("We did not receive a valid participant type!");
92
-        }
93
-        $type = $validator->partType($typeRaw);
94
-        $idp = new \core\IdP($fed->newIdP($type, "PENDING", "API"));
95
-        // now add all submitted attributes
96
-        $inputs = $adminApi->uglify($scrubbedParameters);
97
-        $optionParser->processSubmittedFields($idp, $inputs["POST"], $inputs["FILES"]);
98
-        $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_CAT_INST_ID => $idp->identifier]);
99
-        break;
100
-    case web\lib\admin\API::ACTION_DELINST:
101
-        try {
102
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
103
-        } catch (Exception $e) {
104
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
105
-            exit(1);
106
-        }
107
-        $idp->destroy();
108
-        $adminApi->returnSuccess([]);
109
-        break;
110
-    case web\lib\admin\API::ACTION_ADMIN_LIST:
111
-        try {
112
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
113
-        } catch (Exception $e) {
114
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
115
-            exit(1);
116
-        }
117
-        $adminApi->returnSuccess($idp->listOwners());
118
-        break;
119
-    case web\lib\admin\API::ACTION_ADMIN_ADD:
120
-        // IdP in question
121
-        try {
122
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
123
-        } catch (Exception $e) {
124
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
125
-            exit(1);
126
-        }
127
-        // here is the token
128
-        $mgmt = new core\UserManagement();
129
-        // we know we have an admin ID but scrutinizer wants this checked more explicitly
130
-        $admin = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
131
-        if ($admin === FALSE) {
132
-            throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
133
-        }
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];
136
-        $success = ["TOKEN URL" => $URL, "TOKEN" => array_keys($newtokens)[0]];
137
-        // done with the essentials - display in response. But if we also have an email address, send it there
138
-        $email = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TARGETMAIL);
139
-        if ($email !== FALSE) {
140
-            $sent = \core\common\OutsideComm::adminInvitationMail($email, "EXISTING-FED", array_keys($newtokens)[0], $idp->name, $fed, $idp->type);
141
-            $success["EMAIL SENT"] = $sent["SENT"];
142
-            if ($sent["SENT"] === TRUE) {
143
-                $success["EMAIL TRANSPORT SECURE"] = $sent["TRANSPORT"];
87
+        case web\lib\admin\API::ACTION_NEWINST:
88
+            // create the inst, no admin, no attributes
89
+            $typeRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_INSTTYPE);
90
+            if ($typeRaw === FALSE) {
91
+                throw new Exception("We did not receive a valid participant type!");
144 92
             }
145
-        }
146
-        $adminApi->returnSuccess($success);
147
-        break;
148
-    case web\lib\admin\API::ACTION_ADMIN_DEL:
149
-        // IdP in question
150
-        try {
151
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
152
-        } catch (Exception $e) {
153
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
154
-            exit(1);
155
-        }
156
-        $currentAdmins = $idp->listOwners();
157
-        $toBeDeleted = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
158
-        if ($toBeDeleted === FALSE) {
159
-            throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
160
-        }
161
-        $found = FALSE;
162
-        foreach ($currentAdmins as $oneAdmin) {
163
-            if ($oneAdmin['MAIL'] == $toBeDeleted) {
164
-                $found = TRUE;
165
-                $mgmt = new core\UserManagement();
166
-                $mgmt->removeAdminFromIdP($idp, $oneAdmin['ID']);
93
+            $type = $validator->partType($typeRaw);
94
+            $idp = new \core\IdP($fed->newIdP($type, "PENDING", "API"));
95
+            // now add all submitted attributes
96
+            $inputs = $adminApi->uglify($scrubbedParameters);
97
+            $optionParser->processSubmittedFields($idp, $inputs["POST"], $inputs["FILES"]);
98
+            $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_CAT_INST_ID => $idp->identifier]);
99
+            break;
100
+        case web\lib\admin\API::ACTION_DELINST:
101
+            try {
102
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
103
+            } catch (Exception $e) {
104
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
105
+                exit(1);
167 106
             }
168
-        }
169
-        if ($found) {
107
+            $idp->destroy();
170 108
             $adminApi->returnSuccess([]);
171
-        }
172
-        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP " . $idp->identifier);
173
-        break;
174
-    case web\lib\admin\API::ACTION_STATISTICS_FED:
175
-        $adminApi->returnSuccess($fed->downloadStats("array"));
176
-        break;
177
-    case \web\lib\admin\API::ACTION_NEWPROF_RADIUS:
178
-    // fall-through intended: both get mostly identical treatment
179
-    case web\lib\admin\API::ACTION_NEWPROF_SB:
180
-        try {
181
-            $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
182
-        } catch (Exception $e) {
183
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
184
-            exit(1);
185
-        }
186
-        if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_RADIUS) {
187
-            $type = "RADIUS";
188
-        } else {
189
-            $type = "SILVERBULLET";
190
-        }
191
-        $profile = $idp->newProfile($type);
192
-        if ($profile === NULL) {
193
-            $adminApi->returnError(\web\lib\admin\API::ERROR_INTERNAL_ERROR, "Unable to create a new Profile, for no apparent reason. Please contact support.");
194
-            exit(1);
195
-        }
196
-        $inputs = $adminApi->uglify($scrubbedParameters);
197
-        $optionParser->processSubmittedFields($profile, $inputs["POST"], $inputs["FILES"]);
198
-        if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_SB) {
199
-            // auto-accept ToU?
200
-            if ($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_TOU) !== FALSE) {
201
-                $profile->addAttribute("hiddenprofile:tou_accepted", NULL, 1);
202
-            }
203
-            // we're done at this point
204
-            $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profile->identifier]);
205 109
             break;
206
-        }
207
-        if (!$profile instanceof core\ProfileRADIUS) {
208
-            throw new Exception("Can't be. This is only here to convince Scrutinizer that we're really talking RADIUS.");
209
-        }
210
-        /* const AUXATTRIB_PROFILE_REALM = 'ATTRIB-PROFILE-REALM';
211
-          const AUXATTRIB_PROFILE_OUTERVALUE = 'ATTRIB-PROFILE-OUTERVALUE'; */
212
-        $realm = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_REALM);
213
-        $outer = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_OUTERVALUE);
214
-        if ($realm !== FALSE) {
215
-            if ($outer === FALSE) {
216
-                $outer = "";
217
-                $profile->setAnonymousIDSupport(FALSE);
110
+        case web\lib\admin\API::ACTION_ADMIN_LIST:
111
+            try {
112
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
113
+            } catch (Exception $e) {
114
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
115
+                exit(1);
116
+            }
117
+            $adminApi->returnSuccess($idp->listOwners());
118
+            break;
119
+        case web\lib\admin\API::ACTION_ADMIN_ADD:
120
+            // IdP in question
121
+            try {
122
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
123
+            } catch (Exception $e) {
124
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
125
+                exit(1);
126
+            }
127
+            // here is the token
128
+            $mgmt = new core\UserManagement();
129
+            // we know we have an admin ID but scrutinizer wants this checked more explicitly
130
+            $admin = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
131
+            if ($admin === FALSE) {
132
+                throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
133
+            }
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];
136
+            $success = ["TOKEN URL" => $URL, "TOKEN" => array_keys($newtokens)[0]];
137
+            // done with the essentials - display in response. But if we also have an email address, send it there
138
+            $email = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TARGETMAIL);
139
+            if ($email !== FALSE) {
140
+                $sent = \core\common\OutsideComm::adminInvitationMail($email, "EXISTING-FED", array_keys($newtokens)[0], $idp->name, $fed, $idp->type);
141
+                $success["EMAIL SENT"] = $sent["SENT"];
142
+                if ($sent["SENT"] === TRUE) {
143
+                    $success["EMAIL TRANSPORT SECURE"] = $sent["TRANSPORT"];
144
+                }
145
+            }
146
+            $adminApi->returnSuccess($success);
147
+            break;
148
+        case web\lib\admin\API::ACTION_ADMIN_DEL:
149
+            // IdP in question
150
+            try {
151
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
152
+            } catch (Exception $e) {
153
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
154
+                exit(1);
155
+            }
156
+            $currentAdmins = $idp->listOwners();
157
+            $toBeDeleted = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_ADMINID);
158
+            if ($toBeDeleted === FALSE) {
159
+                throw new Exception("A required parameter is missing, and this wasn't caught earlier?!");
160
+            }
161
+            $found = FALSE;
162
+            foreach ($currentAdmins as $oneAdmin) {
163
+                if ($oneAdmin['MAIL'] == $toBeDeleted) {
164
+                    $found = TRUE;
165
+                    $mgmt = new core\UserManagement();
166
+                    $mgmt->removeAdminFromIdP($idp, $oneAdmin['ID']);
167
+                }
168
+            }
169
+            if ($found) {
170
+                $adminApi->returnSuccess([]);
171
+            }
172
+            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The admin with ID $toBeDeleted is not associated to IdP " . $idp->identifier);
173
+            break;
174
+        case web\lib\admin\API::ACTION_STATISTICS_FED:
175
+            $adminApi->returnSuccess($fed->downloadStats("array"));
176
+            break;
177
+        case \web\lib\admin\API::ACTION_NEWPROF_RADIUS:
178
+        // fall-through intended: both get mostly identical treatment
179
+        case web\lib\admin\API::ACTION_NEWPROF_SB:
180
+            try {
181
+                $idp = $validator->existingIdP($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_INST_ID));
182
+            } catch (Exception $e) {
183
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "IdP identifier does not exist!");
184
+                exit(1);
185
+            }
186
+            if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_RADIUS) {
187
+                $type = "RADIUS";
218 188
             } else {
219
-                $outer = $outer . "@";
220
-                $profile->setAnonymousIDSupport(TRUE);
189
+                $type = "SILVERBULLET";
221 190
             }
222
-            $profile->setRealm($outer . $realm);
223
-        }
224
-        /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
225
-        $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
226
-        if ($testuser !== FALSE) {
227
-            $profile->setRealmCheckUser(TRUE, $testuser);
228
-        }
229
-        /* const AUXATTRIB_PROFILE_INPUT_HINT = 'ATTRIB-PROFILE-HINTREALM';
191
+            $profile = $idp->newProfile($type);
192
+            if ($profile === NULL) {
193
+                $adminApi->returnError(\web\lib\admin\API::ERROR_INTERNAL_ERROR, "Unable to create a new Profile, for no apparent reason. Please contact support.");
194
+                exit(1);
195
+            }
196
+            $inputs = $adminApi->uglify($scrubbedParameters);
197
+            $optionParser->processSubmittedFields($profile, $inputs["POST"], $inputs["FILES"]);
198
+            if ($inputDecoded['ACTION'] == web\lib\admin\API::ACTION_NEWPROF_SB) {
199
+                // auto-accept ToU?
200
+                if ($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_TOU) !== FALSE) {
201
+                    $profile->addAttribute("hiddenprofile:tou_accepted", NULL, 1);
202
+                }
203
+                // we're done at this point
204
+                $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profile->identifier]);
205
+                break;
206
+            }
207
+            if (!$profile instanceof core\ProfileRADIUS) {
208
+                throw new Exception("Can't be. This is only here to convince Scrutinizer that we're really talking RADIUS.");
209
+            }
210
+            /* const AUXATTRIB_PROFILE_REALM = 'ATTRIB-PROFILE-REALM';
211
+          const AUXATTRIB_PROFILE_OUTERVALUE = 'ATTRIB-PROFILE-OUTERVALUE'; */
212
+            $realm = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_REALM);
213
+            $outer = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_OUTERVALUE);
214
+            if ($realm !== FALSE) {
215
+                if ($outer === FALSE) {
216
+                    $outer = "";
217
+                    $profile->setAnonymousIDSupport(FALSE);
218
+                } else {
219
+                    $outer = $outer . "@";
220
+                    $profile->setAnonymousIDSupport(TRUE);
221
+                }
222
+                $profile->setRealm($outer . $realm);
223
+            }
224
+            /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
225
+            $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
226
+            if ($testuser !== FALSE) {
227
+                $profile->setRealmCheckUser(TRUE, $testuser);
228
+            }
229
+            /* const AUXATTRIB_PROFILE_INPUT_HINT = 'ATTRIB-PROFILE-HINTREALM';
230 230
           const AUXATTRIB_PROFILE_INPUT_VERIFY = 'ATTRIB-PROFILE-VERIFYREALM'; */
231
-        $hint = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_HINT);
232
-        $enforce = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_VERIFY);
233
-        if ($enforce !== FALSE) {
234
-            $profile->setInputVerificationPreference($enforce, $hint);
235
-        }
236
-        /* const AUXATTRIB_PROFILE_EAPTYPE */
237
-        $iterator = 1;
238
-        foreach ($scrubbedParameters as $oneParam) {
239
-            if ($oneParam['NAME'] == web\lib\admin\API::AUXATTRIB_PROFILE_EAPTYPE && is_int($oneParam["VALUE"])) {
240
-                $type = new \core\common\EAP($oneParam["VALUE"]);
241
-                $profile->addSupportedEapMethod($type, $iterator);
242
-                $iterator = $iterator + 1;
231
+            $hint = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_HINT);
232
+            $enforce = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_INPUT_VERIFY);
233
+            if ($enforce !== FALSE) {
234
+                $profile->setInputVerificationPreference($enforce, $hint);
243 235
             }
244
-        }
245
-        // reinstantiate $profile freshly from DB - it was updated in the process
246
-        $profileFresh = new core\ProfileRADIUS($profile->identifier);
247
-        $profileFresh->prepShowtime();
248
-        $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profileFresh->identifier]);
249
-        break;
250
-    case web\lib\admin\API::ACTION_ENDUSER_NEW:
251
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
252
-        if ($prof_id === FALSE) {
253
-            exit(1);
254
-        }
255
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
256
-        if ($evaluation === FALSE) {
257
-            exit(1);
258
-        }
259
-        list($idp, $profile) = $evaluation;
260
-        $user = $validator->string($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME));
261
-        $expiryRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_EXPIRY);
262
-        if ($expiryRaw === FALSE) {
263
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The expiry date wasn't found in the request.");
264
-            exit(1);
265
-        }
266
-        $expiry = new DateTime($expiryRaw);
267
-        try {
268
-            $retval = $profile->addUser($user, $expiry);
269
-        } catch (Exception $e) {
270
-            $adminApi->returnError(web\lib\admin\API::ERROR_INTERNAL_ERROR, "The operation failed. Maybe a duplicate username, or malformed expiry date?");
271
-            exit(1);
272
-        }
273
-        if ($retval == 0) {// that didn't work, it seems
274
-            $adminApi->returnError(web\lib\admin\API::ERROR_INTERNAL_ERROR, "The operation failed subtly. Contact the administrators.");
275
-            exit(1);
276
-        }
277
-        $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_SB_USERNAME => $user, \web\lib\admin\API::AUXATTRIB_SB_USERID => $retval]);
278
-        break;
279
-    case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
280
-    // fall-through intended: both actions are very similar
281
-    case \web\lib\admin\API::ACTION_TOKEN_NEW:
282
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
283
-        if ($profile_id === FALSE) {
284
-            exit(1);
285
-        }
286
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
287
-        if ($evaluation === FALSE) {
288
-            exit(1);
289
-        }
290
-        list($idp, $profile) = $evaluation;
291
-        $userId = $validator->integer($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID));
292
-        if ($userId === FALSE) {
293
-            $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "User ID is not an integer.");
294
-            exit(1);
295
-        }
296
-        $additionalInfo = [];
297
-        switch ($inputDecoded['ACTION']) { // this is where the two differ
236
+            /* const AUXATTRIB_PROFILE_EAPTYPE */
237
+            $iterator = 1;
238
+            foreach ($scrubbedParameters as $oneParam) {
239
+                if ($oneParam['NAME'] == web\lib\admin\API::AUXATTRIB_PROFILE_EAPTYPE && is_int($oneParam["VALUE"])) {
240
+                    $type = new \core\common\EAP($oneParam["VALUE"]);
241
+                    $profile->addSupportedEapMethod($type, $iterator);
242
+                    $iterator = $iterator + 1;
243
+                }
244
+            }
245
+            // reinstantiate $profile freshly from DB - it was updated in the process
246
+            $profileFresh = new core\ProfileRADIUS($profile->identifier);
247
+            $profileFresh->prepShowtime();
248
+            $adminApi->returnSuccess([\web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID => $profileFresh->identifier]);
249
+            break;
250
+        case web\lib\admin\API::ACTION_ENDUSER_NEW:
251
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
252
+            if ($prof_id === FALSE) {
253
+                exit(1);
254
+            }
255
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
256
+            if ($evaluation === FALSE) {
257
+                exit(1);
258
+            }
259
+            list($idp, $profile) = $evaluation;
260
+            $user = $validator->string($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME));
261
+            $expiryRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_EXPIRY);
262
+            if ($expiryRaw === FALSE) {
263
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "The expiry date wasn't found in the request.");
264
+                exit(1);
265
+            }
266
+            $expiry = new DateTime($expiryRaw);
267
+            try {
268
+                $retval = $profile->addUser($user, $expiry);
269
+            } catch (Exception $e) {
270
+                $adminApi->returnError(web\lib\admin\API::ERROR_INTERNAL_ERROR, "The operation failed. Maybe a duplicate username, or malformed expiry date?");
271
+                exit(1);
272
+            }
273
+            if ($retval == 0) {// that didn't work, it seems
274
+                $adminApi->returnError(web\lib\admin\API::ERROR_INTERNAL_ERROR, "The operation failed subtly. Contact the administrators.");
275
+                exit(1);
276
+            }
277
+            $adminApi->returnSuccess([web\lib\admin\API::AUXATTRIB_SB_USERNAME => $user, \web\lib\admin\API::AUXATTRIB_SB_USERID => $retval]);
278
+            break;
279
+        case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
280
+        // fall-through intended: both actions are very similar
281
+        case \web\lib\admin\API::ACTION_TOKEN_NEW:
282
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
283
+            if ($profile_id === FALSE) {
284
+                exit(1);
285
+            }
286
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
287
+            if ($evaluation === FALSE) {
288
+                exit(1);
289
+            }
290
+            list($idp, $profile) = $evaluation;
291
+            $userId = $validator->integer($adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID));
292
+            if ($userId === FALSE) {
293
+                $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "User ID is not an integer.");
294
+                exit(1);
295
+            }
296
+            $additionalInfo = [];
297
+            switch ($inputDecoded['ACTION']) { // this is where the two differ
298 298
             case \web\lib\admin\API::ACTION_ENDUSER_DEACTIVATE:
299 299
                 $result = $profile->deactivateUser($userId);
300 300
                 break;
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
                     }
328 328
                 }
329 329
                 break;
330
-        }
330
+            }
331 331
 
332 332
         if ($result !== TRUE) {
333 333
             $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "These parameters did not lead to an existing, active user.");
@@ -335,65 +335,65 @@  discard block
 block discarded – undo
335 335
         }
336 336
         $adminApi->returnSuccess($additionalInfo);
337 337
         break;
338
-    case \web\lib\admin\API::ACTION_ENDUSER_IDENTIFY:
339
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
340
-        if ($profile_id === FALSE) {
341
-            exit(1);
342
-        }
343
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
344
-        if ($evaluation === FALSE) {
345
-            exit(1);
346
-        }
347
-        list($idp, $profile) = $evaluation;
348
-        $userId = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
349
-        $userName = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME);
350
-        $certSerial = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
351
-        if ($userId === FALSE && $userName === FALSE && $certSerial === FALSE) {
352
-            // we need at least one of those
353
-            $adminApi->returnError(\web\lib\admin\API::ERROR_MISSING_PARAMETER, "At least one of User ID, Username, or certificate serial is required.");
354
-        }
355
-        $userlist = $profile->listAllUsers();
356
-        if ($userName === FALSE && $certSerial === FALSE) { // we got a user ID
357
-            if (!isset($userlist[$userId])) {
358
-                return $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "This user ID does not exist in this profile.");
338
+        case \web\lib\admin\API::ACTION_ENDUSER_IDENTIFY:
339
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
340
+            if ($profile_id === FALSE) {
341
+                exit(1);
359 342
             }
360
-            $adminApi->returnSuccess([$userId => $userlist[$userId]]);
361
-        }
362
-        if ($userId === FALSE && $certSerial === FALSE) { // we got a username
363
-            $key = array_search($userName, $userlist);
364
-            if ($key === FALSE) {
365
-                return $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "This username does not exist in this profile.");
343
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
344
+            if ($evaluation === FALSE) {
345
+                exit(1);
366 346
             }
367
-            $adminApi->returnSuccess([$key => $userlist[$key]]);
368
-        }
369
-        if ($userId === FALSE && $userName === FALSE) { // we got a cert serial
370
-            $serial = explode(":", $certSerial);
371
-            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
372
-            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
373
-                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
347
+            list($idp, $profile) = $evaluation;
348
+            $userId = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
349
+            $userName = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERNAME);
350
+            $certSerial = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
351
+            if ($userId === FALSE && $userName === FALSE && $certSerial === FALSE) {
352
+                // we need at least one of those
353
+                $adminApi->returnError(\web\lib\admin\API::ERROR_MISSING_PARAMETER, "At least one of User ID, Username, or certificate serial is required.");
374 354
             }
375
-            if ($cert->profileId != $profile->identifier) {
376
-                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
355
+            $userlist = $profile->listAllUsers();
356
+            if ($userName === FALSE && $certSerial === FALSE) { // we got a user ID
357
+                if (!isset($userlist[$userId])) {
358
+                    return $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "This user ID does not exist in this profile.");
359
+                }
360
+                $adminApi->returnSuccess([$userId => $userlist[$userId]]);
377 361
             }
378
-            $adminApi->returnSuccess([$cert->userId => $userlist[$cert->userId]]);
379
-        }
380
-        $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "Only exactly one of User ID, username or cert serial can be specified.");
381
-        break;
382
-    case \web\lib\admin\API::ACTION_ENDUSER_LIST:
383
-    // fall-through: those two are similar
384
-    case \web\lib\admin\API::ACTION_TOKEN_LIST:
385
-        $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
386
-        if ($profile_id === FALSE) {
387
-            exit(1);
388
-        }
389
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
390
-        if ($evaluation === FALSE) {
391
-            exit(1);
392
-        }
393
-        list($idp, $profile) = $evaluation;
394
-        $allUsers = $profile->listAllUsers();
395
-        // this is where they differ
396
-        switch ($inputDecoded['ACTION']) {
362
+            if ($userId === FALSE && $certSerial === FALSE) { // we got a username
363
+                $key = array_search($userName, $userlist);
364
+                if ($key === FALSE) {
365
+                    return $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "This username does not exist in this profile.");
366
+                }
367
+                $adminApi->returnSuccess([$key => $userlist[$key]]);
368
+            }
369
+            if ($userId === FALSE && $userName === FALSE) { // we got a cert serial
370
+                $serial = explode(":", $certSerial);
371
+                $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
372
+                if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
373
+                    $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
374
+                }
375
+                if ($cert->profileId != $profile->identifier) {
376
+                    $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
377
+                }
378
+                $adminApi->returnSuccess([$cert->userId => $userlist[$cert->userId]]);
379
+            }
380
+            $adminApi->returnError(\web\lib\admin\API::ERROR_INVALID_PARAMETER, "Only exactly one of User ID, username or cert serial can be specified.");
381
+            break;
382
+        case \web\lib\admin\API::ACTION_ENDUSER_LIST:
383
+        // fall-through: those two are similar
384
+        case \web\lib\admin\API::ACTION_TOKEN_LIST:
385
+            $profile_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
386
+            if ($profile_id === FALSE) {
387
+                exit(1);
388
+            }
389
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $profile_id);
390
+            if ($evaluation === FALSE) {
391
+                exit(1);
392
+            }
393
+            list($idp, $profile) = $evaluation;
394
+            $allUsers = $profile->listAllUsers();
395
+            // this is where they differ
396
+            switch ($inputDecoded['ACTION']) {
397 397
             case \web\lib\admin\API::ACTION_ENDUSER_LIST:
398 398
                 $adminApi->returnSuccess($allUsers);
399 399
                 break;
@@ -412,105 +412,105 @@  discard block
 block discarded – undo
412 412
                     $infoSet[$oneTokenObject->userId] = [\web\lib\admin\API::AUXATTRIB_TOKEN => $oneTokenObject->invitationTokenString, "STATUS" => $oneTokenObject->invitationTokenStatus];
413 413
                 }
414 414
                 $adminApi->returnSuccess($infoSet);
415
-        }
416
-        break;
417
-    case \web\lib\admin\API::ACTION_TOKEN_REVOKE:
418
-        $tokenRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TOKEN);
419
-        if ($tokenRaw === FALSE) {
420
-            exit(1);
421
-        }
422
-        $token = new core\SilverbulletInvitation($tokenRaw);
423
-        if ($token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_VALID && $token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_PARTIALLY_REDEEMED) {
424
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "This is not a currently valid token.");
425
-            exit(1);
426
-        }
427
-        $token->revokeInvitation();
428
-        $adminApi->returnSuccess([]);
429
-        break;
430
-    case \web\lib\admin\API::ACTION_CERT_LIST:
431
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
432
-        $user_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
433
-        if ($prof_id === FALSE || !is_int($user_id)) {
434
-            exit(1);
435
-        }
436
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
437
-        if ($evaluation === FALSE) {
438
-            exit(1);
439
-        }
440
-        list($idp, $profile) = $evaluation;
441
-        $invitations = $profile->userStatus($user_id);
442
-        // now pull out cert information from the object
443
-        $certs = [];
444
-        foreach ($invitations as $oneInvitation) {
445
-            $certs = array_merge($certs, $oneInvitation->associatedCertificates);
446
-        }
447
-        // extract relevant subset of information from cert objects
448
-        $certDetails = [];
449
-        foreach ($certs as $cert) {
450
-            $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
451
-        }
452
-        $adminApi->returnSuccess($certDetails);
453
-        break;
454
-    case \web\lib\admin\API::ACTION_CERT_REVOKE:
455
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
456
-        if ($prof_id === FALSE) {
457
-            exit(1);
458
-        }
459
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
460
-        if ($evaluation === FALSE) {
461
-            exit(1);
462
-        }
463
-        list($idp, $profile) = $evaluation;
464
-        // tear apart the serial
465
-        $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
466
-        if ($serialRaw === FALSE) {
467
-            exit(1);
468
-        }
469
-        $serial = explode(":", $serialRaw);
470
-        $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
471
-        if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
472
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
473
-        }
474
-        if ($cert->profileId != $profile->identifier) {
475
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
476
-        }
477
-        $cert->revokeCertificate();
478
-        $adminApi->returnSuccess([]);
415
+            }
479 416
         break;
480
-    case \web\lib\admin\API::ACTION_CERT_ANNOTATE:
481
-        $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
482
-        if ($prof_id === FALSE) {
483
-            exit(1);
484
-        }
485
-        $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
486
-        if ($evaluation === FALSE) {
487
-            exit(1);
488
-        }
489
-        list($idp, $profile) = $evaluation;
490
-        // tear apart the serial
491
-        $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
492
-        if ($serialRaw === FALSE) {
493
-            exit(1);
494
-        }
495
-        $serial = explode(":", $serialRaw);
496
-        $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
497
-        if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
498
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
499
-        }
500
-        if ($cert->profileId != $profile->identifier) {
501
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
502
-        }
503
-        $annotationRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTANNOTATION);
504
-        if ($annotationRaw === FALSE) {
505
-            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Unable to extract annotation.");
417
+        case \web\lib\admin\API::ACTION_TOKEN_REVOKE:
418
+            $tokenRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_TOKEN);
419
+            if ($tokenRaw === FALSE) {
420
+                exit(1);
421
+            }
422
+            $token = new core\SilverbulletInvitation($tokenRaw);
423
+            if ($token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_VALID && $token->invitationTokenStatus !== core\SilverbulletInvitation::SB_TOKENSTATUS_PARTIALLY_REDEEMED) {
424
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "This is not a currently valid token.");
425
+                exit(1);
426
+            }
427
+            $token->revokeInvitation();
428
+            $adminApi->returnSuccess([]);
506 429
             break;
507
-        }
508
-        $annotation = json_decode($annotationRaw, TRUE);
509
-        $cert->annotate($annotation);
510
-        $adminApi->returnSuccess([]);
430
+        case \web\lib\admin\API::ACTION_CERT_LIST:
431
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
432
+            $user_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_USERID);
433
+            if ($prof_id === FALSE || !is_int($user_id)) {
434
+                exit(1);
435
+            }
436
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
437
+            if ($evaluation === FALSE) {
438
+                exit(1);
439
+            }
440
+            list($idp, $profile) = $evaluation;
441
+            $invitations = $profile->userStatus($user_id);
442
+            // now pull out cert information from the object
443
+            $certs = [];
444
+            foreach ($invitations as $oneInvitation) {
445
+                $certs = array_merge($certs, $oneInvitation->associatedCertificates);
446
+            }
447
+            // extract relevant subset of information from cert objects
448
+            $certDetails = [];
449
+            foreach ($certs as $cert) {
450
+                $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
451
+            }
452
+            $adminApi->returnSuccess($certDetails);
453
+            break;
454
+        case \web\lib\admin\API::ACTION_CERT_REVOKE:
455
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
456
+            if ($prof_id === FALSE) {
457
+                exit(1);
458
+            }
459
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
460
+            if ($evaluation === FALSE) {
461
+                exit(1);
462
+            }
463
+            list($idp, $profile) = $evaluation;
464
+            // tear apart the serial
465
+            $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
466
+            if ($serialRaw === FALSE) {
467
+                exit(1);
468
+            }
469
+            $serial = explode(":", $serialRaw);
470
+            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
471
+            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
472
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
473
+            }
474
+            if ($cert->profileId != $profile->identifier) {
475
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
476
+            }
477
+            $cert->revokeCertificate();
478
+            $adminApi->returnSuccess([]);
479
+            break;
480
+        case \web\lib\admin\API::ACTION_CERT_ANNOTATE:
481
+            $prof_id = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_CAT_PROFILE_ID);
482
+            if ($prof_id === FALSE) {
483
+                exit(1);
484
+            }
485
+            $evaluation = $adminApi->commonSbProfileChecks($fed, $prof_id);
486
+            if ($evaluation === FALSE) {
487
+                exit(1);
488
+            }
489
+            list($idp, $profile) = $evaluation;
490
+            // tear apart the serial
491
+            $serialRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTSERIAL);
492
+            if ($serialRaw === FALSE) {
493
+                exit(1);
494
+            }
495
+            $serial = explode(":", $serialRaw);
496
+            $cert = new \core\SilverbulletCertificate($serial[1], $serial[0]);
497
+            if ($cert->status == \core\SilverbulletCertificate::CERTSTATUS_INVALID) {
498
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial not found.");
499
+            }
500
+            if ($cert->profileId != $profile->identifier) {
501
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Serial does not belong to this profile.");
502
+            }
503
+            $annotationRaw = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_SB_CERTANNOTATION);
504
+            if ($annotationRaw === FALSE) {
505
+                $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_PARAMETER, "Unable to extract annotation.");
506
+                break;
507
+            }
508
+            $annotation = json_decode($annotationRaw, TRUE);
509
+            $cert->annotate($annotation);
510
+            $adminApi->returnSuccess([]);
511 511
         
512
-        break;
512
+            break;
513 513
         
514
-    default:
515
-        $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_ACTION, "Not implemented yet.");
514
+        default:
515
+            $adminApi->returnError(web\lib\admin\API::ERROR_INVALID_ACTION, "Not implemented yet.");
516 516
 }
517 517
\ No newline at end of file
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
 $inputRaw = file_get_contents('php://input');
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
         $adminApi->returnSuccess($fed->downloadStats("array"));
@@ -216,10 +216,10 @@  discard block
 block discarded – undo
216 216
                 $outer = "";
217 217
                 $profile->setAnonymousIDSupport(FALSE);
218 218
             } else {
219
-                $outer = $outer . "@";
219
+                $outer = $outer."@";
220 220
                 $profile->setAnonymousIDSupport(TRUE);
221 221
             }
222
-            $profile->setRealm($outer . $realm);
222
+            $profile->setRealm($outer.$realm);
223 223
         }
224 224
         /* const AUXATTRIB_PROFILE_TESTUSER = 'ATTRIB-PROFILE-TESTUSER'; */
225 225
         $testuser = $adminApi->firstParameterInstance($scrubbedParameters, web\lib\admin\API::AUXATTRIB_PROFILE_TESTUSER);
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
         // extract relevant subset of information from cert objects
448 448
         $certDetails = [];
449 449
         foreach ($certs as $cert) {
450
-            $certDetails[$cert->ca_type . ":" . $cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
450
+            $certDetails[$cert->ca_type.":".$cert->serial] = ["ISSUED" => $cert->issued, "EXPIRY" => $cert->expiry, "STATUS" => $cert->status, "DEVICE" => $cert->device, "CN" => $cert->username, "ANNOTATION" => $cert->annotation];
451 451
         }
452 452
         $adminApi->returnSuccess($certDetails);
453 453
         break;
Please login to merge, or discard this patch.
web/lib/admin/API.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
     const ACTIONS = [
239 239
         // Inst-level actions.
240 240
         API::ACTION_NEWINST_BY_REF => [
241
-            "REQ" => [API::AUXATTRIB_EXTERNALID,],
241
+            "REQ" => [API::AUXATTRIB_EXTERNALID, ],
242 242
             "OPT" => [
243 243
                 'general:geo_coordinates',
244 244
                 'general:logo_file',
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
             ],
256 256
         ],
257 257
         API::ACTION_NEWINST => [
258
-            "REQ" => [API::AUXATTRIB_INSTTYPE,], // "IdP", "SP" or "IdPSP"
258
+            "REQ" => [API::AUXATTRIB_INSTTYPE, ], // "IdP", "SP" or "IdPSP"
259 259
             "OPT" => [
260 260
                 'general:instname',
261 261
                 'general:geo_coordinates',
@@ -543,8 +543,8 @@  discard block
 block discarded – undo
543 543
 
544 544
                 case \core\Options::TYPECODE_COORDINATES:
545 545
                     $extension = \core\Options::TYPECODE_TEXT;
546
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
547
-                    $coercedInline["value"][$basename . "-" . $extension] = $oneAttrib['VALUE'];
546
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
547
+                    $coercedInline["value"][$basename."-".$extension] = $oneAttrib['VALUE'];
548 548
                     break;
549 549
                 case \core\Options::TYPECODE_TEXT:
550 550
                 // Fall-through: they all get the same treatment.
@@ -554,18 +554,18 @@  discard block
 block discarded – undo
554 554
                 // Fall-through: they all get the same treatment.
555 555
                 case \core\Options::TYPECODE_INTEGER:
556 556
                     $extension = $optionInfo['type'];
557
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
558
-                    $coercedInline["value"][$basename . "-" . $extension] = $oneAttrib['VALUE'];
557
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
558
+                    $coercedInline["value"][$basename."-".$extension] = $oneAttrib['VALUE'];
559 559
                     if ($optionInfo['flag'] == "ML") {
560
-                        $coercedInline["value"][$basename . "-lang"] = $oneAttrib['LANG'];
560
+                        $coercedInline["value"][$basename."-lang"] = $oneAttrib['LANG'];
561 561
                     }
562 562
                     break;
563 563
                 case \core\Options::TYPECODE_FILE:
564 564
                     // Binary data is expected in base64 encoding. This is true also for PEM files!
565 565
                     $extension = $optionInfo['type'];
566
-                    $coercedInline["option"][$basename] = $oneAttrib['NAME'] . "#";
567
-                    file_put_contents($dir['dir'] . "/" . $basename . "-" . $extension, base64_decode($oneAttrib['VALUE']));
568
-                    $coercedFile["value"]['tmp_name'][$basename . "-" . $extension] = $dir['dir'] . "/" . $basename . "-" . $extension;
566
+                    $coercedInline["option"][$basename] = $oneAttrib['NAME']."#";
567
+                    file_put_contents($dir['dir']."/".$basename."-".$extension, base64_decode($oneAttrib['VALUE']));
568
+                    $coercedFile["value"]['tmp_name'][$basename."-".$extension] = $dir['dir']."/".$basename."-".$extension;
569 569
                     break;
570 570
                 default:
571 571
                     throw new Exception("We don't seem to know this type code!");
Please login to merge, or discard this patch.
config/autoloader.php 1 patch
Spacing   +5 added lines, -5 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 __DIR__ . "/../core/Psr4Autoloader.php";
22
+require_once __DIR__."/../core/Psr4Autoloader.php";
23 23
 use core\autoloader\Psr4Autoloader;
24 24
 
25 25
 // instantiate the loader
@@ -30,10 +30,10 @@  discard block
 block discarded – undo
30 30
 
31 31
 // register the base directories for the namespace prefix
32 32
 // include configuration
33
-$loader->addNamespace('config', __DIR__ );
33
+$loader->addNamespace('config', __DIR__);
34 34
 // include CAT/core library
35
-$loader->addNamespace('core', __DIR__ . "/../core");
35
+$loader->addNamespace('core', __DIR__."/../core");
36 36
 // include CAT/devices library
37
-$loader->addNamespace('devices', __DIR__ . "/../devices");
37
+$loader->addNamespace('devices', __DIR__."/../devices");
38 38
 // include CAT/web library
39
-$loader->addNamespace('web', __DIR__ . "/../web");
40 39
\ No newline at end of file
40
+$loader->addNamespace('web', __DIR__."/../web");
41 41
\ No newline at end of file
Please login to merge, or discard this patch.
web/admin/inc/displayQRcode.inc.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  */
21 21
 ?>
22 22
 <?php
23
-require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php";
23
+require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php";
24 24
 
25 25
 $auth = new \web\lib\admin\Authentication();
26 26
 $languageInstance = new \core\common\Language();
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
 $invitationObject = new core\SilverbulletInvitation($validator->token(filter_input(INPUT_POST, 'token')));
39 39
 header("Content-Type:text/html;charset=utf-8");
40 40
 ?>
41
-<h1 style='text-align:center;'><?php echo _("Invitation Token QR Code");?></h1>
41
+<h1 style='text-align:center;'><?php echo _("Invitation Token QR Code"); ?></h1>
42 42
 <img style='float:none' src='data:image/png;base64,<?php 
43 43
 $size = 10;
44 44
 $qrCode = new \chillerlan\QRCode\QRCode(new \chillerlan\QRCode\QROptions([
@@ -51,5 +51,5 @@  discard block
 block discarded – undo
51 51
 if ($rawQr === NULL) {
52 52
     throw new Exception("Something went seriously wrong during QR code generation!");
53 53
 }
54
-echo base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, $size));?>'/>
55
-<p>(<a href='<?php echo $invitationObject->link();?>'><?php echo $invitationObject->link();?>)</a></p>
54
+echo base64_encode($uiElements->pngInjectConsortiumLogo($rawQr, $size)); ?>'/>
55
+<p>(<a href='<?php echo $invitationObject->link(); ?>'><?php echo $invitationObject->link(); ?>)</a></p>
Please login to merge, or discard this patch.
web/admin/inc/filepreview.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 ?>
23 23
 <?php
24 24
 
25
-require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/config/_config.php";
25
+require_once dirname(dirname(dirname(dirname(__FILE__))))."/config/_config.php";
26 26
 
27 27
 $validator = new \web\lib\common\InputValidation();
28 28
 $idRaw = $_GET["id"] ?? "";
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
     // Set data type and caching for 30 days
38 38
     $info = new finfo();
39 39
     $filetype = $info->buffer($finalBlob, FILEINFO_MIME_TYPE);
40
-    header("Content-type: " . $filetype);
40
+    header("Content-type: ".$filetype);
41 41
 
42 42
     switch ($filetype) {
43 43
         case "text/rtf": // fall-through, same treatment
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
     header("Cache-Control: must-revalidate");
55 55
     $offset = 60 * 60 * 24 * 30;
56 56
     // gmdate can't possibly fail, because it operates on time() and an integer offset
57
-    $ExpStr = "Expires: " . /** @scrutinizer ignore-type */ gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
57
+    $ExpStr = "Expires: "./** @scrutinizer ignore-type */ gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
58 58
     header($ExpStr);
59 59
     //  Print out the image
60 60
     echo $finalBlob;
Please login to merge, or discard this patch.
web/lib/admin/UIElements.php 1 patch
Spacing   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -147,7 +147,7 @@  discard block
 block discarded – undo
147 147
         $find = array_keys($displayNames, $input, TRUE);
148 148
 
149 149
         if (count($find) == 0) { // this is an error! throw an Exception
150
-            throw new \Exception("The translation of an option name was requested, but the option is not known to the system: " . htmlentities($input));
150
+            throw new \Exception("The translation of an option name was requested, but the option is not known to the system: ".htmlentities($input));
151 151
         }
152 152
         \core\common\Entity::outOfThePotatoes();
153 153
         return $find[0];
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
 
169 169
         foreach ($optionlist as $option) {
170 170
             $type = $optioninfo->optionType($option['name']);
171
-            if (preg_match('/^' . $class . '/', $option['name']) && $option['level'] == "$level") {
171
+            if (preg_match('/^'.$class.'/', $option['name']) && $option['level'] == "$level") {
172 172
                 // all non-multilang attribs get this assignment ...
173 173
                 $language = "";
174 174
                 $content = $option['value'];
@@ -186,19 +186,19 @@  discard block
 block discarded – undo
186 186
                         $locationMarkers[] = $coords;
187 187
                         break;
188 188
                     case "file":
189
-                        $retval .= "<tr><td>" . $this->displayName($option['name']) . "</td><td>$language</td><td>";
189
+                        $retval .= "<tr><td>".$this->displayName($option['name'])."</td><td>$language</td><td>";
190 190
                         switch ($option['name']) {
191 191
                             case "general:logo_file":
192 192
                             case "fed:logo_file":
193
-                                $retval .= $this->previewImageinHTML('ROWID-' . $option['level'] . '-' . $option['row']);
193
+                                $retval .= $this->previewImageinHTML('ROWID-'.$option['level'].'-'.$option['row']);
194 194
                                 break;
195 195
                             case "eap:ca_file":
196 196
                             // fall-through intended: display both the same way
197 197
                             case "fed:minted_ca_file":
198
-                                $retval .= $this->previewCAinHTML('ROWID-' . $option['level'] . '-' . $option['row']);
198
+                                $retval .= $this->previewCAinHTML('ROWID-'.$option['level'].'-'.$option['row']);
199 199
                                 break;
200 200
                             case "support:info_file":
201
-                                $retval .= $this->previewInfoFileinHTML('ROWID-' . $option['level'] . '-' . $option['row']);
201
+                                $retval .= $this->previewInfoFileinHTML('ROWID-'.$option['level'].'-'.$option['row']);
202 202
                                 break;
203 203
                             default:
204 204
                         }
@@ -208,10 +208,10 @@  discard block
 block discarded – undo
208 208
                             // do not display the option at all; it gets auto-set by the ProfileSilverbullet constructor and doesn't have to be seen
209 209
                             break;
210 210
                         }
211
-                        $retval .= "<tr><td>" . $this->displayName($option['name']) . "</td><td>$language</td><td><strong>" . ($content == "on" ? _("on") : _("off") ) . "</strong></td></tr>";
211
+                        $retval .= "<tr><td>".$this->displayName($option['name'])."</td><td>$language</td><td><strong>".($content == "on" ? _("on") : _("off"))."</strong></td></tr>";
212 212
                         break;
213 213
                     default:
214
-                        $retval .= "<tr><td>" . $this->displayName($option['name']) . "</td><td>$language</td><td><strong>$content</strong></td></tr>";
214
+                        $retval .= "<tr><td>".$this->displayName($option['name'])."</td><td>$language</td><td><strong>$content</strong></td></tr>";
215 215
                 }
216 216
             }
217 217
         }
@@ -220,11 +220,11 @@  discard block
 block discarded – undo
220 220
             $locationCount = 0;
221 221
             foreach ($locationMarkers as $g) {
222 222
                 $locationCount++;
223
-                $marker .= '<marker name="' . $locationCount . '" lat="' . $g['lat'] . '" lng="' . $g['lon'] . '" />';
223
+                $marker .= '<marker name="'.$locationCount.'" lat="'.$g['lat'].'" lng="'.$g['lon'].'" />';
224 224
             }
225 225
             $marker .= '<\/markers>'; // some validator says this should be escaped
226 226
             $jMarker = json_encode($locationMarkers);
227
-            $retval .= '<tr><td><script>markers=\'' . $marker . '\'; jmarkers = \'' . $jMarker . '\';</script></td><td></td><td></td></tr>';
227
+            $retval .= '<tr><td><script>markers=\''.$marker.'\'; jmarkers = \''.$jMarker.'\';</script></td><td></td><td></td></tr>';
228 228
         }
229 229
         \core\common\Entity::outOfThePotatoes();
230 230
         return $retval;
@@ -240,11 +240,11 @@  discard block
 block discarded – undo
240 240
         \core\common\Entity::intoThePotatoes();
241 241
         $idpoptions = $myInst->getAttributes();
242 242
         $retval = "<div class='infobox'>
243
-        <h2>" . sprintf(_("General %s details"), $this->nomenclatureInst) . "</h2>
243
+        <h2>" . sprintf(_("General %s details"), $this->nomenclatureInst)."</h2>
244 244
         <table>
245 245
             <tr>
246 246
                 <td>
247
-                    " . _("Country:") . "
247
+                    " . _("Country:")."
248 248
                 </td>
249 249
                 <td>
250 250
                 </td>
@@ -254,16 +254,16 @@  discard block
 block discarded – undo
254 254
         $retval .= $myFed->name;
255 255
         $retval .= "</strong>
256 256
                 </td>
257
-            </tr>" . $this->infoblock($idpoptions, "general", "IdP") . "
257
+            </tr>" . $this->infoblock($idpoptions, "general", "IdP")."
258 258
         </table>
259 259
     </div>";
260 260
 
261 261
         $blocks = [["support", _("Global Helpdesk Details")], ["media", _("Media Properties")]];
262 262
         foreach ($blocks as $block) {
263 263
             $retval .= "<div class='infobox'>
264
-            <h2>" . $block[1] . "</h2>
264
+            <h2>" . $block[1]."</h2>
265 265
             <table>" .
266
-                    $this->infoblock($idpoptions, $block[0], "IdP") .
266
+                    $this->infoblock($idpoptions, $block[0], "IdP").
267 267
                     "</table>
268 268
         </div>";
269 269
         }
@@ -278,12 +278,12 @@  discard block
 block discarded – undo
278 278
      */
279 279
     private function displaySize(int $number) {
280 280
         if ($number > 1024 * 1024) {
281
-            return round($number / 1024 / 1024, 2) . " MiB";
281
+            return round($number / 1024 / 1024, 2)." MiB";
282 282
         }
283 283
         if ($number > 1024) {
284
-            return round($number / 1024, 2) . " KiB";
284
+            return round($number / 1024, 2)." KiB";
285 285
         }
286
-        return $number . " B";
286
+        return $number." B";
287 287
     }
288 288
 
289 289
     /**
@@ -337,7 +337,7 @@  discard block
 block discarded – undo
337 337
         $ref = $validator->databaseReference($cAReference);
338 338
         $rawResult = UIElements::getBlobFromDB($ref['table'], $ref['rowindex'], FALSE);
339 339
         if (is_bool($rawResult)) { // we didn't actually get a CA!
340
-            $retval = "<div class='ca-summary'>" . _("There was an error while retrieving the certificate from the database!") . "</div>";
340
+            $retval = "<div class='ca-summary'>"._("There was an error while retrieving the certificate from the database!")."</div>";
341 341
             \core\common\Entity::outOfThePotatoes();
342 342
             return $retval;
343 343
         }
@@ -353,13 +353,13 @@  discard block
 block discarded – undo
353 353
 
354 354
         $details['name'] = preg_replace('/(.)\/(.)/', "$1<br/>$2", $details['name']);
355 355
         $details['name'] = preg_replace('/\//', "", $details['name']);
356
-        $certstatus = ( $details['root'] == 1 ? "R" : "I");
356
+        $certstatus = ($details['root'] == 1 ? "R" : "I");
357 357
         if ($details['ca'] == 0 && $details['root'] != 1) {
358
-            $retval = "<div class='ca-summary' style='background-color:red'><div style='position:absolute; right: 0px; width:20px; height:20px; background-color:maroon;  border-radius:10px; text-align: center;'><div style='padding-top:3px; font-weight:bold; color:#ffffff;'>S</div></div>" . _("This is a <strong>SERVER</strong> certificate!") . "<br/>" . $details['name'] . "</div>";
358
+            $retval = "<div class='ca-summary' style='background-color:red'><div style='position:absolute; right: 0px; width:20px; height:20px; background-color:maroon;  border-radius:10px; text-align: center;'><div style='padding-top:3px; font-weight:bold; color:#ffffff;'>S</div></div>"._("This is a <strong>SERVER</strong> certificate!")."<br/>".$details['name']."</div>";
359 359
             \core\common\Entity::outOfThePotatoes();
360 360
             return $retval;
361 361
         }
362
-        $retval = "<div class='ca-summary'                                ><div style='position:absolute; right: 0px; width:20px; height:20px; background-color:#0000ff; border-radius:10px; text-align: center;'><div style='padding-top:3px; font-weight:bold; color:#ffffff;'>$certstatus</div></div>" . $details['name'] . "</div>";
362
+        $retval = "<div class='ca-summary'                                ><div style='position:absolute; right: 0px; width:20px; height:20px; background-color:#0000ff; border-radius:10px; text-align: center;'><div style='padding-top:3px; font-weight:bold; color:#ffffff;'>$certstatus</div></div>".$details['name']."</div>";
363 363
         \core\common\Entity::outOfThePotatoes();
364 364
         return $retval;
365 365
     }
@@ -372,7 +372,7 @@  discard block
 block discarded – undo
372 372
      */
373 373
     public function previewImageinHTML($imageReference) {
374 374
         \core\common\Entity::intoThePotatoes();
375
-        $retval = "<img style='max-width:150px' src='inc/filepreview.php?id=" . $imageReference . "' alt='" . _("Preview of logo file") . "'/>";
375
+        $retval = "<img style='max-width:150px' src='inc/filepreview.php?id=".$imageReference."' alt='"._("Preview of logo file")."'/>";
376 376
         \core\common\Entity::outOfThePotatoes();
377 377
         return $retval;
378 378
     }
@@ -389,13 +389,13 @@  discard block
 block discarded – undo
389 389
         $ref = $validator->databaseReference($fileReference);
390 390
         $fileBlob = UIElements::getBlobFromDB($ref['table'], $ref['rowindex'], FALSE);
391 391
         if (is_bool($fileBlob)) { // we didn't actually get a file!
392
-            $retval = "<div class='ca-summary'>" . _("There was an error while retrieving the file from the database!") . "</div>";
392
+            $retval = "<div class='ca-summary'>"._("There was an error while retrieving the file from the database!")."</div>";
393 393
             \core\common\Entity::outOfThePotatoes();
394 394
             return $retval;
395 395
         }
396 396
         $decodedFileBlob = base64_decode($fileBlob);
397 397
         $fileinfo = new \finfo();
398
-        $retval = "<div class='ca-summary'>" . _("File exists") . " (" . $fileinfo->buffer($decodedFileBlob, FILEINFO_MIME_TYPE) . ", " . $this->displaySize(strlen($decodedFileBlob)) . ")<br/><a href='inc/filepreview.php?id=$fileReference'>" . _("Preview") . "</a></div>";
398
+        $retval = "<div class='ca-summary'>"._("File exists")." (".$fileinfo->buffer($decodedFileBlob, FILEINFO_MIME_TYPE).", ".$this->displaySize(strlen($decodedFileBlob)).")<br/><a href='inc/filepreview.php?id=$fileReference'>"._("Preview")."</a></div>";
399 399
         \core\common\Entity::outOfThePotatoes();
400 400
         return $retval;
401 401
     }
@@ -423,7 +423,7 @@  discard block
 block discarded – undo
423 423
             $retval .= "<tr><td>";
424 424
         }
425 425
         $finalCaption = ($caption !== NULL ? $caption : $uiMessages[$level]['text']);
426
-        $retval .= "<img class='icon' src='" . $uiMessages[$level]['icon'] . "' alt='" . $finalCaption . "' title='" . $finalCaption . "'/>";
426
+        $retval .= "<img class='icon' src='".$uiMessages[$level]['icon']."' alt='".$finalCaption."' title='".$finalCaption."'/>";
427 427
         if (!$omittabletags) {
428 428
             $retval .= "</td><td>";
429 429
         }
@@ -505,8 +505,8 @@  discard block
 block discarded – undo
505 505
             return "";
506 506
         }
507 507
 
508
-        $loggerInstance->debug(4, "Consortium logo is at: " . ROOT . "/web/resources/images/consortium_logo_large.png");
509
-        $logogd = imagecreatefrompng(ROOT . "/web/resources/images/consortium_logo_large.png");
508
+        $loggerInstance->debug(4, "Consortium logo is at: ".ROOT."/web/resources/images/consortium_logo_large.png");
509
+        $logogd = imagecreatefrompng(ROOT."/web/resources/images/consortium_logo_large.png");
510 510
         if ($logogd === FALSE) { // consortium logo is bogus; don't do anything
511 511
             return "";
512 512
         }
@@ -532,7 +532,7 @@  discard block
 block discarded – undo
532 532
         imagecolorallocate($whiteimage, 255, 255, 255);
533 533
         // also make sure the initial placement is a multitude of 12; otherwise "two half" symbols might be affected
534 534
         $targetplacementx = (int) ($symbolsize * round(($sizeinput[0] / 2 - ($targetwidth - $symbolsize + 1) / 2) / $symbolsize));
535
-        $targetplacementy = (int) ($symbolsize * round(($sizeinput[1] / 2 - ($targetheight - $symbolsize + 1 ) / 2) / $symbolsize));
535
+        $targetplacementy = (int) ($symbolsize * round(($sizeinput[1] / 2 - ($targetheight - $symbolsize + 1) / 2) / $symbolsize));
536 536
         imagecopyresized($inputgd, $whiteimage, $targetplacementx - $symbolsize, $targetplacementy - $symbolsize, 0, 0, $targetwidth + 2 * $symbolsize, $targetheight + 2 * $symbolsize, $targetwidth + 2 * $symbolsize, $targetheight + 2 * $symbolsize);
537 537
         imagecopyresized($inputgd, $logogd, $targetplacementx, $targetplacementy, 0, 0, $targetwidth, $targetheight, $sizelogo[0], $sizelogo[1]);
538 538
         ob_start();
@@ -579,9 +579,9 @@  discard block
 block discarded – undo
579 579
                 $message = "Your configuration appears to be fine.";
580 580
                 break;
581 581
             default:
582
-                throw new Exception("The result code level " . $test->test_result['global'] . " is not defined!");
582
+                throw new Exception("The result code level ".$test->test_result['global']." is not defined!");
583 583
         }
584
-        $out .= $this->boxFlexible($test->test_result['global'], "<br><strong>Test Summary</strong><br>" . $message . "<br>See below for details<br><hr>");
584
+        $out .= $this->boxFlexible($test->test_result['global'], "<br><strong>Test Summary</strong><br>".$message."<br>See below for details<br><hr>");
585 585
         foreach ($test->out as $testValue) {
586 586
             foreach ($testValue as $o) {
587 587
                 $out .= $this->boxFlexible($o['level'], $o['message']);
Please login to merge, or discard this patch.