Add option to select previous QSL type

这个提交包含在:
phl0 2022-11-25 00:22:31 +01:00
父节点 37e24ebc7d
当前提交 08108b4638
找不到此签名对应的密钥
GPG 密钥 ID: 48EA1E640798CA9A
共有 7 个文件被更改,包括 173 次插入41 次删除

查看文件

@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
| be upgraded / downgraded to. | be upgraded / downgraded to.
| |
*/ */
$config['migration_version'] = 105; $config['migration_version'] = 106;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

查看文件

@ -533,7 +533,20 @@ class Logbook extends CI_Controller {
$html .= "<td>RST (R)</td>"; $html .= "<td>RST (R)</td>";
$html .= "<td>Band</td>"; $html .= "<td>Band</td>";
$html .= "<td>Mode</td>"; $html .= "<td>Mode</td>";
$html .= "<td>QSL</td>"; switch($this->session->userdata('user_previous_qsl_type')) {
case 0:
$html .= "<td>".$this->lang->line('gen_hamradio_qsl')."</td>";
break;
case 1:
$html .= "<td>".$this->lang->line('lotw_short')."</td>";
break;
case 2:
$html .= "<td>".$this->lang->line('eqsl_short')."</td>";
break;
default:
$html .= "<td>".$this->lang->line('gen_hamradio_qsl')."</td>";
break;
}
$html .= "<td></td>"; $html .= "<td></td>";
$html .= "</tr>"; $html .= "</tr>";
@ -565,44 +578,88 @@ class Logbook extends CI_Controller {
$html .= "<td>".$row->COL_MODE."</td>"; $html .= "<td>".$row->COL_MODE."</td>";
else else
$html .= "<td>".$row->COL_SUBMODE."</td>"; $html .= "<td>".$row->COL_SUBMODE."</td>";
$html .= "<td class=\"qsl\">"; if ($this->session->userdata('user_previous_qsl_type') == 1) {
$html .= "<span class=\"qsl-"; $html .= "<td class=\"lotw\">";
switch ($row->COL_QSL_SENT) { $html .= "<span class=\"qsl-";
case "Y": switch ($row->COL_LOTW_QSL_SENT) {
$html .= "green"; case "Y":
break; $html .= "green";
case "Q": break;
$html .= "yellow"; default:
break; $html .= "red";
case "R": }
$html .= "yellow"; $html .= "\">&#9650;</span>";
break; $html .= "<span class=\"qsl-";
case "I": switch ($row->COL_LOTW_QSL_RCVD) {
$html .= "grey"; case "Y":
break; $html .= "green";
default: break;
$html .= "red"; default:
$html .= "red";
}
$html .= "\">&#9660;</span>";
$html .= "</td>";
} else if ($this->session->userdata('user_previous_qsl_type') == 2) {
$html .= "<td class=\"eqsl\">";
$html .= "<span class=\"qsl-";
switch ($row->COL_EQSL_QSL_SENT) {
case "Y":
$html .= "green";
break;
default:
$html .= "red";
}
$html .= "\">&#9650;</span>";
$html .= "<span class=\"qsl-";
switch ($row->COL_EQSL_QSL_RCVD) {
case "Y":
$html .= "green";
break;
default:
$html .= "red";
}
$html .= "\">&#9660;</span>";
$html .= "</td>";
} else {
$html .= "<td class=\"qsl\">";
$html .= "<span class=\"qsl-";
switch ($row->COL_QSL_SENT) {
case "Y":
$html .= "green";
break;
case "Q":
$html .= "yellow";
break;
case "R":
$html .= "yellow";
break;
case "I":
$html .= "grey";
break;
default:
$html .= "red";
}
$html .= "\">&#9650;</span>";
$html .= "<span class=\"qsl-";
switch ($row->COL_QSL_RCVD) {
case "Y":
$html .= "green";
break;
case "Q":
$html .= "yellow";
break;
case "R":
$html .= "yellow";
break;
case "I":
$html .= "grey";
break;
default:
$html .= "red";
}
$html .= "\">&#9660;</span>";
$html .= "</td>";
} }
$html .= "\">&#9650;</span>";
$html .= "<span class=\"qsl-";
switch ($row->COL_QSL_RCVD) {
case "Y":
$html .= "green";
break;
case "Q":
$html .= "yellow";
break;
case "R":
$html .= "yellow";
break;
case "I":
$html .= "grey";
break;
default:
$html .= "red";
}
$html .= "\">&#9660;</span>";
$html .= "</td>";
$html .= "<td><span class=\"badge badge-info\">".$row->station_callsign."</span></td>"; $html .= "<td><span class=\"badge badge-info\">".$row->station_callsign."</span></td>";
$html .= "</tr>"; $html .= "</tr>";
} }

