[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:17:41
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:17:41, clock skew: 60s)
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=0
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:17:41 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:17:42
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:17:42 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:18:04 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 00:18:54 Asia/Bangkok] [Landing] User logged in without dashboard permission - showing landing page with user info
[08-Nov-2025 00:18:54 Asia/Bangkok] [Landing] Displaying landing page for user: admin (role: admin)
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:27:46
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:27:46, clock skew: 60s)
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=0
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:27:46
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:27:46 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:34:38
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:34:38, clock skew: 60s)
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:34:38 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:34:39
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:34:39 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:35:49
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:35:49, clock skew: 60s)
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:35:49 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:35:50
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:35:50 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:39:19 Asia/Bangkok] Remember-me login error: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'is_active' in where clause is ambiguous
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:42:13
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:42:13, clock skew: 60s)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:42:13
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:42:13 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:45:39
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:45:39, clock skew: 60s)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:45:39
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:45:39 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:45:45
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:45:45, clock skew: 60s)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/sso_login.php/landing
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:45:45
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] JWT validation: FAILED - missing token
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] Activity log: SSO login failure logged - error=missing_token
[08-Nov-2025 00:45:45 Asia/Bangkok] [SSO] ========================================
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:58:58
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:58:58, clock skew: 60s)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:58:58 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:58:58 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 00:58:58 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 00:59:24
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 08:59:24, clock skew: 60s)
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 00:59:24 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 00:59:25 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 00:59:25 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 00:59:25 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 01:07:34
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 09:07:34, clock skew: 60s)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 01:07:34 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 01:07:35 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 01:07:35 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 01:11:05
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 09:11:05, clock skew: 60s)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 01:11:05 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 01:11:05 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 01:11:05 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 09:04:18 Asia/Bangkok] Remember-me login error: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'is_active' in where clause is ambiguous
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 09:08:10
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 17:08:10, clock skew: 60s)
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=5, username=admin
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=5, role_id=94
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 94)
#2 {main}
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: START - role_id=94, total_permissions=16
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 09:08:10 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=16, filtered=0, failed=0
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=94
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=94
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Session management: App session created - user_id=5, username=admin
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=16
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=5
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 09:08:11 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=5, username=admin
[08-Nov-2025 09:08:11 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 09:08:11 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 09:09:45
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 17:09:45, clock skew: 60s)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 09:09:45 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 09:09:45 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 09:09:46 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] ========== SSO Login Attempt ==========
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Timestamp: 2025-11-08 09:41:02
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Client IP: 171.4.89.76
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT validation attempt for token: eyJ0eXAiOiJKV1QiLCJh...
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT signature validation: SUCCESS
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT expiration check: PASSED (expires at 2025-11-08 17:41:02, clock skew: 60s)
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT claims validation: SUCCESS - user_id=1, username=admin
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT audience validation: SKIPPED - No audience claim in token
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] JWT validation: COMPLETE - All checks passed
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] User provisioning: START - username=admin, central_user_id=1, role_id=84
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] User provisioning: FAILED - Error upserting user: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'full_name' in 'field list' | Stack trace: #0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(396): PDOStatement->execute(Array)
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/sso_login.php(580): upsert_user(Object(PDO), Array, 84)
#2 {main}
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Permission sync: START - role_id=84, total_permissions=69
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=dashboard.view, permission_id=102
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.view, permission_id=197
[08-Nov-2025 09:41:02 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.create, permission_id=95
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.edit, permission_id=198
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=elderly.delete, permission_id=97
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.view, permission_id=199
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.create, permission_id=200
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.edit, permission_id=201
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=patients.delete, permission_id=202
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.view, permission_id=203
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.create, permission_id=204
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.edit, permission_id=205
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=caregivers.delete, permission_id=206
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.view, permission_id=207
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.create, permission_id=208
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.edit, permission_id=209
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=health_records.delete, permission_id=210
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.view, permission_id=211
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.create, permission_id=212
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.edit, permission_id=213
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vital_signs.delete, permission_id=214
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.view, permission_id=215
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.create, permission_id=216
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.edit, permission_id=217
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=medications.delete, permission_id=218
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.view, permission_id=109
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.create, permission_id=219
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.edit, permission_id=220
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=vaccinations.delete, permission_id=221
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.view, permission_id=142
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.create, permission_id=222
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.edit, permission_id=223
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=chronic.delete, permission_id=224
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.view, permission_id=225
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.create, permission_id=226
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.edit, permission_id=227
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=problems.delete, permission_id=228
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.view (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.create (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.edit (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=allergies.delete (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.view, permission_id=107
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.create, permission_id=229
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.edit, permission_id=230
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=geriatric.delete, permission_id=231
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.view, permission_id=232
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.create, permission_id=233
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.edit, permission_id=234
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=appointments.delete, permission_id=235
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.view, permission_id=236
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.create, permission_id=237
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.edit, permission_id=238
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=care_plans.delete, permission_id=239
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.view, permission_id=240
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.create, permission_id=241
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.edit, permission_id=242
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=referrals.delete, permission_id=243
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.view, permission_id=244
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.create, permission_id=245
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.edit, permission_id=246
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=calendar.delete, permission_id=247
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.view, permission_id=248
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: GRANTED - permission=reports.generate, permission_id=249
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.view (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.create (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.edit (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=users.delete (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.view (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: FILTERED - permission=settings.edit (not in whitelist)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Permission sync: COMPLETE - synced=59, filtered=10, failed=0
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Ensuring dashboard.view permission for role_id=84
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Dashboard permission: SUCCESS - dashboard.view granted to role_id=84
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Session management: START - Creating session for user
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Session management: App session created - user_id=1, username=admin
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Session management: Legacy session keys set - permissions_count=69
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Session management: Session ID regenerated for security
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Remember token: Generating token for user_id=1
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Remember token: Cookie set via helper function
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Session management: COMPLETE - Session established successfully
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Redirect: Determining destination URL
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Redirect: Redirecting to landing page (landing will handle dashboard redirect if permitted)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] SSO Login: SUCCESS - Final redirect destination: https://claoffice.shop/user-permission-system/elderly_care_system/public/landing
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Activity log: FAILED - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`zkwdpszw_elderly_care_system`.`activity_logs`, CONSTRAINT `fk_log_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE RESTRICT)
[08-Nov-2025 09:41:03 Asia/Bangkok] [SSO] Activity log: SSO login success logged - user_id=1, username=admin
[08-Nov-2025 09:41:03 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 09:41:03 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
[08-Nov-2025 09:41:11 Asia/Bangkok] PHP Fatal error:  Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'md.name' in 'field list' in /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/app/Helpers/Database.php:40
Stack trace:
#0 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/app/Helpers/Database.php(40): PDO->prepare('SELECT m.*, ep....')
#1 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/app/Controllers/ReportsController.php(140): App\Helpers\Database->query('SELECT m.*, ep....', Array)
#2 [internal function]: App\Controllers\ReportsController->medications()
#3 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/app/Helpers/Router.php(102): call_user_func(Array)
#4 /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/public/index.php(322): App\Helpers\Router::dispatch()
#5 {main}
  thrown in /home/zkwdpszw/public_html/user-permission-system/elderly_care_system/app/Helpers/Database.php on line 40
[08-Nov-2025 09:42:49 Asia/Bangkok] [Landing] User has dashboard permission - redirecting to dashboard
[08-Nov-2025 09:42:49 Asia/Bangkok] Dashboard appointments error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'status' in 'where clause'
