mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
Validates visitor link
This commit is contained in:
@@ -192,8 +192,21 @@ class Stationsetup extends CI_Controller {
|
||||
}
|
||||
|
||||
public function saveVisitorLink() {
|
||||
$name = xss_clean($this->input->post('name', true));
|
||||
$id = xss_clean($this->input->post('id', true));
|
||||
|
||||
$this->load->model('stationsetup_model');
|
||||
$this->stationsetup_model->saveVisitorLink();
|
||||
$result = $this->stationsetup_model->is_public_slug_available($name);
|
||||
|
||||
if($result == true) {
|
||||
$this->stationsetup_model->saveVisitorLink($id, $name);
|
||||
$data['success'] = 1;
|
||||
} else {
|
||||
$data['success'] = 0;
|
||||
$data['flashdata'] = 'Error. Link is already in use!';
|
||||
}
|
||||
|
||||
echo json_encode($data);
|
||||
}
|
||||
|
||||
public function newLocation() {
|
||||
@@ -408,5 +421,4 @@ class Stationsetup extends CI_Controller {
|
||||
}
|
||||
echo json_encode($data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@ class Stationsetup_model extends CI_Model {
|
||||
$this->db->update('station_logbooks');
|
||||
}
|
||||
|
||||
function saveVisitorLink() {
|
||||
$this->db->set('public_slug', xss_clean($this->input->post('name', true)));
|
||||
function saveVisitorLink($id, $name) {
|
||||
$this->db->set('public_slug', $name);
|
||||
$this->db->where('user_id', $this->session->userdata('user_id'));
|
||||
$this->db->where('logbook_id', xss_clean($this->input->post('id', true)));
|
||||
$this->db->where('logbook_id', $id);
|
||||
$this->db->update('station_logbooks');
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<p><?php echo lang('station_logbooks_public_slug_hint'); ?></p>
|
||||
<p><?php echo lang('station_logbooks_public_slug_format1')?><br>
|
||||
<?php echo site_url('visitor'); ?>/<?php echo lang('station_logbooks_public_slug_format2'); ?></p>
|
||||
<form hx-post="<?php echo site_url('logbooks/save_publicslug/'); ?>" hx-target="#publicSlugForm" style="display: inline;">
|
||||
<div id="publicSlugForm">
|
||||
<form style="display: inline;">
|
||||
<div id="visitorLinkInfo">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<input type="hidden" name="logbook_id" id="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
|
||||
|
||||
@@ -246,8 +246,7 @@ $(document).ready(function () {
|
||||
label: 'Save',
|
||||
cssClass: 'btn-primary btn-sm',
|
||||
action: function (dialogItself) {
|
||||
saveVisitorLink();
|
||||
dialogItself.close();
|
||||
saveVisitorLink(dialogItself);
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -267,21 +266,33 @@ $(document).ready(function () {
|
||||
return false;
|
||||
}
|
||||
|
||||
function saveVisitorLink() {
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/stationsetup/saveVisitorLink',
|
||||
type: 'post',
|
||||
data: {
|
||||
id: $('#logbook_id').val(),
|
||||
name: $('#publicSlugInput').val()
|
||||
},
|
||||
success: function (data) {
|
||||
reloadLogbooks();
|
||||
},
|
||||
error: function (data) {
|
||||
function saveVisitorLink(dialogItself) {
|
||||
$('.alert').remove();
|
||||
if (/^([a-zA-Z0-9-]+)$/.test($('#publicSlugInput').val())) {
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/stationsetup/saveVisitorLink',
|
||||
type: 'post',
|
||||
data: {
|
||||
id: $('#logbook_id').val(),
|
||||
name: $('#publicSlugInput').val()
|
||||
},
|
||||
success: function (data) {
|
||||
jdata=JSON.parse(data);
|
||||
if (jdata.success == 1) {
|
||||
dialogItself.close();
|
||||
reloadLogbooks();
|
||||
} else {
|
||||
$('#visitorLinkInfo').append('<div class="alert alert-danger" role="alert">'+jdata.flashdata+'</div>');
|
||||
}
|
||||
|
||||
},
|
||||
});
|
||||
},
|
||||
error: function (data) {
|
||||
|
||||
},
|
||||
});
|
||||
} else {
|
||||
$('#visitorLinkInfo').append('<div class="alert alert-danger" role="alert">Invalid characters entered in link!</div>');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user