Add public radio status option to logbooks
Introduces a new 'public_radio_status' field to station logbooks, allowing users to enable or disable the display of radio status on public logbook pages. Updates migration, controllers, model, views, and language files to support this feature and provide UI controls for toggling the option.
这个提交包含在:
父节点
31ac64ae65
当前提交
5ff5e12890
共有 18 个文件被更改,包括 118 次插入 和 9 次删除
|
|
@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
|||
|
|
||||
*/
|
||||
|
||||
$config['migration_version'] = 206;
|
||||
$config['migration_version'] = 207;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -131,8 +131,18 @@ class Logbooks extends CI_Controller {
|
|||
|
||||
public function save_publicsearch() {
|
||||
$this->load->model('logbooks_model');
|
||||
$returndata = $this->logbooks_model->save_public_search($this->input->post('public_search'), $this->input->post('logbook_id'));
|
||||
echo "<div class=\"alert alert-success\" role=\"alert\">Public Search Settings Saved</div>";
|
||||
// Handle checkbox - if not checked, it won't be sent, so default to 0
|
||||
$public_search = $this->input->post('public_search') ? 1 : 0;
|
||||
$returndata = $this->logbooks_model->save_public_search($public_search, $this->input->post('logbook_id'));
|
||||
echo "<div class=\"alert alert-success\" role=\"alert\">Public Search Settings Saved</div>";
|
||||
}
|
||||
|
||||
public function save_publicradiostatus() {
|
||||
$this->load->model('logbooks_model');
|
||||
// Handle checkbox - if not checked, it won't be sent, so default to 0
|
||||
$public_radio_status = $this->input->post('public_radio_status') ? 1 : 0;
|
||||
$returndata = $this->logbooks_model->save_public_radio_status($public_radio_status, $this->input->post('logbook_id'));
|
||||
echo "<div class=\"alert alert-success\" role=\"alert\">Public Radio Status Settings Saved</div>";
|
||||
}
|
||||
|
||||
public function save_publicslug() {
|
||||
|
|
|
|||
|
|
@ -67,6 +67,10 @@ class Visitor extends CI_Controller {
|
|||
{
|
||||
// Get associated station locations for mysql queries
|
||||
$logbooks_locations_array = $this->logbooks_model->list_logbook_relationships($logbook_id);
|
||||
|
||||
// Get logbook details to check public settings
|
||||
$logbook_details = $this->logbooks_model->logbook($logbook_id);
|
||||
$data['logbook_settings'] = $logbook_details->row();
|
||||
|
||||
if (!$logbooks_locations_array) {
|
||||
show_404('Empty Logbook');
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "输入公共日志选项";
|
|||
$lang['station_logbooks_public_slug_visit'] = "访问公开日志页面";
|
||||
$lang['station_logbooks_public_search_hint'] = "启用公共搜索功能可在通过公共 slug 访问的公共日志页面上提供搜索输入框。 搜索仅涵盖此日志。";
|
||||
$lang['station_logbooks_public_search_enabled'] = "启用公共搜索";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "启用公共电台状态将在通过公共 slug 访问的公共日志页面上显示当前电台状态信息。";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "启用公共电台状态";
|
||||
$lang['station_logbooks_select_avail_loc'] = "选择可用的台站位置";
|
||||
$lang['station_logbooks_link_loc'] = "链接的台站位置";
|
||||
$lang['station_logbooks_linked_loc'] = "已链接的台站位置";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Gib ein, wie der öffentliche Lin
|
|||
$lang['station_logbooks_public_slug_visit'] = "Besuche die öffentl. Seite";
|
||||
$lang['station_logbooks_public_search_hint'] = "Einschalten der Suchfunktion gibt Besuchern deiner öffentlichen Logbuch Seite die Möglichkeit über ein Suchfeld Einträge zu suchen. Die Suche deckt dabei nur dieses Logbuch ab.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Öffentliche Suche eingeschaltet";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Einschalten des Radio Status zeigt Besuchern der öffentlichen Logbuch Seite aktuelle Radio Status Informationen an.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Öffentlicher Radio Status eingeschaltet";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Wähle verfügbare Stationsstandorte";
|
||||
$lang['station_logbooks_link_loc'] = "Verknüpfe Standort";
|
||||
$lang['station_logbooks_linked_loc'] = "Verknüpfte Standorte";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
<?php
|
||||
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
___________________________________________________________________________________________
|
||||
Station Logbooks
|
||||
___________________________________________________________________________________________
|
||||
*/
|
||||
|
||||
$lang['station_logbooks'] = "Livros de Estação";
|
||||
$lang['station_logbooks_description_header'] = "O que são Livros de Estação";
|
||||
$lang['station_logbooks_description_text'] = "Livros de Estação permitem agrupar Locais de Estação, possibilitando visualizar todos os locais em uma única sessão, tanto no logbook quanto nas análises. Ideal para operações em múltiplos locais pertencentes ao mesmo DXCC ou círculo VUCC.";
|
||||
|
|
@ -25,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Digite o slug público desejado";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visitar Página Pública";
|
||||
$lang['station_logbooks_public_search_hint'] = "Habilitar a busca pública permite uma caixa de busca na página pública do livro de estação, acessível via slug. A busca cobre apenas este livro.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Busca pública ativada";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Ativar o status de rádio público exibirá informações atuais do status do rádio na página pública do livro de registro acessada via slug público.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Status de rádio público ativado";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Selecionar Locais de Estação Disponíveis";
|
||||
$lang['station_logbooks_link_loc'] = "Vincular Local";
|
||||
$lang['station_logbooks_linked_loc'] = "Locais Vinculados";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Введите публичную
|
|||
$lang['station_logbooks_public_slug_visit'] = "Посетите публичную страницу";
|
||||
$lang['station_logbooks_public_search_hint'] = "Включение функции публичного поиска открывает поле ввода для поиска на странице публичного журнала, доступ к которой осуществляется по публичной метке. Поиск производится только в данном журнале.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Публичный поиск включен";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Включение публичного статуса радио будет отображать текущую информацию о статусе радио на публичной странице журнала, доступной через публичную метку.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Публичный статус радио включен";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Выберите доступное местоположение станции";
|
||||
$lang['station_logbooks_link_loc'] = "Привяжите местоположение станции";
|
||||
$lang['station_logbooks_linked_loc'] = "Привязанные местоположения станции";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Introduzca la elección de Abrevi
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visitar Página Pública";
|
||||
$lang['station_logbooks_public_search_hint'] = "El permitir la función de búsqueda pública le permite poner una casilla de búsqueda en la página pública del libro de guardia que sea accedida por una abreviatura pública. La búsqueda solo cubre este libro de guardia.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Activar búsqueda pública";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "El permitir el estado de radio público mostrará información actual del estado del radio en la página pública del libro de guardia accedida por abreviatura pública.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Activar estado de radio público";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Seleccionar Localizaciones de Estación Disponibles";
|
||||
$lang['station_logbooks_link_loc'] = "Enlazar Localización";
|
||||
$lang['station_logbooks_linked_loc'] = "Localizaciones Enlazadas";
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ $lang['station_logbooks_public_slug_input'] = "Type in Public Slug choice";
|
|||
$lang['station_logbooks_public_slug_visit'] = "Visit Public Page";
|
||||
$lang['station_logbooks_public_search_hint'] = "Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.";
|
||||
$lang['station_logbooks_public_search_enabled'] = "Public search enabled";
|
||||
$lang['station_logbooks_public_radio_status_hint'] = "Enabling public radio status will display current radio status information on the public logbook page accessed via public slug.";
|
||||
$lang['station_logbooks_public_radio_status_enabled'] = "Public radio status enabled";
|
||||
$lang['station_logbooks_select_avail_loc'] = "Select Available Station Locations";
|
||||
$lang['station_logbooks_link_loc'] = "Link Location";
|
||||
$lang['station_logbooks_linked_loc'] = "Linked Locations";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
defined('BASEPATH') or exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
* This adds an option to enable/disable Radio Status panel on public logbook displays
|
||||
*/
|
||||
|
||||
class Migration_add_radio_panel_option_to_logbook extends CI_Migration
|
||||
{
|
||||
|
||||
public function up()
|
||||
{
|
||||
if (!$this->db->field_exists('public_radio_status', 'station_logbooks')) {
|
||||
$fields = array(
|
||||
'public_radio_status integer DEFAULT 0 AFTER public_search',
|
||||
);
|
||||
|
||||
$this->dbforge->add_column('station_logbooks', $fields);
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
if ($this->db->field_exists('public_radio_status', 'station_logbooks')) {
|
||||
$this->dbforge->drop_column('station_logbooks', 'public_radio_status');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -220,6 +220,16 @@ class Logbooks_model extends CI_Model {
|
|||
$this->db->update('station_logbooks', $data);
|
||||
}
|
||||
|
||||
function save_public_radio_status($public_radio_status, $logbook_id) {
|
||||
$data = array(
|
||||
'public_radio_status' => xss_clean($public_radio_status),
|
||||
);
|
||||
|
||||
$this->db->where('user_id', $this->session->userdata('user_id'));
|
||||
$this->db->where('logbook_id', xss_clean($logbook_id));
|
||||
$this->db->update('station_logbooks', $data);
|
||||
}
|
||||
|
||||
function save_public_slug($public_slug, $logbook_id) {
|
||||
$data = array(
|
||||
'public_slug' => xss_clean($public_slug),
|
||||
|
|
|
|||
|
|
@ -73,15 +73,40 @@
|
|||
<form style="display: inline;">
|
||||
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
<p style="margin-top: 15px;"><?php echo lang('station_logbooks_public_search_hint'); ?></p>
|
||||
<label for="public_search"><?php echo lang('station_logbooks_public_search_enabled'); ?></label>
|
||||
<select class="form-select" id="public_search" name="public_search" hx-post="<?php echo site_url('logbooks/save_publicsearch/'); ?>" hx-target="#publicSearchForm" hx-trigger="change">
|
||||
<option value="1" <?php if ($station_logbook_details->public_search == 1) { echo " selected =\"selected\""; } ?>><?php echo lang('general_word_yes'); ?></option>
|
||||
<option value="0" <?php if ($station_logbook_details->public_search == 0) { echo " selected =\"selected\""; } ?>><?php echo lang('general_word_no'); ?></option>
|
||||
</select>
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="public_search" name="public_search" value="1"
|
||||
<?php if ($station_logbook_details->public_search == 1) { echo " checked"; } ?>
|
||||
hx-post="<?php echo site_url('logbooks/save_publicsearch/'); ?>"
|
||||
hx-target="#publicSearchForm"
|
||||
hx-trigger="change"
|
||||
hx-vals='{"logbook_id": "<?php echo $station_logbook_details->logbook_id; ?>"}'>
|
||||
<label class="form-check-label" for="public_search">
|
||||
<?php echo lang('station_logbooks_public_search_enabled'); ?>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<p>
|
||||
<div id="publicSearchForm">
|
||||
</div>
|
||||
|
||||
<form style="display: inline;">
|
||||
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
<p style="margin-top: 15px;"><?php echo lang('station_logbooks_public_radio_status_hint'); ?></p>
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="public_radio_status" name="public_radio_status" value="1"
|
||||
<?php if (isset($station_logbook_details->public_radio_status) && $station_logbook_details->public_radio_status == 1) { echo " checked"; } ?>
|
||||
hx-post="<?php echo site_url('logbooks/save_publicradiostatus/'); ?>"
|
||||
hx-target="#publicRadioStatusForm"
|
||||
hx-trigger="change"
|
||||
hx-vals='{"logbook_id": "<?php echo $station_logbook_details->logbook_id; ?>"}'>
|
||||
<label class="form-check-label" for="public_radio_status">
|
||||
<?php echo lang('station_logbooks_public_radio_status_enabled'); ?>
|
||||
</label>
|
||||
</div>
|
||||
</form>
|
||||
<p>
|
||||
<div id="publicRadioStatusForm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -129,7 +129,9 @@ function echoQrbCalcLink($mygrid, $grid, $vucc) {
|
|||
<div class="col-sm-4">
|
||||
<div class="table-responsive">
|
||||
|
||||
<div id="radio_display" hx-get="<?php echo site_url('visitor/radio_display_component'); ?>" hx-trigger="load, every 5s"></div>
|
||||
<?php if (isset($logbook_settings->public_radio_status) && $logbook_settings->public_radio_status == 1) { ?>
|
||||
<div id="radio_display" hx-get="<?php echo site_url('visitor/radio_display_component'); ?>" hx-trigger="load, every 30s"></div>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<table class="table table-striped">
|
||||
|
|
|
|||
正在加载…
在新工单中引用