diff --git a/core/Files/BackupUtil.php b/core/Files/BackupUtil.php index 4fcdc317..43de9b0d 100644 --- a/core/Files/BackupUtil.php +++ b/core/Files/BackupUtil.php @@ -26,7 +26,7 @@ abstract class BackupUtil { } $time = date('y-m-d_H-i-s'); - if(defined('PHP_UNIT_TEST')){ + if (defined('PHP_UNIT_TEST')) { $time = date('y-m-d_H-i'); } @@ -82,7 +82,7 @@ abstract class BackupUtil { } $useBaseFileNames = !empty($baseFileNames); while (false !== ($file = readdir($folderHandle))) { - if (substr($file, 0, 1) === '.') { + if (FileUtil::isHiddenFile($file)) { // Skip such .files continue; } diff --git a/core/Files/FileUtil.php b/core/Files/FileUtil.php index 3bfd989b..9b46742b 100644 --- a/core/Files/FileUtil.php +++ b/core/Files/FileUtil.php @@ -4,7 +4,6 @@ namespace ManiaControl\Files; use ManiaControl\Logger; use ManiaControl\Utils\Formatter; -use ManiaControl\Utils\SystemUtil; use ManiaControl\Utils\WebReader; /** @@ -131,7 +130,7 @@ abstract class FileUtil { foreach ($directories as $directory) { $dir = new \RecursiveDirectoryIterator(MANIACONTROL_PATH . $directory); foreach (new \RecursiveIteratorIterator($dir) as $fileName => $file) { - if (substr($fileName, 0, 1) === '.') { + if (self::isHiddenFile($fileName)) { continue; } if (!is_writable($fileName)) { @@ -227,4 +226,14 @@ abstract class FileUtil { return $className; } + + /** + * Checks if a File is Hidden + * + * @param $fileName + * @return bool + */ + public static function isHiddenFile($fileName) { + return (substr($fileName, 0, 1) === '.'); + } } diff --git a/core/Maps/DirectoryBrowser.php b/core/Maps/DirectoryBrowser.php index 95224fa5..e1e0005f 100644 --- a/core/Maps/DirectoryBrowser.php +++ b/core/Maps/DirectoryBrowser.php @@ -11,6 +11,7 @@ use FML\Controls\Quads\Quad_UIConstruction_Buttons; use FML\Controls\Quads\Quad_UIConstructionBullet_Buttons; use FML\ManiaLink; use FML\Script\Features\Paging; +use ManiaControl\Files\FileUtil; use ManiaControl\Logger; use ManiaControl\ManiaControl; use ManiaControl\Manialinks\ManialinkManager; @@ -246,7 +247,7 @@ class DirectoryBrowser implements ManialinkPageAnswerListener { $mapFiles = array(); $dirFiles = scandir($directory); foreach ($dirFiles as $fileName) { - if (substr($fileName, 0, 1) === '.') { + if (FileUtil::isHiddenFile($fileName)) { continue; } $fullFileName = $directory . $fileName; diff --git a/core/Plugins/PluginManager.php b/core/Plugins/PluginManager.php index ad2ac03f..e7b8ca83 100644 --- a/core/Plugins/PluginManager.php +++ b/core/Plugins/PluginManager.php @@ -121,8 +121,8 @@ class PluginManager { return false; } - $reflector = new ReflectionClass($pluginClass); - $className = $pluginClass; + $reflector = new ReflectionClass($pluginClass); + $className = $pluginClass; $splitNameSpace = explode('\\', $pluginClass); if (is_array($splitNameSpace)) { $className = end($splitNameSpace); @@ -297,7 +297,7 @@ class PluginManager { } $pluginFiles = scandir($directory); foreach ($pluginFiles as $pluginFile) { - if (substr($pluginFile, 0, 1) === '.') { + if (FileUtil::isHiddenFile($pluginFile)) { continue; } diff --git a/core/Utils/WebReader.php b/core/Utils/WebReader.php index 1ffbea9c..bdf66949 100644 --- a/core/Utils/WebReader.php +++ b/core/Utils/WebReader.php @@ -30,7 +30,7 @@ abstract class WebReader { } return $response; } - + /** * Create a new cURL Request for the given URL * diff --git a/phpunittests/core/Utils/SystemUtilTest.php b/phpunittests/core/Utils/SystemUtilTest.php new file mode 100644 index 00000000..109b6f82 --- /dev/null +++ b/phpunittests/core/Utils/SystemUtilTest.php @@ -0,0 +1,21 @@ +assertContains("Checking for minimum required PHP-Version 5.4", $this->getActualOutput()); + $this->assertContains("Checking for installed MySQLi ... FOUND!", $this->getActualOutput()); + $this->assertContains("Checking for installed cURL ... FOUND!", $this->getActualOutput()); + $this->assertContains("Checking for installed PHP ZIP ... FOUND!", $this->getActualOutput()); + $this->assertContains("Checking for installed Zlib ... FOUND!", $this->getActualOutput()); + } +}