查看文件

@ -9,6 +9,8 @@ class User extends CI_Controller {
// Load language files // Load language files
$this->lang->load(array( $this->lang->load(array(
'account', 'account',
'lotw',
'eqsl',
)); ));
} }
@ -78,6 +80,7 @@ class User extends CI_Controller {
$data['user_column4'] = $this->input->post('user_column4'); $data['user_column4'] = $this->input->post('user_column4');
$data['user_column5'] = $this->input->post('user_column5'); $data['user_column5'] = $this->input->post('user_column5');
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image'); $data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$this->load->view('user/add', $data); $this->load->view('user/add', $data);
} else { } else {
$this->load->view('user/add', $data); $this->load->view('user/add', $data);
@ -107,7 +110,8 @@ class User extends CI_Controller {
$this->input->post('user_column3'), $this->input->post('user_column3'),
$this->input->post('user_column4'), $this->input->post('user_column4'),
$this->input->post('user_column5'), $this->input->post('user_column5'),
$this->input->post('user_show_profile_image'))) { $this->input->post('user_show_profile_image'),
$this->input->post('user_previous_qsl_type'))) {
// Check for errors // Check for errors
case EUSERNAMEEXISTS: case EUSERNAMEEXISTS:
$data['username_error'] = 'Username <b>'.$this->input->post('user_name').'</b> already in use!'; $data['username_error'] = 'Username <b>'.$this->input->post('user_name').'</b> already in use!';
@ -147,6 +151,7 @@ class User extends CI_Controller {
$data['user_column4'] = $this->input->post('user_column4'); $data['user_column4'] = $this->input->post('user_column4');
$data['user_column5'] = $this->input->post('user_column5'); $data['user_column5'] = $this->input->post('user_column5');
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image'); $data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$this->load->view('user/add', $data); $this->load->view('user/add', $data);
$this->load->view('interface_assets/footer'); $this->load->view('interface_assets/footer');
} }
@ -336,6 +341,12 @@ class User extends CI_Controller {
$data['user_show_profile_image'] = $q->user_show_profile_image; $data['user_show_profile_image'] = $q->user_show_profile_image;
} }
if($this->input->post('user_previous_qsl_type')) {
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type', false);
} else {
$data['user_previous_qsl_type'] = $q->user_previous_qsl_type;
}
if($this->input->post('user_column1')) { if($this->input->post('user_column1')) {
$data['user_column1'] = $this->input->post('user_column1', true); $data['user_column1'] = $this->input->post('user_column1', true);
} else { } else {
@ -418,6 +429,7 @@ class User extends CI_Controller {
$data['user_column4'] = $this->input->post('user_column4'); $data['user_column4'] = $this->input->post('user_column4');
$data['user_column5'] = $this->input->post('user_column5'); $data['user_column5'] = $this->input->post('user_column5');
$data['user_show_profile_image'] = $this->input->post('user_show_profile_image'); $data['user_show_profile_image'] = $this->input->post('user_show_profile_image');
$data['user_previous_qsl_type'] = $this->input->post('user_previous_qsl_type');
$this->load->view('user/edit'); $this->load->view('user/edit');
$this->load->view('interface_assets/footer'); $this->load->view('interface_assets/footer');
} }

查看文件

@ -0,0 +1,28 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
* This adds an option to select the QSL type for previous QSOs
*/
class Migration_add_user_previous_qsl_type extends CI_Migration {
public function up()
{
if (!$this->db->field_exists('user_previous_qsl_type', 'users')) {
$fields = array(
'user_previous_qsl_type integer DEFAULT 0',
);
$this->dbforge->add_column('users', $fields);
}
}
public function down()
{
if ($this->db->field_exists('user_previous_qsl_type', 'users')) {
$this->dbforge->drop_column('users', 'user_previous_qsl_type');
}
}
}

查看文件

@ -114,7 +114,7 @@ class User_Model extends CI_Model {
function add($username, $password, $email, $type, $firstname, $lastname, $callsign, $locator, $timezone, function add($username, $password, $email, $type, $firstname, $lastname, $callsign, $locator, $timezone,
$measurement, $user_date_format, $user_stylesheet, $user_qth_lookup, $user_sota_lookup, $user_wwff_lookup, $measurement, $user_date_format, $user_stylesheet, $user_qth_lookup, $user_sota_lookup, $user_wwff_lookup,
$user_show_notes, $user_column1, $user_column2, $user_column3, $user_column4, $user_column5, $user_show_notes, $user_column1, $user_column2, $user_column3, $user_column4, $user_column5,
$user_show_profile_image) { $user_show_profile_image, $user_previous_qsl_type) {
// Check that the user isn't already used // Check that the user isn't already used
if(!$this->exists($username)) { if(!$this->exists($username)) {
$data = array( $data = array(
@ -140,6 +140,7 @@ class User_Model extends CI_Model {
'user_column4' => xss_clean($user_column4), 'user_column4' => xss_clean($user_column4),
'user_column5' => xss_clean($user_column5), 'user_column5' => xss_clean($user_column5),
'user_show_profile_image' => xss_clean($user_show_profile_image), 'user_show_profile_image' => xss_clean($user_show_profile_image),
'user_previous_qsl_type' => xss_clean($user_previous_qsl_type),
); );
// Check the password is valid // Check the password is valid
@ -193,6 +194,7 @@ class User_Model extends CI_Model {
'user_column4' => xss_clean($fields['user_column4']), 'user_column4' => xss_clean($fields['user_column4']),
'user_column5' => xss_clean($fields['user_column5']), 'user_column5' => xss_clean($fields['user_column5']),
'user_show_profile_image' => xss_clean($fields['user_show_profile_image']), 'user_show_profile_image' => xss_clean($fields['user_show_profile_image']),
'user_previous_qsl_type' => xss_clean($fields['user_previous_qsl_type']),
); );
// Check to see if the user is allowed to change user levels // Check to see if the user is allowed to change user levels
@ -310,6 +312,7 @@ class User_Model extends CI_Model {
'user_column3' => isset($u->row()->user_column3) ? $u->row()->user_column3: 'RSTR', 'user_column3' => isset($u->row()->user_column3) ? $u->row()->user_column3: 'RSTR',
'user_column4' => isset($u->row()->user_column4) ? $u->row()->user_column4: 'Band', 'user_column4' => isset($u->row()->user_column4) ? $u->row()->user_column4: 'Band',
'user_column5' => isset($u->row()->user_column5) ? $u->row()->user_column5: 'Country', 'user_column5' => isset($u->row()->user_column5) ? $u->row()->user_column5: 'Country',
'user_previous_qsl_type' => isset($u->row()->user_previous_qsl_type) ? $u->row()->user_previous_qsl_type: 0,
'active_station_logbook' => $u->row()->active_station_logbook, 'active_station_logbook' => $u->row()->active_station_logbook,
); );

查看文件

@ -247,6 +247,15 @@
</div> </div>
</div> </div>
<div class="form-group">
<label for="previousqsltype">Select the type of QSL to show in the previous QSOs section.</label>
<select class="custom-select" id="previousqsltype" name="user_previous_qsl_type">
<option value="0"><?php echo $this->lang->line('gen_hamradio_qsl'); ?></option>
<option value="1"><?php echo $this->lang->line('lotw_short'); ?></option>
<option value="2"><?php echo $this->lang->line('eqsl_short'); ?></option>
</select>
</div>
<div class="form-group"> <div class="form-group">
<label for="profileimages">Show profile picture of QSO partner from qrz.com/hamqth.com profile in the log QSO section.</label> <label for="profileimages">Show profile picture of QSO partner from qrz.com/hamqth.com profile in the log QSO section.</label>
<select class="custom-select" id="profileimages" name="user_show_profile_image"> <select class="custom-select" id="profileimages" name="user_show_profile_image">

查看文件

@ -436,6 +436,29 @@
</div> </div>
</div> </div>
<br> <br>
<div class="row">
<!-- qrz.com Images -->
<div class="col-md">
<div class="card">
<div class="card-header">
Previous QSL Type
</div>
<div class="card-body">
<div class="form-group">
<label for="profileimages">Select the type of QSL to show in the previous QSOs section.</label>
<select class="custom-select" id="previousqsltype" name="user_previous_qsl_type">
<option value="0" <?php if ($user_previous_qsl_type == 0) { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('gen_hamradio_qsl'); ?></option>
<option value="1" <?php if ($user_previous_qsl_type == 1) { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('lotw_short'); ?></option>
<option value="2" <?php if ($user_previous_qsl_type == 2) { echo " selected =\"selected\""; } ?>><?php echo $this->lang->line('eqsl_short'); ?></option>
</select>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="row"> <div class="row">
<!-- qrz.com Images --> <!-- qrz.com Images -->
<div class="col-md"> <div class="col-md">