true, 'secure' => !empty($_SERVER['HTTPS']) || $forwardedHttps, 'samesite' => 'Lax', 'path' => '/']); session_start(); function render_header(string $title): void { $user = current_user(); echo '
Sign in to the support workspace.
Your operational overview.
Use Jobcards to manage assignments, status, technician notes and time entries. SLA threshold metrics will activate after period and rollover rules are configured.
| Jobcard | From | To | Changed |
|---|---|---|---|
| ' . e($row['reference_no']) . ' | ' . e($row['from_status']) . ' | ' . e($row['to_status']) . ' | ' . e($row['changed_at']) . ' |
' . nl2br(e($jobcard['work_requested'])) . '
No technicians assigned.
'; foreach ($assigned as $assignment) echo 'No attachments.
'; foreach ($attachments as $attachment) echo 'Track requested work and operational status.
| Reference | Client | Priority | Status | Work requested | Created |
|---|---|---|---|---|---|
| No jobcards found. | |||||
| ' . e($jobcard['reference_no']) . ' | ' . e($jobcard['client_name']) . ' | ' . e(ucfirst($jobcard['priority'])) . ' | ' . e(ucwords(str_replace('_', ' ', $jobcard['status']))) . ' | ' . e($jobcard['work_requested']) . ' | ' . e($jobcard['created_at']) . ' |
No contacts recorded.
'; foreach ($contacts as $contact) { echo 'No SLA agreement configured.
'; echo '' . e($revealedCredential['secret']) . '' : '••••••••••••••••••••') . 'Manage client records and support contacts.
| Client | Status | Support email | Phone |
|---|---|---|---|
| No clients found. | |||
| ' . e($client['name']) . ' | ' . e(ucfirst($client['status'])) . ' | ' . e((string)($client['support_email'] ?? '—')) . ' | ' . e((string)($client['support_phone'] ?? '—')) . ' |
Create and review system accounts.
| Name | Role | Status | Last login | |
|---|---|---|---|---|
| ' . e($listedUser['name']) . ' | ' . e($listedUser['email']) . ' | ' . e($listedUser['role_name']) . ' | ' . e($listedUser['is_active'] ? 'Active' : 'Inactive') . ' | ' . e((string)($listedUser['last_login_at'] ?? 'Never')) . ' |
Create custom roles and assign available permissions.
' . e((string)($role['description'] ?? '')) . '
' . e((string)($notification['body'] ?? '')) . '
'; if (!$notification['read_at']) echo ''; echo 'Internal hours summary by client.
| Client | Jobcards | Hours |
|---|---|---|
| No report data available. | ||
| ' . e($row['client_name']) . ' | ' . (int)$row['jobcards'] . ' | ' . e(number_format((float)$row['hours'], 2)) . ' |
| When | User | Action | Entity | Metadata |
|---|---|---|---|---|
| ' . e($event['created_at']) . ' | ' . e((string)($event['user_name'] ?? 'System')) . ' | ' . e($event['action']) . ' | ' . e($event['entity_type']) . ' #' . (int)$event['entity_id'] . ' | ' . e((string)($event['metadata'] ?? '')) . ' |