Passed
Pull Request — master (#165)
by
unknown
19:08
created
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/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.
utils/ocspweb/index.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
 exec("openssl ocsp -reqin $derFilePath -req_text", $output, $retval);
98 98
 
99 99
 if ($retval !== 0) {
100
-    throw new Exception("openssl ocsp returned a non-zero return code. The DER data is probably bogus. B64 representation of DER data is: " . base64_encode($ocspRequestDer));
100
+    throw new Exception("openssl ocsp returned a non-zero return code. The DER data is probably bogus. B64 representation of DER data is: ".base64_encode($ocspRequestDer));
101 101
 }
102 102
 if ($output === NULL) { // this can't really happen, but makes Scrutinizer happier
103 103
     $output = [];
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
  * back (if we have it).
128 128
  */
129 129
 if (strcasecmp($nameHash, OUR_NAME_HASH) != 0 || strcasecmp($keyHash, OUR_KEY_HASH) != 0) {
130
-    throw new Exception("The request is about a different Issuer name / public key. Expected vs. actual name hash: " . OUR_NAME_HASH . " / $nameHash, " . OUR_KEY_HASH . " / $keyHash");
130
+    throw new Exception("The request is about a different Issuer name / public key. Expected vs. actual name hash: ".OUR_NAME_HASH." / $nameHash, ".OUR_KEY_HASH." / $keyHash");
131 131
 }
132
-error_log("base64-encoded request: " . base64_encode($ocspRequestDer));
132
+error_log("base64-encoded request: ".base64_encode($ocspRequestDer));
133 133
 
134
-$response = fopen(__DIR__ . "/statements/" . $serialHex . ".der", "r");
134
+$response = fopen(__DIR__."/statements/".$serialHex.".der", "r");
135 135
 if ($response === FALSE) { // not found
136 136
     // first lets load the unauthorised response, which is the default reply
137
-    $unauthResponse = fopen(__DIR__ . "/statements/UNAUTHORIZED.der", "r");
137
+    $unauthResponse = fopen(__DIR__."/statements/UNAUTHORIZED.der", "r");
138 138
     if ($unauthResponse === FALSE) {
139 139
         throw new Exception("Unable to open our canned UNAUTHORIZED response!");
140 140
     }
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
 
177 177
 $responseContent = fread($response, 1000000);
178 178
 fclose($response);
179
-error_log("base64-encoded response: " . base64_encode($responseContent));
179
+error_log("base64-encoded response: ".base64_encode($responseContent));
180 180
 header('Content-Type: application/ocsp-response');
181
-header('Content-Length: ' . strlen($responseContent));
181
+header('Content-Length: '.strlen($responseContent));
182 182
 echo $responseContent;
Please login to merge, or discard this patch.
devices/apple_mobileconfig/MobileconfigSuperclass.php 1 patch
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -174,15 +174,15 @@  discard block
 block discarded – undo
174 174
       <key>PayloadDescription</key>
175 175
          <string>$tagline</string>
176 176
       <key>PayloadDisplayName</key>
177
-         <string>" . \config\ConfAssistant::CONSORTIUM['display_name'] . "</string>
177
+         <string>".\config\ConfAssistant::CONSORTIUM['display_name']."</string>
178 178
       <key>PayloadIdentifier</key>
179
-         <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string>
179
+         <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string>
180 180
       <key>PayloadOrganization</key>
181
-         <string>" . htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['general:instname'][0]), ENT_XML1, 'UTF-8') . ( $this->attributes['internal:profile_count'][0] > 1 ? " (" . htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['profile:name'][0]), ENT_XML1, 'UTF-8') . ")" : "") . "</string>
181
+         <string>".htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['general:instname'][0]), ENT_XML1, 'UTF-8').($this->attributes['internal:profile_count'][0] > 1 ? " (".htmlspecialchars(iconv("UTF-8", "UTF-8//IGNORE", $this->attributes['profile:name'][0]), ENT_XML1, 'UTF-8').")" : "")."</string>
182 182
       <key>PayloadType</key>
183 183
          <string>Configuration</string>
184 184
       <key>PayloadUUID</key>
185
-         <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX . $this->massagedConsortium . $this->massagedCountry . $this->massagedInst . $this->massagedProfile) . "</string>
185
+         <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX.$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile)."</string>
186 186
       <key>PayloadVersion</key>
187 187
          <integer>1</integer>";
188 188
         \core\common\Entity::outOfThePotatoes();
@@ -213,15 +213,15 @@  discard block
 block discarded – undo
213 213
     protected function consentBlock() {
214 214
         \core\common\Entity::intoThePotatoes();
215 215
         if (isset($this->attributes['support:info_file'])) {
216
-            return MobileconfigSuperclass::BUFFER_CONSENT_PRE . htmlspecialchars(iconv("UTF-8", "UTF-8//TRANSLIT", $this->attributes['support:info_file'][0]), ENT_XML1, 'UTF-8') . MobileconfigSuperclass::BUFFER_CONSENT_POST;
216
+            return MobileconfigSuperclass::BUFFER_CONSENT_PRE.htmlspecialchars(iconv("UTF-8", "UTF-8//TRANSLIT", $this->attributes['support:info_file'][0]), ENT_XML1, 'UTF-8').MobileconfigSuperclass::BUFFER_CONSENT_POST;
217 217
         }
218 218
         if ($this->attributes['internal:verify_userinput_suffix'][0] != 0) {
219 219
             if (strlen($this->attributes['internal:realm'][0]) > 0) {
220
-                $retval =MobileconfigSuperclass::BUFFER_CONSENT_PRE . sprintf(_("Important Notice: your username must end with @%s!"), $this->attributes['internal:realm'][0]) . MobileconfigSuperclass::BUFFER_CONSENT_POST;
220
+                $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE.sprintf(_("Important Notice: your username must end with @%s!"), $this->attributes['internal:realm'][0]).MobileconfigSuperclass::BUFFER_CONSENT_POST;
221 221
                 \core\common\Entity::outOfThePotatoes();
222 222
                 return $retval;
223 223
             }
224
-            $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE . _("Important Notice: your username MUST be in the form of xxx@yyy where the yyy is a common suffix identifying your Identity Provider. Please find out what to use there and enter the username in the correct format.") . MobileconfigSuperclass::BUFFER_CONSENT_POST;
224
+            $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE._("Important Notice: your username MUST be in the form of xxx@yyy where the yyy is a common suffix identifying your Identity Provider. Please find out what to use there and enter the username in the correct format.").MobileconfigSuperclass::BUFFER_CONSENT_POST;
225 225
             \core\common\Entity::outOfThePotatoes();
226 226
             return $retval;
227 227
         }
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
         // also escape htmlspecialchars
246 246
         // not all names and profiles have a name, so be prepared
247 247
 
248
-        $this->loggerInstance->debug(5, "List of available attributes: " . var_export($this->attributes, TRUE));
248
+        $this->loggerInstance->debug(5, "List of available attributes: ".var_export($this->attributes, TRUE));
249 249
 
250 250
         $this->instName = $this->attributes['general:instname'][0] ?? _("Unnamed Organisation");
251 251
         $this->profileName = $this->attributes['profile:name'][0] ?? _("Unnamed Profile");
@@ -289,7 +289,7 @@  discard block
 block discarded – undo
289 289
 
290 290
         textdomain($dom);
291 291
 
292
-        $fileName = $this->installerBasename . '.mobileconfig';
292
+        $fileName = $this->installerBasename.'.mobileconfig';
293 293
 
294 294
         if (!$this->sign) {
295 295
             rename("installer_profile", $fileName);
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
             return $fileName;
298 298
         }
299 299
         // still here? Then we are signing.
300
-        $signing = system($this->sign . " installer_profile '$fileName' > /dev/null");
300
+        $signing = system($this->sign." installer_profile '$fileName' > /dev/null");
301 301
         if ($signing === FALSE) {
302 302
             $this->loggerInstance->debug(2, "Signing the mobileconfig installer $fileName FAILED!\n");
303 303
         }
@@ -315,19 +315,19 @@  discard block
 block discarded – undo
315 315
         \core\common\Entity::intoThePotatoes();
316 316
         $ssidCount = count($this->attributes['internal:SSID']);
317 317
         $certCount = count($this->attributes['internal:CAs'][0]);
318
-        $out = "<p>" . _("For best results, please use the built-in browser (Safari) to open the configuration file.") . "</p>";
318
+        $out = "<p>"._("For best results, please use the built-in browser (Safari) to open the configuration file.")."</p>";
319 319
         $out .= "<p>";
320 320
         $out .= _("The profile will install itself after you click (or tap) the button. You will be asked for confirmation/input at several points:");
321 321
         $out .= "<ul>";
322
-        $out .= "<li>" . _("to install the profile") . "</li>";
323
-        $out .= "<li>" . ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount);
322
+        $out .= "<li>"._("to install the profile")."</li>";
323
+        $out .= "<li>".ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount);
324 324
         if ($certCount > 1) {
325
-            $out .= " " . sprintf(_("(%d times)"), $certCount);
325
+            $out .= " ".sprintf(_("(%d times)"), $certCount);
326 326
         }
327 327
         $out .= "</li>";
328
-        $out .= "<li>" . _("to enter the username and password you have been given by your organisation");
328
+        $out .= "<li>"._("to enter the username and password you have been given by your organisation");
329 329
         if ($ssidCount > 1) {
330
-            $out .= " " . sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount);
330
+            $out .= " ".sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount);
331 331
         }
