query(" SELECT p.*, bg.name as bni_group_name FROM people p LEFT JOIN bni_groups bg ON p.bni_group_id = bg.id ORDER BY p.lastName, p.firstName "); $people = $stmt->fetchAll(PDO::FETCH_ASSOC); // Fetch process definitions $stmt = $pdo->prepare("SELECT * FROM process_definitions WHERE name NOT IN (?, ?)" . " ORDER BY name"); $stmt->execute(['Obsluga goscia', 'Przygotowanie spotkania grupy']); $processes = $stmt->fetchAll(PDO::FETCH_ASSOC); // Fetch all instances $stmt = $pdo->query("SELECT * FROM process_instances"); $all_instances = $stmt->fetchAll(PDO::FETCH_ASSOC); // Organize instances by person and process $instances = []; foreach ($all_instances as $instance) { $instances[$instance['person_id']][$instance['process_definition_id']] = $instance; } $status_colors = [ 'completed' => '#28a745', 'positive' => '#28a745', 'in_progress' => '#fd7e14', 'negative' => '#dc3545', 'error' => '#dc3545', 'none' => '#808080', 'not_started' => '#808080', 'inactive' => '#808080', ]; $pdo = db(); $stmt_functions = $pdo->query("SELECT * FROM functions ORDER BY display_order"); $all_functions = $stmt_functions->fetchAll(PDO::FETCH_ASSOC); $functions_by_id = []; foreach ($all_functions as $function) { $functions_by_id[$function['id']] = $function['name']; } $stmt_person_functions = $pdo->query("SELECT user_id, function_id FROM user_functions"); $person_functions_map = []; while ($row = $stmt_person_functions->fetch(PDO::FETCH_ASSOC)) { $person_functions_map[$row['user_id']][] = $row['function_id']; } $stmt_bni_groups = $pdo->query("SELECT * FROM bni_groups ORDER BY name"); $bni_groups = $stmt_bni_groups->fetchAll(PDO::FETCH_ASSOC); ?>

Dashboard

prepare(" SELECT bni_groups.id as group_id, bni_groups.name as group_name, MIN(calendar_events.start_datetime) as next_meeting_date FROM bni_groups LEFT JOIN calendar_event_groups ON bni_groups.id = calendar_event_groups.bni_group_id LEFT JOIN calendar_events ON calendar_event_groups.calendar_event_id = calendar_events.id AND calendar_events.start_datetime >= :today GROUP BY bni_groups.id ORDER BY bni_groups.name "); $stmt_meetings->execute(['today' => $today]); $spotkania_cols = $stmt_meetings->fetchAll(PDO::FETCH_ASSOC); ?>
prepare("SELECT id FROM process_definitions WHERE name = ?"); $stmt_meeting_process->execute(['Przygotowanie spotkania grupy']); $meeting_process = $stmt_meeting_process->fetch(PDO::FETCH_ASSOC); $meeting_process_id = $meeting_process ? $meeting_process['id'] : 'null'; ?> $col): ?> $col): ?> 0 && $completedTasks === $totalTasks) { $status = 'completed'; } elseif ($completedTasks > 0) { $status = 'in_progress'; } else { $status = 'inactive'; // Initialized but no progress } } $color = $status_colors[$status] ?? $status_colors['inactive']; ?>
Person Spotkania Inne procesy

, Grupa:
"; } else { echo ''; // Empty cell if person is not in this group } ?>