diff --git a/app/Config/Routes.php b/app/Config/Routes.php index cbb5b40..39f986e 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -530,5 +530,7 @@ $routes->get('notification_mail_header',"NotificationController::notification_ma $routes->get('notification_mail_footer',"NotificationController::notification_mail_footer"); - +$routes->group('test',function($routes){ + $routes->get('logo_renaming','TestingController::logo_renaming'); +}); diff --git a/app/Controllers/TestingController.php b/app/Controllers/TestingController.php new file mode 100644 index 0000000..aa9a266 --- /dev/null +++ b/app/Controllers/TestingController.php @@ -0,0 +1,79 @@ +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; + } + +}