[Logbooks] Added system to check if a public slug is available
这个提交包含在:
父节点
0ae1394756
当前提交
4f2980a2a7
共有 4 个文件被更改,包括 69 次插入 和 0 次删除
|
|
@ -116,4 +116,23 @@ class Logbooks extends CI_Controller {
|
|||
redirect('logbooks/edit/'.$logbook_id);
|
||||
}
|
||||
|
||||
public function publicslug_validate() {
|
||||
$this->load->model('logbooks_model');
|
||||
$result = $this->logbooks_model->is_public_slug_available($this->input->post('public_slug'));
|
||||
|
||||
if($result == true) {
|
||||
$data['slugAvailable'] = true;
|
||||
} else {
|
||||
$data['slugAvailable'] = false;
|
||||
}
|
||||
|
||||
$this->load->view('logbooks/components/publicSlugInputValidation', $data);
|
||||
}
|
||||
|
||||
public function test_this() {
|
||||
$this->load->model('logbooks_model');
|
||||
print_r($this->logbooks_model->is_public_slug_available('2m0sql'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -124,6 +124,23 @@ class Logbooks_model extends CI_Model {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function is_public_slug_available($slug) {
|
||||
// Clean public_slug
|
||||
$clean_slug = $this->security->xss_clean($slug);
|
||||
|
||||
|
||||
$this->db->where('public_slug', $clean_slug);
|
||||
$query = $this->db->get('station_logbooks');
|
||||
|
||||
if ($query->num_rows() > 0){
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function list_logbook_relationships($logbook_id) {
|
||||
|
||||
$relationships_array = array();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
<div hx-target="this" hx-swap="outerHTML">
|
||||
<input aria-describedat="slugHelp" class="form-control <?php if($slugAvailable == true) { echo "is-valid"; } else { echo "is-invalid"; } ?>" name="public_slug" id="publicSlugInput" hx-post="<?php echo site_url('logbooks/publicslug_validate/'); ?>" value="<?php echo $this->input->post('public_slug'); ?>" hx-trigger="keyup changed delay:500ms">
|
||||
<?php
|
||||
if($slugAvailable == true) { ?>
|
||||
<div class="valid-feedback">Looks good! <?php echo $this->input->post('public_slug'); ?> is available</div>
|
||||
<?php } else { ?>
|
||||
<div class="invalid-feedback">Please choose a public slug. <?php echo $this->input->post('public_slug'); ?> is not available</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
|
@ -60,7 +60,30 @@
|
|||
<input type="hidden" class="form-control" name="station_logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>" required>
|
||||
|
||||
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Link Location</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md">
|
||||
<div class="card">
|
||||
<div class="card-header">Public Slug</div>
|
||||
<div class="card-body">
|
||||
<p>Setting a public slug allows you to share your logbook with anyone via a custom website address, this slug can contain no letters or special characters just letters and numbers.</p>
|
||||
|
||||
<form hx-post="<?php echo site_url('logbooks/save_publicslug/'); ?>">
|
||||
|
||||
<div class="form-group">
|
||||
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
<label for="publicSlugInput">Public Slug</label>
|
||||
<div hx-target="this" hx-swap="outerHTML">
|
||||
<input class="form-control" name="public_slug" id="publicSlugInput" hx-post="<?php echo site_url('logbooks/publicslug_validate/'); ?>" hx-trigger="keyup changed delay:500ms">
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
正在加载…
在新工单中引用