kopia lustrzana https://github.com/magicbug/Cloudlog
Add logbook setting for public search
rodzic
dc1742f5ff
commit
e2ef6c2b20
|
@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
|
|||
| be upgraded / downgraded to.
|
||||
|
|
||||
*/
|
||||
$config['migration_version'] = 128;
|
||||
$config['migration_version'] = 129;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
@ -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 "<div class=\"alert alert-success\" role=\"alert\">Public Search Setttings Saved</div>";
|
||||
}
|
||||
|
||||
public function save_publicslug() {
|
||||
$this->load->model('logbooks_model');
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
* This adds an option to enable public search per logbook
|
||||
*/
|
||||
|
||||
class Migration_add_public_search_option extends CI_Migration {
|
||||
|
||||
public function up()
|
||||
{
|
||||
if (!$this->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');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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'];
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -68,6 +68,18 @@
|
|||
Visit Public Page <a href="<?php echo site_url('visitor'); ?>/<?php echo $station_logbook_details->public_slug; ?>" target="_blank"><?php echo site_url('visitor'); ?>/<?php echo $station_logbook_details->public_slug; ?></a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<form style="display: inline;">
|
||||
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
<p>Enabling public search function offers a search input box on the public logbook page accessed via public slug. Search only covers this logbook.</p>
|
||||
<label for="public_search">Public search enabled</label>
|
||||
<select class="custom-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>
|
||||
</form>
|
||||
<p>
|
||||
<div id="publicSearchForm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
<th scope="col">Edit</th>
|
||||
<th scope="col">Delete</th>
|
||||
<th scope="col">Link</th>
|
||||
<th scope="col">Public Search</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -65,6 +66,13 @@
|
|||
<a target="_blank" href="<?php echo site_url('visitor')."/".$row->public_slug; ?>" class="btn btn-outline-primary btn-sm" ><i class="fas fa-globe" title="View Public Page for <?php echo $row->logbook_name;?> Logbook"></i> </a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($row->public_search == 1) {
|
||||
echo "<span class=\"badge badge-success\">Enabled</span>";
|
||||
} else {
|
||||
echo "<span class=\"badge badge-dark\">Disabled</span>";
|
||||
} ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
|
|
@ -73,13 +73,14 @@
|
|||
</ul>
|
||||
|
||||
<div style="paddling-left: 0.5rem; padding-right: 0.5rem"></div>
|
||||
<?php if($this->optionslib->get_option('global_search') != "false" || $this->session->userdata('user_type') >= 2) { ?>
|
||||
<form method="post" action="" class="form-inline">
|
||||
<input class="form-control mr-sm-2" id="callsign" type="search" name="callsign" placeholder="<?php echo lang('menu_search_text'); ?>" aria-label="Search">
|
||||
<?php $this->CI =& get_instance();
|
||||
if ($this->CI->public_search_enabled($slug) || $this->session->userdata('user_type') >= 2) { ?>
|
||||
<form method="post" action="" class="form-inline">
|
||||
<input class="form-control mr-sm-2" id="callsign" type="search" name="callsign" placeholder="<?php echo lang('menu_search_text'); ?>" aria-label="Search">
|
||||
|
||||
<button onclick="publicSearchButtonPress()" class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <?php echo lang('menu_search_button'); ?></button>
|
||||
</form>
|
||||
<?php } ?>
|
||||
<button onclick="publicSearchButtonPress()" class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> <?php echo lang('menu_search_button'); ?></button>
|
||||
</form>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
|
Ładowanie…
Reference in New Issue