95 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			95 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
 | 
						|
                <div class="row">
 | 
						|
                    <div class="card w-auto bg-light border-light card-body"  style="flex-direction: row;"><?= $widget['title'] ?></div>
 | 
						|
 | 
						|
                    <!-- Results filter -->
 | 
						|
                    <div class="card w-auto bg-light border-light card-body text-right" style="text-align: right;">
 | 
						|
                        <form method="POST" id="filter_form" class="filter-results" action="?platform=<?= htmlspecialchars($platform_id) ?>&page=<?= htmlspecialchars($page) ?>">
 | 
						|
                            <label for="from_time">from</label>
 | 
						|
                            <input type="date" id="from_time" name="from_time"<?php if (isset($_REQUEST['from_time'])) echo " value=\"" . htmlspecialchars($from_time) . "\"" ?> />
 | 
						|
                            <label for="until_time">until</label>
 | 
						|
                            <input type="date" id="until_time" name="until_time"<?php if (isset($_REQUEST['until_time'])) echo " value=\"" . htmlspecialchars($until_time) . "\"" ?> />
 | 
						|
                            <input type="text" name="id" placeholder="conference ID"<?php if (isset($_REQUEST['id'])) echo " value=\"" . htmlspecialchars($_REQUEST['id']) . "\"" ?> />
 | 
						|
                            <input type="text" name="name" placeholder="conference name"<?php if (isset($_REQUEST['name'])) echo " value=\"" . htmlspecialchars($_REQUEST['name']) . "\"" ?> />
 | 
						|
                            <input type="button" onclick="clearFilter()" value="clear" />
 | 
						|
                            <input type="submit" value="search" />
 | 
						|
                        </form>
 | 
						|
                        <script>
 | 
						|
                            function clearFilter() {
 | 
						|
                                document.getElementById("filter_form").reset();
 | 
						|
                                const filterFields = document.querySelectorAll("#filter_form input");
 | 
						|
                                filterFields.forEach(input => {
 | 
						|
                                    if (input.type === 'text' ||input.type === 'date') {
 | 
						|
                                        input.value = '';
 | 
						|
                                    }
 | 
						|
                                });
 | 
						|
                            }
 | 
						|
                        </script>
 | 
						|
                    </div>
 | 
						|
                    <!-- /Results filter -->
 | 
						|
 | 
						|
                </div>
 | 
						|
 | 
						|
                <!-- widget "<?= htmlspecialchars($widget['name']) ?>" -->
 | 
						|
                <div class="collapse show" id="collapse<?= htmlspecialchars($widget['name']) ?>">
 | 
						|
<?php if ($time_range_specified) { ?>
 | 
						|
                    <p class="m-3">time period: <strong><?= htmlspecialchars($from_time) ?> - <?= htmlspecialchars($until_time) ?></strong></p>
 | 
						|
<?php } ?>
 | 
						|
                    <div class="mb-5">
 | 
						|
<?php if ($widget['full'] === true) { ?>
 | 
						|
                        <table class="table table-results table-striped table-hover table-bordered">
 | 
						|
                            <thead class="thead-dark">
 | 
						|
                                <tr>
 | 
						|
<?php     foreach ($widget['table_headers'] as $header) { ?>
 | 
						|
                                    <th scope="col"><?= htmlspecialchars($header) ?></th>
 | 
						|
<?php     } ?>
 | 
						|
                                </tr>
 | 
						|
                            </thead>
 | 
						|
                            <tbody>
 | 
						|
<?php     foreach ($widget['table_records'] as $row) { ?>
 | 
						|
                                <tr>
 | 
						|
<?php       $stats_id = false;
 | 
						|
            $participant_ip = false;
 | 
						|
            if (isset($row['event']) && $row['event'] === 'stats_id') $stats_id = true;
 | 
						|
            if (isset($row['event']) && $row['event'] === 'pair selected') $participant_ip = true;
 | 
						|
 | 
						|
            foreach ($row as $key => $column) {
 | 
						|
                    if ($key === 'conference ID' && isset($conferenceId) && $conferenceId === $column) { ?>
 | 
						|
                                    <td><strong><?= htmlspecialchars($column ?? '') ?></strong></td>
 | 
						|
<?php               } elseif ($key === 'conference ID') { ?>
 | 
						|
                                    <td><a href="<?= htmlspecialchars($app_root) ?>?platform=<?= htmlspecialchars($platform_id) ?>&page=conferences&id=<?= htmlspecialchars($column ?? '') ?>"><?= htmlspecialchars($column ?? '') ?></a></td>
 | 
						|
<?php               } elseif ($key === 'conference name' && isset($conferenceName) && $conferenceName === $column) { ?>
 | 
						|
                                    <td><strong><?= htmlspecialchars($column ?? '') ?></strong></td>
 | 
						|
<?php               } elseif ($key === 'conference name') { ?>
 | 
						|
                                    <td><a href="<?= htmlspecialchars($app_root) ?>?platform=<?= htmlspecialchars($platform_id) ?>&page=conferences&name=<?= htmlspecialchars($column ?? '') ?>"><?= htmlspecialchars($column ?? '') ?></a></td>
 | 
						|
<?php               } elseif ($key === 'participant ID') { ?>
 | 
						|
                                    <td><a href="<?= htmlspecialchars($app_root) ?>?platform=<?= htmlspecialchars($platform_id) ?>&page=participants&id=<?= htmlspecialchars($column ?? '') ?>"><?= htmlspecialchars($column ?? '') ?></a></td>
 | 
						|
<?php               } elseif ($stats_id && $key === 'parameter') { ?>
 | 
						|
                                    <td><a href="<?= htmlspecialchars($app_root) ?>?platform=<?= htmlspecialchars($platform_id) ?>&page=participants&name=<?= htmlspecialchars($column ?? '') ?>"><?= htmlspecialchars($column ?? '') ?></a></td>
 | 
						|
<?php               } elseif ($participant_ip && $key === 'parameter') { ?>
 | 
						|
                                    <td><a href="<?= htmlspecialchars($app_root) ?>?platform=<?= htmlspecialchars($platform_id) ?>&page=participants&ip=<?= htmlspecialchars($column ?? '') ?>"><?= htmlspecialchars($column ?? '') ?></a></td>
 | 
						|
<?php
 | 
						|
                    // in general listings we don't show seconds and miliseconds
 | 
						|
                    } elseif ($key === 'start' || $key === 'end') { ?>
 | 
						|
                                    <td><?= htmlspecialchars(substr($column ?? '', 0, -7)) ?></td>
 | 
						|
<?php               } else { ?>
 | 
						|
                                    <td><?= htmlspecialchars($column ?? '') ?></td>
 | 
						|
<?php               }
 | 
						|
            } ?>
 | 
						|
                                </tr>
 | 
						|
<?php     } ?>
 | 
						|
                            </tbody>
 | 
						|
                        </table>
 | 
						|
<?php
 | 
						|
if ($widget['pagination'] && $item_count > $items_per_page) {
 | 
						|
    $url = "$app_root?platform=$platform_id&page=$page";
 | 
						|
    include '../app/helpers/pagination.php';
 | 
						|
}
 | 
						|
?>
 | 
						|
<?php } else { ?>
 | 
						|
                    <p class="m-3">No matching records found.</p>
 | 
						|
<?php } ?>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
                <!-- /widget "<?= htmlspecialchars($widget['name']) ?>" -->
 |