Merge branch 'dev' into geojson_map_plots

This commit is contained in:
Andreas Kristiansen
2025-12-23 13:16:20 +01:00
committed by GitHub
35 changed files with 4508 additions and 287 deletions

View File

@@ -0,0 +1,164 @@
<?php
$i = 0;
// Get Date format
if($this->session->userdata('user_date_format')) {
// If Logged in and session exists
$custom_date_format = $this->session->userdata('user_date_format');
} else {
// Get Default date format from /config/wavelog.php
$custom_date_format = $this->config->item('qso_date_format');
}
?>
<div class="row mb-4">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0"><?= __("DXCC Class Results"); ?></h6>
</div>
<div class="card-body">
<p><strong><?= __("Calls tested:"); ?></strong> <?= $class_calls_tested; ?></p>
<p><strong><?= __("Execution time:"); ?></strong> <?= round($class_execution_time, 2); ?>s</p>
<p><strong><?= __("Issues found:"); ?></strong> <?= $class_total_issues; ?></p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h6 class="card-title mb-0"><?= __("Logbook Model Results"); ?></h6>
</div>
<div class="card-body">
<p><strong><?= __("Calls tested:"); ?></strong> <?= $model_calls_tested; ?></p>
<p><strong><?= __("Execution time:"); ?></strong> <?= round($model_execution_time, 2); ?>s</p>
<p><strong><?= __("Issues found:"); ?></strong> <?= $model_total_issues; ?></p>
</div>
</div>
</div>
</div>
<div class="row mb-4">
<div class="col-12">
<div class="alert alert-info">
<strong><?= __("Comparison Summary"); ?></strong><br>
- <?= __("Only found in DXCC Class:"); ?> <?= count($only_in_class); ?><br>
- <?= __("Only found in Logbook Model:"); ?> <?= count($only_in_model); ?><br>
- <?= __("Found in both methods:"); ?> <?= count($common_issues); ?>
</div>
</div>
</div>
<?php if ($only_in_class): ?>
<div class="mb-4">
<h6 class="text-danger"><?= __("Issues found only in DXCC Class (not in Logbook Model):"); ?> <?= count($only_in_class); ?></h6>
<div class="table-responsive" style="max-height:50vh; overflow:auto;">
<table class="table table-sm table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th><?= __("Callsign"); ?></th>
<th><?= __("QSO Date"); ?></th>
<th><?= __("Station Profile"); ?></th>
<th><?= __("Existing DXCC"); ?></th>
<th><?= __("Existing ADIF"); ?></th>
<th><?= __("Result DXCC"); ?></th>
<th><?= __("Result ADIF"); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($only_in_class as $qso): ?>
<tr>
<td><?php echo ++$i; ?></td>
<td><?php echo '<a id="edit_qso" href="javascript:displayQso(' . $qso['id'] . ')">' . htmlspecialchars($qso['callsign']) . '</a>'; ?></td>
<td><?php echo date($custom_date_format, strtotime($qso['qso_date'])); ?></td>
<td><?php echo $qso['station_profile']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['existing_dxcc']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['existing_adif']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['result_country']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['result_adif']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php endif; ?>
<?php if ($only_in_model): ?>
<div class="mb-4">
<h6 class="text-warning"><?= __("Issues found only in Logbook Model (not in DXCC Class):"); ?> <?= count($only_in_model); ?></h6>
<div class="table-responsive" style="max-height:50vh; overflow:auto;">
<table class="table table-sm table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th><?= __("Callsign"); ?></th>
<th><?= __("QSO Date"); ?></th>
<th><?= __("Station Profile"); ?></th>
<th><?= __("Existing DXCC"); ?></th>
<th><?= __("Existing ADIF"); ?></th>
<th><?= __("Result DXCC"); ?></th>
<th><?= __("Result ADIF"); ?></th>
</tr>
</thead>
<tbody>
<?php $i = 0; foreach ($only_in_model as $qso): ?>
<tr>
<td><?php echo ++$i; ?></td>
<td><?php echo '<a id="edit_qso" href="javascript:displayQso(' . $qso['id'] . ')">' . htmlspecialchars($qso['callsign']) . '</a>'; ?></td>
<td><?php echo date($custom_date_format, strtotime($qso['qso_date'])); ?></td>
<td><?php echo $qso['station_profile']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['existing_dxcc']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['existing_adif']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['result_country']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['result_adif']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php endif; ?>
<?php if ($common_issues): ?>
<div class="mb-4">
<h6 class="text-success"><?= __("Issues found in both methods:"); ?> <?= count($common_issues); ?></h6>
<div class="table-responsive" style="max-height:50vh; overflow:auto;">
<table class="table table-sm table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th><?= __("Callsign"); ?></th>
<th><?= __("QSO Date"); ?></th>
<th><?= __("Station Profile"); ?></th>
<th><?= __("Existing DXCC"); ?></th>
<th><?= __("Existing ADIF"); ?></th>
<th><?= __("Result DXCC"); ?></th>
<th><?= __("Result ADIF"); ?></th>
</tr>
</thead>
<tbody>
<?php $i = 0; foreach ($common_issues as $qso): ?>
<tr>
<td><?php echo ++$i; ?></td>
<td><?php echo '<a id="edit_qso" href="javascript:displayQso(' . $qso['id'] . ')">' . htmlspecialchars($qso['callsign']) . '</a>'; ?></td>
<td><?php echo date($custom_date_format, strtotime($qso['qso_date'])); ?></td>
<td><?php echo $qso['station_profile']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['existing_dxcc']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['existing_adif']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['result_country']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['result_adif']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php endif; ?>
<?php if (!$only_in_class && !$only_in_model && !$common_issues): ?>
<div class="alert alert-success">
<?= __("No DXCC issues found in either method. All calls have correct DXCC information."); ?>
</div>
<?php endif; ?>