332 332
         $out .= "</li>";
333 333
         $out .= "</ul>";
@@ -364,7 +364,7 @@  discard block
 block discarded – undo
364 364
                <key>ServiceProviderRoamingEnabled</key>
365 365
                <true/>
366 366
                <key>DisplayedOperatorName</key>
367
-               <string>" . \config\ConfAssistant::CONSORTIUM['display_name'] . " via Passpoint</string>";
367
+               <string>" . \config\ConfAssistant::CONSORTIUM['display_name']." via Passpoint</string>";
368 368
         // if we don't know the realm, omit the entire DomainName key
369 369
         if (isset($this->attributes['internal:realm'])) {
370 370
             $retval .= "<key>DomainName</key>
@@ -412,7 +412,7 @@  discard block
 block discarded – undo
412 412
                   <dict>
413 413
                       <key>AcceptEAPTypes</key>
414 414
                          <array>
415
-                            <integer>" . $eapType['OUTER'] . "</integer>
415
+                            <integer>" . $eapType['OUTER']."</integer>
416 416
                          </array>
417 417
                       <key>EAPFASTProvisionPAC</key>
418 418
                             <true />
@@ -425,7 +425,7 @@  discard block
 block discarded – undo
425 425
 ";
426 426
         if ($realm !== NULL) {
427 427
             $retval .= "<key>OuterIdentity</key>
428
-                                    <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8') . "</string>
428
+                                    <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8')."</string>
429 429
 ";
430 430
         }
431 431
         $retval .= "<key>PayloadCertificateAnchorUUID</key>
@@ -449,11 +449,11 @@  discard block
 block discarded – undo
449 449
         $retval .= "
450 450
                          </array>";
451 451
         if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) {
452
-            $retval .= "<key>UserName</key><string>" . $this->clientCert["certObject"]->username . "</string>";
452
+            $retval .= "<key>UserName</key><string>".$this->clientCert["certObject"]->username."</string>";
453 453
         }
