From 5700b1cc252c0ca684002e2035a8ca44832a89e5 Mon Sep 17 00:00:00 2001 From: vadivelJ96 Date: Tue, 14 Oct 2025 14:19:57 +0530 Subject: [PATCH] CHANGE_Mail_template_filename_issue - VADIVEL J 2025-10-14 --- app/Config/Routes.php | 1 + app/Controllers/TestingController.php | 72 +++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 0cd7f7fe..58aa95b4 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -713,6 +713,7 @@ $routes->group('test', function($routes) { $routes->get('mapping_client_id_and_branch_id','TestingController::mapping_client_id_and_branch_id'); $routes->get('membervalidation', 'TestingController::membervalidation'); $routes->get('generateExcel', 'TestingController::generateExcel'); + $routes->get('logo_renaming','TestingController::logo_renaming'); }); $routes->cli('cli/testcli', 'TestingController::testcli'); diff --git a/app/Controllers/TestingController.php b/app/Controllers/TestingController.php index d003037e..9104f3f5 100644 --- a/app/Controllers/TestingController.php +++ b/app/Controllers/TestingController.php @@ -715,4 +715,76 @@ class TestingController extends BaseController ]; } + + public function logo_renaming(){ + + $directory = ROOTPATH . 'public/uploads/logo/'; + + if (!is_dir($directory)) { + die("Directory not found: $directory"); + } + + $files = scandir($directory); + + $client_logo_files = $this->get_client_logo_files(); + + $rename_files = ""; + $failed_rename_files = ""; + + foreach ($files as $file) { + // Skip system entries + if ($file === '.' || $file === '..' ) { + continue; + } + + + $oldPath = $directory . $file; + + if (is_file($oldPath) && in_array(trim($file) , $client_logo_files)) { + + // Remove all spaces from filename + $newFileName = preg_replace('/\s+|\x{00A0}|\x{200B}|\x{200C}|\x{200D}|\x{FEFF}/u', '', $file); + + $newPath = $directory . $newFileName; + + // Only rename if the name changed + if ($oldPath !== $newPath) { + if (rename($oldPath, $newPath)) { + $rename_files .= "\n Renamed: $file → $newFileName \n"; + } else { + $failed_rename_files .= "\n Failed file: $file \n"; + } + } + } + } + log_message('error', 'Renamed Files: ' . $rename_files); + log_message('error', 'Failed Renames: ' . $failed_rename_files); + + return $this->response->setJSON(['status' => 'success', + 'message' => 'Logo renaming completed. kindly check backend logs for details', + 'data' => [ + 'renamed_files' => $rename_files, + 'failed_renames' => $failed_rename_files + ] + ])->setStatusCode(200); + } + + public function get_client_logo_files(){ + + $db = \Config\Database::connect(); + + $sql = "SELECT client_logo FROM clients WHERE client_logo IS NOT NULL AND TRIM(client_logo) <> '' "; + + $query = $db->query($sql); + + $results = $query->getResultArray() ?? []; + + $files = array_map(function($item) { + return trim($item['client_logo']); + }, $results); + + return $files; + } + + }