/home/techb158/workloadmatch.com/Master
NameSizeModeActions
addgroup.php69080644editdlrm
addmanager.php144950644editdlrm
adduser.php111480644editdlrm
assign_teacher_manual.php38790644editdlrm
chat.php168500644editdlrm
dashboard.php136770644editdlrm
fetch_teacher_prefrence_courses.php18870644editdlrm
inc.php5510644editdlrm
Lockup_to_Assign.php36620644editdlrm
main-header-inc.php12760644editdlrm
main-header.php153740644editdlrm
preference_accounting.php94160644editdlrm
preference_secretarial.php94160644editdlrm
profile.php170940644editdlrm
profile_bak.php.disabled31950644editdlrm
save_teacher_preference.php21070644editdlrm
set_manager.php13050644editdlrm
teacher_absence.php3050644editdlrm
teacher_preference.php37980644editdlrm
teacher_preference_by_course.php38330644editdlrm
Edit: /home/techb158/workloadmatch.com/Master/chat.php (16850B)
prepare("SELECT Admin_ID FROM master_profile WHERE Master_ID = ?"); $q->bind_param("s", $master_id); $q->execute(); $q->bind_result($Admin_ID); $q->fetch(); $q->close(); // Ensure manager_profile has last_activity column $chk = $mysqli->query("SELECT COUNT(*) AS cnt FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '" . DATABASE . "' AND TABLE_NAME = 'manager_profile' AND COLUMN_NAME = 'last_activity'"); if ($chk) { $r = $chk->fetch_assoc(); if ((int)$r['cnt'] === 0) $mysqli->query("ALTER TABLE manager_profile ADD COLUMN last_activity DATETIME DEFAULT NULL"); } $managers = []; $stmt = $mysqli->prepare(" SELECT mp.Manager_ID, CONCAT(mp.First_Name, ' ', mp.Last_Name) AS name, COALESCE(mp.User_Img, 'avatar.png') AS User_Img, CASE WHEN mp.last_activity IS NOT NULL AND mp.last_activity >= NOW() - INTERVAL 5 MINUTE THEN 'Online' ELSE 'Offline' END AS status_txt, (SELECT COUNT(*) FROM chat_messages WHERE receiver_id = ? AND receiver_type = 'master' AND sender_id = mp.Manager_ID AND is_read = 0) AS unread, (SELECT message FROM chat_messages WHERE (sender_id = ? AND sender_type = 'master' AND receiver_id = mp.Manager_ID) OR (sender_id = mp.Manager_ID AND sender_type = 'manager' AND receiver_id = ?) ORDER BY created_at DESC LIMIT 1) AS last_msg, (SELECT created_at FROM chat_messages WHERE (sender_id = ? AND sender_type = 'master' AND receiver_id = mp.Manager_ID) OR (sender_id = mp.Manager_ID AND sender_type = 'manager' AND receiver_id = ?) ORDER BY created_at DESC LIMIT 1) AS last_msg_time FROM manager_profile mp WHERE mp.Admin_ID = ? ORDER BY last_msg_time DESC "); $stmt->bind_param("iiiiis", $master_id, $master_id, $master_id, $master_id, $master_id, $Admin_ID); $stmt->execute(); $res = $stmt->get_result(); while ($row = $res->fetch_assoc()) { $row['unread'] = (int)$row['unread']; $managers[] = $row; } $stmt->close(); $totalUnread = 0; foreach ($managers as $m) { $totalUnread += $m['unread']; } function timeAgo($dt) { if (!$dt) return ''; $ts = strtotime($dt); $diff = time() - $ts; if ($diff < 60) return 'now'; if ($diff < 3600) return floor($diff / 60) . 'm'; if ($diff < 86400) return floor($diff / 3600) . 'h'; if ($diff < 172800) return 'yesterday'; return date('M d', $ts); } ?> CMS | Chat
Managers 0): ?>
40 ? mb_substr($m['last_msg'], 0, 40) . '...' : $m['last_msg']) : 'No messages yet'; $previewTime = timeAgo($m['last_msg_time']); ?>
0): ?>
Select a manager to start chatting

Select a manager to view messages