454 454
         $retval .= "
455 455
                       <key>TTLSInnerAuthentication</key>
456
-                         <string>" . ($eapType['INNER'] == \core\common\EAP::NONE ? "PAP" : "MSCHAPv2") . "</string>
456
+                         <string>" . ($eapType['INNER'] == \core\common\EAP::NONE ? "PAP" : "MSCHAPv2")."</string>
457 457
                    </dict>";
458 458
         return $retval;
459 459
     }
@@ -472,9 +472,9 @@  discard block
 block discarded – undo
472 472
             // characters are still reversed, invert on use!
473 473
             $buffer .= "<string>Manual</string>
474 474
                   <key>ProxyServer</key>
475
-                  <string>" . strrev($serverAndPort[1]) . "</string>
475
+                  <string>" . strrev($serverAndPort[1])."</string>
476 476
                   <key>ProxyServerPort</key>
477
-                  <integer>" . strrev($serverAndPort[0]) . "</integer>
477
+                  <integer>" . strrev($serverAndPort[0])."</integer>
478 478
                   <key>ProxyPACFallbackAllowed</key>
479 479
                   <false/>";
480 480
         } else {
@@ -502,7 +502,7 @@  discard block
 block discarded – undo
502 502
                     throw new Exception("SSID must be a string!");
503 503
                 }
