pull/3068/head 2.6.7
Peter Goodhall 2024-03-21 14:04:19 +00:00 zatwierdzone przez GitHub
commit 167d78f19b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
33 zmienionych plików z 1684 dodań i 885 usunięć

Wyświetl plik

@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
*/
$config['migration_version'] = 173;
$config['migration_version'] = 174;
/*
|--------------------------------------------------------------------------

Wyświetl plik

@ -13,14 +13,39 @@ class Components extends CI_Controller {
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
}
public function index() {
$this->load->model('stations');
$url = 'https://hams.at/api/alerts/upcoming';
$json = file_get_contents($url);
$data['rovedata'] = json_decode($json, true);
$data['gridsquare'] = strtoupper($this->stations->find_gridsquare());
// load view
$this->load->view('components/hamsat/table', $data);
}
public function index() {
$this->load->model("user_options_model");
$hkey_opt=$this->user_options_model->get_options('hamsat',array('option_name'=>'hamsat_key','option_key'=>'api'))->result();
if (count($hkey_opt)>0) {
$data['user_hamsat_key'] = $hkey_opt[0]->option_value;
} else {
$data['user_hamsat_key']='';
}
$url = 'https://hams.at/api/alerts/upcoming';
if ($data['user_hamsat_key'] ?? '' != '') {
$options = array(
'http' => array(
'method' => 'GET',
'header' => "Authorization: Bearer ".$data['user_hamsat_key']."\r\n"
)
);
$context = stream_context_create($options);
$json = file_get_contents($url, false, $context);
} else {
$json = file_get_contents($url);
}
$hkey_opt=$this->user_options_model->get_options('hamsat',array('option_name'=>'hamsat_key','option_key'=>'workable'))->result();
if (count($hkey_opt)>0) {
$data['user_hamsat_workable_only'] = $hkey_opt[0]->option_value;
} else {
$data['user_hamsat_workable_only'] = 0;
}
$this->load->model('stations');
$data['rovedata'] = json_decode($json, true);
$data['gridsquare'] = strtoupper($this->stations->find_gridsquare());
// load view
$this->load->view('components/hamsat/table', $data);
}
}

Wyświetl plik

@ -202,6 +202,8 @@ class Contesting extends CI_Controller {
$custom_date_format = $this->session->userdata('user_date_format');
$abstimeb4=date($custom_date_format, strtotime($result->row()->COL_TIME_OFF)).' '.date('H:i',strtotime($result->row()->COL_TIME_OFF));
echo json_encode(array('message' => 'Worked at '.$abstimeb4.' ('.$timeb4.' ago) before'));
} else {
echo json_encode(array('message' => 'OKAY'));
}
return;
}

Wyświetl plik

@ -89,6 +89,64 @@ class Dashboard extends CI_Controller
$data['total_countries_confirmed_eqsl'] = $CountriesBreakdown['Countries_Worked_EQSL'];
$data['total_countries_confirmed_lotw'] = $CountriesBreakdown['Countries_Worked_LOTW'];
$data['dashboard_upcoming_dx_card'] = false;
$data['dashboard_qslcard_card'] = false;
$data['dashboard_eqslcard_card'] = false;
$data['dashboard_lotw_card'] = false;
$data['dashboard_vuccgrids_card'] = false;
$dashboard_options = $this->user_options_model->get_options('dashboard')->result();
foreach ($dashboard_options as $item) {
$option_name = $item->option_name;
$option_key = $item->option_key;
$option_value = $item->option_value;
if ($option_name == 'dashboard_upcoming_dx_card' && $option_key == 'enabled') {
if($option_value == 'true') {
$data['dashboard_upcoming_dx_card'] = true;
} else {
$data['dashboard_upcoming_dx_card'] = false;
}
}
if ($option_name == 'dashboard_qslcards_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_qslcard_card'] = true;
} else {
$data['dashboard_qslcard_card'] = false;
}
}
if ($option_name == 'dashboard_eqslcards_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_eqslcard_card'] = true;
} else {
$data['dashboard_eqslcard_card'] = false;
}
}
if ($option_name == 'dashboard_lotw_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_lotw_card'] = true;
} else {
$data['dashboard_lotw_card'] = false;
}
}
if ($option_name == 'dashboard_vuccgrids_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_vuccgrids_card'] = true;
$data['vucc'] = $this->vucc->fetchVuccSummary();
$data['vuccSAT'] = $this->vucc->fetchVuccSummary('SAT');
} else {
$data['dashboard_vuccgrids_card'] = false;
}
}
}
$QSLStatsBreakdownArray = $this->logbook_model->get_QSLStats($logbooks_locations_array);
$data['total_qsl_sent'] = $QSLStatsBreakdownArray['QSL_Sent'];
@ -115,9 +173,6 @@ class Dashboard extends CI_Controller
$data['last_five_qsos'] = $this->logbook_model->get_last_qsos('18', $logbooks_locations_array);
$data['vucc'] = $this->vucc->fetchVuccSummary();
$data['vuccSAT'] = $this->vucc->fetchVuccSummary('SAT');
$data['page_title'] = "Dashboard";
$this->load->model('dxcc');

Wyświetl plik

@ -95,6 +95,8 @@ class User extends CI_Controller {
$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');
$data['user_hamsat_key'] = $this->input->post('user_hamsat_key');
$data['user_hamsat_workable_only'] = $this->input->post('user_hamsat_workable_only');
$data['language'] = $this->input->post('language');
$this->load->view('user/edit', $data);
} else {
@ -134,6 +136,8 @@ class User extends CI_Controller {
$this->input->post('user_quicklog'),
$this->input->post('user_quicklog_enter'),
$this->input->post('language'),
$this->input->post('user_hamsat_key'),
$this->input->post('user_hamsat_workable_only')
)) {
// Check for errors
case EUSERNAMEEXISTS:
@ -491,6 +495,87 @@ class User extends CI_Controller {
$data['user_winkey'] = $q->winkey;
}
$this->load->model('user_options_model');
$hamsat_user_object = $this->user_options_model->get_options('hamsat')->result();
if($this->input->post('user_hamsat_key', true)) {
$data['user_hamsat_key'] = $this->input->post('user_hamsat_key', true);
} else {
// get $q->hamsat_key if its set if not null
if(isset($hamsat_user_object[0]->option_value)) {
$data['user_hamsat_key'] = $hamsat_user_object[0]->option_value;
} else {
$data['user_hamsat_key'] = "";
}
}
if($this->input->post('user_hamsat_workable_only')) {
$data['user_hamsat_workable_only'] = $this->input->post('user_hamsat_workable_only', false);
} else {
if(isset($hamsat_user_object[1]->option_value)) {
$data['user_hamsat_workable_only'] = $hamsat_user_object[1]->option_value;
} else {
$data['user_hamsat_workable_only'] = "";
}
}
// Get Settings for Dashboard
// Set defaults
$data['dashboard_upcoming_dx_card'] = false;
$data['dashboard_qslcard_card'] = false;
$data['dashboard_eqslcard_card'] = false;
$data['dashboard_lotw_card'] = false;
$data['dashboard_vuccgrids_card'] = false;
$dashboard_options = $this->user_options_model->get_options('dashboard')->result();
foreach ($dashboard_options as $item) {
$option_name = $item->option_name;
$option_key = $item->option_key;
$option_value = $item->option_value;
if ($option_name == 'dashboard_upcoming_dx_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_upcoming_dx_card'] = true;
} else {
$data['dashboard_upcoming_dx_card'] = false;
}
}
if ($option_name == 'dashboard_qslcards_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_qslcard_card'] = true;
} else {
$data['dashboard_qslcard_card'] = false;
}
}
if ($option_name == 'dashboard_eqslcards_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_eqslcard_card'] = true;
} else {
$data['dashboard_eqslcard_card'] = false;
}
}
if ($option_name == 'dashboard_lotw_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_lotw_card'] = true;
} else {
$data['dashboard_lotw_card'] = false;
}
}
if ($option_name == 'dashboard_vuccgrids_card' && $option_key == 'enabled') {
if($item->option_value == 'true') {
$data['dashboard_vuccgrids_card'] = true;
} else {
$data['dashboard_vuccgrids_card'] = false;
}
}
}
// [MAP Custom] GET user options //
$this->load->model('user_options_model');
$options_object = $this->user_options_model->get_options('map_custom')->result();
@ -553,6 +638,36 @@ class User extends CI_Controller {
$this->input->set_cookie($cookie);
}
if($this->session->userdata('user_id') == $this->input->post('id', true)) {
if (isset($_POST['user_dashboard_enable_dxpedition_card'])) {
$this->user_options_model->set_option('dashboard', 'dashboard_upcoming_dx_card', array('enabled' => 'true'));
} else {
$this->user_options_model->set_option('dashboard', 'dashboard_upcoming_dx_card', array('enabled' => 'false'));
}
if (isset($_POST['user_dashboard_enable_qslcards_card'])) {
$this->user_options_model->set_option('dashboard', 'dashboard_qslcards_card', array('enabled' => 'true'));
} else {
$this->user_options_model->set_option('dashboard', 'dashboard_qslcards_card', array('enabled' => 'false'));
}
if (isset($_POST['user_dashboard_enable_eqslcards_card'])) {
$this->user_options_model->set_option('dashboard', 'dashboard_eqslcards_card', array('enabled' => 'true'));
} else {
$this->user_options_model->set_option('dashboard', 'dashboard_eqslcards_card', array('enabled' => 'false'));
}
if (isset($_POST['user_dashboard_enable_lotw_card'])) {
$this->user_options_model->set_option('dashboard', 'dashboard_lotw_card', array('enabled' => 'true'));
} else {
$this->user_options_model->set_option('dashboard', 'dashboard_lotw_card', array('enabled' => 'false'));
}
if (isset($_POST['user_dashboard_enable_vuccgrids_card'])) {
$this->user_options_model->set_option('dashboard', 'dashboard_vuccgrids_card', array('enabled' => 'true'));
} else {
$this->user_options_model->set_option('dashboard', 'dashboard_vuccgrids_card', array('enabled' => 'false'));
}
// [MAP Custom] ADD to user options //
$array_icon = array('station','qso','qsoconfirm');
foreach ($array_icon as $icon) {
@ -580,7 +695,6 @@ class User extends CI_Controller {
return;
}
$data['page_title'] = "Edit User";
$this->load->view('interface_assets/header', $data);
$data['user_name'] = $this->input->post('user_name', true);
$data['user_email'] = $this->input->post('user_email', true);
@ -614,6 +728,11 @@ class User extends CI_Controller {
$data['user_quicklog_enter'] = $this->input->post('user_quicklog_enter');
$data['language'] = $this->input->post('language');
$data['user_winkey'] = $this->input->post('user_winkey');
$data['user_hamsat_key'] = $this->input->post('user_hamsat_key');
$data['user_hamsat_workable_only'] = $this->input->post('user_hamsat_workable_only');
$this->load->view('user/edit');
$this->load->view('interface_assets/footer');
}

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -127,3 +127,8 @@ $lang['account_qso_logging_options'] = "QSO录入选项";
$lang['account_third_party_services'] = "第三方服务";
$lang['account_default_values'] = "默认值";
$lang['account_miscellaneous'] = "其他";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -127,3 +127,8 @@ $lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -127,3 +127,9 @@ $lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -124,4 +124,9 @@ $lang['account_general_information'] = "Informations Générales";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Valeur par défaut";
$lang['account_miscellaneous'] = "Divers";
$lang['account_miscellaneous'] = "Divers";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "Generelle Informationen";
$lang['account_qso_logging_options'] = "QSO-Logging Optionen";
$lang['account_third_party_services'] = "Externe Dienste";
$lang['account_default_values'] = "Standardwerte / Favoriten";
$lang['account_miscellaneous'] = "Verschiedenes";
$lang['account_miscellaneous'] = "Verschiedenes";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "Siehe dein Profil unter <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Zeige nur Überflüge an, die gearbeitet werden können";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,10 @@ $lang['account_general_information'] = "Основные данные";
$lang['account_qso_logging_options'] = "Настройки записи QSO";
$lang['account_third_party_services'] = "Сторонние сервисы";
$lang['account_default_values'] = "Значения по умолчанию";
$lang['account_miscellaneous'] = "Разное";
$lang['account_miscellaneous'] = "Разное";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";
$lang['account_hamsat_workable_only_hint'] = "If enabled shows only workable passes based on the gridsquare set in your hams.at account. Requires private feed key to be set.";

Wyświetl plik

@ -127,3 +127,8 @@ $lang['account_qso_logging_options'] = "Opciones del Registro de QSO";
$lang['account_third_party_services'] = "Servicios de Terceros";
$lang['account_default_values'] = "Valores por Defecto";
$lang['account_miscellaneous'] = "Otras Opciones";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -126,4 +126,9 @@ $lang['account_general_information'] = "General Information";
$lang['account_qso_logging_options'] = "QSO Logging Options";
$lang['account_third_party_services'] = "Third Party Services";
$lang['account_default_values'] = "Default Values";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_miscellaneous'] = "Miscellaneous";
$lang['account_hamsat'] = "Hams.at";
$lang['account_hamsat_private_feed_key'] = "Private Feed Key";
$lang['account_hamsat_hint'] = "See your profile at <a href='https://hams.at/users/settings' target='_blank'>https://hams.at/users/settings</a>.";
$lang['account_hamsat_workable_only'] = "Show Workable Passes Only";

Wyświetl plik

@ -0,0 +1,30 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
* Tag Cloudlog as 2.6.7
*/
class Migration_tag_2_6_7 extends CI_Migration {
public function up()
{
// Tag Cloudlog 2.6.3
$this->db->where('option_name', 'version');
$this->db->update('options', array('option_value' => '2.6.7'));
// Trigger Version Info Dialog
$this->db->where('option_type', 'version_dialog');
$this->db->where('option_name', 'confirmed');
$this->db->update('user_options', array('option_value' => 'false'));
}
public function down()
{
$this->db->where('option_name', 'version');
$this->db->update('options', array('option_value' => '2.6.6'));
}
}

