Test Setup Failed
Push — master ( 02cf43...0e19c1 )
by Tomasz
06:11
created
core/IdP.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -115,12 +115,12 @@  discard block
 block discarded – undo
115 115
         $this->name = $this->languageInstance->getLocalisedValue($this->getAttributes('general:instname'));
116 116
         $eligibility = $this->eligibility();
117 117
         if (in_array(IdP::ELIGIBILITY_IDP, $eligibility) && in_array(IdP::ELIGIBILITY_SP, $eligibility)) {
118
-            $eligType = IdP::TYPE_IDPSP . "";
118
+            $eligType = IdP::TYPE_IDPSP."";
119 119
             $this->type = $eligType;
120 120
         } elseif (in_array(IdP::ELIGIBILITY_IDP, $eligibility)) {
121
-            $eligType = IdP::TYPE_IDP . "";
121
+            $eligType = IdP::TYPE_IDP."";
122 122
         } else {
123
-            $eligType = IdP::TYPE_SP . "";
123
+            $eligType = IdP::TYPE_SP."";
124 124
         }
125 125
         $this->type = $eligType;
126 126
         $this->loggerInstance->debug(3, "--- END Constructing new IdP object ... ---\n");
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
      */
135 135
     public function listProfiles(bool $activeOnly = FALSE)
136 136
     {
137
-        $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier" . ($activeOnly ? " AND showtime = 1" : "");
137
+        $query = "SELECT profile_id FROM profile WHERE inst_id = $this->identifier".($activeOnly ? " AND showtime = 1" : "");
138 138
         $allProfiles = $this->databaseHandle->exec($query);
139 139
         $returnarray = [];
140 140
         // SELECT -> resource, not boolean
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
             $returnarray[] = $oneProfile;
145 145
         }
146 146
 
147
-        $this->loggerInstance->debug(4, "listProfiles: " . /** @scrutinizer ignore-type */ print_r($returnarray, true));
147
+        $this->loggerInstance->debug(4, "listProfiles: "./** @scrutinizer ignore-type */ print_r($returnarray, true));
148 148
         return $returnarray;
149 149
     }
150 150
 
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
      */
157 157
     public function listDeployments(bool $activeOnly = FALSE)
158 158
     {
159
-        $query = "SELECT deployment_id FROM deployment WHERE inst_id = $this->identifier" . ($activeOnly ? " AND status = " . AbstractDeployment::ACTIVE : "");
159
+        $query = "SELECT deployment_id FROM deployment WHERE inst_id = $this->identifier".($activeOnly ? " AND status = ".AbstractDeployment::ACTIVE : "");
160 160
         $allDeployments = $this->databaseHandle->exec($query);
161 161
         $returnarray = [];
162 162
         // SELECT -> resource, not boolean
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
             $returnarray[] = new DeploymentManaged($this, $deploymentQuery->deployment_id);
165 165
         }
166 166
 
167
-        $this->loggerInstance->debug(4, "listDeployments: " . /** @scrutinizer ignore-type */ print_r($returnarray, true));
167
+        $this->loggerInstance->debug(4, "listDeployments: "./** @scrutinizer ignore-type */ print_r($returnarray, true));
168 168
         return $returnarray;
169 169
     }
170 170
 
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
         $allProfiles = $this->databaseHandle->exec("SELECT MIN(openroaming) AS maxlevel FROM profile WHERE inst_id = $this->identifier");
198 198
         // SELECT yields a resource, not a boolean
199 199
         while ($res = mysqli_fetch_object(/** @scrutinizer ignore-type */ $allProfiles)) {
200
-            return (is_numeric($res->maxlevel) ? (int)$res->maxlevel : AbstractProfile::OVERALL_OPENROAMING_LEVEL_NO ); // insts without profiles should get a "NO"
200
+            return (is_numeric($res->maxlevel) ? (int) $res->maxlevel : AbstractProfile::OVERALL_OPENROAMING_LEVEL_NO); // insts without profiles should get a "NO"
201 201
         }
202 202
         return AbstractProfile::OVERALL_OPENROAMING_LEVEL_NO;
203 203
     }
@@ -331,7 +331,7 @@  discard block
 block discarded – undo
331 331
                 case AbstractProfile::PROFILETYPE_SILVERBULLET:
332 332
                     $theProfile = new ProfileSilverbullet($identifier, $this);
333 333
                     $theProfile->addSupportedEapMethod(new \core\common\EAP(\core\common\EAP::EAPTYPE_SILVERBULLET), 1);
334
-                    $theProfile->setRealm($this->identifier . "-" . $theProfile->identifier . "." . strtolower($this->federation) . strtolower(\config\ConfAssistant::SILVERBULLET['realm_suffix']));
334
+                    $theProfile->setRealm($this->identifier."-".$theProfile->identifier.".".strtolower($this->federation).strtolower(\config\ConfAssistant::SILVERBULLET['realm_suffix']));
335 335
                     return $theProfile;
336 336
                 default:
337 337
                     throw new Exception("This type of profile is unknown and can not be added.");
@@ -473,7 +473,7 @@  discard block
 block discarded – undo
473 473
     public function getExternalDBId()