504 504
                 $escapedSSID = htmlspecialchars($toBeConfigured, ENT_XML1, 'UTF-8');
505
-                $payloadIdentifier = "wifi." . $this->serial;
505
+                $payloadIdentifier = "wifi.".$this->serial;
506 506
                 $payloadShortName = sprintf(_("SSID %s"), $escapedSSID);
507 507
                 $payloadName = sprintf(_("%s configuration for network name %s"), \config\ConfAssistant::CONSORTIUM['display_name'], $escapedSSID);
508 508
                 $encryptionTypeString = "WPA";
@@ -550,11 +550,11 @@  discard block
 block discarded – undo
550 550
                <key>PayloadDisplayName</key>
551 551
                   <string>$payloadShortName</string>
552 552
                <key>PayloadIdentifier</key>
553
-                  <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string>
553
+                  <string>".self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string>
554 554
                <key>PayloadOrganization</key>
555
-                  <string>" . $this->massagedConsortium . ".1x-config.org</string>
555
+                  <string>".$this->massagedConsortium.".1x-config.org</string>
556 556
                <key>PayloadType</key>
557
-                  <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi") . ".managed</string>";
557
+                  <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi").".managed</string>";
558 558
         $retval .= $this->proxySettings();
559 559
         $retval .= $setupModesString;
560 560
         if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) {
@@ -566,7 +566,7 @@  discard block
 block discarded – undo
566 566
         }
567 567
         $retval .= "
568 568
                <key>PayloadUUID</key>
569
-                  <string>" . \core\common\Entity::uuid() . "</string>
569
+                  <string>" . \core\common\Entity::uuid()."</string>
570 570
                <key>PayloadVersion</key>
571 571
                   <integer>1</integer>
572 572
                   $wifiNetworkIdentification</dict>";
@@ -595,15 +595,15 @@  discard block
 block discarded – undo
595 595
 	<key>IsHotspot</key>
596 596
 	<false/>
597 597
 	<key>PayloadDescription</key>
598
-	<string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name']) . "</string>
598
+	<string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name'])."</string>
599 599
 	<key>PayloadDisplayName</key>
600
-	<string>" . _("Disabled WiFi network") . "</string>
600
+	<string>" . _("Disabled WiFi network")."</string>
601 601
 	<key>PayloadIdentifier</key>
602
-	<string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string>
602
+	<string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string>
603 603
 	<key>PayloadType</key>
604 604
 	<string>com.apple.wifi.managed</string>
605 605
 	<key>PayloadUUID</key>
606
-	<string>" . \core\common\Entity::uuid() . "</string>
606
+	<string>".\core\common\Entity::uuid()."</string>
607 607
 	<key>PayloadVersion</key>
