From 6ad34a470fbb2a5ae0ff2510d323955c1c332916 Mon Sep 17 00:00:00 2001 From: il4mb Date: Sat, 10 Aug 2024 21:47:34 +0700 Subject: [PATCH] Changes to be committed: modified: bin/build.js modified: include/Module/Dashboard modified: include/Module/Setting modified: include/Module/Website modified: include/manifest.json deleted: include/scripts/Install.hook.php modified: include/scripts/Update.secure.php modified: include/scripts/update/taskHandler.php modified: package.json --- bin/build.js | 3 +- include/Module/Dashboard | 2 +- include/Module/Setting | 2 +- include/Module/Website | 2 +- include/manifest.json | 2 +- include/scripts/Install.hook.php | 11 --- include/scripts/Update.secure.php | 2 +- include/scripts/update/taskHandler.php | 106 +++++++++++++++++++++++-- package.json | 2 +- 9 files changed, 107 insertions(+), 25 deletions(-) delete mode 100644 include/scripts/Install.hook.php diff --git a/bin/build.js b/bin/build.js index 89921675..ea1c7014 100644 --- a/bin/build.js +++ b/bin/build.js @@ -56,6 +56,7 @@ function scanDirectory(dirPath, ig, filesArray, baseDir) { // Always include the 'vendor/' folder if (relativePath.startsWith('vendor') || relativePath.startsWith('.htaccess')) { filesArray.push(relativePath); + return; } // Handle paths starting with `include/Module/` or `include\\Module\\` @@ -114,7 +115,7 @@ const gitignorePath = path.join('F:/www/MerapiPanel', '.gitignore'); const ig = getGitignorePatterns(gitignorePath); // Get the .gitignore patterns ig.add([ "node_modules/", - 'bin', + 'bin/', 'content/', 'schema', '.*', diff --git a/include/Module/Dashboard b/include/Module/Dashboard index b22ebe96..7adfa24b 160000 --- a/include/Module/Dashboard +++ b/include/Module/Dashboard @@ -1 +1 @@ -Subproject commit b22ebe9642fa7a974aa64ffde91cf8e2a731db7c +Subproject commit 7adfa24b3a2abcaa83afea0838c8798173afdcbe diff --git a/include/Module/Setting b/include/Module/Setting index 2b4c7558..6afe14b9 160000 --- a/include/Module/Setting +++ b/include/Module/Setting @@ -1 +1 @@ -Subproject commit 2b4c75584c202b40eb24f2f5bfc970d066afbfd9 +Subproject commit 6afe14b9071c0910736b53cec1de3c6977a9d5f8 diff --git a/include/Module/Website b/include/Module/Website index 26ea6959..e76f9d56 160000 --- a/include/Module/Website +++ b/include/Module/Website @@ -1 +1 @@ -Subproject commit 26ea695936642676207f3f6a882554bb4d76202d +Subproject commit e76f9d56268b73e34fe7d2985beb72dcab15a0e9 diff --git a/include/manifest.json b/include/manifest.json index ad5fbc87..55b41737 100644 --- a/include/manifest.json +++ b/include/manifest.json @@ -1,5 +1,5 @@ { "name": "MerapiPanel", "description": "MerapiPanel is an open-source CMS empowering developers to craft dynamic, scalable web applications effortlessly. With modular architecture, dynamic components, and a vibrant community, create, customize, and scale with confidence.", - "version": "1.1.2" + "version": "v1.1.2" } \ No newline at end of file diff --git a/include/scripts/Install.hook.php b/include/scripts/Install.hook.php deleted file mode 100644 index 7d9af7a8..00000000 --- a/include/scripts/Install.hook.php +++ /dev/null @@ -1,11 +0,0 @@ -".AES::getInstance()->decrypt("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")); \ No newline at end of file +eval("?>".AES::getInstance()->decrypt("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")); \ No newline at end of file diff --git a/include/scripts/update/taskHandler.php b/include/scripts/update/taskHandler.php index 81dea092..0b9522be 100644 --- a/include/scripts/update/taskHandler.php +++ b/include/scripts/update/taskHandler.php @@ -1,5 +1,7 @@ open($backupFile) === true) { + // Extract the backup to the target directory + $zip->extractTo($target_dir); + $zip->close(); + error_log("Backup extracted successfully to $backupFile"); + } else { + error_log("Failed to open backup file: $backupFile"); + } +} + + + + function moveFilesAndFolders($sourceDir, $destinationDir) { + if (!is_dir($sourceDir)) { throw new Exception("Source directory does not exist."); } @@ -104,6 +146,7 @@ function moveFilesAndFolders($sourceDir, $destinationDir) removeDirectory($sourceDir); } + // Function to recursively remove a directory and its contents function removeDirectory($dir) { @@ -114,3 +157,52 @@ function removeDirectory($dir) } rmdir($dir); } + + + +// Function to create a backup, ignoring certain files +function createBackup($sourceDir, $backupFile) +{ + $zip = new ZipArchive(); + + if ($zip->open($backupFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) { + throw new Exception("Cannot create backup file: $backupFile"); + } + + $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($sourceDir), RecursiveIteratorIterator::LEAVES_ONLY); + + foreach ($files as $name => $file) { + // Skip directories + if (!$file->isFile()) continue; + + $filePath = $file->getRealPath(); + $relativePath = substr($filePath, strlen($sourceDir) + 1); + + // Normalize path to prevent issues with different directory separators + $normalizedRelativePath = str_replace('\\', '/', $relativePath); + + + // Skip the `node_modules` directory + if ( + str_contains($normalizedRelativePath, 'node_modules/') + || str_contains($normalizedRelativePath, '.git/') + || str_contains($normalizedRelativePath, '.github/') + ) { + continue; + } + + // Check file size and type + $fileSize = $file->getSize(); + $fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION)); + + // Ignore images, videos, and files larger than 1MB + if ($fileSize > 1048576 && in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif', 'mp4', 'avi', 'mov', 'mkv'])) { + continue; + } + + // Add file to the ZIP archive + $zip->addFile($filePath, $relativePath); + } + + $zip->close(); +} diff --git a/package.json b/package.json index 915f2d41..4e5ea638 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "watch:module": "webpack --config ./merapi/module/webpack.config.js", "build": "webpack", "reload": "npm unlink @il4mb/merapipanel && npm link F:\\web\\_modules\\merapipanel && npm link F:\\web\\_modules\\merapipanel\\node_modules\\react", - "release": "node bin/release.js" + "release": "node bin/build.js" }, "dependencies": { "@codemirror/autocomplete": "^6.17.0",