View File

@@ -0,0 +1,23 @@
<div class="container">
<br />
<h5><?= __("Callsign DXCC identification"); ?></h5>
<div class="d-flex align-items-center mb-3">
<label class="me-2" for="de"><?= __("Station Location"); ?></label>
<select class="form-select form-select-sm w-auto me-2" id="de" name="de">
<option value="all">All</option>
<?php foreach ($station_profile->result() as $station) { ?>
<option value="<?php echo $station->station_id; ?>">
<?= __("Callsign: ") . " " ?>
<?php echo str_replace("0", "&Oslash;", strtoupper($station->station_callsign)); ?> (<?php echo $station->station_profile_name; ?>)
</option>
<?php } ?>
</select>
<button id="startDxccCheck" class="btn btn-primary btn-sm"><?= __("Start DXCC Check"); ?></button>
<div class="form-check me-2 mx-2">
<input type="checkbox" class="form-check-input" id="compareDxccClass" name="compareDxccClass">
<label class="form-check-label" for="compareDxccClass"><?= __("Compare DXCC class and logbook model"); ?></label>
</div>
</div>
<div class='result'>
</div>
</div>

View File

@@ -0,0 +1,48 @@
<?php
$i = 0;
echo "<p>" . __("Callsigns tested: ") . $calls_tested . "</p>";
echo "<p>" . __("Execution time: ") . round($execution_time, 2) . "s</p>";
echo "<p>" . __("Number of potential QSOs with wrong DXCC: ") . count($result) . "</p>";
// Get Date format
if($this->session->userdata('user_date_format')) {
// If Logged in and session exists
$custom_date_format = $this->session->userdata('user_date_format');
} else {
// Get Default date format from /config/wavelog.php
$custom_date_format = $this->config->item('qso_date_format');
}
if ($result) { ?>
<div class="table-responsive" style="max-height:70vh; overflow:auto;">
<table class="table table-sm table-striped table-bordered table-condensed mb-0">
<thead>
<tr>
<th>#</th>
<th><?= __("Callsign"); ?></th>
<th><?= __("QSO Date"); ?></th>
<th><?= __("Station Profile"); ?></th>
<th><?= __("Existing DXCC"); ?></th>
<th><?= __("Existing ADIF"); ?></th>
<th><?= __("Result DXCC"); ?></th>
<th><?= __("Result ADIF"); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($result as $qso): ?>
<tr>
<td><?php echo ++$i; ?></td>
<td><?php echo '<a id="edit_qso" href="javascript:displayQso(' . $qso['id'] . ')">' . htmlspecialchars($qso['callsign']) . '</a>'; ?></td>
<td><?php echo date($custom_date_format, strtotime($qso['qso_date'])); ?></td>
<td><?php echo $qso['station_profile']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['existing_dxcc']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['existing_adif']; ?></td>
<td><?php echo htmlspecialchars(ucwords(strtolower($qso['result_country']), "- (/"), ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo $qso['result_adif']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php } ?>