diff --git a/application/config/migration.php b/application/config/migration.php index 90c77c9d2..9399b8d87 100644 --- a/application/config/migration.php +++ b/application/config/migration.php @@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE; | */ -$config['migration_version'] = 197; +$config['migration_version'] = 198; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/Logbook.php b/application/controllers/Logbook.php index a80ef2c2c..ed98af65f 100644 --- a/application/controllers/Logbook.php +++ b/application/controllers/Logbook.php @@ -233,6 +233,13 @@ class Logbook extends CI_Controller { $extrawhere.=" COL_QRZCOM_QSO_DOWNLOAD_STATUS='Y'"; } + if (isset($user_default_confirmation) && strpos($user_default_confirmation, 'C') !== false) { + if ($extrawhere!='') { + $extrawhere.=" OR"; + } + $extrawhere.=" COL_CLUBLOG_QSO_DOWNLOAD_STATUS='Y'"; + } + if($band == "SAT") { $this->db->where('COL_PROP_MODE', 'SAT'); @@ -634,7 +641,7 @@ class Logbook extends CI_Controller { $html = ""; if(!empty($logbooks_locations_array)) { - $this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_FREQ, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, '.$this->config->item('table_name').'.COL_MY_GRIDSQUARE, '.$this->config->item('table_name').'.COL_CONTEST_ID, '.$this->config->item('table_name').'.COL_STATE, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_UPLOAD_STATUS, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_DOWNLOAD_STATUS, '.$this->config->item('table_name').'.COL_POTA_REF, '.$this->config->item('table_name').'.COL_IOTA, '.$this->config->item('table_name').'.COL_SOTA_REF, '.$this->config->item('table_name').'.COL_WWFF_REF, '.$this->config->item('table_name').'.COL_OPERATOR, '.$this->config->item('table_name').'.COL_COUNTRY, station_profile.*'); + $this->db->select(''.$this->config->item('table_name').'.COL_CALL, '.$this->config->item('table_name').'.COL_BAND, '.$this->config->item('table_name').'.COL_FREQ, '.$this->config->item('table_name').'.COL_TIME_ON, '.$this->config->item('table_name').'.COL_RST_RCVD, '.$this->config->item('table_name').'.COL_RST_SENT, '.$this->config->item('table_name').'.COL_MODE, '.$this->config->item('table_name').'.COL_SUBMODE, '.$this->config->item('table_name').'.COL_PRIMARY_KEY, '.$this->config->item('table_name').'.COL_SAT_NAME, '.$this->config->item('table_name').'.COL_GRIDSQUARE, '.$this->config->item('table_name').'.COL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_RCVD, '.$this->config->item('table_name').'.COL_EQSL_QSL_SENT, '.$this->config->item('table_name').'.COL_QSL_SENT, '.$this->config->item('table_name').'.COL_STX, '.$this->config->item('table_name').'.COL_STX_STRING, '.$this->config->item('table_name').'.COL_SRX, '.$this->config->item('table_name').'.COL_SRX_STRING, '.$this->config->item('table_name').'.COL_LOTW_QSL_SENT, '.$this->config->item('table_name').'.COL_LOTW_QSL_RCVD, '.$this->config->item('table_name').'.COL_VUCC_GRIDS, '.$this->config->item('table_name').'.COL_MY_GRIDSQUARE, '.$this->config->item('table_name').'.COL_CONTEST_ID, '.$this->config->item('table_name').'.COL_STATE, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_UPLOAD_STATUS, '.$this->config->item('table_name').'.COL_QRZCOM_QSO_DOWNLOAD_STATUS, '.$this->config->item('table_name').'.COL_CLUBLOG_QSO_UPLOAD_STATUS, '.$this->config->item('table_name').'.COL_CLUBLOG_QSO_DOWNLOAD_STATUS, '.$this->config->item('table_name').'.COL_POTA_REF, '.$this->config->item('table_name').'.COL_IOTA, '.$this->config->item('table_name').'.COL_SOTA_REF, '.$this->config->item('table_name').'.COL_WWFF_REF, '.$this->config->item('table_name').'.COL_OPERATOR, '.$this->config->item('table_name').'.COL_COUNTRY, station_profile.*'); $this->db->from($this->config->item('table_name')); $this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id'); @@ -653,8 +660,7 @@ class Logbook extends CI_Controller { $query = $this->db->get(); } - if (!empty($logbooks_locations_array) && $query->num_rows() > 0) - { + if (!empty($logbooks_locations_array) && $query->num_rows() > 0) { $html .= "
"; $html .= ""; $html .= ""; @@ -677,6 +683,9 @@ class Logbook extends CI_Controller { case 4: $html .= ""; break; + case 8: + $html .= ""; + break; default: $html .= ""; break; @@ -693,11 +702,8 @@ class Logbook extends CI_Controller { $custom_date_format = $this->config->item('qso_date_format'); } - foreach ($query->result() as $row) - { - + foreach ($query->result() as $row) { $timestamp = strtotime($row->COL_TIME_ON); - $html .= ""; $html .= ""; $html .= ""; @@ -768,6 +774,27 @@ class Logbook extends CI_Controller { } $html .= "\">▼"; $html .= ""; + } else if ($this->session->userdata('user_previous_qsl_type') == 8) { + $html .= ""; } else { $html .= " - session->userdata('user_eqsl_name') != "") { ?> + + session->userdata('user_default_confirmation'),'E')>0 && ($this->session->userdata('user_eqsl_name') != "") ) { ?> - session->userdata('user_lotw_name') != "") { ?> + session->userdata('user_default_confirmation'),'L')>0 && ($this->session->userdata('user_lotw_name') != "") ) { ?> - session->userdata('hasQrzKey') != "") { ?> + session->userdata('user_default_confirmation'),'Q')>0 && ($this->session->userdata('hasQrzKey') != "") ) { ?> + session->userdata('user_default_confirmation'),'C')>0 ) { ?> + + config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?> @@ -208,7 +211,7 @@ function echo_table_col($row, $name) { } ?>">▼ - session->userdata('user_eqsl_name') != ""){ ?> + session->userdata('user_default_confirmation'),'E')>0 && ($this->session->userdata('user_eqsl_name') != "")){ ?> - session->userdata('user_lotw_name') != "") { ?> + session->userdata('user_default_confirmation'),'L')>0 && ($this->session->userdata('user_lotw_name') != "") ) { ?> - session->userdata('hasQrzKey') != "") { ?> + session->userdata('user_default_confirmation'),'Q')>0 && ($this->session->userdata('hasQrzKey') != "") ) { ?> + + session->userdata('user_default_confirmation'),'C')>0 ) { ?> + + + station_callsign)) { ?>
QRZClublog".lang('gen_hamradio_qsl')."
".date($custom_date_format, $timestamp). date(' H:i',strtotime($row->COL_TIME_ON)) . "" . str_replace('0','Ø',strtoupper($row->COL_CALL)) . ""; + $html .= "COL_CLUBLOG_QSO_UPLOAD_STATUS) { + case "Y": + $html .= "green"; + break; + default: + $html .= "red"; + } + $html .= "\">▲"; + $html .= "COL_CLUBLOG_QSO_DOWNLOAD_STATUS) { + case "Y": + $html .= "green"; + break; + default: + $html .= "red"; + } + $html .= "\">▼"; + $html .= ""; $html .= "form_validation->run() == FALSE) { $data['page_title'] = "Add User"; - $data['measurement_base'] = $this->config->item('measurement_base'); + $data['measurement_base'] = $this->config->item('measurement_base'); $this->load->view('interface_assets/header', $data); if($this->input->post('user_name')) { @@ -91,7 +91,7 @@ class User extends CI_Controller { $data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload'); $data['user_mastodon_url'] = $this->input->post('user_mastodon_url'); $data['user_default_band'] = $this->input->post('user_default_band'); - $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : ''); + $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : '').($this->input->post('user_default_confirmation_clublog') !== null ? 'C' : ''); $data['user_qso_end_times'] = $this->input->post('user_qso_end_times'); $data['user_quicklog'] = $this->input->post('user_quicklog'); $data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter'); @@ -137,7 +137,7 @@ class User extends CI_Controller { $this->input->post('user_amsat_status_upload'), $this->input->post('user_mastodon_url'), $this->input->post('user_default_band'), - ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : ''), + ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : '').($this->input->post('user_default_confirmation_clublog') !== null ? 'C' : ''), $this->input->post('user_qso_end_times'), $this->input->post('user_quicklog'), $this->input->post('user_quicklog_enter'), @@ -202,7 +202,7 @@ class User extends CI_Controller { $data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload'); $data['user_mastodon_url'] = $this->input->post('user_mastodon_url'); $data['user_default_band'] = $this->input->post('user_default_band'); - $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : ''); + $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : '').($this->input->post('user_default_confirmation_clublog') !== null ? 'C' : ''); $data['user_qso_end_times'] = $this->input->post('user_qso_end_times'); $data['user_quicklog'] = $this->input->post('user_quicklog'); $data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter'); @@ -490,7 +490,7 @@ class User extends CI_Controller { } if($this->input->post('user_default_confirmation')) { - $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : ''); + $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : '').($this->input->post('user_default_confirmation_clublog') !== null ? 'C' : ''); } else { $data['user_default_confirmation'] = $q->user_default_confirmation; } @@ -724,7 +724,7 @@ class User extends CI_Controller { $data['user_amsat_status_upload'] = $this->input->post('user_amsat_status_upload'); $data['user_mastodon_url'] = $this->input->post('user_mastodon_url'); $data['user_default_band'] = $this->input->post('user_default_band'); - $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : ''); + $data['user_default_confirmation'] = ($this->input->post('user_default_confirmation_qsl') !== null ? 'Q' : '').($this->input->post('user_default_confirmation_lotw') !== null ? 'L' : '').($this->input->post('user_default_confirmation_eqsl') !== null ? 'E' : '').($this->input->post('user_default_confirmation_qrz') !== null ? 'Z' : '').($this->input->post('user_default_confirmation_clublog') !== null ? 'C' : ''); $data['user_qso_end_times'] = $this->input->post('user_qso_end_times'); $data['user_quicklog'] = $this->input->post('user_quicklog'); $data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter'); diff --git a/application/libraries/Genfunctions.php b/application/libraries/Genfunctions.php index 71315b771..f3ac0e8ab 100644 --- a/application/libraries/Genfunctions.php +++ b/application/libraries/Genfunctions.php @@ -22,6 +22,9 @@ class Genfunctions if ($postdata['qrz'] != NULL) { array_push($qsl, "COL_QRZCOM_QSO_DOWNLOAD_STATUS = 'Y'"); } + if ($postdata['clublog'] != NULL) { + array_push($qsl, "COL_CLUBLOG_QSO_DOWNLOAD_STATUS = 'Y'"); + } if (count($qsl) > 0) { $sql .= implode(' or ', $qsl); } else { @@ -59,6 +62,9 @@ class Genfunctions if ($postdata['eqsl'] != NULL ) { $qsl .= "E"; } + if ($postdata['clublog'] != NULL ) { + $qsl .= "C"; + } if ($postdata['qrz'] != NULL ) { $qsl .= "Z"; } diff --git a/application/models/User_model.php b/application/models/User_model.php index 6d01343c3..8d54e7513 100644 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -269,7 +269,7 @@ class User_Model extends CI_Model { 'user_amsat_status_upload' => xss_clean($fields['user_amsat_status_upload']), 'user_mastodon_url' => xss_clean($fields['user_mastodon_url']), 'user_default_band' => xss_clean($fields['user_default_band']), - 'user_default_confirmation' => (isset($fields['user_default_confirmation_qsl']) ? 'Q' : '').(isset($fields['user_default_confirmation_lotw']) ? 'L' : '').(isset($fields['user_default_confirmation_eqsl']) ? 'E' : '').(isset($fields['user_default_confirmation_qrz']) ? 'Z' : ''), + 'user_default_confirmation' => (isset($fields['user_default_confirmation_qsl']) ? 'Q' : '').(isset($fields['user_default_confirmation_lotw']) ? 'L' : '').(isset($fields['user_default_confirmation_eqsl']) ? 'E' : '').(isset($fields['user_default_confirmation_qrz']) ? 'Z' : '').(isset($fields['user_default_confirmation_clublog']) ? 'C' : ''), 'user_qso_end_times' => xss_clean($fields['user_qso_end_times']), 'user_quicklog' => xss_clean($fields['user_quicklog']), 'user_quicklog_enter' => xss_clean($fields['user_quicklog_enter']), diff --git a/application/views/user/edit.php b/application/views/user/edit.php index c5dbd7959..e765c1e37 100644 --- a/application/views/user/edit.php +++ b/application/views/user/edit.php @@ -566,6 +566,7 @@ + @@ -676,6 +677,14 @@ echo '>'; ?> +
+ '; ?> + +
diff --git a/application/views/view_log/partial/log_ajax.php b/application/views/view_log/partial/log_ajax.php index 464f7d2c8..8b07d1ef0 100644 --- a/application/views/view_log/partial/log_ajax.php +++ b/application/views/view_log/partial/log_ajax.php @@ -69,16 +69,19 @@ function echo_table_col($row, $name) { echo_table_header_col($this, $this->session->userdata('user_column5')); if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?> -
QSLQSLeQSL LoTW QRZ Clublog COL_EQSL_QSL_SENT == "Y") { echo "title=\"".lang('eqsl_short')." ".lang('general_word_sent'); if ($row->COL_EQSL_QSLSDATE != null) { $timestamp = strtotime($row->COL_EQSL_QSLSDATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="eqsl-COL_EQSL_QSL_SENT=='Y')?'green':'red'?>">▲ COL_EQSL_QSL_RCVD == "Y") { echo "title=\"".lang('eqsl_short')." ".lang('general_word_received'); if ($row->COL_EQSL_QSLRDATE != null) { $timestamp = strtotime($row->COL_EQSL_QSLRDATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="eqsl-COL_EQSL_QSL_RCVD=='Y')?'green':'red'?>"> @@ -221,20 +224,28 @@ function echo_table_col($row, $name) { COL_LOTW_QSL_SENT == "Y") { echo "title=\"".lang('lotw_short')." ".lang('general_word_sent'); if ($row->COL_LOTW_QSLSDATE != null) { $timestamp = strtotime($row->COL_LOTW_QSLSDATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="lotw-COL_LOTW_QSL_SENT=='Y')?'green':'red'?>">▲ COL_LOTW_QSL_RCVD == "Y") { echo "title=\"".lang('lotw_short')." ".lang('general_word_received'); if ($row->COL_LOTW_QSLRDATE != null) { $timestamp = strtotime($row->COL_LOTW_QSLRDATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="lotw-COL_LOTW_QSL_RCVD=='Y')?'green':'red'?>">▼ COL_QRZCOM_QSO_UPLOAD_STATUS == "Y") { echo "title=\"QRZ ".lang('general_word_sent'); if ($row->COL_QRZCOM_QSO_UPLOAD_DATE != null) { $timestamp = strtotime($row->COL_QRZCOM_QSO_UPLOAD_DATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="qrz-COL_QRZCOM_QSO_UPLOAD_STATUS=='Y')?'green':'red'?>">▲ COL_QRZCOM_QSO_DOWNLOAD_STATUS == "Y") { echo "title=\"QRZ ".lang('general_word_received'); if ($row->COL_QRZCOM_QSO_DOWNLOAD_DATE != null) { $timestamp = strtotime($row->COL_QRZCOM_QSO_DOWNLOAD_DATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="qrz-COL_QRZCOM_QSO_DOWNLOAD_STATUS=='Y')?'green':'red'?>">▼ + COL_CLUBLOG_QSO_UPLOAD_STATUS == "Y") { echo "title=\"Clublog ".lang('general_word_sent'); if ($row->COL_CLUBLOG_QSO_UPLOAD_DATE != null) { $timestamp = strtotime($row->COL_CLUBLOG_QSO_UPLOAD_DATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="clublog-COL_CLUBLOG_QSO_UPLOAD_STATUS=='Y')?'green':'red'?>">▲ + COL_CLUBLOG_QSO_DOWNLOAD_STATUS == "Y") { echo "title=\"Clublog ".lang('general_word_received'); if ($row->COL_CLUBLOG_QSO_DOWNLOAD_DATE != null) { $timestamp = strtotime($row->COL_CLUBLOG_QSO_DOWNLOAD_DATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="clublog-COL_CLUBLOG_QSO_DOWNLOAD_STATUS=='Y')?'green':'red'?>">▼ +