Update UI in share Model Remove Views instead use Delete after view and set long expiration dates and chnage them to a radio buttons instead of select

This commit is contained in:
johnnyq 2024-12-06 14:11:51 -05:00
parent 22f5bdb1c0
commit 6ae18dbc43
3 changed files with 38 additions and 37 deletions

View File

@ -251,15 +251,17 @@ if (isset($_GET['share_generate_link'])) {
$item_id = intval($_GET['id']);
$item_email = sanitizeInput($_GET['contact_email']);
$item_note = sanitizeInput($_GET['note']);
$item_view_limit = intval($_GET['views']);
$item_view_limit = intval($_GET['views'] ?? 0);
$item_expires = sanitizeInput($_GET['expires']);
$item_expires_friendly = "never"; // default never
if ($item_expires == "30 MINUTE") {
$item_expires_friendly = "30 minutes";
} elseif ($item_expires == "24 HOUR") {
$item_expires_friendly = "24 hours";
} elseif ($item_expires == "72 HOUR") {
$item_expires_friendly = "72 hours (3 days)";
if ($item_expires == "1 HOUR") {
$item_expires_friendly = "1 hour";
} elseif ($item_expires == "24 HOURS") {
$item_expires_friendly = "1 day";
} elseif ($item_expires == "168 HOUR") {
$item_expires_friendly = "1 week";
} elseif ($item_expires == "730 HOUR") {
$item_expires_friendly = "1 month";
}
$item_key = randomString(156);

View File

@ -28,7 +28,7 @@ function generateShareLink() {
let item_ref_id = document.getElementById("share_item_ref_id").value;
let item_note = document.getElementById("share_note").value;
let item_views = document.getElementById("share_views").value;
let item_expires = document.getElementById("share_expires").value;
let item_expires = document.querySelector('input[name="expires"]:checked').value;
let contact_email = document.getElementById("share_email").value;
// Check values are provided

View File

@ -17,40 +17,14 @@
<div id="div_share_link_form">
<label>Views / Expire <strong class="text-danger">*</strong> <small class="text-secondary">Enter 0 for unlimited</small></label>
<div class="form-row">
<div class="col-4">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
</div>
<input type="number" class="form-control" name="views" id="share_views" placeholder="Views before link expires" value="1" required>
</div>
</div>
<div class="col-8">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
</div>
<select class="form-control" name="expires" id="share_expires" required>
<option value="30 MINUTE">30 Minutes</option>
<option value="24 HOUR">24 Hours (1 Day)</option>
<option value="72 HOUR">72 Hours (3 Days)</option>
<option value="100 YEAR">NEVER</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<label>Share with</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div>
<select class="form-control select2" name="contact_email" id="share_email">
<option value="">-Select a contact-</option>
<select class="form-control select2" name="contact_email" id="share_email" data-placeholder="Select or enter an Email">
<option value=""></option>
<?php
$sql_client_contacts_select = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id AND contact_email <> '' AND contact_archived_at IS NULL ORDER BY contact_name ASC");
@ -67,9 +41,34 @@
</select>
</div>
</div>
<label>Expiration</label>
<div class="form-group">
<div class="input-group">
<div class="btn-group btn-block btn-group-toggle" data-toggle="buttons">
<label class="btn btn-outline-dark active">
<input type="radio" name="expires" value="1 HOUR" checked>1 hour
</label>
<label class="btn btn-outline-dark">
<input type="radio" name="expires" value="24 HOUR">1 day
</label>
<label class="btn btn-outline-dark">
<input type="radio" name="expires" value="168 HOUR">1 week
</label>
<label class="btn btn-outline-dark">
<input type="radio" name="expires" value="730 HOUR">1 month
</label>
</div>
</div>
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" name="views" id="share_views" value="1">
<label class="form-check-label text-secondary">Delete after viewing</label>
</div>
<div class="form-group">
<textarea class="form-control" rows="4" name="note" id="share_note" placeholder="Client visible note"></textarea>
<textarea class="form-control" rows="6" name="note" id="share_note" placeholder="Client visible note"></textarea>
</div>
<hr>