mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
[WAC Award] Query speedup
This commit is contained in:
@@ -2,69 +2,53 @@
|
||||
|
||||
<!-- Award Info Box -->
|
||||
<br>
|
||||
<div id="awardInfoButton">
|
||||
<script>
|
||||
var lang_awards_info_button = "<?= __("Award Info"); ?>";
|
||||
var lang_award_info_ln1 = "<?= __("Worked All Continents (WAC)"); ?>";
|
||||
var lang_award_info_ln2 = "<?= __("Sponsored by the International Amateur Radio Union (IARU), the Worked All Continents award is issued for working and confirming all six continents. These are North America, South America, Oceania, Asia, Europe and Africa."); ?>";
|
||||
var lang_award_info_ln3 = "";
|
||||
var lang_award_info_ln4 = "<?= sprintf(__("You can find all information about the DXCC Award on the %s."), "<a href='https://www.arrl.org/wac' target='_blank'>" . __("ARRL website") . "</a>"); ?>";
|
||||
var lang_award_info_ln5 = "<?= __("Fields taken for this Award: Continent (ADIF tag 'CONT'). Must contain a valid continent-abbreviation!"); ?>";
|
||||
</script>
|
||||
<h2><?= __("Awards - Worked All Continents (WAC)"); ?></h2>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1" id="displayAwardInfo"><?= __("Award Info"); ?></button>
|
||||
</div>
|
||||
<!-- End of Award Info Box -->
|
||||
<div id="awardInfoButton">
|
||||
<script>
|
||||
var lang_awards_info_button = "<?= __("Award Info"); ?>";
|
||||
var lang_award_info_ln1 = "<?= __("Worked All Continents (WAC)"); ?>";
|
||||
var lang_award_info_ln2 = "<?= __("Sponsored by the International Amateur Radio Union (IARU), the Worked All Continents award is issued for working and confirming all six continents. These are North America, South America, Oceania, Asia, Europe and Africa."); ?>";
|
||||
var lang_award_info_ln3 = "";
|
||||
var lang_award_info_ln4 = "<?= sprintf(__("You can find all information about the DXCC Award on the %s."), "<a href='https://www.arrl.org/wac' target='_blank'>" . __("ARRL website") . "</a>"); ?>";
|
||||
var lang_award_info_ln5 = "<?= __("Fields taken for this Award: Continent (ADIF tag 'CONT'). Must contain a valid continent-abbreviation!"); ?>";
|
||||
</script>
|
||||
<h2><?= __("Awards - Worked All Continents (WAC)"); ?></h2>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1" id="displayAwardInfo"><?= __("Award Info"); ?></button>
|
||||
</div>
|
||||
<!-- End of Award Info Box -->
|
||||
<form class="form" action="<?php echo site_url('awards/wac'); ?>" method="post" enctype="multipart/form-data">
|
||||
<fieldset>
|
||||
|
||||
<!-- Multiple Checkboxes (inline) -->
|
||||
<div class="mb-3 row">
|
||||
<div class="col-md-2" for="checkboxes"><?= __("Worked") . ' / ' . __("Confirmed")?></div>
|
||||
<div class="col-md-10">
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="worked" id="worked" value="1" <?php if ($this->input->post('worked') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="worked"><?= __("Show worked"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="confirmed" id="confirmed" value="1" <?php if ($this->input->post('confirmed') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="confirmed"><?= __("Show confirmed"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="notworked" id="notworked" value="1" <?php if ($this->input->post('notworked') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="notworked"><?= __("Show not worked"); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 row">
|
||||
<div class="col-md-2"><?= __("Show QSO with QSL Type"); ?></div>
|
||||
<div class="col-md-10">
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="qsl" value="1" id="qsl" <?php if ($this->input->post('qsl') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="qsl"><?= __("QSL Card"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="lotw" value="1" id="lotw" <?php if ($this->input->post('lotw') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="lotw"><?= __("LoTW"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="eqsl" value="1" id="eqsl" <?php if ($this->input->post('eqsl')) echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="eqsl"><?= __("eQSL"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="qrz" value="1" id="qrz" <?php if ($this->input->post('qrz')) echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="qrz"><?= __("QRZ.com"); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2"><?= __("Show QSO with QSL Type"); ?></div>
|
||||
<div class="col-md-10">
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="qsl" value="1" id="qsl" <?php if ($this->input->post('qsl') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="qsl"><?= __("QSL Card"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="lotw" value="1" id="lotw" <?php if ($this->input->post('lotw') || $this->input->method() !== 'post') echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="lotw"><?= __("LoTW"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="eqsl" value="1" id="eqsl" <?php if ($this->input->post('eqsl')) echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="eqsl"><?= __("eQSL"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="qrz" value="1" id="qrz" <?php if ($this->input->post('qrz')) echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="qrz"><?= __("QRZ.com"); ?></label>
|
||||
</div>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="clublog" value="1" id="clublog" <?php if ($this->input->post('clublog')) echo ' checked="checked"'; ?> >
|
||||
<label class="form-check-label" for="clublog"><?= __("Clublog"); ?></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 row">
|
||||
<label class="col-md-2 control-label" for="band2"><?= __("Band"); ?></label>
|
||||
<div class="col-md-2">
|
||||
<select id="band2" name="band" class="form-select form-select-sm">
|
||||
<option value="All" <?php if ($this->input->post('band') == "All" || $this->input->method() !== 'post') echo ' selected'; ?> ><?= __("Every band"); ?></option>
|
||||
<option value="All" <?php if ($this->input->post('band') == "All" || $this->input->method() !== 'post') echo ' selected'; ?> ><?= __("Every band (w/o SAT)"); ?></option>
|
||||
<?php foreach($worked_bands as $band) {
|
||||
echo '<option value="' . $band . '"';
|
||||
if ($this->input->post('band') == $band) echo ' selected';
|
||||
@@ -91,21 +75,21 @@
|
||||
<input id="sats" type="hidden" value="All"></input>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<div id="orbitrow" class="mb-3 row" <?php if ($this->input->post('band') != 'SAT' && $this->input->post('band') != 'All') echo "style=\"display: none\""; ?>>
|
||||
<div id="orbitrow" class="mb-3 row" <?php if ($this->input->post('band') != 'SAT' && $this->input->post('band') != 'All') echo "style=\"display: none\""; ?>>
|
||||
<label class="col-md-2 control-label" id="orbitslabel" for="orbits"><?= __("Orbit"); ?></label>
|
||||
<div class="col-md-2">
|
||||
<select class="form-select form-select-sm" id="orbits" name="orbits">
|
||||
<option value="All" <?php if ($this->input->post('orbits') == "All" || $this->input->method() !== 'post') echo ' selected'; ?>><?= __("All")?></option>
|
||||
<?php
|
||||
foreach($orbits as $orbit){
|
||||
echo '<option value="' . $orbit . '"';
|
||||
if ($this->input->post('orbits') == $orbit) echo ' selected';
|
||||
echo '>' . strtoupper($orbit) . '</option>'."\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<select class="form-select form-select-sm" id="orbits" name="orbits">
|
||||
<option value="All" <?php if ($this->input->post('orbits') == "All" || $this->input->method() !== 'post') echo ' selected'; ?>><?= __("All")?></option>
|
||||
<?php
|
||||
foreach($orbits as $orbit){
|
||||
echo '<option value="' . $orbit . '"';
|
||||
if ($this->input->post('orbits') == $orbit) echo ' selected';
|
||||
echo '>' . strtoupper($orbit) . '</option>'."\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 row">
|
||||
<label class="col-md-2 control-label" for="mode"><?= __("Mode"); ?></label>
|
||||
@@ -132,8 +116,7 @@
|
||||
<div class="mb-3 row">
|
||||
<label class="col-md-2 control-label" for="button1id"></label>
|
||||
<div class="col-md-10">
|
||||
<button id="button2id" type="reset" name="button2id" class="btn btn-sm btn-warning"><?= __("Reset"); ?></button>
|
||||
<button id="button1id" type="submit" name="button1id" class="btn btn-sm btn-primary"><?= __("Show"); ?></button>
|
||||
<button id="button1id" type="submit" name="button1id" class="btn btn-sm btn-primary"><?= __("Show"); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@@ -144,6 +127,13 @@
|
||||
<?php
|
||||
$i = 1;
|
||||
if ($wac_array) {
|
||||
echo __('Legend:');
|
||||
echo '<pre>'.__("(Q)SL-Paper-Card").", ";
|
||||
echo __("(L)oTW").", ";
|
||||
echo __("(e)QSL").", ";
|
||||
echo __('QR(Z)-"confirmation"').", ";
|
||||
echo __("(C)lublog").", ";
|
||||
echo __("(W)orked").'</pre>';
|
||||
echo "
|
||||
<table style='width:100%' class='table tablecq table-sm table-bordered table-hover table-striped table-condensed text-center'>
|
||||
<thead>
|
||||
@@ -151,17 +141,20 @@
|
||||
<td>#</td>
|
||||
<td>" . __("Continent") . "</td>";
|
||||
foreach($bands as $band) {
|
||||
echo '<td>' . $band . '</td>';
|
||||
if (($posted_band != 'SAT') && ($band == 'SAT')) {
|
||||
continue;
|
||||
}
|
||||
echo '<td>' . $band . '</td>';
|
||||
}
|
||||
echo '</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
foreach ($wac_array as $wac => $value) { // Fills the table with the data
|
||||
foreach ($wac_array['matrix'] as $wac => $value) { // Fills the table with the data
|
||||
echo '<tr>
|
||||
<td>' . $i++ . '</td>
|
||||
<td>'. $wac.'</td>';
|
||||
foreach ($value as $key) {
|
||||
echo '<td style="text-align: center">' . $key . '</td>';
|
||||
echo '<td style="text-align: center">' . $key . '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
@@ -173,22 +166,56 @@
|
||||
<tr><td></td>";
|
||||
|
||||
foreach($bands as $band) {
|
||||
if (($posted_band != 'SAT') && ($band == 'SAT')) {
|
||||
continue;
|
||||
}
|
||||
echo '<td>' . $band . '</td>';
|
||||
}
|
||||
echo "<td>" . __("Total") . "</td></tr>
|
||||
}
|
||||
if ($posted_band != 'SAT') {
|
||||
echo "<td>" . __("Total (ex SAT)") . "</td>";
|
||||
} ?>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr><td>" . __("Total worked") . "</td>";
|
||||
<?php
|
||||
echo "<tr><td>" . __("Total worked") . "</td>";
|
||||
|
||||
foreach ($wac_summary['worked'] as $wac) { // Fills the table with the data
|
||||
echo '<td style="text-align: center">' . $wac . '</td>';
|
||||
foreach ($wac_summary['worked'] as $wac => $value) { // Fills the table with the data
|
||||
if (($posted_band != 'SAT') && ($wac == 'SAT')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (($posted_band == 'SAT') && ($wac == 'Total')) {
|
||||
continue;
|
||||
}
|
||||
echo '<td style="text-align: center">';
|
||||
if ($wac == 'Total' && $posted_band != 'SAT') {
|
||||
echo '<b>'.$value.'</b>';
|
||||
} else {
|
||||
echo $value;
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
echo "</tr><tr>
|
||||
<td>" . __("Total confirmed") . "</td>";
|
||||
foreach ($wac_summary['confirmed'] as $wac) { // Fills the table with the data
|
||||
echo '<td style="text-align: center">' . $wac . '</td>';
|
||||
foreach ($wac_summary['confirmed'] as $wac => $value) { // Fills the table with the data
|
||||
if (($posted_band != 'SAT') && ($wac == 'SAT')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (($posted_band == 'SAT') && ($wac == 'Total')) {
|
||||
continue;
|
||||
}
|
||||
echo '<td style="text-align: center">';
|
||||
if ($wac == 'Total' && $posted_band != 'SAT') {
|
||||
echo '<b>'.$value.'</b>';
|
||||
} else {
|
||||
echo $value;
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
echo '</tr>
|
||||
@@ -197,7 +224,7 @@
|
||||
|
||||
}
|
||||
else {
|
||||
echo '<div class="alert alert-danger" role="alert">' . __("Nothing found!") . '</div>';
|
||||
echo '<div class="alert alert-danger" role="alert">' . __("No QSOS found matching the criteria for this award!") . '</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user