From a0284824f88c77853cd5b2a2e744a49dabcdbe11 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 14 Feb 2026 14:33:28 -0500 Subject: [PATCH] merms profile picture --- app/Config/Routes.php | 3 +- app/Controllers/Media.php | 64 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 46ce383..c52d1b6 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -12,4 +12,5 @@ $routes->get('/media/show/(:any)', 'Media::imageGate/$1'); $routes->get('/media/per/(:any)', 'Media::personalImageGate/$1'); $routes->get('/media/biz/(:any)', 'Media::businessImageGate/$1'); -$routes->get('/website/(:any)', 'Media::WebsiteGate/$1'); \ No newline at end of file +$routes->get('/website/(:any)', 'Media::WebsiteGate/$1'); +$routes->get('/profile/(:any)', 'Media::ProfileGate/$1'); diff --git a/app/Controllers/Media.php b/app/Controllers/Media.php index 8f382c2..c40e9b6 100644 --- a/app/Controllers/Media.php +++ b/app/Controllers/Media.php @@ -151,7 +151,61 @@ class Media extends BaseController exit(); } - // + + #[NoReturn] public function ProfileGate(): void + { + + $uriSegments = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); + $segLen = count($uriSegments); + + $filename = $uriSegments[$segLen - 1]; + $webFileUid = $uriSegments[$segLen - 2]; + $fileDetailResult = $this->getWebFileDetails($webFileUid); + + if (count($fileDetailResult) == 0) { + log_message('info', "WEB FILE DATA NOT FOUND:::UID-> $webFileUid"); + $this->notFound(); + exit(); + } + $fileDetails = $fileDetailResult[0]; + //var_dump($fileDetails); + $target_file = $_ENV['UPLOAD_FOLDER'] . "/" . $fileDetails['file_group'] . "/W" . str_pad($fileDetails['member_id'], 10, '0', STR_PAD_LEFT) . "/" . $fileDetails['save_filename']; + + // Check if the file exists + if (!file_exists($target_file)) { + log_message('info', "WEB FILE NOT FOUND:::UID-> $target_file"); + $this->notFound(); + exit(); + } + log_message('info', "TARGET:::FILE-> $target_file"); + $file_extension = $fileDetails['file_type']; // strtolower(substr(strrchr($filename, "."), 1)); + $ctype = "image/jpeg"; + switch ($file_extension) { + case "gif": + $ctype = "image/gif"; + break; + case "png": + $ctype = "image/png"; + break; + case "jpeg": + case "jpg": + $ctype = "image/jpeg"; + break; + case "svg": + $ctype = "image/svg+xml"; + break; + case "mp4": + $ctype = "application/octet-stream"; + break; + default: + } + + $selectedFile = $target_file; + header('Content-type: ' . $ctype); + readfile($selectedFile); + exit(); + } + #[NoReturn] public function WebsiteGate(): void { @@ -292,14 +346,14 @@ class Media extends BaseController $image_set = [ "merms-profile" => "merms-profile.png", "contact-page-main" => "contact2-image.png", - "p1-home-background"=>"hero1-bg.jpg", - "p1-home-banner"=>"hero1-main-image.png", - "p1-home-about"=>"service1-image.png", + "p1-home-background" => "hero1-bg.jpg", + "p1-home-banner" => "hero1-main-image.png", + "p1-home-about" => "service1-image.png", "about-page-main" => "about-page-sec1-image2.png", "about8-image" => "about8-image.png", "p3-home-background" => "hero5-bg.jpg", "p3-home-banner" => "hero5-image.png", - "about6-image1" => "about6-image1.png", + "about6-image1" => "hero5-image.png", "about6-image2" => "about6-image2.png", "about5-image3" => "about5-image3.png", "about5-image2" => "about5-image2.png",