608 608
 	<real>1</real>";
609 609
         $retval .= $this->proxySettings();
@@ -677,7 +677,7 @@  discard block
 block discarded – undo
677 677
         $mimeBlob = base64_encode($binaryBlob);
678 678
         $mimeFormatted = chunk_split($mimeBlob, 52, "\r\n");
679 679
         $payloadUUID = \core\common\Entity::uuid('', $mimeBlob);
680
-        $retArray = ["block" => "<dict>" .
680
+        $retArray = ["block" => "<dict>".
681 681
             // we don't include the import password. It's displayed on screen, and should be input by the user.
682 682
             // <key>Password</key>
683 683
             //   <string>" . $this->clientCert['password'] . "</string>
@@ -690,7 +690,7 @@  discard block
 block discarded – undo
690 690
                   <key>PayloadDescription</key>
691 691
                      <string>MIME Base-64 encoded PKCS#12 Client Certificate</string>
692 692
                   <key>PayloadDisplayName</key>
693
-                     <string>" . _("eduroam user certificate") . "</string>
693
+                     <string>"._("eduroam user certificate")."</string>
694 694
                   <key>PayloadIdentifier</key>
695 695
                      <string>com.apple.security.pkcs12.$payloadUUID</string>
696 696
                   <key>PayloadType</key>
@@ -700,7 +700,7 @@  discard block
 block discarded – undo
700 700
                   <key>PayloadVersion</key>
701 701
                      <integer>1</integer>
702 702
                 </dict>",
703
-            "UUID" => $payloadUUID,];
703
+            "UUID" => $payloadUUID, ];
704 704
         \core\common\Entity::outOfThePotatoes();
705 705
         return $retArray;
706 706
     }
@@ -718,7 +718,7 @@  discard block
 block discarded – undo
718 718
         }
719 719
         $expiryTime = new \DateTime($this->clientCert['certObject']->expiry);
720 720
         return "<key>RemovalDate</key>
721
-        <date>" . $expiryTime->format("Y-m-d") . "T" . $expiryTime->format("H:i:s") . "Z</date>";
721
+        <date>" . $expiryTime->format("Y-m-d")."T".$expiryTime->format("H:i:s")."Z</date>";
722 722
     }
723 723
 
724 724
     /**
@@ -739,21 +739,21 @@  discard block
 block discarded – undo
739 739
             $stream = "
740 740
             <dict>
741 741
                <key>PayloadCertificateFileName</key>
742
-               <string>" . $ca['uuid'] . ".der</string>
742
+               <string>" . $ca['uuid'].".der</string>
743 743
                <key>PayloadContent</key>
744 744
                <data>
745
-" . $trimmedPem . "</data>
745
+" . $trimmedPem."</data>
746 746
                <key>PayloadDescription</key>
747
-               <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst) . "</string>
747
+               <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst)."</string>
748 748
                <key>PayloadDisplayName</key>
749
-               <string>" . sprintf(_("%s CA"), \core\common\Entity::$nomenclature_inst) . "</string>
749
+               <string>" . sprintf(_("%s CA"), \core\common\Entity::$nomenclature_inst)."</string>
750 750
                <key>PayloadIdentifier</key>
751
-               <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string>
751
+               <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string>
752 752
                <key>PayloadOrganization</key>
753
-               <string>" . $this->massagedConsortium . ".1x-config.org</string>
753
+               <string>".$this->massagedConsortium.".1x-config.org</string>
754 754
                <key>PayloadType</key>
755 755
                <string>com.apple.security.root</string>
756
-               <key>PayloadUUID</key><string>" . $ca['uuid'] . "</string>
756
+               <key>PayloadUUID</key><string>" . $ca['uuid']."</string>
757 757
                <key>PayloadVersion</key>
758 758
                <integer>1</integer>
759 759
             </dict>";
Please login to merge, or discard this patch.