Wyświetl plik

@ -1,25 +1,32 @@
<?php
class Qsl_model extends CI_Model {
function getQsoWithQslList() {
$CI =& get_instance();
class Qsl_model extends CI_Model
{
function getQsoWithQslList()
{
$CI = &get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
$this->db->select('*');
$this->db->from($this->config->item('table_name'));
$this->db->join('qsl_images', 'qsl_images.qsoid = ' . $this->config->item('table_name') . '.col_primary_key');
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->order_by("id", "desc");
if (is_array($logbooks_locations_array) && !empty($logbooks_locations_array)) {
$this->db->select('*');
$this->db->from($this->config->item('table_name'));
$this->db->join('qsl_images', 'qsl_images.qsoid = ' . $this->config->item('table_name') . '.col_primary_key');
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->order_by("id", "desc");
return $this->db->get();
return $this->db->get();
} else {
return false;
}
}
function getQslForQsoId($id) {
function getQslForQsoId($id)
{
// Clean ID
$clean_id = $this->security->xss_clean($id);
// be sure that QSO belongs to user
$CI =& get_instance();
$CI = &get_instance();
$CI->load->model('logbook_model');
if (!$CI->logbook_model->check_qso_is_accessible($clean_id)) {
return;
@ -32,12 +39,13 @@ class Qsl_model extends CI_Model {
return $this->db->get()->result();
}
function saveQsl($qsoid, $filename) {
function saveQsl($qsoid, $filename)
{
// Clean ID
$clean_id = $this->security->xss_clean($qsoid);
// be sure that QSO belongs to user
$CI =& get_instance();
$CI = &get_instance();
$CI->load->model('logbook_model');
if (!$CI->logbook_model->check_qso_is_accessible($clean_id)) {
return;
@ -53,12 +61,13 @@ class Qsl_model extends CI_Model {
return $this->db->insert_id();
}
function deleteQsl($id) {
function deleteQsl($id)
{
// Clean ID
$clean_id = $this->security->xss_clean($id);
// be sure that QSO belongs to user
$CI =& get_instance();
$CI = &get_instance();
$CI->load->model('logbook_model');
$this->db->select('qsoid');
$this->db->from('qsl_images');
@ -72,12 +81,13 @@ class Qsl_model extends CI_Model {
$this->db->delete('qsl_images', array('id' => $clean_id));
}
function getFilename($id) {
function getFilename($id)
{
// Clean ID
$clean_id = $this->security->xss_clean($id);
// be sure that QSO belongs to user
$CI =& get_instance();
$CI = &get_instance();
$CI->load->model('logbook_model');
$this->db->select('qsoid');
$this->db->from('qsl_images');
@ -94,37 +104,39 @@ class Qsl_model extends CI_Model {
return $this->db->get();
}
function searchQsos($callsign) {
$CI =& get_instance();
function searchQsos($callsign)
{
$CI = &get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
$this->db->select('*');
$this->db->from($this->config->item('table_name'));
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->where('col_call', $callsign);
$this->db->select('*');
$this->db->from($this->config->item('table_name'));
$this->db->where_in('station_id', $logbooks_locations_array);
$this->db->where('col_call', $callsign);
return $this->db->get();
}
return $this->db->get();
}
function addQsotoQsl($qsoid, $filename) {
$clean_qsoid = $this->security->xss_clean($qsoid);
$clean_filename = $this->security->xss_clean($filename);
function addQsotoQsl($qsoid, $filename)
{
$clean_qsoid = $this->security->xss_clean($qsoid);
$clean_filename = $this->security->xss_clean($filename);
// be sure that QSO belongs to user
$CI =& get_instance();
$CI->load->model('logbook_model');
if (!$CI->logbook_model->check_qso_is_accessible($clean_qsoid)) {
return;
}
// be sure that QSO belongs to user
$CI = &get_instance();
$CI->load->model('logbook_model');
if (!$CI->logbook_model->check_qso_is_accessible($clean_qsoid)) {
return;
}
$data = array(
'qsoid' => $clean_qsoid,
'filename' => $filename
);
$data = array(
'qsoid' => $clean_qsoid,
'filename' => $filename
);
$this->db->insert('qsl_images', $data);
$this->db->insert('qsl_images', $data);
return $this->db->insert_id();
}
return $this->db->insert_id();
}
}

Wyświetl plik

@ -149,7 +149,8 @@ class User_Model extends CI_Model {
$measurement, $user_date_format, $user_stylesheet, $user_qth_lookup, $user_sota_lookup, $user_wwff_lookup,
$user_pota_lookup, $user_show_notes, $user_column1, $user_column2, $user_column3, $user_column4, $user_column5,
$user_show_profile_image, $user_previous_qsl_type, $user_amsat_status_upload, $user_mastodon_url,
$user_default_band, $user_default_confirmation, $user_qso_end_times, $user_quicklog, $user_quicklog_enter, $language) {
$user_default_band, $user_default_confirmation, $user_qso_end_times, $user_quicklog, $user_quicklog_enter,
$language, $user_hamsat_key, $user_hamsat_workable_only) {
// Check that the user isn't already used
if(!$this->exists($username)) {
$data = array(
@ -184,7 +185,7 @@ class User_Model extends CI_Model {
'user_qso_end_times' => xss_clean($user_qso_end_times),
'user_quicklog' => xss_clean($user_quicklog),
'user_quicklog_enter' => xss_clean($user_quicklog_enter),
'language' => xss_clean($language),
'language' => xss_clean($language)
);
// Check the password is valid
@ -202,6 +203,8 @@ class User_Model extends CI_Model {
$insert_id = $this->db->insert_id();
$this->db->query("insert into bandxuser (bandid, userid, active, cq, dok, dxcc, iota, pota, sig, sota, uscounties, was, wwff, vucc) select bands.id, " . $insert_id . ", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 from bands;");
$this->db->query("insert into paper_types (user_id,paper_name,metric,width,orientation,height) SELECT ".$insert_id.", paper_name, metric, width, orientation,height FROM paper_types where user_id = -1;");
$this->db->query("insert into user_options (user_id, option_type, option_name, option_key, option_value) values (" . $insert_id . ", 'hamsat','hamsat_key','api','".xss_clean($user_hamsat_key)."');");
$this->db->query("insert into user_options (user_id, option_type, option_name, option_key, option_value) values (" . $insert_id . ", 'hamsat','hamsat_key','workable','".xss_clean($user_hamsat_workable_only)."');");
return OK;
} else {
return EUSERNAMEEXISTS;
@ -252,6 +255,9 @@ class User_Model extends CI_Model {
'winkey' => xss_clean($fields['user_winkey']),
);
$this->db->query("replace into user_options (user_id, option_type, option_name, option_key, option_value) values (" . $fields['id'] . ", 'hamsat','hamsat_key','api','".xss_clean($fields['user_hamsat_key'])."');");
$this->db->query("replace into user_options (user_id, option_type, option_name, option_key, option_value) values (" . $fields['id'] . ", 'hamsat','hamsat_key','workable','".xss_clean($fields['user_hamsat_workable_only'])."');");
// Check to see if the user is allowed to change user levels
if($this->session->userdata('user_type') == 99) {
$data['user_type'] = $fields['user_type'];
@ -308,6 +314,7 @@ class User_Model extends CI_Model {
if($this->exists_by_id($user_id)) {
$this->db->query("DELETE FROM ".$this->config->item('auth_table')." WHERE user_id = '".$user_id."'");
$this->db->query("delete from user_options where user_id=?",$user_id);
return 1;
} else {
@ -380,7 +387,7 @@ class User_Model extends CI_Model {
'active_station_logbook' => $u->row()->active_station_logbook,
'language' => isset($u->row()->language) ? $u->row()->language: 'english',
'isWinkeyEnabled' => $u->row()->winkey,
'hasQrzKey' => $this->hasQrzKey($u->row()->user_id),
'hasQrzKey' => $this->hasQrzKey($u->row()->user_id)
);
$this->session->set_userdata($userdata);

Wyświetl plik

@ -33,8 +33,10 @@ class User_options_model extends CI_Model {
}
}
public function get_options($option_type, $option_array=null) {
$uid=$this->session->userdata('user_id');
public function get_options($option_type, $option_array=null, $uid=null) {
if ($uid ?? '' == '') {
$uid=$this->session->userdata('user_id');
}
$sql_more = "";
$array_sql_value = array($uid, $option_type);
if (is_array($option_array)) {

Wyświetl plik

@ -1,116 +1,154 @@
<div class="table-responsive">
<br>
<h2>Hamsat - Satellite Rovers</h2>
<p>This data is from <a target="_blank" href="https://hams.at/">https://hams.at/</a></p>
<p>This data is from <a target="_blank" href="https://hams.at/">https://hams.at/</a>.
<?php if ($user_hamsat_workable_only) {
echo " Only workable passes shown.";
} else {
echo " All passes shown.";
}?>
</p>
<?php if ($user_hamsat_workable_only && $user_hamsat_key == '') { ?>
<div class="alert alert-warning" role="warning">
Private feed key empty. Please set the feed key in your profile.
</div>
<?php } else { ?>
<?php if ($rovedata['data'] == []) { ?>
<div class="alert alert-warning" role="warning">
<?php echo lang('hams_at_no_activations_found');?>
</div>
<?php } else { ?>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Date</th>
<th>Time</th>
<th>Callsign</th>
<th>Comment</th>
<th>Satellite</th>
<th>Gridsquare(s)</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach ($rovedata['data'] as $rove) : ?>
<tr>
<td>
<?php
// 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/cloudlog.php
$custom_date_format = $this->config->item('qso_date_format');
}
?>
<?php $timestamp = strtotime($rove['aos_at']);
echo date($custom_date_format, $timestamp); ?>
</td>
<td>
<?php echo date("H:i:s", $timestamp)." - ".date("H:i:s", strtotime($rove['los_at'])); ?>
</td>
<td>
<?php
$CI = &get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
$CI->load->model('logbook_model');
$call_worked = $CI->logbook_model->check_if_callsign_worked_in_logbook($rove['callsign'], $logbooks_locations_array, "SAT");
if ($call_worked != 0) {
echo "<span class=\"text-success\">".$rove['callsign']."</span>";
} else {
echo $rove['callsign'];
}
?>
</td>
<td>
<?php
echo xss_clean($rove['comment'] ?? '-');
?>
</td>
<?php
$direction = '';
if ($rove['mhz_direction'] == 'up') {
$direction = '&uarr;';
} else if ($rove['mhz_direction'] == 'down') {
$direction = '&darr;';
}
$modeclass = '';
if ($rove['mode'] == 'SSB' || $rove['mode'] == 'CW') {
$modeclass = 'hamsatBgLin';
} else if ($rove['mode'] == 'Data') {
$modeclass = 'hamsatBgData';
} else if ($rove['mode'] == 'FM') {
$modeclass = 'hamsatBgFm';
}
?>
<td><span data-bs-toggle="tooltip" title="<?php if ($rove['mhz'] != '') { printf("%.3f", $rove['mhz']); echo " ".$direction ?? ''; } ?>"><?= $rove['satellite']['name'] ?></span> <span title="<?php echo $rove['mode']; ?>" class="badge <?php echo $modeclass; ?>"><?php echo $rove['mode']; ?></span></td>
<td>
<?php
// Load the logbook model and call check_if_grid_worked_in_logbook
foreach ($rove['grids'] as $grid) {
$worked = $CI->logbook_model->check_if_grid_worked_in_logbook($grid, null, "SAT");
if ($worked != 0) {
echo " <span data-bs-toggle=\"tooltip\" title=\"Worked\" class=\"badge bg-success\">" . $grid . "</span>";
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Date</th>
<th>Time</th>
<th>Callsign</th>
<th>Comment</th>
<th>Satellite</th>
<th>Mode</th>
<th>Gridsquare(s)</th>
<th>Workable</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach ($rovedata['data'] as $rove) :
if ($user_hamsat_workable_only) {
if (!$rove['is_workable']) {
continue;
}
} ?>
<tr>
<td>
<?php
// 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 {
echo " <span data-bs-toggle=\"tooltip\" title=\"Not Worked\" class=\"badge bg-danger\">" . $grid . "</span>";
// Get Default date format from /config/wavelog.php
$custom_date_format = $this->config->item('qso_date_format');
}
}
?>
</td>
<td><a href="<?php echo $rove['url']; ?>" target="_blank">Track</a></td>
<?php
$sat = $rove['satellite']['name'];
switch (strtoupper($rove['satellite']['name'])) {
case "GREENCUBE":
$sat = 'IO-117';
break;
}
?>
<td><a href="https://sat.fg8oj.com/sked.php?s%5B%5D=<?php echo $sat; ?>&l=<?php echo strtoupper($gridsquare); ?>&el1=0&l2=<?php echo $rove['grids'][0]; ?>&el2=0&duration=1&start=0&OK=Search" target="_blank">Sked</a></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
?>
<?php $timestamp = strtotime($rove['aos_at']);
echo date($custom_date_format, $timestamp); ?>
</td>
<td>
<?php echo date("H:i:s", $timestamp)." - ".date("H:i:s", strtotime($rove['los_at'])); ?>
</td>
<td>
<?php
$CI = &get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
$CI->load->model('logbook_model');
$call_worked = $CI->logbook_model->check_if_callsign_worked_in_logbook($rove['callsign'], $logbooks_locations_array, "SAT");
if ($call_worked != 0) {
echo "<span class=\"text-success\">".$rove['callsign']."</span>";
} else {
echo $rove['callsign'];
}
?>
</td>
<td>
<?php
echo xss_clean($rove['comment'] ?? '-');
?>
</td>
<?php
$direction = '';
if ($rove['mhz_direction'] == 'up') {
$direction = '&uarr;';
} else if ($rove['mhz_direction'] == 'down') {
$direction = '&darr;';
}
$modeclass = '';
if ($rove['mode'] == 'SSB' || $rove['mode'] == 'CW') {
$modeclass = 'hamsatBgLin';
} else if ($rove['mode'] == 'Data') {
$modeclass = 'hamsatBgData';
} else if ($rove['mode'] == 'FM') {
$modeclass = 'hamsatBgFm';
}
?>
<td><span data-bs-toggle="tooltip" title="<?php if ($rove['mhz'] != '') { printf("%.3f", $rove['mhz']); echo " ".$direction ?? ''; } ?>"><?= $rove['satellite']['name'] ?></span></td>
<td><span title="<?php echo $rove['mode']; ?>" class="badge <?php echo $modeclass; ?>"><?php echo $rove['mode']; ?></span></td>
<td>
<?php
// Load the logbook model and call check_if_grid_worked_in_logbook
foreach ($rove['grids'] as $grid) {
$worked = $CI->logbook_model->check_if_grid_worked_in_logbook($grid, null, "SAT");
if ($worked != 0) {
echo " <span data-bs-toggle=\"tooltip\" title=\"Worked\" class=\"badge bg-success\">" . $grid . "</span>";
} else {
echo " <span data-bs-toggle=\"tooltip\" title=\"Not Worked\" class=\"badge bg-danger\">" . $grid . "</span>";
}
}
?>
</td>
<td>
<?php
if ($user_hamsat_key != '') {
if ($rove['is_workable']) {
echo date("H:i", strtotime($rove['workable_start_at']))." - ".date("H:i", strtotime($rove['workable_end_at']));
} else {
echo "<span data-bs-toggle=\"tooltip\" title=\"No\" class=\"badge bg-danger\">No</span>";
}
} else {
echo "<span data-bs-toggle=\"tooltip\" title=\"Unkown\" class=\"badge bg-warning\">Unknown</span>";
}
?>
</td>
<td><a href="<?php echo $rove['url']; ?>" target="_blank">Track</a></td>
<?php
$sat = $rove['satellite']['name'];
switch (strtoupper($rove['satellite']['name'])) {
case "GREENCUBE":
$sat = 'IO-117';
break;
}
?>
<td>
<?php
if ($rove['is_workable'] || $user_hamsat_key == '') { ?>
<a href="https://sat.fg8oj.com/sked.php?s%5B%5D=<?php echo $sat; ?>&l=<?php echo strtoupper($gridsquare); ?>&el1=0&l2=<?php echo $rove['grids'][0]; ?>&el2=0&duration=1&start=0&OK=Search" target="_blank">Sked</a>
<?php } ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php } ?>
<?php } ?>
</div>

Wyświetl plik

@ -296,8 +296,10 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
<div id="radio_display" hx-get="<?php echo site_url('visitor/radio_display_component'); ?>" hx-trigger="load, every 5s"></div>
<div>
<div id="upcoming_dxccs_component" hx-get="<?php echo site_url('dashboard/upcoming_dxcc_component'); ?>" hx-trigger="load" hx-indicator="#loading_upcoming_dxcc"></div>
<div id="loading_upcoming_dxcc" style="display: none;">Loading Upcoming DXPeditions.</div>
<?php if ($dashboard_upcoming_dx_card != false) { ?>
<div id="upcoming_dxccs_component" hx-get="<?php echo site_url('dashboard/upcoming_dxcc_component'); ?>" hx-trigger="load" hx-indicator="#loading_upcoming_dxcc"></div>
<div id="loading_upcoming_dxcc" style="display: none;">Loading Upcoming DXPeditions.</div>
<?php } ?>
</div>
<table class="table table-striped border-top">
<tr class="titles">
@ -345,7 +347,8 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
<td width="50%"><?php echo $total_countries_needed; ?></td>
</tr>
</table>
<?php if ($dashboard_qslcard_card != false) { ?>
<?php if ((($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE) && ($total_qsl_sent != 0 || $total_qsl_rcvd != 0 || $total_qsl_requested != 0)) { ?>
<table class="table table-striped border-top">
<tr class="titles">
@ -372,7 +375,9 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
</tr>
</table>
<?php } ?>
<?php } ?>
<?php if ($dashboard_eqslcard_card != false) { ?>
<?php if ((($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE) && ($total_eqsl_sent != 0 || $total_eqsl_rcvd != 0)) { ?>
<table class="table table-striped border-top">
<tr class="titles">
@ -393,7 +398,9 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
</tr>
</table>
<?php } ?>
<?php } ?>
<?php if ($dashboard_lotw_card != false) { ?>
<?php if ((($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === false) && ($total_lotw_sent != 0 || $total_lotw_rcvd != 0)) { ?>
<table class="table table-striped border-top">
<tr class="titles">
@ -414,6 +421,7 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
</tr>
</table>
<?php } ?>
<?php } ?>
<?php if ((($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === false) && ($total_qrz_sent != 0 || $total_qrz_rcvd != 0)) { ?>
<table class="table table-striped border-top">
@ -436,6 +444,7 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
</table>
<?php } ?>
<?php if ($dashboard_vuccgrids_card != false) { ?>
<?php if ((($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE)) { ?>
<table class="table table-striped border-top">
<tr class="titles">
@ -457,6 +466,7 @@ function echoQrbCalcLink($mygrid, $grid, $vucc)
</table>
<?php } ?>
<?php } ?>
</div>
</div>
</div>

Wyświetl plik

@ -18,7 +18,7 @@
$custom_date_format = $this->config->item('qso_date_format');
}
if (is_array($qslarray->result())) {
if ($qslarray !== FALSE && is_array($qslarray->result())) {
echo '<table style="width:100%" class="qsltable table table-sm table-bordered table-hover table-striped table-condensed">
<thead>
<tr>
@ -57,6 +57,8 @@
}
echo '</tbody></table>';
} else {
echo '<div class="alert alert-warning" role="alert">No QSL Cards Found.</div>';
}
?>

Wyświetl plik

@ -247,11 +247,11 @@ function echoQrbCalcLink($mygrid, $grid, $vucc) {
<?php if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?>
<td>
<div class="dropdown">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-haspopup="false" aria-expanded="false">
<i class="fas fa-cog"></i>
</a>
<div class="dropdown-menu menuOnResultTab" data-bs-toggle="popover" data-bs-placement="auto" data-qsoid="qso_<?php echo $row->COL_PRIMARY_KEY; ?>">
<div class="dropdown-menu" data-bs-toggle="popover" data-bs-placement="auto" data-qsoid="qso_<?php echo $row->COL_PRIMARY_KEY; ?>">
<a class="dropdown-item" id="edit_qso" href="javascript:qso_edit(<?php echo $row->COL_PRIMARY_KEY; ?>)"><i class="fas fa-edit"></i> <?php echo lang('general_edit_qso'); ?></a>
<?php if($row->COL_QSL_SENT !='Y') { ?>
@ -320,4 +320,4 @@ function echoQrbCalcLink($mygrid, $grid, $vucc) {
<?php } ?>
</div>
</div>
</div>

Wyświetl plik

@ -336,6 +336,8 @@
<td><?php echo lang('gen_hamradio_dok'); ?></td>
<?php if (preg_match('/^[A-Y]\d{2}$/', $row->COL_DARC_DOK)) { ?>
<td><a href="https://www.darc.de/<?php echo $row->COL_DARC_DOK; ?>" target="_blank"><?php echo $row->COL_DARC_DOK; ?></a></td>
<?php } else if (preg_match('/^DV[ABCDEFGHIKLMNOPQRSTUVWXY]$/', $row->COL_DARC_DOK)) { ?>
<td><a href="https://www.darc.de/der-club/distrikte/<?php echo strtolower(substr($row->COL_DARC_DOK, 2, 1)); ?>" target="_blank"><?php echo $row->COL_DARC_DOK; ?></a></td>
<?php } else if (preg_match('/^Z\d{2}$/', $row->COL_DARC_DOK)) { ?>
<td><a href="https://<?php echo $row->COL_DARC_DOK; ?>.vfdb.org" target="_blank"><?php echo $row->COL_DARC_DOK; ?></a></td>
<?php } else { ?>

Wyświetl plik

@ -209,4 +209,8 @@ div.alert-danger {
width: 33%;
color: #000;
box-shadow: none !important;
}
#upcoming_dxccs_component a {
color: darkblue;
}

Wyświetl plik

@ -263,4 +263,8 @@ div.alert-danger {
width: 33%;
color: #000;
box-shadow: none !important;
}
#upcoming_dxccs_component a {
color: darkblue;
}

Wyświetl plik

@ -103,6 +103,11 @@ $(function () {
});
});
// checked if worked before after blur
$("#callsign").blur(function () {
checkIfWorkedBefore();
});
// Here we capture keystrokes to execute functions
document.onkeyup = function (e) {
// ALT-W wipe
@ -217,8 +222,8 @@ $("#callsign").keyup(function () {
highlight(call.toUpperCase());
}
});
checkIfWorkedBefore();
// moved to blur
// checkIfWorkedBefore();
var qTable = $('.qsotable').DataTable();
qTable.search(call).draw();
}
@ -242,10 +247,21 @@ function checkIfWorkedBefore() {
},
success: function (result) {
if (result.message.substr(0, 6) == 'Worked') {
$('#callsign_info').removeClass('text-bg-success');
$('#callsign_info').addClass('text-bg-danger');
$('#callsign_info').text(result.message);
}
else if (result.message == "OKAY") {
$('#callsign_info').removeClass('text-bg-danger');
$('#callsign_info').addClass('text-bg-success');
$('#callsign_info').text("Go Work Them!");
} else {
$('#callsign_info').text("");
}
}
});
} else {
$('#callsign_info').text("");
}
}