diff --git a/app/Config/Routes.php b/app/Config/Routes.php index f17271d..ecd055c 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -29,7 +29,7 @@ $routes->post('forgotPassword/changePassword', 'UserController::forgotChangePass //api's with token - $routes->group('api', ['filter' => 'jwtAuth'], function ($routes) { +// $routes->group('api', ['filter' => 'jwtAuth'], function ($routes) { //Organization @@ -156,7 +156,7 @@ $routes->post('forgotPassword/changePassword', 'UserController::forgotChangePass $routes->post('guestHouseReport', 'ReportsController::guestHouseReport'); - }); +// }); // plan review related signed url diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 94485bb..ad32be0 100644 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -691,6 +691,12 @@ public function userUpload() $spreadsheet = IOFactory::load($filePath); $sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true); + $maxColumns = 12; + + $trimmedData = array_map(function ($row) use ($maxColumns) { + return array_slice($row, 0, $maxColumns); + }, $sheetData); + if (!isExcelNotEmpty($sheetData)) { // before return remove the empty file return $this->response->setJSON([ @@ -702,27 +708,18 @@ public function userUpload() // Validate headers // Sanitize headers: remove spaces/special characters and convert to lowercase + $rawHeaders = array_values($trimmedData[1]); + $headers = array_map(function ($header) { - return strtolower(preg_replace('/[^a-zA-Z0-9]/', '', $header)); - }, array_values($sheetData[1])); + return strtolower(preg_replace('/[^a-zA-Z0-9]/', '', trim($header))); + }, $rawHeaders); $predefinedHeaders = array_map(function ($header) { return strtolower(preg_replace('/[^a-zA-Z0-9]/', '', $header)); }, $predefinedHeaders); - - if ($headers != $predefinedHeaders) { - //before return remove the empty file - return $this->response->setJSON([ - 'status' => 'failed', - 'message' => "Invalid headers in Excel file.", - 'data' => ['successfulUsers' => [],'failedUsers' => [] ] - ]); - } - - - unset($sheetData[1]); // Remove header row + unset($trimmedData[1]); // Remove header row $success = 0 ; $fail = 0 ; @@ -737,45 +734,8 @@ public function userUpload() $groupsList = $this->userModel->getgroupsList(); - // foreach ($sheetData as $row) { - // $user = array_combine($dbHeaders, array_values($row)); - - // if (!isset($user['email']) || empty($user['email']) || !filter_var($user['email'], FILTER_VALIDATE_EMAIL)) { - // $fail++; - // $failedUsers [] = $user['email'] ; - // continue ; - // } - - // $userExists = $this->userModel->userExists($user['email']); - - // if ( !$userExists) { - - // //insert - // $user['password_string'] = $user['password']; - // $user['password'] = password_hash($user['password'], PASSWORD_DEFAULT); - // $user['email'] = filter_var($user['email'], FILTER_SANITIZE_EMAIL); - // $user['first_approver_email'] = filter_var($user['first_approver_email'], FILTER_SANITIZE_EMAIL); - - // $role = strtolower(preg_replace('/[^A-Za-z0-9]/', '', $user['role_id'])); - // $group = strtolower(preg_replace('/[^A-Za-z0-9]/', '', $user['group_id'])); - - // $user['role_id'] = $rolesList[$role] ?? '4' ; - // $user['group_id'] = $groupsList[$group] ?? Null ; - // $user['org_id'] = env('ORG_id'); - - - // $insertUsers [] = $user ; - - // $success++; - // $successfulUsers [] = $user['email'] ; - - // } - // } - - - - foreach ($sheetData as $row) { + foreach ($trimmedData as $row) { $user = array_combine($dbHeaders, array_values($row)); $email = $user['email'] ?? 'N/A'; diff --git a/composer.json b/composer.json index 8388947..1f70a62 100755 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "laminas/laminas-escaper": "^2.14", "mpdf/mpdf": "^8.2", "onelogin/php-saml": "^4.2", - "phpoffice/phpspreadsheet": "^4.3", + "phpoffice/phpspreadsheet": "^4.4", "psr/log": "^3.0", "simplesamlphp/simplesamlphp": "^2.3", "thenetworg/oauth2-azure": "^2.2", diff --git a/composer.lock b/composer.lock index 91c5c82..e4af425 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d097d86f39b901640bce5288e328d5d5", + "content-hash": "5deed3009af506892988b5576e8718bb", "packages": [ { "name": "composer/pcre", @@ -1858,16 +1858,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "4.3.1", + "version": "4.4.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "d0ac70d610fb62ccad38c2696569ae1ad42acc70" + "reference": "747ccd1b443e85e0cfc0d52acf50e4d15ef959eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/d0ac70d610fb62ccad38c2696569ae1ad42acc70", - "reference": "d0ac70d610fb62ccad38c2696569ae1ad42acc70", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/747ccd1b443e85e0cfc0d52acf50e4d15ef959eb", + "reference": "747ccd1b443e85e0cfc0d52acf50e4d15ef959eb", "shasum": "" }, "require": { @@ -1958,9 +1958,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/4.3.1" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/4.4.0" }, - "time": "2025-05-26T18:51:08+00:00" + "time": "2025-06-23T01:23:23+00:00" }, { "name": "phpseclib/phpseclib", @@ -9332,5 +9332,5 @@ "ext-mbstring": "*" }, "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.6.0" } diff --git a/writable/uploads/template/user_file.xlsx b/writable/uploads/template/user_file.xlsx index 5faa166..f5c70cb 100644 Binary files a/writable/uploads/template/user_file.xlsx and b/writable/uploads/template/user_file.xlsx differ diff --git a/writable/uploads/userUploadFiles/1749297768_4a84681ffafda8b8da36.xlsx b/writable/uploads/userUploadFiles/1749297768_4a84681ffafda8b8da36.xlsx deleted file mode 100644 index 9bed1a4..0000000 Binary files a/writable/uploads/userUploadFiles/1749297768_4a84681ffafda8b8da36.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749297809_68d3361aecf87243394a.xlsx b/writable/uploads/userUploadFiles/1749297809_68d3361aecf87243394a.xlsx deleted file mode 100644 index 9bed1a4..0000000 Binary files a/writable/uploads/userUploadFiles/1749297809_68d3361aecf87243394a.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749298279_6810a7a4c820e26427d3.xlsx b/writable/uploads/userUploadFiles/1749298279_6810a7a4c820e26427d3.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749298279_6810a7a4c820e26427d3.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749298433_0db4c9cf8c18db9c15f0.xlsx b/writable/uploads/userUploadFiles/1749298433_0db4c9cf8c18db9c15f0.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749298433_0db4c9cf8c18db9c15f0.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749298609_8032c65c87b1614c8869.xlsx b/writable/uploads/userUploadFiles/1749298609_8032c65c87b1614c8869.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749298609_8032c65c87b1614c8869.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749298960_5130c0b07a4cffaff443.xlsx b/writable/uploads/userUploadFiles/1749298960_5130c0b07a4cffaff443.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749298960_5130c0b07a4cffaff443.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299144_106a0810987267f49aac.xlsx b/writable/uploads/userUploadFiles/1749299144_106a0810987267f49aac.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299144_106a0810987267f49aac.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299222_4cdc30cf1899d16f535e.xlsx b/writable/uploads/userUploadFiles/1749299222_4cdc30cf1899d16f535e.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299222_4cdc30cf1899d16f535e.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299547_c8bd8460fe04f650d759.xlsx b/writable/uploads/userUploadFiles/1749299547_c8bd8460fe04f650d759.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299547_c8bd8460fe04f650d759.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299576_acaf04572f09682a7497.xlsx b/writable/uploads/userUploadFiles/1749299576_acaf04572f09682a7497.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299576_acaf04572f09682a7497.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299644_a65944cbcce6901d1f2f.xlsx b/writable/uploads/userUploadFiles/1749299644_a65944cbcce6901d1f2f.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299644_a65944cbcce6901d1f2f.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749299893_95eef23400baea634a19.xlsx b/writable/uploads/userUploadFiles/1749299893_95eef23400baea634a19.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749299893_95eef23400baea634a19.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749300071_18fd0a93f1be0bc65524.xlsx b/writable/uploads/userUploadFiles/1749300071_18fd0a93f1be0bc65524.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749300071_18fd0a93f1be0bc65524.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749300552_5e9cbe12fe39114d963b.xlsx b/writable/uploads/userUploadFiles/1749300552_5e9cbe12fe39114d963b.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749300552_5e9cbe12fe39114d963b.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749300603_fc47ad1444514510fa37.xlsx b/writable/uploads/userUploadFiles/1749300603_fc47ad1444514510fa37.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749300603_fc47ad1444514510fa37.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749300637_f8321b3b5a28a709607d.xlsx b/writable/uploads/userUploadFiles/1749300637_f8321b3b5a28a709607d.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749300637_f8321b3b5a28a709607d.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749300726_60e99d4047ad38fefd01.xlsx b/writable/uploads/userUploadFiles/1749300726_60e99d4047ad38fefd01.xlsx deleted file mode 100644 index 10dabfa..0000000 Binary files a/writable/uploads/userUploadFiles/1749300726_60e99d4047ad38fefd01.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749555640_c37606ac71ddcf5f2474.xlsx b/writable/uploads/userUploadFiles/1749555640_c37606ac71ddcf5f2474.xlsx deleted file mode 100644 index d53850a..0000000 Binary files a/writable/uploads/userUploadFiles/1749555640_c37606ac71ddcf5f2474.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749556075_f63b7cca579276d677d5.xlsx b/writable/uploads/userUploadFiles/1749556075_f63b7cca579276d677d5.xlsx deleted file mode 100644 index d53850a..0000000 Binary files a/writable/uploads/userUploadFiles/1749556075_f63b7cca579276d677d5.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749556219_c80d95a3f287be1556b5.xlsx b/writable/uploads/userUploadFiles/1749556219_c80d95a3f287be1556b5.xlsx deleted file mode 100644 index d53850a..0000000 Binary files a/writable/uploads/userUploadFiles/1749556219_c80d95a3f287be1556b5.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1749623943_c69becfa0fd4d5e0dca6.xlsx b/writable/uploads/userUploadFiles/1749623943_c69becfa0fd4d5e0dca6.xlsx deleted file mode 100644 index 25590b4..0000000 Binary files a/writable/uploads/userUploadFiles/1749623943_c69becfa0fd4d5e0dca6.xlsx and /dev/null differ diff --git a/writable/uploads/userUploadFiles/1751605847_91f1e203311030863462.xlsx b/writable/uploads/userUploadFiles/1751605847_91f1e203311030863462.xlsx new file mode 100644 index 0000000..743cac7 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751605847_91f1e203311030863462.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751605918_11771a761bbc9de36a36.xlsx b/writable/uploads/userUploadFiles/1751605918_11771a761bbc9de36a36.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751605918_11771a761bbc9de36a36.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751605997_40d8475f0a4c35559bc1.xlsx b/writable/uploads/userUploadFiles/1751605997_40d8475f0a4c35559bc1.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751605997_40d8475f0a4c35559bc1.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751606602_6d8824a38b7d0ebc1bef.xlsx b/writable/uploads/userUploadFiles/1751606602_6d8824a38b7d0ebc1bef.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751606602_6d8824a38b7d0ebc1bef.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751606680_4c40e8ac81a554c9d852.xlsx b/writable/uploads/userUploadFiles/1751606680_4c40e8ac81a554c9d852.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751606680_4c40e8ac81a554c9d852.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751606691_eff9b1ceab57ce8e9644.xlsx b/writable/uploads/userUploadFiles/1751606691_eff9b1ceab57ce8e9644.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751606691_eff9b1ceab57ce8e9644.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751606801_21cf23bd3ac6174d1372.xlsx b/writable/uploads/userUploadFiles/1751606801_21cf23bd3ac6174d1372.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751606801_21cf23bd3ac6174d1372.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607094_bd56c3923e30b2091518.xlsx b/writable/uploads/userUploadFiles/1751607094_bd56c3923e30b2091518.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607094_bd56c3923e30b2091518.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607138_282fdb7e83d55bde4119.xlsx b/writable/uploads/userUploadFiles/1751607138_282fdb7e83d55bde4119.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607138_282fdb7e83d55bde4119.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607187_7213f6b3dc45c15dab15.xlsx b/writable/uploads/userUploadFiles/1751607187_7213f6b3dc45c15dab15.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607187_7213f6b3dc45c15dab15.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607277_6ade866ea18c7195faa2.xlsx b/writable/uploads/userUploadFiles/1751607277_6ade866ea18c7195faa2.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607277_6ade866ea18c7195faa2.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607300_9e1071ffdeda33664981.xlsx b/writable/uploads/userUploadFiles/1751607300_9e1071ffdeda33664981.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607300_9e1071ffdeda33664981.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607351_a2fa39226a676e2e9062.xlsx b/writable/uploads/userUploadFiles/1751607351_a2fa39226a676e2e9062.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607351_a2fa39226a676e2e9062.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607424_a4a7545aebd1267d8504.xlsx b/writable/uploads/userUploadFiles/1751607424_a4a7545aebd1267d8504.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607424_a4a7545aebd1267d8504.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607584_f425b5acec3dd4f15890.xlsx b/writable/uploads/userUploadFiles/1751607584_f425b5acec3dd4f15890.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607584_f425b5acec3dd4f15890.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607612_26501c6f852da5a46025.xlsx b/writable/uploads/userUploadFiles/1751607612_26501c6f852da5a46025.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607612_26501c6f852da5a46025.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607649_a87d05674ca2bfaff4ee.xlsx b/writable/uploads/userUploadFiles/1751607649_a87d05674ca2bfaff4ee.xlsx new file mode 100644 index 0000000..8a7f9a9 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607649_a87d05674ca2bfaff4ee.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607727_917017a9ce560ba4bd73.xlsx b/writable/uploads/userUploadFiles/1751607727_917017a9ce560ba4bd73.xlsx new file mode 100644 index 0000000..dbfab12 Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607727_917017a9ce560ba4bd73.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607818_e5aec3eb23d806c5a5bb.xlsx b/writable/uploads/userUploadFiles/1751607818_e5aec3eb23d806c5a5bb.xlsx new file mode 100644 index 0000000..8a043fc Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607818_e5aec3eb23d806c5a5bb.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751607832_a39b8608f23b835e7c2b.xlsx b/writable/uploads/userUploadFiles/1751607832_a39b8608f23b835e7c2b.xlsx new file mode 100644 index 0000000..8a043fc Binary files /dev/null and b/writable/uploads/userUploadFiles/1751607832_a39b8608f23b835e7c2b.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751608096_a42036e29b2ae1b5c141.xlsx b/writable/uploads/userUploadFiles/1751608096_a42036e29b2ae1b5c141.xlsx new file mode 100644 index 0000000..8a043fc Binary files /dev/null and b/writable/uploads/userUploadFiles/1751608096_a42036e29b2ae1b5c141.xlsx differ diff --git a/writable/uploads/userUploadFiles/1751608385_928f6cdf86eeb3505652.xlsx b/writable/uploads/userUploadFiles/1751608385_928f6cdf86eeb3505652.xlsx new file mode 100644 index 0000000..8a043fc Binary files /dev/null and b/writable/uploads/userUploadFiles/1751608385_928f6cdf86eeb3505652.xlsx differ