[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); | 		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) { | 	function list_logbook_relationships($logbook_id) { | ||||||
| 
 | 
 | ||||||
| 		$relationships_array = array(); | 		$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>	 | 					<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> | 					<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> | 			</div> | ||||||
| 		</div> | 		</div> | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用