474 474
     {
475 475
         if (\config\ConfAssistant::CONSORTIUM['name'] == "eduroam" && isset(\config\ConfAssistant::CONSORTIUM['deployment-voodoo']) && \config\ConfAssistant::CONSORTIUM['deployment-voodoo'] == "Operations Team") { // SW: APPROVED
476
-            $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = " . self::EXTERNAL_DB_SYNCSTATE_SYNCED);
476
+            $idQuery = $this->databaseHandle->exec("SELECT external_db_id FROM institution WHERE inst_id = $this->identifier AND external_db_syncstate = ".self::EXTERNAL_DB_SYNCSTATE_SYNCED);
477 477
             // SELECT -> it's a resource, not a boolean
478 478
             if (mysqli_num_rows(/** @scrutinizer ignore-type */ $idQuery) == 0) {
479 479
                 return FALSE;
@@ -539,16 +539,16 @@  discard block
 block discarded – undo
539 539
         }
540 540
         foreach ($baseline as $lang => $value) {
541 541
             if (!key_exists($lang, $newvalues)) {
542
-                $retval[IdP::INSTNAME_CHANGED] .= "#[Language " . strtoupper($lang) . "] DELETED";
542
+                $retval[IdP::INSTNAME_CHANGED] .= "#[Language ".strtoupper($lang)."] DELETED";
543 543
             } else {
544 544
                 if ($value != $newvalues[$lang]) {
545
-                    $retval[IdP::INSTNAME_CHANGED] .= "#[Language " . strtoupper($lang) . "] CHANGED from '" . $baseline[$lang] . "' to '" . $newvalues[$lang] . "'";
545
+                    $retval[IdP::INSTNAME_CHANGED] .= "#[Language ".strtoupper($lang)."] CHANGED from '".$baseline[$lang]."' to '".$newvalues[$lang]."'";
546 546
                 }
547 547
             }
548 548
         }
549 549
         foreach ($newvalues as $lang => $value) {
550 550
             if (!key_exists($lang, $baseline)) {
551
-                $retval[IdP::INSTNAME_CHANGED] .= "#[Language " . strtoupper($lang) . "] ADDED as '" . $value . "'";
551
+                $retval[IdP::INSTNAME_CHANGED] .= "#[Language ".strtoupper($lang)."] ADDED as '".$value."'";
552 552
             }
553 553
         }
554 554
         return $retval;
Please login to merge, or discard this patch.
devices/chromebook/DeviceChromebook.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
         $cryptoJson = openssl_encrypt($clearJson, 'AES-256-CBC', $encryptionKey, OPENSSL_RAW_DATA, $initVector);
122 122
         $hmac = hash_hmac("sha1", $cryptoJson, $encryptionKey, TRUE);
123 123
 
124
-        $this->loggerInstance->debug(4, "Clear = $clearJson\nSalt = $salt\nPW = " . $password . "\nb(IV) = " . base64_encode($initVector) . "\nb(Cipher) = " . base64_encode($cryptoJson) . "\nb(HMAC) = " . base64_encode($hmac));
124
+        $this->loggerInstance->debug(4, "Clear = $clearJson\nSalt = $salt\nPW = ".$password."\nb(IV) = ".base64_encode($initVector)."\nb(Cipher) = ".base64_encode($cryptoJson)."\nb(HMAC) = ".base64_encode($hmac));
125 125
 
126 126
         // now, generate the container that holds all the crypto data
127 127
         $finalArray = [
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
     private function wiredBlock($eapdetails)
196 196
     {
197 197
         return [
198
-            "GUID" => \core\common\Entity::uuid('', "wired-dot1x-ethernet") . "}",
198
+            "GUID" => \core\common\Entity::uuid('', "wired-dot1x-ethernet")."}",
199 199
             "Name" => "eduroam configuration (wired network)",
200 200
             "Remove" => false,
201 201
             "Type" => "Ethernet",
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
         // if silverbullet, we deliver the client cert inline
237 237
 
238 238
         if ($selectedEap == \core\common\EAP::EAPTYPE_SILVERBULLET) {
239
-            $eaparray['ClientCertRef'] = "[" . $this->clientCert['GUID'] . "]";
239
+            $eaparray['ClientCertRef'] = "[".$this->clientCert['GUID']."]";
240 240
             $eaparray['ClientCertType'] = "Ref";
241 241
         }
242 242
 
@@ -271,7 +271,7 @@  discard block
 block discarded – undo
271 271
         $jsonArray = ["Type" => "UnencryptedConfiguration"];
272 272
 
273 273
         foreach ($this->attributes['internal:CAs'][0] as $ca) {
274
-            $caRefs[] = "{" . $ca['uuid'] . "}";
274
+            $caRefs[] = "{".$ca['uuid']."}";
275 275
         }
276 276
         // define CA certificates
277 277
         foreach ($this->attributes['internal:CAs'][0] as $ca) {
@@ -281,15 +281,15 @@  discard block
 block discarded – undo
281 281
             if ($caSanitized1 === FALSE) {
282 282
                 throw new Exception("Error cropping PEM data at its BEGIN marker.");
283 283
             }
284
-            $this->loggerInstance->debug(4, $caSanitized1 . "\n");
284
+            $this->loggerInstance->debug(4, $caSanitized1."\n");
285 285
             // remove \n
286 286
             $caSanitized = str_replace("\n", "", $caSanitized1);
287
-            $jsonArray["Certificates"][] = ["GUID" => "{" . $ca['uuid'] . "}", "Remove" => false, "Type" => "Authority", "X509" => $caSanitized];
288
-            $this->loggerInstance->debug(3, $caSanitized . "\n");
287
+            $jsonArray["Certificates"][] = ["GUID" => "{".$ca['uuid']."}", "Remove" => false, "Type" => "Authority", "X509" => $caSanitized];
288
+            $this->loggerInstance->debug(3, $caSanitized."\n");
289 289
         }
290 290
         // if we are doing silverbullet, include the unencrypted(!) P12 as a client certificate
291 291
         if ($this->selectedEap == \core\common\EAP::EAPTYPE_SILVERBULLET) {
292
-            $jsonArray["Certificates"][] = ["GUID" => "[" . $this->clientCert['GUID'] . "]", "PKCS12" => base64_encode($this->clientCert['certdataclear']), "Remove" => false, "Type" => "Client"];
292
+            $jsonArray["Certificates"][] = ["GUID" => "[".$this->clientCert['GUID']."]", "PKCS12" => base64_encode($this->clientCert['certdataclear']), "Remove" => false, "Type" => "Client"];
293 293
         }
294 294
         $eaparray = $this->eapBlock($caRefs);
295 295
         // define Wi-Fi networks
@@ -312,7 +312,7 @@  discard block
 block discarded – undo
312 312
 
313 313
         file_put_contents('installer_profile', $finalJson);
314 314
 
315
-        $fileName = $this->installerBasename . '.onc';
315
+        $fileName = $this->installerBasename.'.onc';
316 316
 
317 317
         if (!$this->sign) {
318 318
             rename("installer_profile", $fileName);
@@ -323,7 +323,7 @@  discard block
 block discarded – undo
323 323
         // have the notion of signing
324 324
         // but if they ever change their mind, we are prepared
325 325
 
326
-        $outputFromSigning = system($this->sign . " installer_profile '$fileName' > /dev/null");
326
+        $outputFromSigning = system($this->sign." installer_profile '$fileName' > /dev/null");
327 327
         if ($outputFromSigning === FALSE) {
328 328
             $this->loggerInstance->debug(2, "Signing the ONC installer $fileName FAILED!\n");
329 329
         }
Please login to merge, or discard this patch.
web/admin/overview_installers.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  *          <base_url>/copyright.php after deploying the software
20 20
  */
21 21
 
22
-require_once dirname(dirname(__DIR__)) . "/config/_config.php";
22
+require_once dirname(dirname(__DIR__))."/config/_config.php";
23 23
 
24 24
 $deco = new \web\lib\admin\PageDecoration();
25 25
 $validator = new \web\lib\common\InputValidation();
@@ -44,9 +44,9 @@  discard block
 block discarded – undo
44 44
 
45 45
     $preflist = $my_profile->getEapMethodsinOrderOfPreference();
46 46
     ?>
47
-    <h1><?php $tablecaption = sprintf(_("Device compatiblity matrix for %s of %s "), $profile_name, $inst_name); echo $tablecaption;?></h1>
47
+    <h1><?php $tablecaption = sprintf(_("Device compatiblity matrix for %s of %s "), $profile_name, $inst_name); echo $tablecaption; ?></h1>
48 48
     <table class="compatmatrix">
49
-        <caption><?php echo $tablecaption;?></caption>
49
+        <caption><?php echo $tablecaption; ?></caption>
50 50
         <tr>
51 51
             <th scope='col'></th>
52 52
             <th scope='col'><?php echo _("Device"); ?></th>
@@ -54,10 +54,10 @@  discard block
 block discarded – undo
54 54
             <?php
55 55
             foreach ($preflist as $method) {
56 56
                 $escapedMethod = $method->getIntegerRep();
57
-                echo "<th  scope='col' style='min-width:200px'>" . $method->getPrintableRep() . "<br/>
57
+                echo "<th  scope='col' style='min-width:200px'>".$method->getPrintableRep()."<br/>
58 58
                         <form method='post' action='inc/toggleRedirect.inc.php?inst_id=$my_inst->identifier&amp;profile_id=$my_profile->identifier' onsubmit='popupRedirectWindow(this); return false;' accept-charset='UTF-8'>
59 59
                         <input type='hidden' name='eaptype' value='$escapedMethod'>
60
-                        <button class='redirect' type='submit'>" . _("EAP-Type-specific options...") . "</button>
60
+                        <button class='redirect' type='submit'>"._("EAP-Type-specific options...")."</button>
61 61
                         </form></th>";
62 62
             }
63 63
             ?>
@@ -73,10 +73,10 @@  discard block
 block discarded – undo
73 73
         foreach (\devices\Devices::listDevices() as $index => $description) {
74 74
 
75 75
             echo "<tr>";
76
-            echo "<td align='center'><img src='../resources/images/vendorlogo/" . $description['group'] . ".png' alt='logo'></td><td>" . $description['display'] . "<br/>
76
+            echo "<td align='center'><img src='../resources/images/vendorlogo/".$description['group'].".png' alt='logo'></td><td>".$description['display']."<br/>
77 77
                         <form method='post' action='inc/toggleRedirect.inc.php?inst_id=$my_inst->identifier&amp;profile_id=$my_profile->identifier' onsubmit='popupRedirectWindow(this); return false;' accept-charset='UTF-8'>
78 78
                         <input type='hidden' name='device' value='$index'>
79
-                        <button class='redirect' type='submit'>" . _("Device-specific options...") . "</button>
79
+                        <button class='redirect' type='submit'>"._("Device-specific options...")."</button>
80 80
                         </form>
81 81
                         </td>";
82 82
             $factory = new \core\DeviceFactory($index);                       
@@ -85,16 +85,16 @@  discard block
 block discarded – undo
85 85
                 $footnotesForDevEapCombo = [];
86 86
                 $display_footnote = FALSE;
87 87
                 $langObject = new \core\common\Language();
88
-                $downloadform = "<form action='" . rtrim(dirname(dirname($_SERVER['SCRIPT_NAME'])), '/') . "/user/API.php?action=downloadInstaller&profile=$my_profile->identifier&lang=" . $langObject->getLang() . "' method='post' accept-charset='UTF-8'>
88
+                $downloadform = "<form action='".rtrim(dirname(dirname($_SERVER['SCRIPT_NAME'])), '/')."/user/API.php?action=downloadInstaller&profile=$my_profile->identifier&lang=".$langObject->getLang()."' method='post' accept-charset='UTF-8'>
89 89
                                        <input type='hidden' name='device' value='$index'/>
90 90
                                        <input type='hidden' name='generatedfor'  value='admin'/>
91
-                                       <button class='download'>" . sprintf(_("%s<br/>Installer"), config\ConfAssistant::CONSORTIUM['display_name']) . "</button>
91
+                                       <button class='download'>".sprintf(_("%s<br/>Installer"), config\ConfAssistant::CONSORTIUM['display_name'])."</button>
92 92
                                      ";
93 93
                 if (sizeof($my_profile->getAttributes("media:openroaming")) > 0 && $factory->device->options['hs20'] == 1) {
94
-                $downloadform .= "<form action='" . rtrim(dirname(dirname($_SERVER['SCRIPT_NAME'])), '/') . "/user/API.php?action=downloadInstaller&profile=$my_profile->identifier&openroaming=1&lang=" . $langObject->getLang() . "' method='post' accept-charset='UTF-8'>
94
+                $downloadform .= "<form action='".rtrim(dirname(dirname($_SERVER['SCRIPT_NAME'])), '/')."/user/API.php?action=downloadInstaller&profile=$my_profile->identifier&openroaming=1&lang=".$langObject->getLang()."' method='post' accept-charset='UTF-8'>
95 95
                                        <input type='hidden' name='device' value='$index'/>
96 96
                                        <input type='hidden' name='generatedfor'  value='admin'/>
97
-                                       <button class='download'>" . sprintf(_("%s + OpenRoaming<br/>Installer"), config\ConfAssistant::CONSORTIUM['display_name']) . "</button>
97
+                                       <button class='download'>".sprintf(_("%s + OpenRoaming<br/>Installer"), config\ConfAssistant::CONSORTIUM['display_name'])."</button>
98 98
                                      ";
99 99
                 }
100 100
                 
@@ -167,8 +167,8 @@  discard block
 block discarded – undo
167 167
     </table>
168 168
     <p><strong><?php $tablecaption2 = _("Legend:"); echo $tablecaption2; ?></strong></p>
169 169
     <table class="compatmatrix">
170
-        <caption><?php echo $tablecaption2;?></caption>
171
-        <tr><th scope="col"><?php echo _("Colour");?></th><th scope='col'><?php echo _("Meaning");?></th></tr>
170
+        <caption><?php echo $tablecaption2; ?></caption>
171
+        <tr><th scope="col"><?php echo _("Colour"); ?></th><th scope='col'><?php echo _("Meaning"); ?></th></tr>
172 172
         <tr><td class="compat_redirected">&nbsp;&nbsp;&nbsp;</td> <td><?php echo _("redirection is set"); ?></td></tr>
173 173
         <tr><td class="compat_default">&nbsp;&nbsp;&nbsp;</td>    <td><?php echo _("will be offered on download site"); ?></td></tr>
174 174
         <tr><td class="compat_secondary">&nbsp;&nbsp;&nbsp;</td>  <td><?php echo _("configured, but not preferred EAP type"); ?></td></tr>
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
     </table>
178 178
     <?php
179 179
     if (count($distinctFootnotes)) {
180
-        echo "<p><strong>" . _("Footnotes:") . "</strong></p><table>";
180
+        echo "<p><strong>"._("Footnotes:")."</strong></p><table>";
181 181
         foreach ($distinctFootnotes as $number => $text) {
182 182
             echo "<tr><td>($number) - </td><td>$text</td></tr>";
183 183
         }
Please login to merge, or discard this patch.
devices/apple_mobileconfig/MobileconfigSuperclass.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -522,7 +522,7 @@  discard block
 block discarded – undo
522 522
         if (
523 523
                 get_class($this) == "devices\apple_mobileconfig\DeviceMobileconfigIos12plus" || 
524 524
                 get_class($this) == "devices\apple_mobileconfig\DeviceMobileconfigOsX"
525
-           ) {
525
+            ) {
526 526
                     return "WPA2";
527 527
                 } else {
528 528
                     return "WPA";
@@ -809,7 +809,7 @@  discard block
 block discarded – undo
809 809
                             \core\common\Entity::$nomenclature_inst, 
810 810
                             count($this->CAsAccountedFor)+1, 
811 811
                             ($ca['root'] ? _("Root") : _("Intermediate"))) . 
812
-              "</string>
812
+                "</string>
813 813
                <key>PayloadIdentifier</key>
814 814
                <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string>
815 815
                <key>PayloadOrganization</key>
Please login to merge, or discard this patch.
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
         \core\common\Entity::intoThePotatoes();
146 146
         // that's what all variants support. Sub-classes can change it.
147 147
         $this->setSupportedEapMethods([\core\common\EAP::EAPTYPE_PEAP_MSCHAP2, \core\common\EAP::EAPTYPE_TTLS_PAP, \core\common\EAP::EAPTYPE_TTLS_MSCHAP2, \core\common\EAP::EAPTYPE_SILVERBULLET]);
148
-        foreach(\core\common\EAP::listKnownEAPTypes() as $eapType) {
148
+        foreach (\core\common\EAP::listKnownEAPTypes() as $eapType) {
149 149
             if ($eapType->isPasswordRequired() || $eapType->isPasswordOptional()) {
150 150
                 $this->specialities['internal:verify_userinput_suffix'][serialize($eapType->getArrayRep())] = _("It is not possible to actively verify the user input for suffix match; but if there is no 'Terms of Use' configured, the installer will display a corresponding hint to the user instead.");
151 151
                 $this->specialities['media:openroaming'][serialize($eapType->getArrayRep())] = _("OpenRoaming is not provisioned due to severe UI limitations during install time.");
@@ -185,15 +185,15 @@  discard block
 block discarded – undo
185 185
       <key>PayloadDescription</key>
186 186
          <string>$tagline</string>
187 187
       <key>PayloadDisplayName</key>
188
-         <string>" . \config\ConfAssistant::CONSORTIUM['display_name'] . "</string>
188
+         <string>".\config\ConfAssistant::CONSORTIUM['display_name']."</string>
189 189
       <key>PayloadIdentifier</key>
190
-         <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string>
190
+         <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang</string>
191 191
       <key>PayloadOrganization</key>
192
-         <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>
192
+         <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>
193 193
       <key>PayloadType</key>
194 194
          <string>Configuration</string>
195 195
       <key>PayloadUUID</key>
196
-         <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX . $this->massagedConsortium . $this->massagedCountry . $this->massagedInst . $this->massagedProfile) . "</string>
196
+         <string>" . \core\common\Entity::uuid('', self::IPHONE_PAYLOAD_PREFIX.$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile)."</string>
197 197
       <key>PayloadVersion</key>
198 198
          <integer>1</integer>";
199 199
         \core\common\Entity::outOfThePotatoes();
@@ -225,21 +225,21 @@  discard block
 block discarded – undo
225 225
     {
226 226
         \core\common\Entity::intoThePotatoes();
227 227
         if (isset($this->attributes['support:info_file'])) {
228
-            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;
228
+            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;
229 229
         }
230 230
         if ($this->attributes['internal:verify_userinput_suffix'][0] != 0) {
231 231
             if ($this->attributes['internal:hint_userinput_suffix'][0] != 0) {
232
-                $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE . sprintf(_("Important Notice: your username MUST end exactly with '...@%s' !"), $this->attributes['internal:realm'][0]) . MobileconfigSuperclass::BUFFER_CONSENT_POST;
232
+                $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE.sprintf(_("Important Notice: your username MUST end exactly with '...@%s' !"), $this->attributes['internal:realm'][0]).MobileconfigSuperclass::BUFFER_CONSENT_POST;
233 233
                 \core\common\Entity::outOfThePotatoes();
234 234
                 return $retval;
235 235
             } else { 
236 236
             if (strlen($this->attributes['internal:realm'][0]) > 0) {
237 237
                 /// note space between variable and exclamation mark - makes sure users don't mistakenly think the exclamation mark is part of the required username!
238
-                $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE . sprintf(_("Important Notice: your username MUST contain an '@' and end with ...%s !"), $this->attributes['internal:realm'][0]) . MobileconfigSuperclass::BUFFER_CONSENT_POST;
238
+                $retval = MobileconfigSuperclass::BUFFER_CONSENT_PRE.sprintf(_("Important Notice: your username MUST contain an '@' and end with ...%s !"), $this->attributes['internal:realm'][0]).MobileconfigSuperclass::BUFFER_CONSENT_POST;
239 239
                 \core\common\Entity::outOfThePotatoes();
240 240
                 return $retval;
241 241
             }
242
-            $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;
242
+            $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;
243 243
             \core\common\Entity::outOfThePotatoes();
244 244
             return $retval;
245 245
             }
@@ -263,7 +263,7 @@  discard block
 block discarded – undo
263 263
         // also escape htmlspecialchars
264 264
         // not all names and profiles have a name, so be prepared
265 265
 
266
-        $this->loggerInstance->debug(5, "List of available attributes: " . var_export($this->attributes, TRUE));
266
+        $this->loggerInstance->debug(5, "List of available attributes: ".var_export($this->attributes, TRUE));
267 267
 
268 268
         $this->instName = $this->attributes['general:instname'][0] ?? _("Unnamed Organisation");
269 269
         $this->profileName = $this->attributes['profile:name'][0] ?? _("Unnamed Profile");
@@ -305,7 +305,7 @@  discard block
 block discarded – undo
305 305
 
306 306
         file_put_contents('installer_profile', $outputXml);
307 307
 
308
-        $fileName = $this->installerBasename . '.mobileconfig';
308
+        $fileName = $this->installerBasename.'.mobileconfig';
309 309
 
310 310
         if (!$this->sign) {
311 311
             rename("installer_profile", $fileName);
@@ -313,7 +313,7 @@  discard block
 block discarded – undo
313 313
             return $fileName;
314 314
         }
315 315
         // still here? Then we are signing.
316
-        $signing = system($this->sign . " installer_profile '$fileName' > /dev/null");
316
+        $signing = system($this->sign." installer_profile '$fileName' > /dev/null");
317 317
         if ($signing === FALSE) {
318 318
             $this->loggerInstance->debug(2, "Signing the mobileconfig installer $fileName FAILED!\n");
319 319
         }
@@ -332,19 +332,19 @@  discard block
 block discarded – undo
332 332
         \core\common\Entity::intoThePotatoes();
333 333
         $ssidCount = count($this->attributes['internal:SSID']);
334 334
         $certCount = count($this->attributes['internal:CAs'][0]);
335
-        $out = "<p>" . _("For best results, please use the built-in browser (Safari) to open the configuration file.") . "</p>";
335
+        $out = "<p>"._("For best results, please use the built-in browser (Safari) to open the configuration file.")."</p>";
336 336
         $out .= "<p>";
337 337
         $out .= _("The profile will install itself after you click (or tap) the button. You will be asked for confirmation/input at several points:");
338 338
         $out .= "<ul>";
339
-        $out .= "<li>" . _("to install the profile") . "</li>";
340
-        $out .= "<li>" . ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount);
339
+        $out .= "<li>"._("to install the profile")."</li>";
340
+        $out .= "<li>".ngettext("to accept the server certificate authority", "to accept the server certificate authorities", $certCount);
341 341
         if ($certCount > 1) {
342
-            $out .= " " . sprintf(_("(%d times)"), $certCount);
342
+            $out .= " ".sprintf(_("(%d times)"), $certCount);
343 343
         }
344 344
         $out .= "</li>";
345
-        $out .= "<li>" . _("to enter the username and password you have been given by your organisation");
345
+        $out .= "<li>"._("to enter the username and password you have been given by your organisation");
346 346
         if ($ssidCount > 1) {
347
-            $out .= " " . sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount);
347
+            $out .= " ".sprintf(_("(%d times each, because %s is installed for %d SSIDs)"), $ssidCount, \config\ConfAssistant::CONSORTIUM['display_name'], $ssidCount);
348 348
         }
349 349
         $out .= "</li>";
350 350
         $out .= "</ul>";
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
                <key>ServiceProviderRoamingEnabled</key>
385 385
                <true/>
386 386
                <key>DisplayedOperatorName</key>
387
-               <string>" . $oiName . "</string>";
387
+               <string>" . $oiName."</string>";
388 388
         // if we don't know the realm, omit the entire DomainName key
389 389
         if (isset($this->attributes['internal:realm'])) {
390 390
             $retval .= "<key>DomainName</key>
@@ -397,7 +397,7 @@  discard block
 block discarded – undo
397 397
                 <array>";
398 398
 
399 399
         foreach ($consortiumOi as $oneCons) {
400
-            $retval .= "<string>" . strtoupper($oneCons) . "</string>";
400
+            $retval .= "<string>".strtoupper($oneCons)."</string>";
401 401
         }
402 402
 
403 403
         $retval .= "</array>";
@@ -435,7 +435,7 @@  discard block
 block discarded – undo
435 435
                   <dict>
436 436
                       <key>AcceptEAPTypes</key>
437 437
                          <array>
438
-                            <integer>" . $eapType['OUTER'] . "</integer>
438
+                            <integer>" . $eapType['OUTER']."</integer>
439 439
                          </array>
440 440
                       <key>EAPFASTProvisionPAC</key>
441 441
                             <true />
@@ -448,7 +448,7 @@  discard block
 block discarded – undo
448 448
 ";
449 449
         if ($realm !== NULL) {
450 450
             $retval .= "<key>OuterIdentity</key>
451
-                                    <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8') . "</string>
451
+                                    <string>" . htmlspecialchars($realm, ENT_XML1, 'UTF-8')."</string>
452 452
 ";
453 453
         }
454 454
         $retval .= "<key>PayloadCertificateAnchorUUID</key>
@@ -472,11 +472,11 @@  discard block
 block discarded – undo
472 472
         $retval .= "
473 473
                          </array>";
474 474
         if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) {
475
-            $retval .= "<key>UserName</key><string>" . $this->clientCert["certObject"]->username . "</string>";
475
+            $retval .= "<key>UserName</key><string>".$this->clientCert["certObject"]->username."</string>";
476 476
         }
477 477
         $retval .= "
478 478
                       <key>TTLSInnerAuthentication</key>
479
-                         <string>" . ($eapType['INNER'] == \core\common\EAP::NE_PAP ? "PAP" : "MSCHAPv2") . "</string>
479
+                         <string>" . ($eapType['INNER'] == \core\common\EAP::NE_PAP ? "PAP" : "MSCHAPv2")."</string>
480 480
                    </dict>";
481 481
         return $retval;
482 482
     }
@@ -496,9 +496,9 @@  discard block
 block discarded – undo
496 496
             // characters are still reversed, invert on use!
497 497
             $buffer .= "<string>Manual</string>
498 498
                   <key>ProxyServer</key>
499
-                  <string>" . strrev($serverAndPort[1]) . "</string>
499
+                  <string>" . strrev($serverAndPort[1])."</string>
500 500
                   <key>ProxyServerPort</key>
501
-                  <integer>" . strrev($serverAndPort[0]) . "</integer>
501
+                  <integer>" . strrev($serverAndPort[0])."</integer>
502 502
                   <key>ProxyPACFallbackAllowed</key>
503 503
                   <false/>";
504 504
         } else {
@@ -548,7 +548,7 @@  discard block
 block discarded – undo
548 548
                     throw new Exception("SSID must be a string!");
549 549
                 }
550 550
                 $escapedSSID = htmlspecialchars($toBeConfigured, ENT_XML1, 'UTF-8');
551
-                $payloadIdentifier = "wifi." . $this->serial;
551
+                $payloadIdentifier = "wifi.".$this->serial;
552 552
                 $payloadShortName = sprintf(_("%s - SSID %s"), $prettyName, $escapedSSID);
553 553
                 $payloadName = sprintf(_("%s configuration for network name %s"), $prettyName, $escapedSSID);
554 554
                 $encryptionTypeString = $this->encryptionString();
@@ -578,9 +578,9 @@  discard block
 block discarded – undo
578 578
                 if (count($toBeConfigured) == 0) {
579 579
                     return "";
580 580
                 }
581
-                $payloadIdentifier = "hs20.".implode('-',$toBeConfigured);
581
+                $payloadIdentifier = "hs20.".implode('-', $toBeConfigured);
582 582
                 $payloadShortName = sprintf(_("%s - RCOI"), $prettyName);
583
-                $payloadName = sprintf(_("%s configuration (Passpoint RCOI)"),$prettyName);
583
+                $payloadName = sprintf(_("%s configuration (Passpoint RCOI)"), $prettyName);
584 584
                 $encryptionTypeString = $this->encryptionString();
585 585
                 $setupModesString = "";
586 586
                 $wifiNetworkIdentification = $this->passPointBlock($toBeConfigured, $prettyName);
@@ -599,11 +599,11 @@  discard block
 block discarded – undo
599 599
                <key>PayloadDisplayName</key>
600 600
                   <string>$payloadShortName</string>
601 601
                <key>PayloadIdentifier</key>
602
-                  <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string>
602
+                  <string>".self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.$payloadIdentifier</string>
603 603
                <key>PayloadOrganization</key>
604
-                  <string>" . $this->massagedConsortium . ".1x-config.org</string>
604
+                  <string>".$this->massagedConsortium.".1x-config.org</string>
605 605
                <key>PayloadType</key>
606
-                  <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi") . ".managed</string>";
606
+                  <string>com.apple." . ($blocktype == MobileconfigSuperclass::NETWORK_BLOCK_TYPE_WIRED ? "firstactiveethernet" : "wifi").".managed</string>";
607 607
         $retval .= $this->proxySettings();
608 608
         $retval .= $setupModesString;
609 609
         if ($eapType['INNER'] == \core\common\EAP::NE_SILVERBULLET) {
@@ -615,7 +615,7 @@  discard block
 block discarded – undo
615 615
         }
616 616
         $retval .= "
617 617
                <key>PayloadUUID</key>
618
-                  <string>" . \core\common\Entity::uuid() . "</string>
618
+                  <string>" . \core\common\Entity::uuid()."</string>
619 619
                <key>PayloadVersion</key>
620 620
                   <integer>1</integer>
621 621
                   $wifiNetworkIdentification</dict>";
@@ -645,15 +645,15 @@  discard block
 block discarded – undo
645 645
 	<key>IsHotspot</key>
646 646
 	<false/>
647 647
 	<key>PayloadDescription</key>
648
-	<string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name']) . "</string>
648
+	<string>" . sprintf(_("This SSID should not be used after bootstrapping %s"), \config\ConfAssistant::CONSORTIUM['display_name'])."</string>
649 649
 	<key>PayloadDisplayName</key>
650
-	<string>" . _("Disabled WiFi network") . "</string>
650
+	<string>" . _("Disabled WiFi network")."</string>
651 651
 	<key>PayloadIdentifier</key>
652
-	<string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string>
652
+	<string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.$this->lang.wifi.disabled.$this->removeSerial</string>
653 653
 	<key>PayloadType</key>
654 654
 	<string>com.apple.wifi.managed</string>
655 655
 	<key>PayloadUUID</key>
656
-	<string>" . \core\common\Entity::uuid() . "</string>
656
+	<string>".\core\common\Entity::uuid()."</string>
657 657
 	<key>PayloadVersion</key>
658 658
 	<real>1</real>";
659 659
         $retval .= $this->proxySettings();
@@ -733,12 +733,12 @@  discard block
 block discarded – undo
733 733
         $mimeBlob = base64_encode($binaryBlob);
734 734
         $mimeFormatted = chunk_split($mimeBlob, 52, "\r\n");
735 735
         $payloadUUID = \core\common\Entity::uuid('', $mimeBlob);
736
-        $retArray = ["block" => "<dict>" .
736
+        $retArray = ["block" => "<dict>".
737 737
             // we don't include the import password. It's displayed on screen, and should be input by the user.
738 738
             // <key>Password</key>
739 739
             //   <string>" . $this->clientCert['password'] . "</string>
740 740
             "<key>PayloadCertificateFileName</key>
741
-                     <string>" . $this->massagedConsortium . ".pfx</string>
741
+                     <string>" . $this->massagedConsortium.".pfx</string>
742 742
                   <key>PayloadContent</key>
743 743
                      <data>
744 744
 $mimeFormatted
@@ -746,7 +746,7 @@  discard block
 block discarded – undo
746 746
                   <key>PayloadDescription</key>
747 747
                      <string>MIME Base-64 encoded PKCS#12 Client Certificate</string>
748 748
                   <key>PayloadDisplayName</key>
749
-                     <string>" . _("User certificate") . "</string>
749
+                     <string>"._("User certificate")."</string>
750 750
                   <key>PayloadIdentifier</key>
751 751
                      <string>com.apple.security.pkcs12.$payloadUUID</string>
752 752
                   <key>PayloadType</key>
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
                   <key>PayloadVersion</key>
757 757
                      <integer>1</integer>
758 758
                 </dict>",
759
-            "UUID" => $payloadUUID,];
759
+            "UUID" => $payloadUUID, ];
760 760
         \core\common\Entity::outOfThePotatoes();
761 761
         return $retArray;
762 762
     }
@@ -774,7 +774,7 @@  discard block
 block discarded – undo
774 774
         }
775 775
         $expiryTime = new \DateTime($this->clientCert['certObject']->expiry);
776 776
         return "<key>RemovalDate</key>
777
-        <date>" . $expiryTime->format("Y-m-d") . "T" . $expiryTime->format("H:i:s") . "Z</date>";
777
+        <date>" . $expiryTime->format("Y-m-d")."T".$expiryTime->format("H:i:s")."Z</date>";
778 778
     }
779 779
 
780 780
     /**
@@ -796,27 +796,27 @@  discard block
 block discarded – undo
796 796
             $stream = "
797 797
             <dict>
798 798
                <key>PayloadCertificateFileName</key>
799
-               <string>" . $ca['uuid'] . ".der</string>
799
+               <string>" . $ca['uuid'].".der</string>
800 800
                <key>PayloadContent</key>
801 801
                <data>
802
-" . $trimmedPem . "</data>
802
+" . $trimmedPem."</data>
803 803
                <key>PayloadDescription</key>
804
-               <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst) . "</string>
804
+               <string>" . sprintf(_("The %s Certification Authority"), \core\common\Entity::$nomenclature_inst)."</string>
805 805
                <key>PayloadDisplayName</key>
806 806
                <string>" . 
807 807
                     /// example: "Identity Provider CA #1 (Root)"
808
-                    sprintf(_("%s CA #%d (%s)" ), 
808
+                    sprintf(_("%s CA #%d (%s)"), 
809 809
                             \core\common\Entity::$nomenclature_inst, 
810
-                            count($this->CAsAccountedFor)+1, 
811
-                            ($ca['root'] ? _("Root") : _("Intermediate"))) . 
810
+                            count($this->CAsAccountedFor) + 1, 
811
+                            ($ca['root'] ? _("Root") : _("Intermediate"))). 
812 812
               "</string>
813 813
                <key>PayloadIdentifier</key>
814
-               <string>" . self::IPHONE_PAYLOAD_PREFIX . ".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string>
814
+               <string>" . self::IPHONE_PAYLOAD_PREFIX.".$this->massagedConsortium.$this->massagedCountry.$this->massagedInst.$this->massagedProfile.credential.$this->caSerial</string>
815 815
                <key>PayloadOrganization</key>
816
-               <string>" . $this->massagedConsortium . ".1x-config.org</string>
816
+               <string>".$this->massagedConsortium.".1x-config.org</string>
817 817
                <key>PayloadType</key>
818 818
                <string>com.apple.security.root</string>
819
-               <key>PayloadUUID</key><string>" . $ca['uuid'] . "</string>
819
+               <key>PayloadUUID</key><string>" . $ca['uuid']."</string>
820 820
                <key>PayloadVersion</key>
821 821
                <integer>1</integer>
822 822
             </dict>";
Please login to merge, or discard this patch.
web/lib/user/TextTemplates.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 const DOWNLOAD_REDIRECT_CONTINUE = 1054;
52 52
 const SB_GO_AWAY = 1060;
53 53
 const SB_FRONTPAGE_BIGDOWNLOADBUTTON = 1061;
54
-const SB_FRONTPAGE_ROLLER_CUSTOMBUILT= 1062;
54
+const SB_FRONTPAGE_ROLLER_CUSTOMBUILT = 1062;
55 55
 
56 56
 
57 57
 /**
@@ -103,13 +103,13 @@  discard block
 block discarded – undo
103 103
         ];
104 104
         $this->templates[WELCOME_ABOARD_TERMS] = "";
105 105
         foreach ($this->templates[NETWORK_TERMS_AND_PRIV] as $consortium => $terms) {
106
-            $this->templates[WELCOME_ABOARD_TERMS] .= sprintf("<p>" . _("Please remember that when connecting to %s hotspots, the following <a href='%s'>Terms and Conditions</a> and <a href='%s'>Privacy Notice</a> apply.") . "</p>", $consortium, $terms['TOU_LINK'], $terms['PRIV_LINK']);
106
+            $this->templates[WELCOME_ABOARD_TERMS] .= sprintf("<p>"._("Please remember that when connecting to %s hotspots, the following <a href='%s'>Terms and Conditions</a> and <a href='%s'>Privacy Notice</a> apply.")."</p>", $consortium, $terms['TOU_LINK'], $terms['PRIV_LINK']);
107 107
         }
108 108
     //    $this->templates[WELCOME_ABOARD_TERMS] .= "<p>"._("I agree to be bound by these Terms and Conditions.")."</p>";
109 109
         $this->templates[WELCOME_ABOARD_BACKTODOWNLOADS] = _("Back to downloads");
110 110
         $this->templates[EDUROAM_WELCOME_ADVERTISING] = sprintf(_("We would like to warmly welcome you among the several million users of %s! From now on, you will be able to use internet access resources on thousands of universities, research centres and other places all over the globe. All of this completely free of charge!"), \config\ConfAssistant::CONSORTIUM['display_name']);
111 111
         $this->templates[HEADING_TOPLEVEL_GREET] = sprintf(_("Welcome to %s"), \config\Master::APPEARANCE['productname']);
112
-        $this->templates[HEADING_TOPLEVEL_PURPOSE] = sprintf(_("Connect your device to %s"),\config\ConfAssistant::CONSORTIUM['display_name']);
112
+        $this->templates[HEADING_TOPLEVEL_PURPOSE] = sprintf(_("Connect your device to %s"), \config\ConfAssistant::CONSORTIUM['display_name']);
113 113
         $this->templates[FRONTPAGE_ROLLER_EASY] = sprintf(_("%s installation made easy:"), \config\ConfAssistant::CONSORTIUM['display_name']);
114 114
         $this->templates[FRONTPAGE_ROLLER_CUSTOMBUILT] = _("Custom built for your organisation");
115 115
         $this->templates[FRONTPAGE_BIGDOWNLOADBUTTON] = sprintf(_("Click here to download your %s installer"), \config\ConfAssistant::CONSORTIUM['display_name'], \config\ConfAssistant::CONSORTIUM['display_name']);
Please login to merge, or discard this patch.