diff --git a/application/config/migration.php b/application/config/migration.php index 7c4aa6b1..937c6cbd 100644 --- a/application/config/migration.php +++ b/application/config/migration.php @@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE; | be upgraded / downgraded to. | */ -$config['migration_version'] = 128; +$config['migration_version'] = 129; /* |-------------------------------------------------------------------------- diff --git a/application/controllers/Logbooks.php b/application/controllers/Logbooks.php index ed7a2d1a..a5f021c3 100644 --- a/application/controllers/Logbooks.php +++ b/application/controllers/Logbooks.php @@ -129,6 +129,12 @@ class Logbooks extends CI_Controller { $this->load->view('logbooks/components/publicSlugInputValidation', $data); } + 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 "
Public Search Setttings Saved
"; + } + public function save_publicslug() { $this->load->model('logbooks_model'); diff --git a/application/controllers/Visitor.php b/application/controllers/Visitor.php index b00d2cda..cf42ffe3 100644 --- a/application/controllers/Visitor.php +++ b/application/controllers/Visitor.php @@ -456,6 +456,16 @@ class Visitor extends CI_Controller { } } + public function public_search_enabled($slug) { + $this->load->model('Logbooks_model'); + $logbook_id = $this->Logbooks_model->public_slug_exists_logbook_id($slug); + if ($this->Logbooks_model->public_search_enabled($logbook_id) == 1) { + return true; + } else { + return false; + } + } + public function search() { $slug = $this->security->xss_clean($this->uri->segment(3)); $callsign = $this->security->xss_clean($this->uri->segment(4)); diff --git a/application/migrations/129_add_public_search_option.php b/application/migrations/129_add_public_search_option.php new file mode 100644 index 00000000..c98841fb --- /dev/null +++ b/application/migrations/129_add_public_search_option.php @@ -0,0 +1,28 @@ +db->field_exists('public_search', 'station_logbooks')) { + $fields = array( + 'public_search integer DEFAULT 0 AFTER public_slug', + ); + + $this->dbforge->add_column('station_logbooks', $fields); + } + } + + public function down() + { + if ($this->db->field_exists('public_search', 'logbooks')) { + $this->dbforge->drop_column('logbooks', 'public_search'); + } + } +} diff --git a/application/models/Logbooks_model.php b/application/models/Logbooks_model.php index 87753953..8b4ce1c3 100644 --- a/application/models/Logbooks_model.php +++ b/application/models/Logbooks_model.php @@ -210,6 +210,16 @@ class Logbooks_model extends CI_Model { } } + function save_public_search($public_search, $logbook_id) { + $data = array( + 'public_search' => xss_clean($public_search), + ); + + $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), @@ -322,5 +332,14 @@ class Logbooks_model extends CI_Model { return 0; } } + + function public_search_enabled($logbook_id) { + $this->db->select('public_search'); + $this->db->where('logbook_id', $logbook_id); + + $query = $this->db->get('station_logbooks'); + + return $query->result_array()[0]['public_search']; + } } ?> diff --git a/application/views/logbooks/edit.php b/application/views/logbooks/edit.php index 81811052..092e5bc4 100644 --- a/application/views/logbooks/edit.php +++ b/application/views/logbooks/edit.php @@ -68,6 +68,18 @@ Visit Public Page /public_slug; ?> +
+ +

Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.

+ + +
+

+

+
diff --git a/application/views/logbooks/index.php b/application/views/logbooks/index.php index d9e0f07f..c510b2b5 100644 --- a/application/views/logbooks/index.php +++ b/application/views/logbooks/index.php @@ -36,6 +36,7 @@ Edit Delete Link + Public Search @@ -65,6 +66,13 @@ public_slug; ?>" class="btn btn-outline-primary btn-sm" > + + public_search == 1) { + echo "Enabled"; + } else { + echo "Disabled"; + } ?> + diff --git a/application/views/visitor/layout/header.php b/application/views/visitor/layout/header.php index fa57e0f9..d245128c 100644 --- a/application/views/visitor/layout/header.php +++ b/application/views/visitor/layout/header.php @@ -73,13 +73,14 @@
- optionslib->get_option('global_search') != "false" || $this->session->userdata('user_type') >= 2) { ?> -
- + CI =& get_instance(); + if ($this->CI->public_search_enabled($slug) || $this->session->userdata('user_type') >= 2) { ?> + + - -
- + + +