Replace trivial uses of `\wcf\system\io\File` with `file_put_contents()`
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 4 Oct 2022 14:26:55 +0000 (16:26 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 4 Oct 2022 14:31:17 +0000 (16:31 +0200)
wcfsetup/install/files/lib/data/template/TemplateEditor.class.php
wcfsetup/install/files/lib/system/WCFSetup.class.php
wcfsetup/install/files/lib/system/io/Zip.class.php
wcfsetup/install/files/lib/system/package/PackageInstallationScheduler.class.php

index ce794fd0d5946b743dd88be44378117e478ac86b..57080d592274849fe3b0984073462dfb47fe4813 100644 (file)
@@ -47,10 +47,8 @@ class TemplateEditor extends DatabaseObjectEditor
 
     /**
      * Saves the source of this template.
-     *
-     * @param string $source
      */
-    public function setSource($source)
+    public function setSource(string $source)
     {
         $path = $this->getPath();
         // create dir
@@ -60,9 +58,7 @@ class TemplateEditor extends DatabaseObjectEditor
         }
 
         // set source
-        $file = new File($path);
-        $file->write($source);
-        $file->close();
+        \file_put_contents($path, $source);
         FileUtil::makeWritable($path);
     }
 
index f512e90d68b19ffc1aeabab03aa2abf2dc20c500..f342d2687d73cb6cd70e31ae3fdf951ffd8aa639 100644 (file)
@@ -788,15 +788,25 @@ final class WCFSetup extends WCF
                 if (empty($conflictedTables)) {
                     // connection successfully established
                     // write configuration to config.inc.php
-                    $file = new File(WCF_DIR . 'config.inc.php');
-                    $file->write("<?php\n");
-                    $file->write("\$dbHost = '" . \str_replace("'", "\\'", $dbHostWithoutPort) . "';\n");
-                    $file->write("\$dbPort = " . $dbPort . ";\n");
-                    $file->write("\$dbUser = '" . \str_replace("'", "\\'", $dbUser) . "';\n");
-                    $file->write("\$dbPassword = '" . \str_replace("'", "\\'", $dbPassword) . "';\n");
-                    $file->write("\$dbName = '" . \str_replace("'", "\\'", $dbName) . "';\n");
-                    $file->write("if (!defined('WCF_N')) define('WCF_N', 1);\n");
-                    $file->close();
+                    \file_put_contents(
+                        WCF_DIR . 'config.inc.php',
+                        \sprintf(
+                            <<<'CONFIG'
+                            <?php
+                            $dbHost = %s;
+                            $dbPort = %s;
+                            $dbUser = %s;
+                            $dbPassword = %s;
+                            $dbName = %s';
+                            if (!defined('WCF_N')) define('WCF_N', 1);
+                            CONFIG,
+                            \var_export($dbHostWithoutPort, true),
+                            \var_export($dbPort, true),
+                            \var_export($dbUser, true),
+                            \var_export($dbPassword, true),
+                            \var_export($dbName, true)
+                        )
+                    );
 
                     return $this->gotoNextStep('createDB');
                 } else {
index 47df98b9b1af7874ad99b8bef6a035bdaac8425b..17dfb24e54996578366ab3b2409627361a186562 100644 (file)
@@ -131,14 +131,12 @@ class Zip extends File implements IArchive
             return;
         }
 
-        $targetFile = new File($destination);
-        $targetFile->write($file['content'], \strlen($file['content']));
-        $targetFile->close();
+        \file_put_contents($destination, $file['content']);
 
         FileUtil::makeWritable($destination);
 
         if ($file['header']['mtime']) {
-            @$targetFile->touch($file['header']['mtime']);
+            \touch($destination, $file['header']['mtime']);
         }
 
         // check filesize
index 6248169121c7b8f747bc1c7dc61d0d72ebca585a..74c7f5004d19052531cc7730011c8301f9d09c3e 100644 (file)
@@ -311,9 +311,7 @@ final class PackageInstallationScheduler
 
             // write content to tmp file
             $filename = FileUtil::getTemporaryFilename('package_');
-            $file = new File($filename);
-            $file->write($response['body']);
-            $file->close();
+            \file_put_contents($filename, $response['body']);
             unset($response['body']);
 
             // test package