mirror of https://github.com/itflow-org/itflow
More work on moving to the redirect, flash_alert and get_field_by_id and maing sure validate_csrf is on top and some other cleanups, along with more work on credits
This commit is contained in:
parent
b4e5e3fda7
commit
e39072d3bc
|
|
@ -21,6 +21,21 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Type<strong class="text-danger ml-2">*</strong></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-fw fa-th-list"></i></span>
|
||||
</div>
|
||||
<select class="form-control select2" name="type" required>
|
||||
<option value="0">- Select Credit Type -</option>
|
||||
<option value="manual">Manual</option>
|
||||
<option value="prepaid">Prepaid</option>
|
||||
<option value="promotion">Promotion</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Amount<strong class="text-danger ml-2">*</strong></label>
|
||||
<div class="input-group">
|
||||
|
|
@ -32,12 +47,12 @@
|
|||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Reference<strong class="text-danger ml-2">*</strong></label>
|
||||
<label>Note<strong class="text-danger ml-2">*</strong></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-fw fa-file-alt"></i></span>
|
||||
</div>
|
||||
<input type="text" class="form-control" name="reference" placeholder="Enter a reference" maxlength="250">
|
||||
<input type="text" class="form-control" name="note" placeholder="Enter a note" maxlength="250">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -45,7 +60,7 @@
|
|||
<input type="hidden" name="client" value="<?php echo $client_id; ?>">
|
||||
<?php } else { ?>
|
||||
|
||||
<div class="form-group col-md">
|
||||
<div class="form-group">
|
||||
<label>Client</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ if (isset($_POST['bulk_edit_contact_department'])) {
|
|||
|
||||
logAction("Contact", "Bulk Edit", "$session_name set the department $department for $contact_count contacts", $client_id);
|
||||
|
||||
flash_alert("You set the Department to <strong>$department</strong> for <strong>$contact_count</strong> contacts";
|
||||
flash_alert("You set the Department to <strong>$department</strong> for <strong>$contact_count</strong> contacts");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
|
|||
|
|
@ -24,10 +24,9 @@ if (isset($_POST['add_credential'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Create", "$session_name created credential $name", $client_id, $credential_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Credential <strong>$name</strong> created";
|
||||
flash_alert("Credential <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -64,10 +63,9 @@ if (isset($_POST['edit_credential'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Edit", "$session_name edited credential $name", $client_id, $credential_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Credential <strong>$name</strong> edited";
|
||||
flash_alert("Credential <strong>$name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -87,12 +85,9 @@ if(isset($_GET['archive_credential'])){
|
|||
|
||||
mysqli_query($mysqli,"UPDATE credentials SET credential_archived_at = NOW() WHERE credential_id = $credential_id");
|
||||
|
||||
//logging
|
||||
logAction("Credential", "Archive", "$session_name archived credential $credential_name", $client_id, $credential_id);
|
||||
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Credential <strong>$credential_name</strong> archived";
|
||||
flash_alert("Credential <strong>$credential_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -112,12 +107,12 @@ if(isset($_GET['unarchive_credential'])){
|
|||
|
||||
mysqli_query($mysqli,"UPDATE credentials SET credential_archived_at = NULL WHERE credential_id = $credential_id");
|
||||
|
||||
//Logging
|
||||
logAction("Credential", "Unarchive", "$session_name unarchived credential $credential_name", $client_id, $credential_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Credential <strong>$credential_name</strong> restored";
|
||||
flash_alert("Credential <strong>$credential_name</strong> restored");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_credential'])) {
|
||||
|
|
@ -134,11 +129,9 @@ if (isset($_GET['delete_credential'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM credentials WHERE credential_id = $credential_id");
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Delete", "$session_name deleted credential $credential_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Credential <strong>$credential_name</strong> deleted";
|
||||
flash_alert("Credential <strong>$credential_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -180,15 +173,14 @@ if (isset($_POST['bulk_assign_credential_tags'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Edit", "$session_name added tags to $credential_name", $client_id, $credential_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Assigned tags for <strong>$count</strong> credentials";
|
||||
flash_alert("Assigned tags for <strong>$count</strong> credentials");
|
||||
|
||||
} // End Assign Loop
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Bulk Edit", "$session_name added tags to $count credentials", $client_id);
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
@ -197,9 +189,10 @@ if (isset($_POST['bulk_assign_credential_tags'])) {
|
|||
|
||||
if (isset($_POST['bulk_archive_credentials'])) {
|
||||
|
||||
enforceUserPermission('module_credential', 2);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_credential', 2);
|
||||
|
||||
if (isset($_POST['credential_ids'])) {
|
||||
|
||||
// Get Selected Credential Count
|
||||
|
|
@ -218,26 +211,24 @@ if (isset($_POST['bulk_archive_credentials'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE credentials SET credential_archived_at = NOW() WHERE credential_id = $credential_id");
|
||||
|
||||
// Individual Contact logging
|
||||
logAction("Credential", "Archive", "$session_name archived credential $credential_name", $client_id, $credential_id);
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Credential", "Bulk Archive", "$session_name archived $count credentials", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Archived <strong>$count</strong> credential(s)";
|
||||
flash_alert("Archived <strong>$count</strong> credential(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_unarchive_credentials'])) {
|
||||
|
||||
enforceUserPermission('module_credential', 2);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
enforceUserPermission('module_credential', 2);
|
||||
|
||||
if (isset($_POST['credential_ids'])) {
|
||||
|
||||
|
|
@ -257,27 +248,26 @@ if (isset($_POST['bulk_unarchive_credentials'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE credentials SET credential_archived_at = NULL WHERE credential_id = $credential_id");
|
||||
|
||||
// Individual logging
|
||||
logAction("Credential", "Unarchive", "$session_name unarchived credential $credential_name", $client_id, $credential_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Credential", "Bulk Unarchive", "$session_name unarchived $count credential(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Unarchived <strong>$count</strong> credential(s)";
|
||||
flash_alert("Unarchived <strong>$count</strong> credential(s)");
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_credentials'])) {
|
||||
|
||||
enforceUserPermission('module_credential', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_credential', 3);
|
||||
|
||||
if (isset($_POST['credential_ids'])) {
|
||||
|
||||
// Get Selected Credential Count
|
||||
|
|
@ -296,20 +286,18 @@ if (isset($_POST['bulk_delete_credentials'])) {
|
|||
|
||||
mysqli_query($mysqli, "DELETE FROM credentials WHERE credential_id = $credential_id AND credential_client_id = $client_id");
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Delete", "$session_name deleted credential $credential_name", $client_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Credential", "Bulk Delete", "$session_name deleted $count credential(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> credential(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> credential(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_credentials_csv'])) {
|
||||
|
|
@ -360,7 +348,6 @@ if (isset($_POST['export_credentials_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Export", "$session_name exported $num_rows credential(s) to a CSV file", $client_id);
|
||||
|
||||
exit;
|
||||
|
|
@ -377,10 +364,8 @@ if (isset($_POST["import_credentials_csv"])) {
|
|||
if (!empty($_FILES["file"]["tmp_name"])) {
|
||||
$file_name = $_FILES["file"]["tmp_name"];
|
||||
} else {
|
||||
$_SESSION['alert_message'] = "Please select a file to upload.";
|
||||
$_SESSION['alert_type'] = "error";
|
||||
flash_alert("Please select a file to upload.", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
//Check file is CSV
|
||||
|
|
@ -388,13 +373,13 @@ if (isset($_POST["import_credentials_csv"])) {
|
|||
$allowed_file_extensions = array('csv');
|
||||
if (in_array($file_extension,$allowed_file_extensions) === false){
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad file extension";
|
||||
flash_alert("Bad file extension", 'error');
|
||||
}
|
||||
|
||||
//Check file isn't empty
|
||||
elseif ($_FILES["file"]["size"] < 1){
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad file size (empty?)";
|
||||
flash_alert("Bad file size (empty?)", 'error');
|
||||
}
|
||||
|
||||
//(Else)Check column count
|
||||
|
|
@ -402,7 +387,7 @@ if (isset($_POST["import_credentials_csv"])) {
|
|||
$f_columns = fgetcsv($f, 1000, ",");
|
||||
if (!$error & count($f_columns) != 5) {
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad column count.";
|
||||
flash_alert("Bad column count.", 'error');
|
||||
}
|
||||
|
||||
//Else, parse the file
|
||||
|
|
@ -443,17 +428,17 @@ if (isset($_POST["import_credentials_csv"])) {
|
|||
}
|
||||
fclose($file);
|
||||
|
||||
// Logging
|
||||
logAction("Credential", "Import", "$session_name imported $row_count credential(s) via CSV file. $duplicate_count duplicate(s) found and not imported", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "$row_count credential(s) imported, $duplicate_count duplicate(s) detected and not imported";
|
||||
flash_alert("<strong>$row_count</strong> credential(s) imported, <strong>$duplicate_count</strong> duplicate(s) detected and not imported", 'warning');
|
||||
|
||||
redirect();
|
||||
}
|
||||
//Check for any errors, if there are notify user and redirect
|
||||
if ($error) {
|
||||
$_SESSION['alert_type'] = "warning";
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['download_credentials_csv_template'])) {
|
||||
|
|
|
|||
|
|
@ -9,21 +9,23 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||
if (isset($_POST['add_credit'])) {
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
$client_id = intval($_POST['client']);
|
||||
$amount = floatval($_POST['amount']);
|
||||
$type = sanitizeInput($_POST['type']);
|
||||
$expire = sanitizeInput($_POST['expire']);
|
||||
$reference = sanitizeInput($_POST['reference']);
|
||||
$note = sanitizeInput($_POST['note']);
|
||||
|
||||
mysqli_query($mysqli,"INSERT INTO credits SET credit_amount = $amount, credit_reference = '$reference', credit_created_by = $session_user_id, credit_client_id = $client_id");
|
||||
mysqli_query($mysqli,"INSERT INTO credits SET credit_amount = $amount, credit_type = '$type', credit_note = '$note', credit_created_by = $session_user_id, credit_client_id = $client_id");
|
||||
|
||||
$credit_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Credit", "Create", "$session_name added " . numfmt_format_currency($currency_format, $amount, $session_company_currency) . "", $client_id, $credit_id);
|
||||
|
||||
$_SESSION['alert_message'] = "" . numfmt_format_currency($currency_format, $amount, $session_company_currency) . " Credit Added ";
|
||||
flash_alert(numfmt_format_currency($currency_format, $amount, $session_company_currency) . " Credit Added");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,10 +28,9 @@ if (isset($_POST['add_document'])) {
|
|||
mysqli_query($mysqli,"INSERT INTO asset_documents SET asset_id = $asset_id, document_id = $document_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Create", "$session_name created document $name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$name</strong> created";
|
||||
flash_alert("Document <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -63,12 +62,11 @@ if (isset($_POST['add_document_from_template'])) {
|
|||
|
||||
$document_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Create", "$session_name created document $name from template $document_template_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> created from template";
|
||||
flash_alert("Document <strong>$document_name</strong> created from template");
|
||||
|
||||
header("Location: client_document_details.php?client_id=$client_id&document_id=$document_id");
|
||||
redirect("client_document_details.php?client_id=$client_id&document_id=$document_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -114,12 +112,11 @@ if (isset($_POST['edit_document'])) {
|
|||
// Update Document
|
||||
mysqli_query($mysqli,"UPDATE documents SET document_name = '$name', document_description = '$description', document_content = '$content', document_content_raw = '$content_raw', document_folder_id = $folder, document_updated_by = $session_user_id WHERE document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Edit", "$session_name edited document $name, previous version kept", $client_id, $document_version_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$name</strong> edited, previous version kept";
|
||||
flash_alert("Document <strong>$name</strong> edited, previous version kept");
|
||||
|
||||
header("Location: client_document_details.php?client_id=$client_id&document_id=$document_id");
|
||||
redirect("client_document_details.php?client_id=$client_id&document_id=$document_id");
|
||||
}
|
||||
|
||||
if (isset($_POST['move_document'])) {
|
||||
|
|
@ -143,10 +140,9 @@ if (isset($_POST['move_document'])) {
|
|||
// Document edit query
|
||||
mysqli_query($mysqli,"UPDATE documents SET document_folder_id = $folder_id WHERE document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Move", "$session_name moved document $document_name to folder $folder_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> moved to folder <strong>$folder_name</strong>";
|
||||
flash_alert("Document <strong>$document_name</strong> moved to folder <strong>$folder_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -168,11 +164,10 @@ if (isset($_POST['rename_document'])) {
|
|||
// Document edit query
|
||||
mysqli_query($mysqli,"UPDATE documents SET document_name = '$name' WHERE document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Edit", "$session_name renamed document $old_document_name to $name", $client_id, $document_id);
|
||||
|
||||
|
||||
$_SESSION['alert_message'] = "You renamed Document from <strong>$old_document_name</strong> to <strong>$name</strong>";
|
||||
flash_alert("You renamed Document from <strong>$old_document_name</strong> to <strong>$name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -199,21 +194,18 @@ if (isset($_POST['bulk_move_document'])) {
|
|||
foreach($_POST['document_ids'] as $document_id) {
|
||||
$document_id = intval($document_id);
|
||||
// Get document name for logging
|
||||
$sql = mysqli_query($mysqli,"SELECT document_name FROM documents WHERE document_id = $document_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$document_name = sanitizeInput($row['document_name']);
|
||||
$document_name = sanitizeInput(getFieldById('documents', $document_id, 'document_name'));
|
||||
|
||||
// Document move query
|
||||
mysqli_query($mysqli,"UPDATE documents SET document_folder_id = $folder_id WHERE document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Move", "$session_name moved document $document_name to folder $folder_name", $client_id, $document_id);
|
||||
}
|
||||
|
||||
logAction("Document", "Bulk Move", "$session_name moved $count document(s) to folder $folder_name", $client_id);
|
||||
}
|
||||
|
||||
$_SESSION['alert_message'] = "You moved <strong>$count</strong> document(s) to the folder <strong>$folder_name</strong>";
|
||||
flash_alert("You moved <strong>$count</strong> document(s) to the folder <strong>$folder_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -233,17 +225,14 @@ if (isset($_POST['link_file_to_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get File Name for logging
|
||||
$sql_file = mysqli_query($mysqli,"SELECT file_name FROM files WHERE file_id = $file_id");
|
||||
$row = mysqli_fetch_array($sql_file);
|
||||
$file_name = sanitizeInput($row['file_name']);
|
||||
$file_name = sanitizeInput(getFieldById('files', $file_id, 'file_name'));
|
||||
|
||||
// Document add query
|
||||
mysqli_query($mysqli,"INSERT INTO document_files SET file_id = $file_id, document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Link", "$session_name linked file $file_name to document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "File <strong>$file_name</strong> linked with Document <strong>$document_name</strong>";
|
||||
flash_alert("File <strong>$file_name</strong> linked with Document <strong>$document_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -263,17 +252,13 @@ if (isset($_GET['unlink_file_from_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get File Name for logging
|
||||
$sql_file = mysqli_query($mysqli,"SELECT file_name FROM files WHERE file_id = $file_id");
|
||||
$row = mysqli_fetch_array($sql_file);
|
||||
$file_name = sanitizeInput($row['file_name']);
|
||||
$file_name = sanitizeInput(getFieldById('files', $file_id, 'file_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM document_files WHERE file_id = $file_id AND document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Unlink", "$session_name unlinked file $file_name from document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "File <strong>$file_name</strong> unlinked from Document <strong>$document_name</strong>";
|
||||
flash_alert("File <strong>$file_name</strong> unlinked from Document <strong>$document_name</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -293,17 +278,14 @@ if (isset($_POST['link_vendor_to_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Vendor Name for logging
|
||||
$sql_vendor = mysqli_query($mysqli,"SELECT vendor_name FROM vendors WHERE vendor_id = $vendor_id");
|
||||
$row = mysqli_fetch_array($sql_vendor);
|
||||
$vendor_name = sanitizeInput($row['vendor_name']);
|
||||
$vendor_name = sanitizeInput(getFieldById('vendors', $vendor_id, 'vendor_name'));
|
||||
|
||||
// Document add query
|
||||
mysqli_query($mysqli,"INSERT INTO vendor_documents SET vendor_id = $vendor_id, document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Link", "$session_name linked vendor $vendor_name to document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Vendor <strong>$vendor_name</strong> linked with Document <strong>$document_name</strong>";
|
||||
flash_alert("Vendor <strong>$vendor_name</strong> linked with Document <strong>$document_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -323,17 +305,13 @@ if (isset($_GET['unlink_vendor_from_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Vendor Name for logging
|
||||
$sql_vendor = mysqli_query($mysqli,"SELECT vendor_name FROM vendors WHERE vendor_id = $vendor_id");
|
||||
$row = mysqli_fetch_array($sql_vendor);
|
||||
$vendor_name = sanitizeInput($row['vendor_name']);
|
||||
$vendor_name = sanitizeInput(getFieldById('vendors', $vendor_id, 'vendor_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM vendor_documents WHERE vendor_id = $vendor_id AND document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Unlink", "$session_name unlinked vendor $vendor_name from document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Vendor <strong>$vendor_name</strong> unlinked from Document <strong>$document_name</strong>";
|
||||
flash_alert("Vendor <strong>$vendor_name</strong> unlinked from Document <strong>$document_name</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -354,17 +332,14 @@ if (isset($_POST['link_contact_to_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Contact Name for logging
|
||||
$sql_contact = mysqli_query($mysqli,"SELECT contact_name FROM contacts WHERE contact_id = $contact_id");
|
||||
$row = mysqli_fetch_array($sql_contact);
|
||||
$contact_name = sanitizeInput($row['contact_name']);
|
||||
$contact_name = sanitizeInput(getFieldById('contacts', $contact_id, 'contact_name'));
|
||||
|
||||
// Contact add query
|
||||
mysqli_query($mysqli,"INSERT INTO contact_documents SET contact_id = $contact_id, document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Link", "$session_name linked contact $contact_name to document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Contact <strong>$contact_name</strong> linked with Document <strong>$document_name</strong>";
|
||||
flash_alert("Contact <strong>$contact_name</strong> linked with Document <strong>$document_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -384,17 +359,13 @@ if (isset($_GET['unlink_contact_from_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Contact Name for logging
|
||||
$sql_contact = mysqli_query($mysqli,"SELECT contact_name FROM contacts WHERE contact_id = $contact_id");
|
||||
$row = mysqli_fetch_array($sql_contact);
|
||||
$contact_name = sanitizeInput($row['contact_name']);
|
||||
$contact_name = sanitizeInput(getFieldById('contacts', $contact_id, 'contact_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM contact_documents WHERE contact_id = $contact_id AND document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Unlink", "$session_name unlinked contact $contact_name from document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Contact <strong>$contact_name</strong> unlinked from Document <strong>$document_name</strong>";
|
||||
flash_alert("Contact <strong>$contact_name</strong> unlinked from Document <strong>$document_name</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -414,17 +385,13 @@ if (isset($_POST['link_asset_to_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Asset Name for logging
|
||||
$sql_asset = mysqli_query($mysqli,"SELECT asset_name FROM assets WHERE asset_id = $asset_id");
|
||||
$row = mysqli_fetch_array($sql_asset);
|
||||
$asset_name = sanitizeInput($row['asset_name']);
|
||||
$asset_name = sanitizeInput(getFieldById('assets', $asset_id, 'asset_name'));
|
||||
|
||||
// Contact add query
|
||||
mysqli_query($mysqli,"INSERT INTO asset_documents SET asset_id = $asset_id, document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Link", "$session_name linked asset $asset_name to document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Asset <strong>$asset_name</strong> linked with Document <strong>$document_name</strong>";
|
||||
flash_alert("Asset <strong>$asset_name</strong> linked with Document <strong>$document_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -444,17 +411,13 @@ if (isset($_GET['unlink_asset_from_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Asset Name for logging
|
||||
$sql_asset = mysqli_query($mysqli,"SELECT asset_name FROM assets WHERE asset_id = $asset_id");
|
||||
$row = mysqli_fetch_array($sql_asset);
|
||||
$asset_name = sanitizeInput($row['asset_name']);
|
||||
$asset_name = sanitizeInput(getFieldById('assets', $asset_id, 'asset_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM asset_documents WHERE asset_id = $asset_id AND document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Unlink", "$session_name unlinked asset $asset_name from document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Asset <strong>$asset_name</strong> unlinked from Document <strong>$document_name</strong>";
|
||||
flash_alert("Asset <strong>$asset_name</strong> unlinked from Document <strong>$document_name</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -474,17 +437,14 @@ if (isset($_POST['link_software_to_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Software Name for logging
|
||||
$sql_software = mysqli_query($mysqli,"SELECT software_name FROM software WHERE software_id = $software_id");
|
||||
$row = mysqli_fetch_array($sql_software);
|
||||
$software_name = sanitizeInput($row['software_name']);
|
||||
$software_name = sanitizeInput(getFieldById('software', $software_id, 'software_name'));
|
||||
|
||||
// Contact add query
|
||||
mysqli_query($mysqli,"INSERT INTO software_documents SET software_id = $software_id, document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Link", "$session_name linked software $software_name to document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Software <strong>$software_name</strong> linked with Document <strong>$document_name</strong>";
|
||||
flash_alert("Software <strong>$software_name</strong> linked with Document <strong>$document_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -504,17 +464,13 @@ if (isset($_GET['unlink_software_from_document'])) {
|
|||
$client_id = intval($row['document_client_id']);
|
||||
|
||||
// Get Software Name for logging
|
||||
$sql_software = mysqli_query($mysqli,"SELECT software_name FROM software WHERE software_id = $software_id");
|
||||
$row = mysqli_fetch_array($sql_software);
|
||||
$software_name = sanitizeInput($row['software_name']);
|
||||
$software_name = sanitizeInput(getFieldById('software', $software_id, 'software_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM software_documents WHERE software_id = $software_id AND document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Unlink", "$session_name unlinked software $software_name from document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Software <strong>$software_name</strong> unlinked from Document <strong>$document_name</strong>";
|
||||
|
||||
flash_alert("Software <strong>$software_name</strong> unlinked from Document <strong>$document_name</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -541,10 +497,9 @@ if (isset($_POST['toggle_document_visibility'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE documents SET document_client_visible = $document_visible WHERE document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Edit", "$session_name changed document $document_name visibilty to $visable_wording in the client portal", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> changed to <strong>$visable_wording</strong> in the client portal";
|
||||
flash_alert("Document <strong>$document_name</strong> changed to <strong>$visable_wording</strong> in the client portal");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -588,7 +543,7 @@ if (isset($_GET['export_document'])) {
|
|||
// Logging
|
||||
logAction("Document", "Export", "$session_name exported document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> exported";
|
||||
flash_alert("Document <strong>$document_name</strong> exported");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -627,11 +582,9 @@ if (isset($_GET['archive_document'])) {
|
|||
// Service Associations
|
||||
mysqli_query($mysqli,"DELETE FROM service_documents WHERE document_id = $document_id");
|
||||
|
||||
// Logging
|
||||
logAction("Document", "Archive", "$session_name archived document $document_name", $client_id, $document_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> archived";
|
||||
flash_alert("Document <strong>$document_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -651,11 +604,9 @@ if (isset($_GET['delete_document_version'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM document_versions WHERE document_version_id = $document_version_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document Version", "Delete", "$session_name deleted document version $document_version_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Document $document_version_name version deleted";
|
||||
flash_alert("Document $document_version_name version deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -678,11 +629,9 @@ if (isset($_GET['delete_document'])) {
|
|||
// Delete all versions associated with the master document
|
||||
mysqli_query($mysqli,"DELETE FROM document_versions WHERE document_version_document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Delete", "$session_name deleted document $document_name and all versions", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Document <strong>$document_name</strong> deleted and all versions";
|
||||
flash_alert("Document <strong>$document_name</strong> deleted and all versions", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -690,9 +639,9 @@ if (isset($_GET['delete_document'])) {
|
|||
|
||||
if (isset($_POST['bulk_delete_documents'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
if (isset($_POST['document_ids'])) {
|
||||
|
||||
|
|
@ -713,16 +662,14 @@ if (isset($_POST['bulk_delete_documents'])) {
|
|||
// Delete all versions associated with the master document
|
||||
mysqli_query($mysqli,"DELETE FROM document_versions WHERE document_version_document_id = $document_id");
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Delete", "$session_name deleted document $document_name and all versions", $client_id);
|
||||
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("Document", "Bulk Delete", "$session_name deleted $count document(s) and all versions", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> Documents and associated document versions";
|
||||
flash_alert("Deleted <strong>$count</strong> Documents and associated document versions", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
|
|||
|
|
@ -52,10 +52,9 @@ if (isset($_POST['add_domain'])) {
|
|||
$extended_log_description = ', with associated SSL cert';
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Create", "$session_name created domain $name$extended_log_description", $client_id, $domain_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Domain <strong>$name</strong> created";
|
||||
flash_alert("Domain <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -138,10 +137,9 @@ if (isset($_POST['edit_domain'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Edit", "$session_name edited domain $name", $client_id, $domain_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Domain <strong>$name</strong> edited";
|
||||
flash_alert("Domain <strong>$name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -161,13 +159,12 @@ if (isset($_GET['archive_domain'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE domains SET domain_archived_at = NOW() WHERE domain_id = $domain_id");
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Archive", "$session_name archived domain $domain_name", $client_id, $domain_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Domain <strong>$domain_name archived";
|
||||
flash_alert("Domain <strong>$domain_name archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if(isset($_GET['unarchive_domain'])){
|
||||
|
|
@ -184,12 +181,12 @@ if(isset($_GET['unarchive_domain'])){
|
|||
|
||||
mysqli_query($mysqli,"UPDATE domains SET domain_archived_at = NULL WHERE domain_id = $domain_id");
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Unarchive", "$session_name unarchived domain $domain_name", $client_id, $domain_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Domain <strong>$domain_name</strong> restored";
|
||||
flash_alert("Domain <strong>$domain_name</strong> restored");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_domain'])) {
|
||||
|
|
@ -206,20 +203,20 @@ if (isset($_GET['delete_domain'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM domains WHERE domain_id = $domain_id");
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Delete", "$session_name deleted domain $domain_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Domain <strong>$domain_name</strong> deleted";
|
||||
flash_alert("Domain <strong>$domain_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_archive_domains'])) {
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
if (isset($_POST['domain_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -238,25 +235,25 @@ if (isset($_POST['bulk_archive_domains'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE domains SET domain_archived_at = NOW() WHERE domain_id = $domain_id");
|
||||
|
||||
// Individual Contact logging
|
||||
logAction("Domain", "Archive", "$session_name archived domain $domain_name", $client_id, $domain_id);
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Domain", "Bulk Archive", "$session_name archived $count domain(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Archived <strong>$count</strong> domain(s)";
|
||||
flash_alert("Archived <strong>$count</strong> domain(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_unarchive_domains'])) {
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
if (isset($_POST['domain_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -275,25 +272,26 @@ if (isset($_POST['bulk_unarchive_domains'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE domains SET domain_archived_at = NULL WHERE domain_id = $domain_id");
|
||||
|
||||
// Individual logging
|
||||
logAction("Domain", "Unarchive", "$session_name unarchived domain $domain_name", $client_id, $domain_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Domain", "Bulk Unarchive", "$session_name unarchived $count domain(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Unarchived <strong>$count</strong> domain(s)";
|
||||
flash_alert("Unarchived <strong>$count</strong> domain(s)");
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_domains'])) {
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
if (isset($_POST['domain_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -311,20 +309,18 @@ if (isset($_POST['bulk_delete_domains'])) {
|
|||
$client_id = intval($row['domain_client_id']);
|
||||
|
||||
mysqli_query($mysqli, "DELETE FROM domains WHERE domain_id = $domain_id AND domain_client_id = $client_id");
|
||||
|
||||
// Logging
|
||||
|
||||
logAction("Domain", "Delete", "$session_name deleted domain $domain_name", $client_id);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Bulk Delete", "$session_name deleted $count domain(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> domain(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> domain(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_domains_csv'])) {
|
||||
|
|
@ -371,7 +367,6 @@ if (isset($_POST['export_domains_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Domain", "Export", "$session_name exported $num_rows domain(s)", $client_id);
|
||||
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -15,10 +15,9 @@ if (isset($_POST['add_calendar'])) {
|
|||
|
||||
$calendar_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Calendar", "Create", "$session_name created calendar $name", 0, $calendar_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Calendar <strong>$name</strong> created";
|
||||
flash_alert("Calendar <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -32,10 +31,9 @@ if (isset($_POST['edit_calendar'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE calendars SET calendar_name = '$name', calendar_color = '$color' WHERE calendar_id = $calendar_id");
|
||||
|
||||
// Logging
|
||||
logAction("Calendar", "Edit", "$session_name edited calendar $name", 0, $calendar_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Calendar <strong>$name</strong> edited";
|
||||
flash_alert("Calendar <strong>$name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -45,15 +43,12 @@ if (isset($_POST['add_event'])) {
|
|||
|
||||
require_once 'event_model.php';
|
||||
|
||||
|
||||
mysqli_query($mysqli,"INSERT INTO calendar_events SET event_title = '$title', event_location = '$location', event_description = '$description', event_start = '$start', event_end = '$end', event_repeat = '$repeat', event_calendar_id = $calendar_id, event_client_id = $client");
|
||||
|
||||
$event_id = mysqli_insert_id($mysqli);
|
||||
|
||||
//Get Calendar Name
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM calendars WHERE calendar_id = $calendar_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$calendar_name = sanitizeInput($row['calendar_name']);
|
||||
// Get Calendar Name
|
||||
$calendar_name = sanitizeInput(getFieldById('calendars', $calendar_id, 'calendar_name'));
|
||||
|
||||
//If email is checked
|
||||
if ($email_event == 1) {
|
||||
|
|
@ -106,10 +101,9 @@ if (isset($_POST['add_event'])) {
|
|||
|
||||
} // End mail IF
|
||||
|
||||
// Logging
|
||||
logAction("Calendar Event", "Create", "$session_name created a calendar event titled $title in calendar $calendar_name", $client, $event_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Event <strong>$title</strong> created in calendar <strong>$calendar_name</strong>";
|
||||
flash_alert("Event <strong>$title</strong> created in calendar <strong>$calendar_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -174,16 +168,16 @@ if (isset($_POST['edit_event'])) {
|
|||
|
||||
} // End mail IF
|
||||
|
||||
//Logging
|
||||
logAction("Calendar Event", "Edit", "$session_name edited calendar event $title", $client, $event_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Calendar event titled <strong>$title</strong> edited";
|
||||
flash_alert("Calendar event titled <strong>$title</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_event'])) {
|
||||
|
||||
$event_id = intval($_GET['delete_event']);
|
||||
|
||||
// Get Event Title
|
||||
|
|
@ -194,11 +188,9 @@ if (isset($_GET['delete_event'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM calendar_events WHERE event_id = $event_id");
|
||||
|
||||
// Logging
|
||||
logAction("Calendar Event", "Delete", "$session_name deleted calendar event $event_title", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Calendar event titled <strong>$event_title</strong> deleted";
|
||||
flash_alert("Calendar event titled <strong>$event_title</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -33,10 +33,9 @@ if (isset($_POST['add_expense'])) {
|
|||
}
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("Expense", "Create", "$session_name created expense $description", $client, $expense_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Expense added" . $extended_alert_description;
|
||||
flash_alert("Expense added" . $extended_alert_description);
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -46,13 +45,10 @@ if (isset($_POST['edit_expense'])) {
|
|||
|
||||
require_once 'expense_model.php';
|
||||
|
||||
|
||||
$expense_id = intval($_POST['expense_id']);
|
||||
|
||||
// Get old receipt
|
||||
$sql = mysqli_query($mysqli,"SELECT expense_receipt FROM expenses WHERE expense_id = $expense_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$existing_file_name = sanitizeInput($row['expense_receipt']);
|
||||
$existing_file_name = sanitizeInput(getFieldById('expenses', $expense_id, 'expense_receipt'));
|
||||
|
||||
// Check for and process attachment
|
||||
$extended_alert_description = '';
|
||||
|
|
@ -76,16 +72,16 @@ if (isset($_POST['edit_expense'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE expenses SET expense_date = '$date', expense_amount = $amount, expense_account_id = $account, expense_vendor_id = $vendor, expense_client_id = $client, expense_category_id = $category, expense_description = '$description', expense_reference = '$reference' WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Edit", "$session_name edited expense $description", $client, $expense_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Expense modified" . $extended_alert_description;
|
||||
flash_alert("Expense modified" . $extended_alert_description);
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_expense'])) {
|
||||
|
||||
$expense_id = intval($_GET['delete_expense']);
|
||||
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM expenses WHERE expense_id = $expense_id");
|
||||
|
|
@ -98,10 +94,9 @@ if (isset($_GET['delete_expense'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM expenses WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Delete", "$session_name deleted expense $expense_description", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Expense deleted";
|
||||
flash_alert("Expense deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -112,9 +107,7 @@ if (isset($_POST['bulk_edit_expense_category'])) {
|
|||
$category_id = intval($_POST['bulk_category_id']);
|
||||
|
||||
// Get Category name for logging and Notification
|
||||
$sql = mysqli_query($mysqli,"SELECT category_name FROM categories WHERE category_id = $category_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$category_name = sanitizeInput($row['category_name']);
|
||||
$category_name = sanitizeInput(getFieldById('categories', $category_id, 'category_name'));
|
||||
|
||||
// Assign category to Selected Expenses
|
||||
if (isset($_POST['expense_ids'])) {
|
||||
|
|
@ -133,18 +126,17 @@ if (isset($_POST['bulk_edit_expense_category'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE expenses SET expense_category_id = $category_id WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Edit", "$session_name assigned expense $expense_descrition to category $category_name", $client_id, $expense_id);
|
||||
|
||||
} // End Assign Loop
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Bulk Edit", "$session_name assigned $count expenses to category $category_name");
|
||||
|
||||
$_SESSION['alert_message'] = "You assigned expense category <strong>$category_name</strong> to <strong>$count</strong> expense(s)";
|
||||
flash_alert("You assigned expense category <strong>$category_name</strong> to <strong>$count</strong> expense(s)");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_edit_expense_account'])) {
|
||||
|
|
@ -152,9 +144,7 @@ if (isset($_POST['bulk_edit_expense_account'])) {
|
|||
$account_id = intval($_POST['bulk_account_id']);
|
||||
|
||||
// Get Account name for logging and Notification
|
||||
$sql = mysqli_query($mysqli,"SELECT account_name FROM accounts WHERE account_id = $account_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$account_name = sanitizeInput($row['account_name']);
|
||||
$account_name = sanitizeInput(getFieldById('accounts', $account_id, 'account_name'));
|
||||
|
||||
// Assign account to Selected Expenses
|
||||
if (isset($_POST['expense_ids'])) {
|
||||
|
|
@ -173,18 +163,17 @@ if (isset($_POST['bulk_edit_expense_account'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE expenses SET expense_account_id = $account_id WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Edit", "$session_name assigned expense $expense_descrition to account $account_name", $client_id, $expense_id);
|
||||
|
||||
} // End Assign Loop
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Bulk Edit", "$session_name assigned $count expense(s) to account $account_name");
|
||||
|
||||
$_SESSION['alert_message'] = "You assigned account <strong>$account_name</strong> to <strong>$count</strong> expense(s)";
|
||||
flash_alert("You assigned account <strong>$account_name</strong> to <strong>$count</strong> expense(s)");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_edit_expense_client'])) {
|
||||
|
|
@ -192,9 +181,7 @@ if (isset($_POST['bulk_edit_expense_client'])) {
|
|||
$client_id = intval($_POST['bulk_client_id']);
|
||||
|
||||
// Get Client name for logging and Notification
|
||||
$sql = mysqli_query($mysqli,"SELECT client_name FROM clients WHERE client_id = $client_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_name = sanitizeInput($row['client_name']);
|
||||
$client_name = sanitizeInput(getFieldById('clients', $client_id, 'client_name'));
|
||||
|
||||
// Assign Client to Selected Expenses
|
||||
if (isset($_POST['expense_ids'])) {
|
||||
|
|
@ -206,27 +193,27 @@ if (isset($_POST['bulk_edit_expense_client'])) {
|
|||
$expense_id = intval($expense_id);
|
||||
|
||||
// Get Expense Details for Logging
|
||||
$sql = mysqli_query($mysqli,"SELECT expense_description FROM expenses WHERE expense_id = $expense_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$expense_description = sanitizeInput($row['expense_description']);
|
||||
$expense_description = sanitizeInput(getFieldById('expenses', $expense_id, 'expense_description'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE expenses SET expense_client_id = $client_id WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Edit", "$session_name assigned expense $expense_descrition to client $client_name", $client_id, $expense_id);
|
||||
|
||||
} // End Assign Loop
|
||||
|
||||
$_SESSION['alert_message'] = "You assigned Client <b>$client_name</b> to <b>$expense_count</b> expenses";
|
||||
flash_alert("You assigned Client <b>$client_name</b> to <b>$expense_count</b> expenses");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_expenses'])) {
|
||||
validateAdminRole();
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
validateAdminRole();
|
||||
|
||||
if (isset($_POST['expense_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -246,24 +233,23 @@ if (isset($_POST['bulk_delete_expenses'])) {
|
|||
unlink("../uploads/expenses/$expense_receipt");
|
||||
|
||||
mysqli_query($mysqli, "DELETE FROM expenses WHERE expense_id = $expense_id");
|
||||
|
||||
// Logging
|
||||
|
||||
logAction("Expense", "Delete", "$session_name deleted expense $expense_descrition", $client_id);
|
||||
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Bulk Delete", "$session_name deleted $count expense(s)");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> expense(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> expense(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_expenses_csv'])) {
|
||||
|
||||
$date_from = sanitizeInput($_POST['date_from']);
|
||||
$date_to = sanitizeInput($_POST['date_to']);
|
||||
$account = intval($_POST['account']);
|
||||
|
|
@ -343,10 +329,10 @@ if (isset($_POST['export_expenses_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Expense", "Export", "$session_name exported $num_rows expense(s) to CSV file");
|
||||
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['create_recurring_expense'])) {
|
||||
|
|
@ -372,10 +358,9 @@ if (isset($_POST['create_recurring_expense'])) {
|
|||
|
||||
$recurring_expense_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Expense", "Create", "$session_name created recurring expense $description", $client_id, $recurring_expense_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Recurring Expense created";
|
||||
flash_alert("Recurring Expense created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -403,10 +388,9 @@ if (isset($_POST['edit_recurring_expense'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE recurring_expenses SET recurring_expense_frequency = $frequency, recurring_expense_day = $day, recurring_expense_month = $month, recurring_expense_next_date = '$start_date', recurring_expense_description = '$description', recurring_expense_reference = '$reference', recurring_expense_amount = $amount, recurring_expense_currency_code = '$session_company_currency', recurring_expense_vendor_id = $vendor, recurring_expense_client_id = $client_id, recurring_expense_category_id = $category, recurring_expense_account_id = $account WHERE recurring_expense_id = $recurring_expense_id");
|
||||
|
||||
//Logging
|
||||
logAction("Recurring Expense", "Edit", "$session_name edited recurring expense $description", $client_id, $recurring_expense_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Recurring Expense edited";
|
||||
flash_alert("Recurring Expense edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -423,11 +407,9 @@ if (isset($_GET['delete_recurring_expense'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM recurring_expenses WHERE recurring_expense_id = $recurring_expense_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Expense", "Delete", "$session_name deleted recurring expense $recurring_expense_description", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Recurring Expense deleted";
|
||||
flash_alert("Recurring Expense deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -60,8 +60,7 @@ if (isset($_POST['upload_files'])) {
|
|||
$dest_path = $upload_file_dir . $file_reference_name;
|
||||
|
||||
if (!move_uploaded_file($file_tmp_path, $dest_path)) {
|
||||
$_SESSION['alert_type'] = 'error';
|
||||
$_SESSION['alert_message'] = 'Error moving file to upload directory. Please ensure the directory is writable.';
|
||||
flash_alert('Error moving file to upload directory. Please ensure the directory is writable.', 'error');
|
||||
continue; // Skip processing this file
|
||||
}
|
||||
|
||||
|
|
@ -189,15 +188,14 @@ if (isset($_POST['upload_files'])) {
|
|||
mysqli_query($mysqli,"INSERT INTO asset_files SET asset_id = $asset_id, file_id = $file_id");
|
||||
}
|
||||
|
||||
// Log upload action
|
||||
logAction("File", "Upload", "$session_name uploaded file $file_name", $client_id, $file_id);
|
||||
$_SESSION['alert_message'] = "Uploaded file <strong>$file_name</strong>";
|
||||
|
||||
flash_alert("Uploaded file <strong>$file_name</strong>");
|
||||
}
|
||||
}
|
||||
|
||||
// Redirect after processing
|
||||
redirect();
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -218,10 +216,9 @@ if (isset($_POST['rename_file'])) {
|
|||
// file edit query
|
||||
mysqli_query($mysqli,"UPDATE files SET file_name = '$file_name' ,file_description = '$file_description' WHERE file_id = $file_id");
|
||||
|
||||
// Logging
|
||||
logAction("File", "Rename", "$session_name renamed file $old_file_name to $file_name", $client_id, $file_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Renamed file <strong>$old_file_name</strong> to <strong>$file_name</strong>";
|
||||
flash_alert("Renamed file <strong>$old_file_name</strong> to <strong>$file_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -241,16 +238,13 @@ if (isset($_POST['move_file'])) {
|
|||
$client_id = intval($row['file_client_id']);
|
||||
|
||||
// Get Folder Name for Logging
|
||||
$sql = mysqli_query($mysqli,"SELECT folder_name FROM folders WHERE folder_id = $folder_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$folder_name = sanitizeInput($row['folder_name']);
|
||||
$folder_name = sanitizeInput(getFieldById('folders', $folder_id, 'folder_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE files SET file_folder_id = $folder_id WHERE file_id = $file_id");
|
||||
|
||||
// Logging
|
||||
logAction("File", "Move", "$session_name moved file $file_name to $folder_name", $client_id, $file_id);
|
||||
|
||||
$_SESSION['alert_message'] = "File <strong>$file_name</strong> moved to <strong>$folder_name</strong>";
|
||||
flash_alert("File <strong>$file_name</strong> moved to <strong>$folder_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -270,11 +264,9 @@ if (isset($_GET['archive_file'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE files SET file_archived_at = NOW() WHERE file_id = $file_id");
|
||||
|
||||
//logging
|
||||
logAction("File", "Archive", "$session_name archived file $file_name", $client_id, $file_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "File <strong>$file_name</strong> archived";
|
||||
flash_alert("File <strong>$file_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -282,9 +274,10 @@ if (isset($_GET['archive_file'])) {
|
|||
|
||||
if (isset($_POST['delete_file'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
$file_id = intval($_POST['file_id']);
|
||||
|
||||
$sql_file = mysqli_query($mysqli,"SELECT * FROM files WHERE file_id = $file_id");
|
||||
|
|
@ -306,11 +299,9 @@ if (isset($_POST['delete_file'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM files WHERE file_id = $file_id");
|
||||
|
||||
//Logging
|
||||
logAction("File", "Delete", "$session_name deleted file $file_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "File <strong>$file_name</strong> deleted";
|
||||
flash_alert("File <strong>$file_name</strong> deleted", 'alert');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -318,9 +309,10 @@ if (isset($_POST['delete_file'])) {
|
|||
|
||||
if (isset($_POST['bulk_delete_files'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
// Delete file loop
|
||||
if (isset($_POST['file_ids'])) {
|
||||
|
||||
|
|
@ -350,15 +342,12 @@ if (isset($_POST['bulk_delete_files'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM files WHERE file_id = $file_id");
|
||||
|
||||
// Log each invidual file deletion
|
||||
logAction("File", "Delete", "$session_name deleted file $file_name", $client_id);
|
||||
}
|
||||
|
||||
// Log the bulk delete action
|
||||
logAction("File", "Bulk Delete", "$session_name deleted $file_count file(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "You deleted <strong>$file_count</strong> files";
|
||||
flash_alert("You deleted <strong>$file_count</strong> files", 'error');
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
@ -367,9 +356,10 @@ if (isset($_POST['bulk_delete_files'])) {
|
|||
|
||||
if (isset($_POST['bulk_move_files'])) {
|
||||
|
||||
enforceUserPermission('module_support', 2);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 2);
|
||||
|
||||
$folder_id = intval($_POST['bulk_folder_id']);
|
||||
|
||||
// Get folder name for logging and Notification
|
||||
|
|
@ -386,22 +376,19 @@ if (isset($_POST['bulk_move_files'])) {
|
|||
// Move Documents to Folder Loop
|
||||
foreach($_POST['file_ids'] as $file_id) {
|
||||
$file_id = intval($file_id);
|
||||
|
||||
// Get file name for logging
|
||||
$sql = mysqli_query($mysqli,"SELECT file_name FROM files WHERE file_id = $file_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$file_name = sanitizeInput($row['file_name']);
|
||||
$file_name = sanitizeInput(getFieldById('files', $file_id, 'file_name'));
|
||||
|
||||
// file move query
|
||||
mysqli_query($mysqli,"UPDATE files SET file_folder_id = $folder_id WHERE file_id = $file_id");
|
||||
|
||||
// Logging
|
||||
logAction("File", "Move", "$session_name moved file $file_name to folder $folder_name", $client_id, $file_id);
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("File", "Bulk Move", "$session_name moved $file_count file(s) to folder $folder_name", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Moved <strong>$file_count</strong> files to the folder <strong>$folder_name</strong>";
|
||||
flash_alert("Moved <strong>$file_count</strong> files to the folder <strong>$folder_name</strong>");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
@ -422,17 +409,14 @@ if (isset($_POST['link_asset_to_file'])) {
|
|||
$client_id = intval($row['file_client_id']);
|
||||
|
||||
// Get Asset Name for Logging
|
||||
$sql = mysqli_query($mysqli,"SELECT asset_name FROM assets WHERE asset_id = $asset_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$asset_name = sanitizeInput($row['asset_name']);
|
||||
$asset_name = sanitizeInput(getFieldById('assets', $asset_id, 'asset_name'));
|
||||
|
||||
// Contact add query
|
||||
mysqli_query($mysqli,"INSERT INTO asset_files SET asset_id = $asset_id, file_id = $file_id");
|
||||
|
||||
// Logging
|
||||
logAction("File", "Link", "$session_name linked asset $asset_name to file $file_name", $client_id, $file_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Asset <strong>$asset_name</strong> linked to File <strong>$file_name</strong>";
|
||||
flash_alert("Asset <strong>$asset_name</strong> linked to File <strong>$file_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -452,16 +436,13 @@ if (isset($_GET['unlink_asset_from_file'])) {
|
|||
$client_id = intval($row['file_client_id']);
|
||||
|
||||
// Get Asset Name for Logging
|
||||
$sql = mysqli_query($mysqli,"SELECT asset_name FROM assets WHERE asset_id = $asset_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$asset_name = sanitizeInput($row['asset_name']);
|
||||
$asset_name = sanitizeInput(getFieldById('assets', $asset_id, 'asset_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM asset_files WHERE asset_id = $asset_id AND file_id = $file_id");
|
||||
|
||||
//Logging
|
||||
logAction("File", "Link", "$session_name unlinked asset $asset_name from file $file_name", $client_id, $file_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Asset <strong>$asset_name</strong> unlinked from File <strong>$file_name</strong>";
|
||||
flash_alert("Asset <strong>$asset_name</strong> unlinked from File <strong>$file_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -19,10 +19,9 @@ if (isset($_POST['create_folder'])) {
|
|||
$add_folder = mysqli_query($mysqli,"INSERT INTO folders SET folder_name = '$folder_name', parent_folder = $parent_folder, folder_location = $folder_location, folder_client_id = $client_id");
|
||||
$folder_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Folder", "Create", "$session_name created folder $folder_name", $client_id, $folder_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Folder <strong>$folder_name</strong> created";
|
||||
flash_alert("Folder <strong>$folder_name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -44,10 +43,9 @@ if (isset($_POST['rename_folder'])) {
|
|||
// Folder edit query
|
||||
mysqli_query($mysqli,"UPDATE folders SET folder_name = '$folder_name' WHERE folder_id = $folder_id");
|
||||
|
||||
//Logging
|
||||
logAction("Folder", "Rename", "$session_name renamed folder $old_folder_name to $folder_name", $client_id, $folder_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Folder <strong>$old_folder_name</strong> renamed to <strong>$folder_name</strong>";
|
||||
flash_alert("Folder <strong>$old_folder_name</strong> renamed to <strong>$folder_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -75,11 +73,9 @@ if (isset($_GET['delete_folder'])) {
|
|||
mysqli_query($mysqli,"UPDATE documents SET document_folder_id = 0 WHERE document_id = $document_id");
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("Folder", "Delete", "$session_name deleted folder $folder_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Folder <strong>$folder_name</strong> deleted";
|
||||
flash_alert("Folder <strong>$folder_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -12,10 +12,8 @@ if (isset($_POST['add_invoice'])) {
|
|||
|
||||
$client_id = intval($_POST['client']);
|
||||
|
||||
//Get Net Terms
|
||||
$sql = mysqli_query($mysqli,"SELECT client_net_terms FROM clients WHERE client_id = $client_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_net_terms = intval($row['client_net_terms']);
|
||||
// Get Net Terms
|
||||
$client_net_terms = intval(getFieldById('clients', $client_id, 'client_net_terms'));
|
||||
|
||||
//Get the last Invoice Number and add 1 for the new invoice number
|
||||
$invoice_number = $config_invoice_next_number;
|
||||
|
|
@ -31,14 +29,14 @@ if (isset($_POST['add_invoice'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Invoice created', history_invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Create", "$session_name created Invoice $config_invoice_prefix$invoice_number - $scope", $client_id, $invoice_id);
|
||||
|
||||
customAction('invoice_create', $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice <strong>$config_invoice_prefix$invoice_number</strong> created";
|
||||
flash_alert("Invoice <strong>$config_invoice_prefix$invoice_number</strong> created");
|
||||
|
||||
redirect("invoice.php?invoice_id=$invoice_id");
|
||||
|
||||
header("Location: invoice.php?invoice_id=$invoice_id");
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_invoice'])) {
|
||||
|
|
@ -67,10 +65,9 @@ if (isset($_POST['edit_invoice'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE invoices SET invoice_scope = '$scope', invoice_date = '$date', invoice_due = '$due', invoice_category_id = $category, invoice_discount_amount = '$invoice_discount', invoice_amount = '$invoice_amount' WHERE invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name edited Invoice $invoice_prefix$invoice_number - $scope", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice <strong>$invoice_prefix$invoice_number</strong> edited";
|
||||
flash_alert("Invoice <strong>$invoice_prefix$invoice_number</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -127,14 +124,13 @@ if (isset($_POST['add_invoice_copy'])) {
|
|||
mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = $item_price, item_subtotal = $item_subtotal, item_tax = $item_tax, item_total = $item_total, item_order = $item_order, item_tax_id = $tax_id, item_invoice_id = $new_invoice_id");
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("Invoice", "Create", "$session_name created new Invoice $config_invoice_prefix$new_invoice_number from $old_invoice_prefix$old_invoice_prefix", $client_id, $new_invoice_id);
|
||||
|
||||
customAction('invoice_create', $new_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Created new Invoice <strong>$config_invoice_prefix$new_invoice_number</strong> from <strong>$old_invoice_prefix$old_invoice_prefix</strong>";
|
||||
flash_alert("Created new Invoice <strong>$config_invoice_prefix$new_invoice_number</strong> from <strong>$old_invoice_prefix$old_invoice_prefix</strong>");
|
||||
|
||||
header("Location: invoice.php?invoice_id=$new_invoice_id");
|
||||
redirect("invoice.php?invoice_id=$new_invoice_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -182,12 +178,11 @@ if (isset($_POST['add_invoice_recurring'])) {
|
|||
mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = $item_price, item_subtotal = $item_subtotal, item_tax = $item_tax, item_total = $item_total, item_order = $item_order, item_tax_id = $tax_id, item_recurring_invoice_id = $recurring_invoice_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Create", "$session_name created recurring Invoice from Invoice $invoice_prefix$invoice_number", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Created recurring Invoice from Invoice <strong>$invoice_prefix$invoice_number</strong>";
|
||||
flash_alert("Created recurring Invoice from Invoice <strong>$invoice_prefix$invoice_number</strong>");
|
||||
|
||||
header("Location: recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id");
|
||||
redirect("recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -210,12 +205,11 @@ if (isset($_POST['add_recurring_invoice'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Active', history_description = 'Recurring Invoice created', history_recurring_invoice_id = $recurring_invoice_id");
|
||||
|
||||
//Logging
|
||||
logAction("Recurring Invoice", "Create", "$session_name created recurring invoice $config_recurring_invoice_prefix$recurring_invoice_number - $scope", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Recurring Invoice <strong>$config_recurring_invoice_prefix$recurring_invoice_number</strong> created";
|
||||
flash_alert("Recurring Invoice <strong>$config_recurring_invoice_prefix$recurring_invoice_number</strong> created");
|
||||
|
||||
header("Location: recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id");
|
||||
redirect("recurring_invoice.php?recurring_invoice_id=$recurring_invoice_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -249,16 +243,16 @@ if (isset($_POST['edit_recurring_invoice'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = '$status', history_description = 'Recurring Invoice edited', history_recurring_invoice_id = $recurring_invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Edit", "$session_name edited recurring invoice $recurring_invoice_prefix$recurring_invoice_number - $scope", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong> edited";
|
||||
flash_alert("Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_recurring_invoice'])) {
|
||||
|
||||
$recurring_invoice_id = intval($_GET['delete_recurring_invoice']);
|
||||
|
||||
// Get Recurring Invoice Details and Client ID for Logging
|
||||
|
|
@ -285,11 +279,9 @@ if (isset($_GET['delete_recurring_invoice'])) {
|
|||
mysqli_query($mysqli,"DELETE FROM history WHERE history_id = $history_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Delete", "$session_name deleted recurring invoice $recurring_invoice_prefix$recurring_invoice_number - $recurring_invoice_scope", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong> deleted";
|
||||
flash_alert("Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -339,10 +331,9 @@ if (isset($_POST['add_recurring_invoice_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE recurring_invoices SET recurring_invoice_amount = $recurring_invoice_amount WHERE recurring_invoice_id = $recurring_invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Edit", "$session_name added item $name to recurring invoice $recurring_invoice_prefix$recurring_invoice_number", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Item <srrong>$name</strong> added to Recurring Invoice";
|
||||
flash_alert("Item <srrong>$name</strong> added to Recurring Invoice");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -362,16 +353,16 @@ if (isset($_POST['recurring_invoice_note'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE recurring_invoices SET recurring_invoice_note = '$note' WHERE recurring_invoice_id = $recurring_invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Edit", "$session_name added note to recurring invoice $recurring_invoice_prefix$recurring_invoice_number", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Notes added";
|
||||
flash_alert("Notes added");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_recurring_invoice_item'])) {
|
||||
|
||||
$item_id = intval($_GET['delete_recurring_invoice_item']);
|
||||
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_id = $item_id");
|
||||
|
|
@ -394,11 +385,9 @@ if (isset($_GET['delete_recurring_invoice_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Edit", "$session_name removed item $item_name from recurring invoice $recurring_invoice_prefix$recurring_invoice_number", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Item <strong>$item_name</strong> removed";
|
||||
flash_alert("Item <strong>$item_name</strong> removed", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -419,14 +408,14 @@ if (isset($_GET['mark_invoice_sent'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Invoice marked sent', history_invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name marked invoice $invoice_prefix$invoice_number sent", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice marked sent";
|
||||
flash_alert("Invoice marked sent");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['mark_invoice_non-billable'])) {
|
||||
|
||||
$invoice_id = intval($_GET['mark_invoice_non-billable']);
|
||||
|
|
@ -442,10 +431,9 @@ if (isset($_GET['mark_invoice_non-billable'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Non-Billable', history_description = 'INVOICE marked Non-Billable', history_invoice_id = $invoice_id");
|
||||
|
||||
//Logging
|
||||
logAction("Invoice", "Edit", "$session_name marked invoice $invoice_prefix$invoice_number Non-Billable", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice marked Non-Billable";
|
||||
flash_alert("Invoice marked Non-Billable");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -466,17 +454,16 @@ if (isset($_GET['cancel_invoice'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Cancelled', history_description = 'Invoice cancelled', history_invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name cancelled invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Invoice <strong>$invoice_prefix$invoice_number</strong> cancelled";
|
||||
flash_alert("Invoice <strong>$invoice_prefix$invoice_number</strong> cancelled", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_invoice'])) {
|
||||
|
||||
$invoice_id = intval($_GET['delete_invoice']);
|
||||
|
||||
// Get Invoice Number and Prefix and Client ID for Logging
|
||||
|
|
@ -512,17 +499,16 @@ if (isset($_GET['delete_invoice'])) {
|
|||
//unlink tickets from invoice
|
||||
mysqli_query($mysqli,"UPDATE tickets SET ticket_invoice_id = 0 WHERE ticket_invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Delete", "$session_name deleted invoice $invoice_prefix$invoice_number", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Invoice <strong>$invoice_prefix$invoice_number</strong> deleted";
|
||||
flash_alert("Invoice <strong>$invoice_prefix$invoice_number</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['add_invoice_item'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
$invoice_id = intval($_POST['invoice_id']);
|
||||
|
|
@ -567,16 +553,16 @@ if (isset($_POST['add_invoice_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE invoices SET invoice_amount = $new_invoice_amount WHERE invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name added item $name to invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Item <strong>$name</strong> added to invoice";
|
||||
flash_alert("Item <strong>$name</strong> added to invoice");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['invoice_note'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
$invoice_id = intval($_POST['invoice_id']);
|
||||
|
|
@ -593,13 +579,14 @@ if (isset($_POST['invoice_note'])) {
|
|||
|
||||
logAction("Invoice", "Edit", "$session_name added note to invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Notes added";
|
||||
flash_alert("Notes added");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_item'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
$item_id = intval($_POST['item_id']);
|
||||
|
|
@ -647,7 +634,6 @@ if (isset($_POST['edit_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE invoices SET invoice_amount = $new_invoice_amount WHERE invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name edited item $name on invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
} elseif ($quote_id > 0) {
|
||||
|
|
@ -666,7 +652,6 @@ if (isset($_POST['edit_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE quotes SET quote_amount = $new_quote_amount WHERE quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name edited item $name on quote $quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
} else {
|
||||
|
|
@ -690,13 +675,14 @@ if (isset($_POST['edit_item'])) {
|
|||
|
||||
}
|
||||
|
||||
$_SESSION['alert_message'] = "Item <strong>$name</strong> updated";
|
||||
flash_alert("Item <strong>$name</strong> updated");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_invoice_item'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
$item_id = intval($_GET['delete_invoice_item']);
|
||||
|
|
@ -721,17 +707,16 @@ if (isset($_GET['delete_invoice_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Delete", "$session_name removed item $item_name from invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Item <strong>$item_name</strong> removed from invoice";
|
||||
flash_alert("Item <strong>$item_name</strong> removed from invoice", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['add_payment'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
enforceUserPermission('module_financial', 2);
|
||||
|
||||
|
|
@ -747,7 +732,7 @@ if (isset($_POST['add_payment'])) {
|
|||
|
||||
//Check to see if amount entered is greater than the balance of the invoice
|
||||
if ($amount > $balance) {
|
||||
$_SESSION['alert_message'] = "Payment is more than the balance";
|
||||
flash_alert("Payment can not be more than the balance", 'error');
|
||||
redirect();
|
||||
} else {
|
||||
mysqli_query($mysqli,"INSERT INTO payments SET payment_date = '$date', payment_amount = $amount, payment_currency_code = '$currency_code', payment_account_id = $account, payment_method = '$payment_method', payment_reference = '$reference', payment_invoice_id = $invoice_id");
|
||||
|
|
@ -883,15 +868,16 @@ if (isset($_POST['add_payment'])) {
|
|||
//Add Payment to History
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = '$invoice_status', history_description = 'Payment added', history_invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Payment", "Payment amount of " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . " added to invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
customAction('invoice_pay', $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] .= "Payment amount <strong>" . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "</strong> added";
|
||||
flash_alert("Payment amount <strong>" . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "</strong> added");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['apply_credit'])) {
|
||||
|
|
@ -913,7 +899,7 @@ if (isset($_POST['apply_credit'])) {
|
|||
|
||||
//Check to see if amount entered is greater than the balance of the invoice
|
||||
if ($amount > $invoice_balance) {
|
||||
$_SESSION['alert_message'] = "Credit is more than the balance";
|
||||
flash_alert("Credit can not be more than the balance", 'alert');
|
||||
redirect();
|
||||
}
|
||||
|
||||
|
|
@ -957,16 +943,18 @@ if (isset($_POST['apply_credit'])) {
|
|||
|
||||
customAction('invoice_pay', $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] .= "Credit amount <strong>" . numfmt_format_currency($currency_format, $amount, $session_company_currency) . "</strong> applied";
|
||||
flash_alert("Credit amount <strong>" . numfmt_format_currency($currency_format, $amount, $session_company_currency) . "</strong> applied");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['add_payment_stripe'])) {
|
||||
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
enforceUserPermission('module_financial', 2);
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
$invoice_id = intval($_GET['invoice_id']);
|
||||
|
||||
|
|
@ -1016,20 +1004,14 @@ if (isset($_GET['add_payment_stripe'])) {
|
|||
|
||||
// Sanity checks
|
||||
if (!$config_stripe_enable || !$stripe_id || !$stripe_pm) {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Stripe not enabled or no client card saved";
|
||||
flash_alert("Stripe not enabled or no client card saved", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
} elseif ($invoice_status !== 'Sent' && $invoice_status !== 'Viewed') {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Invalid invoice state (draft/partial/paid/not billable)";
|
||||
flash_alert("Invalid invoice state (draft/partial/paid/not billable)", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
} elseif ($invoice_amount == 0) {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Invalid invoice amount";
|
||||
flash_alert("Invalid invoice amount", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
// Initialize Stripe
|
||||
|
|
@ -1136,21 +1118,23 @@ if (isset($_GET['add_payment_stripe'])) {
|
|||
logAction("Invoice", "Payment", "$session_name initiated Stripe payment amount of " . numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) . " added to invoice $invoice_prefix$invoice_number - $pi_id $extended_log_desc", $client_id, $invoice_id);
|
||||
customAction('invoice_pay', $invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] .= "Payment amount <strong>" . numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) . "</strong> added";
|
||||
flash_alert("Payment amount <strong>" . numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code) . "</strong> added");
|
||||
|
||||
redirect();
|
||||
|
||||
} else {
|
||||
mysqli_query($mysqli, "INSERT INTO history SET history_status = 'Payment failed', history_description = 'Stripe pay failed due to payment error', history_invoice_id = $invoice_id");
|
||||
|
||||
logAction("Invoice", "Payment", "Failed online payment amount of invoice $invoice_prefix$invoice_number due to Stripe payment error", $client_id, $invoice_id);
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Payment failed";
|
||||
flash_alert("Payment failed", 'error');
|
||||
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['add_bulk_payment'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
enforceUserPermission('module_financial', 2);
|
||||
|
||||
|
|
@ -1167,10 +1151,8 @@ if (isset($_POST['add_bulk_payment'])) {
|
|||
|
||||
// Check if bulk_payment_amount exceeds total_account_balance
|
||||
if ($bulk_payment_amount > $total_account_balance) {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Payment exceeds Client Balance.";
|
||||
flash_alert("Payment exceeds Client Balance.", 'error');
|
||||
redirect();
|
||||
exit;
|
||||
}
|
||||
|
||||
// Get Invoices
|
||||
|
|
@ -1271,20 +1253,20 @@ if (isset($_POST['add_bulk_payment'])) {
|
|||
// Email Logging
|
||||
logAction("Payment", "Email", "Bulk Payment receipt for multiple Invoices queued to $contact_email Email ID: $email_id", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] .= "Email receipt queued and ";
|
||||
$alert_message .= "Email receipt queued and ";
|
||||
|
||||
} // End Email
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Payment", "Bulk Payment amount of " . numfmt_format_currency($currency_format, $bulk_payment_amount_static, $currency_code) . " applied to multiple invoices", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] .= "Bulk Payment added";
|
||||
flash_alert("$alert_message Bulk Payment added");
|
||||
|
||||
// Redirect Back
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_payment'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
enforceUserPermission('module_financial', 2);
|
||||
|
||||
|
|
@ -1326,13 +1308,11 @@ if (isset($_GET['delete_payment'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM payments WHERE payment_id = $payment_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name deleted Payment on Invoice $invoice_prefix$invoice_number", $client_id, $invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Payment deleted";
|
||||
flash_alert("Payment deleted", 'error');
|
||||
if ($config_stripe_enable) {
|
||||
$_SESSION['alert_message'] = "Payment deleted - Stripe payments must be manually refunded in Stripe";
|
||||
flash_alert("Payment deleted - Stripe payments must be manually refunded in Stripe", 'error');
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
@ -1340,6 +1320,7 @@ if (isset($_GET['delete_payment'])) {
|
|||
}
|
||||
|
||||
if (isset($_GET['email_invoice'])) {
|
||||
|
||||
$invoice_id = intval($_GET['email_invoice']);
|
||||
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM invoices
|
||||
|
|
@ -1416,7 +1397,8 @@ if (isset($_GET['email_invoice'])) {
|
|||
// Get Email ID for reference
|
||||
$email_id = mysqli_insert_id($mysqli);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice sent to mail queue! <a class='text-bold text-light' href='admin_mail_queue.php'>Check Admin > Mail queue</a>";
|
||||
flash_alert("Invoice sent to mail queue! <a class='text-bold text-light' href='admin_mail_queue.php'>Check Admin > Mail queue</a>");
|
||||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Invoice sent to the mail queue ID: $email_id', history_invoice_id = $invoice_id");
|
||||
|
||||
// Don't change the status to sent if the status is anything but draft
|
||||
|
|
@ -1424,7 +1406,6 @@ if (isset($_GET['email_invoice'])) {
|
|||
mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent' WHERE invoice_id = $invoice_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Email", "$session_name Emailed $contact_email Invoice $invoice_prefix$invoice_number Email queued to Email ID: $email_id", $client_id, $invoice_id);
|
||||
|
||||
// Send copies of the invoice to any additional billing contacts
|
||||
|
|
@ -1454,7 +1435,6 @@ if (isset($_GET['email_invoice'])) {
|
|||
]
|
||||
];
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Email", "$session_name Emailed $billing_contact_email Invoice $invoice_prefix$invoice_number Email queued Email ID: $email_id", $client_id, $invoice_id);
|
||||
|
||||
}
|
||||
|
|
@ -1485,21 +1465,21 @@ if (isset($_POST['add_recurring_payment'])) {
|
|||
// Get Payment ID for reference
|
||||
$recurring_payment_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Auto Payment", "$session_name created Auto Pay for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number in the amount of " . numfmt_format_currency($currency_format, $recurring_invoice_amount, $currency_code), $client_id, $recurring_invoice_id);
|
||||
|
||||
|
||||
$_SESSION['alert_message'] = "Automatic Payment created for <strong>$recurring_invoice_prefix$recurring_invoice_number</strong>";
|
||||
flash_alert("Automatic Payment created for <strong>$recurring_invoice_prefix$recurring_invoice_number</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_recurring_payment'])) {
|
||||
|
||||
$recurring_payment_id = intval($_GET['delete_recurring_payment']);
|
||||
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM recurring_payments WHERE recurring_payment_id = $recurring_payment_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$recurring_invoice_id = intval($row['recurring_payment_recurring_invoice_id']);
|
||||
// Get recurring Invoice ID
|
||||
$recurring_invoice_id = intval(getFieldById('recurring_payments', $recurring_payment_id, 'recurring_payment_recurring_invoice_id'));
|
||||
|
||||
// Get the invoice total and details
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM recurring_invoices WHERE recurring_invoice_id = $recurring_invoice_id");
|
||||
|
|
@ -1510,17 +1490,16 @@ if (isset($_GET['delete_recurring_payment'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM recurring_payments WHERE recurring_payment_id = $recurring_payment_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Auto Payment", "$session_name removed auto Pay from Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Auto Payment Removed for Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong>";
|
||||
flash_alert("Auto Payment Removed for Recurring Invoice <strong>$recurring_invoice_prefix$recurring_invoice_number</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['force_recurring'])) {
|
||||
|
||||
$recurring_invoice_id = intval($_GET['force_recurring']);
|
||||
|
||||
$sql_recurring_invoices = mysqli_query($mysqli,"SELECT * FROM recurring_invoices, clients WHERE client_id = recurring_invoice_client_id AND recurring_invoice_id = $recurring_invoice_id");
|
||||
|
|
@ -1664,12 +1643,11 @@ if (isset($_GET['force_recurring'])) {
|
|||
|
||||
} //End Recurring Invoices Loop
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Create", "$session_name forced recurring invoice into an invoice", $client_id, $new_invoice_id);
|
||||
|
||||
customAction('invoice_create', $new_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Recurring Invoice Forced";
|
||||
flash_alert("Recurring Invoice Forced");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -1710,25 +1688,24 @@ if (isset($_POST['set_recurring_payment'])) {
|
|||
// Get Payment ID for reference
|
||||
$recurring_payment_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Auto Payment", "$session_name created Auto Pay for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number in the amount of " . numfmt_format_currency($currency_format, $recurring_invoice_amount, $recurring_invoice_currency_code), $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Automatic Payment <strong>$saved_payment_description</strong> enabled for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number";
|
||||
flash_alert("Automatic Payment <strong>$saved_payment_description</strong> enabled for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number");
|
||||
} else {
|
||||
// Delete
|
||||
mysqli_query($mysqli, "DELETE FROM recurring_payments WHERE recurring_payment_recurring_invoice_id = $recurring_invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Auto Payment", "$session_name removed Auto Pay for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number in the amount of " . numfmt_format_currency($currency_format, $recurring_invoice_amount, $recurring_invoice_currency_code), $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Automatic Payment <strong>Disabled</strong> for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number";
|
||||
flash_alert("Automatic Payment <strong>Disabled</strong> for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number", 'error');
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_invoices_csv'])) {
|
||||
|
||||
if (isset($_POST['client_id'])) {
|
||||
$client_id = intval($_POST['client_id']);
|
||||
$client_query = "AND invoice_client_id = $client_id";
|
||||
|
|
@ -1781,7 +1758,6 @@ if (isset($_POST['export_invoices_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Export", "$session_name exported $num_rows invoices to CSV file");
|
||||
|
||||
exit;
|
||||
|
|
@ -1789,6 +1765,7 @@ if (isset($_POST['export_invoices_csv'])) {
|
|||
}
|
||||
|
||||
if (isset($_POST['export_client_recurring_invoice_csv'])) {
|
||||
|
||||
$client_id = intval($_POST['client_id']);
|
||||
|
||||
//get records from database
|
||||
|
|
@ -1829,7 +1806,6 @@ if (isset($_POST['export_client_recurring_invoice_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Export", "$session_name exported $num_rows recurring invoices to CSV file");
|
||||
|
||||
exit;
|
||||
|
|
@ -1837,6 +1813,7 @@ if (isset($_POST['export_client_recurring_invoice_csv'])) {
|
|||
}
|
||||
|
||||
if (isset($_POST['export_payments_csv'])) {
|
||||
|
||||
if (isset($_POST['client_id'])) {
|
||||
$client_id = intval($_POST['client_id']);
|
||||
$client_query = "AND invoice_client_id = $client_id";
|
||||
|
|
@ -1876,7 +1853,6 @@ if (isset($_POST['export_payments_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Payments", "Export", "$session_name exported $num_rows payments to CSV file");
|
||||
|
||||
exit;
|
||||
|
|
@ -1884,6 +1860,7 @@ if (isset($_POST['export_payments_csv'])) {
|
|||
}
|
||||
|
||||
if (isset($_GET['recurring_invoice_email_notify'])) {
|
||||
|
||||
$recurring_invoice_email_notify = intval($_GET['recurring_invoice_email_notify']);
|
||||
$recurring_invoice_id = intval($_GET['recurring_invoice_id']);
|
||||
|
||||
|
|
@ -1902,35 +1879,38 @@ if (isset($_GET['recurring_invoice_email_notify'])) {
|
|||
$notify_wording = "Off";
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Recurring Invoice", "Edit", "$session_name turned $notify_wording Email Notifications for Recurring Invoice $recurring_invoice_prefix$recurring_invoice_number", $client_id, $recurring_invoice_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Email Notifications <strong>$notify_wording</strong>";
|
||||
flash_alert("Email Notifications <strong>$notify_wording</strong>", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['link_invoice_to_ticket'])) {
|
||||
|
||||
$invoice_id = intval($_POST['invoice_id']);
|
||||
$ticket_id = intval($_POST['ticket_id']);
|
||||
|
||||
mysqli_query($mysqli,"UPDATE invoices SET invoice_ticket_id = $ticket_id WHERE invoice_id = $invoice_id");
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice linked to ticket";
|
||||
flash_alert("Invoice linked to ticket");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['add_ticket_to_invoice'])) {
|
||||
|
||||
$invoice_id = intval($_POST['invoice_id']);
|
||||
$ticket_id = intval($_POST['ticket_id']);
|
||||
|
||||
mysqli_query($mysqli,"UPDATE tickets SET ticket_invoice_id = $invoice_id WHERE ticket_id = $ticket_id");
|
||||
|
||||
$_SESSION['alert_message'] = "Ticket linked to invoice";
|
||||
flash_alert("Ticket linked to invoice");
|
||||
|
||||
redirect("post.php?add_ticket_to_invoice=$invoice_id");
|
||||
|
||||
header("Location: post.php?add_ticket_to_invoice=$invoice_id");
|
||||
}
|
||||
|
||||
if (isset($_GET['export_invoice_pdf'])) {
|
||||
|
|
@ -2148,6 +2128,7 @@ if (isset($_GET['export_invoice_pdf'])) {
|
|||
|
||||
$filename = preg_replace('/[^A-Za-z0-9_\-]/', '_', "{$invoice_date}_{$company_name}_{$client_name}_Invoice_{$invoice_prefix}{$invoice_number}");
|
||||
$pdf->Output("$filename.pdf", 'I');
|
||||
|
||||
exit;
|
||||
|
||||
}
|
||||
|
|
@ -2157,9 +2138,7 @@ if (isset($_POST['bulk_edit_invoice_category'])) {
|
|||
$category_id = intval($_POST['bulk_category_id']);
|
||||
|
||||
// Get Category name for logging and Notification
|
||||
$sql = mysqli_query($mysqli,"SELECT category_name FROM categories WHERE category_id = $category_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$category_name = sanitizeInput($row['category_name']);
|
||||
$category_name = sanitizeInput(getFieldById('categories', $category_id, 'category_name'));
|
||||
|
||||
// Assign Income category to Selected Invoices
|
||||
if (isset($_POST['invoice_ids'])) {
|
||||
|
|
@ -2180,16 +2159,15 @@ if (isset($_POST['bulk_edit_invoice_category'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE invoices SET invoice_category_id = $category_id WHERE invoice_id = $invoice_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Edit", "$session_name assigned Invoice $invoice_prefix$invoice_number to category $category_name", $client_id, $invoice_id);
|
||||
|
||||
} // End Assign Loop
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Bulk Edit", "$session_name assigned $count invoices to category $category_name");
|
||||
|
||||
$_SESSION['alert_message'] = "Assigned income category <strong>$category_name</strong> to <strong>$count</strong> invoice(s)";
|
||||
flash_alert("Assigned income category <strong>$category_name</strong> to <strong>$count</strong> invoice(s)");
|
||||
}
|
||||
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ if(isset($_POST['add_location'])){
|
|||
|
||||
require_once 'location_model.php';
|
||||
|
||||
|
||||
if(!file_exists("../uploads/clients/$client_id")) {
|
||||
mkdir("../uploads/clients/$client_id");
|
||||
}
|
||||
|
|
@ -51,10 +50,9 @@ if(isset($_POST['add_location'])){
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Create", "$session_name created location $name", $client_id, $location_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Location <strong>$name</strong> created.";
|
||||
flash_alert("Location <strong>$name</strong> created.");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -66,7 +64,6 @@ if(isset($_POST['edit_location'])){
|
|||
|
||||
require_once 'location_model.php';
|
||||
|
||||
|
||||
$location_id = intval($_POST['location_id']);
|
||||
|
||||
// Get old location photo
|
||||
|
|
@ -74,7 +71,6 @@ if(isset($_POST['edit_location'])){
|
|||
$row = mysqli_fetch_array($sql);
|
||||
$existing_file_name = sanitizeInput($row['location_photo']);
|
||||
|
||||
|
||||
if(!file_exists("../uploads/clients/$client_id")) {
|
||||
mkdir("../uploads/clients/$client_id");
|
||||
}
|
||||
|
|
@ -116,10 +112,9 @@ if(isset($_POST['edit_location'])){
|
|||
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Edit", "$session_name edited location $name", $client_id, $location_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Location <strong>$name</strong> updated";
|
||||
flash_alert("Location <strong>$name</strong> updated");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -139,11 +134,9 @@ if(isset($_GET['archive_location'])){
|
|||
|
||||
mysqli_query($mysqli,"UPDATE locations SET location_archived_at = NOW() WHERE location_id = $location_id");
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Archive", "$session_name archived location $location_name", $client_id, $location_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Location <strong>$location_name</strong> archived";
|
||||
flash_alert("Location <strong>$location_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -163,12 +156,12 @@ if(isset($_GET['unarchive_location'])){
|
|||
|
||||
mysqli_query($mysqli,"UPDATE locations SET location_archived_at = NULL WHERE location_id = $location_id");
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Unarchive", "$session_name unarchived location $location_name", $client_id, $location_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Location <strong>$location_name</strong> restored";
|
||||
flash_alert("Location <strong>$location_name</strong> restored");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if(isset($_GET['delete_location'])){
|
||||
|
|
@ -185,12 +178,9 @@ if(isset($_GET['delete_location'])){
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM locations WHERE location_id = $location_id");
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Delete", "$session_name deleted location $location_name", $client_id);
|
||||
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Location <strong>$location_name</strong> deleted";
|
||||
flash_alert("Location <strong>$location_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -232,15 +222,14 @@ if (isset($_POST['bulk_assign_location_tags'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Edit", "$session_name assigned tags to location $location_name", $client_id, $location_id);
|
||||
|
||||
} // End Assign Location Loop
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Bulk Edit", "$session_name assigned tags to $count location(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Assigned tags for <strong>$count</strong> locations";
|
||||
flash_alert("Assigned tags for <strong>$count</strong> locations");
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
|
@ -248,6 +237,7 @@ if (isset($_POST['bulk_assign_location_tags'])) {
|
|||
}
|
||||
|
||||
if (isset($_POST['bulk_archive_locations'])) {
|
||||
|
||||
enforceUserPermission('module_client', 2);
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
|
|
@ -278,21 +268,22 @@ if (isset($_POST['bulk_archive_locations'])) {
|
|||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Location", "Bulk Archive", "$session_name archived $count location(s)");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Archived <strong>$count</strong> location(s)";
|
||||
flash_alert("Archived <strong>$count</strong> location(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_unarchive_locations'])) {
|
||||
enforceUserPermission('module_client', 2);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_client', 2);
|
||||
|
||||
if (isset($_POST['location_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -311,25 +302,26 @@ if (isset($_POST['bulk_unarchive_locations'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE locations SET location_archived_at = NULL WHERE location_id = $location_id");
|
||||
|
||||
// Individual logging
|
||||
logAction("Location", "Unarchive", "$session_name unarchived location $location_name", $client_id, $location_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Location", "Bulk Unarchive", "$session_name unarchived $count location(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Unarchived <strong>$count</strong> location(s)";
|
||||
flash_alert("Unarchived <strong>$count</strong> location(s)");
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_locations'])) {
|
||||
enforceUserPermission('module_client', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_client', 3);
|
||||
|
||||
if (isset($_POST['location_ids'])) {
|
||||
|
||||
// Get Selected Count
|
||||
|
|
@ -348,23 +340,22 @@ if (isset($_POST['bulk_delete_locations'])) {
|
|||
|
||||
mysqli_query($mysqli, "DELETE FROM locations WHERE location_id = $location_id AND location_client_id = $client_id");
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Delete", "$session_name deleted location $location_name", $client_id);
|
||||
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Bulk Delete", "$session_name deleted $count location(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> location(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> location(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if(isset($_POST['export_locations_csv'])){
|
||||
|
||||
if (isset($_POST['client_id'])) {
|
||||
$client_id = intval($_POST['client_id']);
|
||||
$client_query = "AND location_client_id = $client_id";
|
||||
|
|
@ -406,7 +397,6 @@ if(isset($_POST['export_locations_csv'])){
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Export", "$session_name exported $num_rows location(s) to a CSV file", $client_id);
|
||||
|
||||
exit;
|
||||
|
|
@ -423,10 +413,8 @@ if (isset($_POST["import_locations_csv"])) {
|
|||
if (!empty($_FILES["file"]["tmp_name"])) {
|
||||
$file_name = $_FILES["file"]["tmp_name"];
|
||||
} else {
|
||||
$_SESSION['alert_message'] = "Please select a file to upload.";
|
||||
$_SESSION['alert_type'] = "error";
|
||||
flash_alert("Please select a file to upload.", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
//Check file is CSV
|
||||
|
|
@ -434,13 +422,13 @@ if (isset($_POST["import_locations_csv"])) {
|
|||
$allowed_file_extensions = array('csv');
|
||||
if(in_array($file_extension,$allowed_file_extensions) === false){
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad file extension";
|
||||
flash_alert("Bad file extension", 'error');
|
||||
}
|
||||
|
||||
//Check file isn't empty
|
||||
elseif($_FILES["file"]["size"] < 1){
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad file size (empty?)";
|
||||
flash_alert("Bad file size (empty?)", 'error');
|
||||
}
|
||||
|
||||
//(Else)Check column count
|
||||
|
|
@ -448,7 +436,7 @@ if (isset($_POST["import_locations_csv"])) {
|
|||
$f_columns = fgetcsv($f, 1000, ",");
|
||||
if(!$error & count($f_columns) != 8) {
|
||||
$error = true;
|
||||
$_SESSION['alert_message'] = "Bad column count.";
|
||||
flash_alert("Bad column count.", 'error');
|
||||
}
|
||||
|
||||
//Else, parse the file
|
||||
|
|
@ -498,17 +486,17 @@ if (isset($_POST["import_locations_csv"])) {
|
|||
}
|
||||
fclose($file);
|
||||
|
||||
// Logging
|
||||
logAction("Location", "Import", "$session_name imported $row_count location(s). $duplicate_count duplicate(s) found and not imported", $client_id);
|
||||
|
||||
$_SESSION['alert_message'] = "$row_count Location(s) imported, $duplicate_count duplicate(s) detected and not imported";
|
||||
flash_alert("$row_count Location(s) imported, $duplicate_count duplicate(s) detected and not imported");
|
||||
|
||||
redirect();
|
||||
}
|
||||
//Check for any errors, if there are notify user and redirect
|
||||
if($error) {
|
||||
$_SESSION['alert_type'] = "warning";
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(isset($_GET['download_locations_csv_template'])){
|
||||
|
|
|
|||
|
|
@ -16,10 +16,9 @@ if (isset($_POST['add_network'])) {
|
|||
|
||||
$network_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Create", "$session_name created network $name", $client_id, $network_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Network <strong>$name</strong> created";
|
||||
flash_alert("Network <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -34,10 +33,9 @@ if (isset($_POST['edit_network'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE networks SET network_name = '$name', network_description = '$description', network_vlan = $vlan, network = '$network', network_subnet = '$subnet', network_gateway = '$gateway', network_primary_dns = '$primary_dns', network_secondary_dns = '$secondary_dns', network_dhcp_range = '$dhcp_range', network_notes = '$notes', network_location_id = $location_id WHERE network_id = $network_id");
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Edit", "$session_name edited network $name", $client_id, $network_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Network <strong>$name</strong> updated";
|
||||
flash_alert("Network <strong>$name</strong> updated");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -57,11 +55,9 @@ if (isset($_GET['archive_network'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE networks SET network_archived_at = NOW() WHERE network_id = $network_id");
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Archive", "$session_name archived network $network_name", $client_id, $network_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Network <strong>$network_name</strong> archived";
|
||||
flash_alert("Network <strong>$network_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -81,16 +77,16 @@ if (isset($_GET['unarchive_network'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE networks SET network_archived_at = NULL WHERE network_id = $network_id");
|
||||
|
||||
// logging
|
||||
logAction("Network", "Unarchive", "$session_name restored contact $contact_name", $client_id, $network_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Network <strong>$network_name</strong> restored";
|
||||
flash_alert("Network <strong>$network_name</strong> restored");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_network'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
$network_id = intval($_GET['delete_network']);
|
||||
|
|
@ -103,19 +99,19 @@ if (isset($_GET['delete_network'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM networks WHERE network_id = $network_id");
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Delete", "$session_name deleted network $network_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Network <strong>$network_name</strong> deleted";
|
||||
flash_alert("Network <strong>$network_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_networks'])) {
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
if (isset($_POST['network_ids'])) {
|
||||
|
||||
|
|
@ -135,20 +131,18 @@ if (isset($_POST['bulk_delete_networks'])) {
|
|||
|
||||
mysqli_query($mysqli, "DELETE FROM networks WHERE network_id = $network_id AND network_client_id = $client_id");
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Delete", "$session_name deleted network $network_name", $client_id);
|
||||
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Bulk Delete", "$session_name deleted $count network(s)", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> network(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> network(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_networks_csv'])) {
|
||||
|
|
@ -179,7 +173,7 @@ if (isset($_POST['export_networks_csv'])) {
|
|||
fputcsv($f, $fields, $delimiter);
|
||||
|
||||
//output each row of the data, format line as csv and write to file pointer
|
||||
while($row = $sql->fetch_assoc()) {
|
||||
while ($row = $sql->fetch_assoc()) {
|
||||
$lineData = array($row['network_name'], $row['network_description'], $row['network_vlan'], $row['network'], $row['network_subnet'], $row['network_gateway'], $row['network_primary_dns'], $row['network_secondary_dns'], $row['network_dhcp_range']);
|
||||
fputcsv($f, $lineData, $delimiter);
|
||||
}
|
||||
|
|
@ -195,7 +189,6 @@ if (isset($_POST['export_networks_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Network", "Export", "$session_name deleted $num_rows network(s) to a CSV file", $client_id);
|
||||
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
||||
|
||||
// Products
|
||||
if (isset($_POST['add_product'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
|
@ -17,10 +16,9 @@ if (isset($_POST['add_product'])) {
|
|||
|
||||
$product_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Product", "Create", "$session_name created product $name", 0, $product_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Product <strong>$name</strong> created";
|
||||
flash_alert("Product <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -36,10 +34,9 @@ if (isset($_POST['edit_product'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_name = '$name', product_description = '$description', product_price = '$price', product_tax_id = $tax, product_category_id = $category WHERE product_id = $product_id");
|
||||
|
||||
// Logging
|
||||
logAction("Product", "Edit", "$session_name edited product $name", 0, $product_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Product <strong>$name</strong> edited";
|
||||
flash_alert("Product <strong>$name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -51,18 +48,13 @@ if (isset($_GET['archive_product'])) {
|
|||
|
||||
$product_id = intval($_GET['archive_product']);
|
||||
|
||||
// Get Contact Name and Client ID for logging and alert message
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_archived_at = NOW() WHERE product_id = $product_id");
|
||||
|
||||
// Logging
|
||||
logAction("Product", "Archive", "$session_name archived product $product_name", 0, $product_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Product <strong>$product_name</strong> archived";
|
||||
flash_alert("Product <strong>$product_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -74,17 +66,13 @@ if (isset($_GET['unarchive_product'])) {
|
|||
|
||||
$product_id = intval($_GET['unarchive_product']);
|
||||
|
||||
// Get Contact Name and Client ID for logging and alert message
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_archived_at = NULL WHERE product_id = $product_id");
|
||||
|
||||
// Logging
|
||||
logAction("Product", "Unarchive", "$session_name unarchived product $product_name", 0, $product_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Product <strong>$product_name</strong> restored";
|
||||
flash_alert("Product <strong>$product_name</strong> restored");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -97,17 +85,13 @@ if (isset($_GET['delete_product'])) {
|
|||
$product_id = intval($_GET['delete_product']);
|
||||
|
||||
//Get Product Name
|
||||
$sql = mysqli_query($mysqli,"SELECT * FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM products WHERE product_id = $product_id");
|
||||
|
||||
// Logging
|
||||
logAction("Product", "Delete", "$session_name deleted product $product_name");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Product <strong>$product_name</strong> deleted";
|
||||
flash_alert("Product <strong>$product_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -120,9 +104,7 @@ if (isset($_POST['bulk_edit_product_category'])) {
|
|||
$category_id = intval($_POST['bulk_category_id']);
|
||||
|
||||
// Get Category name for logging and Notification
|
||||
$sql = mysqli_query($mysqli,"SELECT category_name FROM categories WHERE category_id = $category_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$category_name = sanitizeInput($row['category_name']);
|
||||
$category_name = sanitizeInput(getFieldById('categories', $category_id, 'category_name'));
|
||||
|
||||
// Assign category to Selected Products
|
||||
if (isset($_POST['product_ids'])) {
|
||||
|
|
@ -134,32 +116,29 @@ if (isset($_POST['bulk_edit_product_category'])) {
|
|||
$product_id = intval($product_id);
|
||||
|
||||
// Get Product Details for Logging
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_category_id = $category_id WHERE product_id = $product_id");
|
||||
|
||||
//Logging
|
||||
logAction("Product", "Edit", "$session_name assigned product $product_name to category $category_name", 0, $product_id);
|
||||
|
||||
} // End Assign Product Loop
|
||||
|
||||
//Logging
|
||||
logAction("Product", "Edit", "$session_name assigned category $category_name to $count product(s)");
|
||||
|
||||
$_SESSION['alert_message'] = "Assigned category <strong>$category_name</strong> to <strong>$count</strong> product(s)";
|
||||
flash_alert("Assigned category <strong>$category_name</strong> to <strong>$count</strong> product(s)");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_archive_products'])) {
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
if (isset($_POST['product_ids'])) {
|
||||
|
||||
$count = count($_POST['product_ids']);
|
||||
|
|
@ -169,31 +148,28 @@ if (isset($_POST['bulk_archive_products'])) {
|
|||
|
||||
$product_id = intval($product_id);
|
||||
|
||||
// Get Name and Client ID for logging and alert message
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_archived_at = NOW() WHERE product_id = $product_id");
|
||||
|
||||
// Individual Contact logging
|
||||
logAction("Product", "Archive", "$session_name archived product $product_name", 0, $product_id);
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Product", "Bulk Archive", "$session_name archived $count product(s)");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Archived <strong>$count</strong> product(s)";
|
||||
flash_alert("Archived <strong>$count</strong> product(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_unarchive_products'])) {
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_sales', 2);
|
||||
|
||||
if (isset($_POST['product_ids'])) {
|
||||
|
||||
|
|
@ -204,31 +180,30 @@ if (isset($_POST['bulk_unarchive_products'])) {
|
|||
|
||||
$product_id = intval($product_id);
|
||||
|
||||
// Get Name and Client ID for logging and alert message
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli,"UPDATE products SET product_archived_at = NULL WHERE product_id = $product_id");
|
||||
|
||||
// Individual logging
|
||||
logAction("Product", "Unarchive", "$session_name unarchived product $product_name", 0, $product_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Product", "Bulk Unarchive", "$session_name unarchived $count product(s)");
|
||||
|
||||
$_SESSION['alert_message'] = "Unarchived <strong>$count</strong> product(s)";
|
||||
flash_alert("Unarchived <strong>$count</strong> product(s)");
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['bulk_delete_products'])) {
|
||||
enforceUserPermission('module_sales', 3);
|
||||
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_sales', 3);
|
||||
|
||||
|
||||
if (isset($_POST['product_ids'])) {
|
||||
|
||||
|
|
@ -236,30 +211,24 @@ if (isset($_POST['bulk_delete_products'])) {
|
|||
|
||||
// Cycle through array and delete each record
|
||||
foreach ($_POST['product_ids'] as $product_id) {
|
||||
|
||||
$product_id = intval($product_id);
|
||||
|
||||
// Get Name and Client ID for logging and alert message
|
||||
$sql = mysqli_query($mysqli,"SELECT product_name FROM products WHERE product_id = $product_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$product_name = sanitizeInput($row['product_name']);
|
||||
$product_name = sanitizeInput(getFieldById('products', $product_id, 'product_name'));
|
||||
|
||||
mysqli_query($mysqli, "DELETE FROM products WHERE product_id = $product_id");
|
||||
|
||||
// Individual logging
|
||||
logAction("Product", "Delete", "$session_name deleted product $product_name");
|
||||
|
||||
}
|
||||
|
||||
// Bulk logging
|
||||
logAction("Product", "Bulk Delete", "$session_name deleted $count product(s)");
|
||||
|
||||
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> product(s)";
|
||||
flash_alert("Deleted <strong>$count</strong> product(s)", 'error');
|
||||
|
||||
}
|
||||
|
||||
redirect();
|
||||
exit();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['export_products_csv'])) {
|
||||
|
|
@ -302,7 +271,6 @@ if (isset($_POST['export_products_csv'])) {
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
//Logging
|
||||
logAction("Product", "Export", "$session_name exported $num_rows product(s) to a CSV file");
|
||||
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -8,16 +8,13 @@ defined('FROM_POST_HANDLER') || die("Direct file access is not allowed");
|
|||
|
||||
if (isset($_POST['edit_your_user_details'])) {
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
$name = sanitizeInput($_POST['name']);
|
||||
$email = sanitizeInput($_POST['email']);
|
||||
$signature = sanitizeInput($_POST['signature']);
|
||||
|
||||
$sql = mysqli_query($mysqli,"SELECT user_avatar FROM users WHERE user_id = $session_user_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$existing_file_name = sanitizeInput($row['user_avatar']);
|
||||
$existing_file_name = sanitizeInput(getFieldById('users', $session_user_id, 'user_avatar'));
|
||||
|
||||
$logout = false;
|
||||
$extended_log_description = '';
|
||||
|
|
@ -78,40 +75,40 @@ if (isset($_POST['edit_your_user_details'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE user_settings SET user_config_signature = '$signature' WHERE user_id = $session_user_id");
|
||||
|
||||
//Logging
|
||||
logAction("User Account", "Edit", "$session_name edited their account $extended_log_description");
|
||||
|
||||
$_SESSION['alert_message'] = "User details updated";
|
||||
flash_alert("User details updated");
|
||||
|
||||
if ($logout) {
|
||||
header('Location: post.php?logout');
|
||||
}
|
||||
else{
|
||||
redirect('post.php?logout');
|
||||
} else {
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['clear_your_user_avatar'])) {
|
||||
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
mysqli_query($mysqli,"UPDATE users SET user_avatar = NULL WHERE user_id = $session_user_id");
|
||||
|
||||
logAction("User Account", "Edit", "$session_name cleared their avatar");
|
||||
|
||||
$_SESSION['alert_message'] = "Avatar cleared";
|
||||
flash_alert("Avatar cleared", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_your_user_password'])) {
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
$new_password = trim($_POST['new_password']);
|
||||
|
||||
if (empty($new_password)) {
|
||||
header('Location: user_security.php');
|
||||
exit;
|
||||
redirect('user_security.php');
|
||||
}
|
||||
|
||||
// Email notification when password or email is changed
|
||||
|
|
@ -148,17 +145,15 @@ if (isset($_POST['edit_your_user_password'])) {
|
|||
$user_specific_encryption_ciphertext = encryptUserSpecificKey($_POST['new_password']);
|
||||
mysqli_query($mysqli,"UPDATE users SET user_password = '$new_password', user_specific_encryption_ciphertext = '$user_specific_encryption_ciphertext' WHERE user_id = $session_user_id");
|
||||
|
||||
// Logging
|
||||
logAction("User Account", "Edit", "$session_name changed their password");
|
||||
|
||||
$_SESSION['alert_message'] = "Your password was updated";
|
||||
flash_alert("Your password was updated");
|
||||
|
||||
header('Location: post.php?logout');
|
||||
redirect('post.php?logout');
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_your_user_preferences'])) {
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
$calendar_first_day = intval($_POST['calendar_first_day']);
|
||||
|
|
@ -185,12 +180,12 @@ if (isset($_POST['edit_your_user_preferences'])) {
|
|||
$extended_log_description .= "disabled browser extension access";
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("User Account", "Edit", "$session_name $extended_log_description");
|
||||
|
||||
$_SESSION['alert_message'] = "User preferences updated";
|
||||
flash_alert("User preferences updated");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['enable_mfa'])) {
|
||||
|
|
@ -218,10 +213,9 @@ if (isset($_POST['enable_mfa'])) {
|
|||
// Delete any existing MFA tokens - these browsers should be re-validated
|
||||
mysqli_query($mysqli, "DELETE FROM remember_tokens WHERE remember_token_user_id = $session_user_id");
|
||||
|
||||
// Logging
|
||||
logAction("User Account", "Edit", "$session_name enabled MFA on their account");
|
||||
|
||||
$_SESSION['alert_message'] = "Multi-Factor authentication enabled";
|
||||
flash_alert("Multi-Factor authentication enabled");
|
||||
|
||||
// Clear the mfa_token from the session to avoid re-use.
|
||||
unset($_SESSION['mfa_token']);
|
||||
|
|
@ -231,15 +225,14 @@ if (isset($_POST['enable_mfa'])) {
|
|||
$previousPage = basename(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH));
|
||||
if ($previousPage === 'mfa_enforcement.php') {
|
||||
// Redirect back to mfa_enforcement.php
|
||||
header("Location: $config_start_page");
|
||||
exit;
|
||||
redirect("$config_start_page");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// FAILURE
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Verification code invalid, please try again.";
|
||||
flash_alert("Verification code invalid, please try again.", 'error');
|
||||
|
||||
// Set a flag to automatically open the MFA modal again
|
||||
$_SESSION['show_mfa_modal'] = true;
|
||||
|
|
@ -249,29 +242,22 @@ if (isset($_POST['enable_mfa'])) {
|
|||
$previousPage = basename(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH));
|
||||
if ($previousPage === 'mfa_enforcement.php') {
|
||||
// Redirect back to mfa_enforcement.php
|
||||
header("Location: " . $_SERVER['HTTP_REFERER']);
|
||||
exit;
|
||||
redirect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
header("Location: user_security.php");
|
||||
exit;
|
||||
redirect("user_security.php");
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['disable_mfa'])){
|
||||
|
||||
if ($session_user_config_force_mfa) {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Multi-Factor authentication cannot be disabled for your account";
|
||||
flash_alert("Multi-Factor authentication cannot be disabled for your account", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
mysqli_query($mysqli,"UPDATE users SET user_token = '' WHERE user_id = $session_user_id");
|
||||
|
|
@ -302,11 +288,9 @@ if (isset($_GET['disable_mfa'])){
|
|||
$mail = addToMailQueue($data);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("User Account", "Edit", "$session_name disabled MFA on their account");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Multi-Factor authentication disabled";
|
||||
flash_alert("Multi-Factor authentication disabled", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -314,17 +298,14 @@ if (isset($_GET['disable_mfa'])){
|
|||
|
||||
if (isset($_POST['revoke_your_2fa_remember_tokens'])) {
|
||||
|
||||
// CSRF
|
||||
validateCSRFToken($_POST['csrf_token']);
|
||||
|
||||
// Delete tokens
|
||||
mysqli_query($mysqli, "DELETE FROM remember_tokens WHERE remember_token_user_id = $session_user_id");
|
||||
|
||||
//Logging
|
||||
logAction("User Account", "Edit", "$session_name revoked all their remember-me tokens");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Remember me tokens revoked";
|
||||
flash_alert("Remember me tokens revoked", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -70,12 +70,12 @@ if (isset($_POST['add_project'])) {
|
|||
} // End Ticket Loop
|
||||
} // End If Project Template
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Create", "$session_name created project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "You created Project <strong>$project_name</strong>";
|
||||
flash_alert("You created Project <strong>$project_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_project'])) {
|
||||
|
|
@ -91,12 +91,12 @@ if (isset($_POST['edit_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE projects SET project_name = '$project_name', project_description = '$project_description', project_due = '$due_date', project_manager = $project_manager, project_client_id = $client_id WHERE project_id = $project_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Edit", "$session_name edited project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Project <strong>$project_name</strong> edited";
|
||||
flash_alert("Project <strong>$project_name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['close_project'])) {
|
||||
|
|
@ -113,12 +113,12 @@ if (isset($_GET['close_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE projects SET project_completed_at = NOW() WHERE project_id = $project_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Close", "$session_name closed project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Project <strong>$project_name</strong> closed";
|
||||
flash_alert("Project <strong>$project_name</strong> closed");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['archive_project'])) {
|
||||
|
|
@ -135,13 +135,12 @@ if (isset($_GET['archive_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE projects SET project_archived_at = NOW() WHERE project_id = $project_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Archive", "$session_name archived project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Project <strong>$project_name</strong> archived";
|
||||
flash_alert("Project <strong>$project_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['unarchive_project'])) {
|
||||
|
|
@ -158,21 +157,20 @@ if (isset($_GET['unarchive_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE projects SET project_archived_at = NULL WHERE project_id = $project_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Unarchive", "$session_name unarchived project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Project <strong>$project_name</strong> unarchived";
|
||||
flash_alert("Project <strong>$project_name</strong> unarchived");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_project'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
$project_id = intval($_GET['delete_project']);
|
||||
|
||||
// Get Project Name and Client ID for logging
|
||||
|
|
@ -183,18 +181,18 @@ if (isset($_GET['delete_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "DELETE FROM projects WHERE project_id = $project_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Delete", "$session_name deleted project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Project <strong>$project_name</strong> Deleted";
|
||||
flash_alert("Project <strong>$project_name</strong> Deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['link_ticket_to_project'])) {
|
||||
|
||||
enforceUserPermission('module_support', 2);
|
||||
|
||||
$project_id = intval($_POST['project_id']);
|
||||
|
||||
// Get Project Name and Client ID for logging
|
||||
|
|
@ -221,23 +219,23 @@ if (isset($_POST['link_ticket_to_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE tickets SET ticket_project_id = $project_id WHERE ticket_id = $ticket_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Edit", "$session_name added ticket $ticket_prefix$ticket_number - $ticket_subject to project $project_name", $client_id, $project_id);
|
||||
|
||||
}
|
||||
|
||||
// Bulk Logging
|
||||
logAction("Project", "Bulk Edit", "$session_name added $count ticket(s) to project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "<strong>$count</strong> Ticket(s) added to <strong>$project_name</strong>";
|
||||
flash_alert("<strong>$count</strong> Ticket(s) added to <strong>$project_name</strong>");
|
||||
}
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['link_closed_ticket_to_project'])) {
|
||||
|
||||
enforceUserPermission('module_support', 2);
|
||||
|
||||
$project_id = intval($_POST['project_id']);
|
||||
$ticket_number = intval($_POST['ticket_number']);
|
||||
|
||||
|
|
@ -250,9 +248,8 @@ if (isset($_POST['link_closed_ticket_to_project'])) {
|
|||
// Get ticket details
|
||||
$sql = mysqli_query($mysqli, "SELECT ticket_id, ticket_prefix, ticket_number, ticket_subject, ticket_updated_at FROM tickets WHERE ticket_number = $ticket_number");
|
||||
if (mysqli_num_rows($sql) == 0) {
|
||||
$_SESSION['alert_message'] = "Cannot merge into that ticket.";
|
||||
flash_alert("Cannot merge into that ticket.", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$ticket_id = intval($row['ticket_id']);
|
||||
|
|
@ -263,9 +260,10 @@ if (isset($_POST['link_closed_ticket_to_project'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE tickets SET ticket_project_id = $project_id, ticket_updated_at = '$ticket_updated' WHERE ticket_id = $ticket_id");
|
||||
|
||||
// Logging
|
||||
logAction("Project", "Edit", "$session_name added ticket $ticket_prefix$ticket_number - $ticket_subject to project $project_name", $client_id, $project_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Ticket added to <strong>$project_name</strong>";
|
||||
flash_alert("Ticket added to <strong>$project_name</strong>");
|
||||
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,14 +28,13 @@ if (isset($_POST['add_quote'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Quote created!', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Create", "$session_name created quote $config_quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
customAction('quote_create', $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote <strong>$config_quote_prefix$quote_number</strong> created";
|
||||
flash_alert("Quote <strong>$config_quote_prefix$quote_number</strong> created");
|
||||
|
||||
header("Location: quote.php?quote_id=$quote_id");
|
||||
redirect("quote.php?quote_id=$quote_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -91,14 +90,13 @@ if (isset($_POST['add_quote_copy'])) {
|
|||
mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = $item_price, item_subtotal = $item_subtotal, item_tax = $item_tax, item_total = $item_total, item_order = $item_order, item_tax_id = $tax_id, item_quote_id = $new_quote_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Create", "$session_name created quote $config_quote_prefix$quote_number from quote $original_quote_prefix$original_quote_number", $client_id, $new_quote_id);
|
||||
|
||||
customAction('quote_create', $new_quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote copied";
|
||||
flash_alert("Quote copied");
|
||||
|
||||
header("Location: quote.php?quote_id=$new_quote_id");
|
||||
redirect("quote.php?quote_id=$new_quote_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -155,16 +153,16 @@ if (isset($_POST['add_quote_to_invoice'])) {
|
|||
}
|
||||
|
||||
mysqli_query($mysqli,"UPDATE quotes SET quote_status = 'Invoiced' WHERE quote_id = $quote_id");
|
||||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Invoiced', history_description = 'Quote invoiced as $config_invoice_prefix$invoice_number', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Invoice", "Create", "$session_name created invoice $config_invoice_prefix$invoice_number from quote $config_quote_prefix$quote_number", $client_id, $new_invoice_id);
|
||||
|
||||
customAction('invoice_create', $new_invoice_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Invoice created from quote <strong>$quote_prefix$quote_number</strong>";
|
||||
flash_alert("Invoice created from quote <strong>$quote_prefix$quote_number</strong>");
|
||||
|
||||
header("Location: invoice.php?invoice_id=$new_invoice_id");
|
||||
redirect("invoice.php?invoice_id=$new_invoice_id");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -214,10 +212,9 @@ if (isset($_POST['add_quote_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE quotes SET quote_amount = $new_quote_amount WHERE quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name added item $name to quote $quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Item <strong>$name</strong> added";
|
||||
flash_alert("Item <strong>$name</strong> added");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -239,10 +236,9 @@ if (isset($_POST['quote_note'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE quotes SET quote_note = '$note' WHERE quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name added notes to quote $quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Notes added";
|
||||
flash_alert("Notes added");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -274,10 +270,9 @@ if (isset($_POST['edit_quote'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE quotes SET quote_scope = '$scope', quote_date = '$date', quote_expire = '$expire', quote_discount_amount = '$quote_discount', quote_amount = '$quote_amount', quote_category_id = $category WHERE quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name edited quote $quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote edited";
|
||||
flash_alert("Quote edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -312,17 +307,15 @@ if (isset($_GET['delete_quote'])) {
|
|||
mysqli_query($mysqli,"DELETE FROM history WHERE history_id = $history_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Delete", "$session_name deleted quote $quote_prefix$quote_number", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Quote <strong>$quote_prefix$quote_number</strong> deleted";
|
||||
flash_alert("Quote <strong>$quote_prefix$quote_number</strong> deleted", 'error');
|
||||
|
||||
if (isset($_GET['client_id'])) {
|
||||
$client_id = intval($_GET['client_id']);
|
||||
header("Location: client_quotes.php?client_id=$client_id");
|
||||
redirect("client_quotes.php?client_id=$client_id");
|
||||
} else {
|
||||
header("Location: quotes.php");
|
||||
redirect("quotes.php");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -353,11 +346,9 @@ if (isset($_GET['delete_quote_item'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name removed item $item_name from $quote_prefix$quote_number", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Item <strong>$item_name</strong> removed";
|
||||
flash_alert("Item <strong>$item_name</strong> removed", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -379,10 +370,9 @@ if (isset($_GET['mark_quote_sent'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Quote marked sent', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Sent", "$session_name marked quote $quote_prefix$quote_number as sent", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote marked sent";
|
||||
flash_alert("Quote marked sent");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -404,12 +394,11 @@ if (isset($_GET['accept_quote'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Accepted', history_description = 'Quote accepted by $session_name', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name marked quote $quote_prefix$quote_number as accepted", $client_id, $quote_id);
|
||||
|
||||
customAction('quote_accept', $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote accepted";
|
||||
flash_alert("Quote accepted");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -433,11 +422,9 @@ if (isset($_GET['decline_quote'])) {
|
|||
|
||||
customAction('quote_decline', $quote_id);
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Edit", "$session_name marked quote $quote_prefix$quote_number as declined", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Quote declined";
|
||||
flash_alert("Quote declined", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -508,10 +495,9 @@ if (isset($_GET['email_quote'])) {
|
|||
// Update History
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed Quote', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Email", "$session_name emailed quote $quote_prefix$quote_number to $contact_email", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote has been queued successfully! <a class='text-bold text-light' href='admin_mail_queue.php'>See Mail Queue</a>";
|
||||
flash_alert("Quote has been queued successfully! <a class='text-bold text-light' href='admin_mail_queue.php'>See Mail Queue</a>");
|
||||
|
||||
//Don't change the status to sent if the status is anything but draft
|
||||
if ($quote_status == 'Draft') {
|
||||
|
|
@ -538,10 +524,9 @@ if (isset($_GET['mark_quote_invoiced'])) {
|
|||
|
||||
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Invoiced', history_description = 'Quote marked as invoiced', history_quote_id = $quote_id");
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Sent", "$session_name marked quote $quote_prefix$quote_number as invoiced", $client_id, $quote_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Quote marked invoiced";
|
||||
flash_alert("Quote marked invoiced");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -591,15 +576,12 @@ if(isset($_POST['export_quotes_csv'])){
|
|||
fpassthru($f);
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Quote", "Export", "$session_name exported $num_rows quote(s) to a CSV file");
|
||||
|
||||
$_SESSION['alert_message'] = "Exported <strong>$num_rows</strong> quote(s)";
|
||||
flash_alert("Exported <strong>$num_rows</strong> quote(s)");
|
||||
|
||||
redirect();
|
||||
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['export_quote_pdf'])) {
|
||||
|
|
@ -805,6 +787,7 @@ if (isset($_GET['export_quote_pdf'])) {
|
|||
|
||||
$filename = preg_replace('/[^A-Za-z0-9_\-]/', '_', "{$quote_date}_{$company_name}_{$client_name}_Quote_{$quote_prefix}{$quote_number}");
|
||||
$pdf->Output("$filename.pdf", 'I');
|
||||
|
||||
exit;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,10 +41,9 @@ if (isset($_POST['add_rack'])) {
|
|||
mysqli_query($mysqli,"UPDATE racks SET rack_photo = '$new_file_name' WHERE rack_id = $rack_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Create", "$session_name created rack $name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Rack <strong>$name</strong> created";
|
||||
flash_alert("Rack <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -84,10 +83,9 @@ if (isset($_POST['edit_rack'])) {
|
|||
mysqli_query($mysqli,"UPDATE racks SET rack_photo = '$new_file_name' WHERE rack_id = $rack_id");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Edit", "$session_name edited rack $name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Rack <strong>$name</strong> edited";
|
||||
flash_alert("Rack <strong>$name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -107,11 +105,9 @@ if (isset($_GET['archive_rack'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE racks SET rack_archived_at = NOW() WHERE rack_id = $rack_id");
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Archive", "$session_name archived rack $rack_name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Rack <strong>$rack_name</strong> archived";
|
||||
flash_alert("Rack <strong>$rack_name</strong> archived", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -131,10 +127,9 @@ if (isset($_GET['unarchive_rack'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE racks SET rack_archived_at = NULL WHERE rack_id = $rack_id");
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Unarchive", "$session_name unarchived rack $rack_name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Rack <strong>$rack_name</strong> Unarchived";
|
||||
flash_alert("Rack <strong>$rack_name</strong> Unarchived");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -160,11 +155,9 @@ if (isset($_GET['delete_rack'])) {
|
|||
unlink("../uploads/clients/$client_id/$rack_photo");
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Delete", "$session_name deleted rack $rack_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Rack <strong>$rack_name</strong> deleted";
|
||||
flash_alert("Rack <strong>$rack_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -189,21 +182,17 @@ if (isset($_POST['add_rack_unit'])) {
|
|||
|
||||
// **New Validation Check**
|
||||
if ($unit_start > $unit_end) {
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Unit Start number cannot be higher than Unit End number.";
|
||||
flash_alert("Unit Start number cannot be higher than Unit End number.", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
// Check if the unit range is already occupied
|
||||
$check_sql = mysqli_query($mysqli, "SELECT * FROM rack_units WHERE unit_rack_id = $rack_id AND unit_start_number <= $unit_end AND unit_end_number >= $unit_start");
|
||||
|
||||
if (mysqli_num_rows($check_sql) > 0) {
|
||||
// If there is an overlap, return an error message
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Units $unit_start to $unit_end are already in use by another device.";
|
||||
// If there is an overlap, return an error message;
|
||||
flash_alert("Units $unit_start to $unit_end are already in use by another device.", 'error');
|
||||
redirect();
|
||||
exit();
|
||||
}
|
||||
|
||||
// If no overlap and validation passes, proceed with the insertion
|
||||
|
|
@ -211,12 +200,12 @@ if (isset($_POST['add_rack_unit'])) {
|
|||
|
||||
$unit_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Edit", "$session_name added device $name to units $unit_start - $unit_end in rack $rack_name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Device <strong>$name</strong> added to units $unit_start - $unit_end in rack.";
|
||||
flash_alert("Device <strong>$name</strong> added to units $unit_start - $unit_end in rack.");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_rack_unit'])) {
|
||||
|
|
@ -239,10 +228,9 @@ if (isset($_POST['edit_rack_unit'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE rack_units SET unit_device = '$name', unit_asset_id = $asset, unit_start_number = $unit_start, unit_end_number = $unit_end WHERE unit_id = $unit_id");
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Edit", "$session_name edited device $name in rack $rack_name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Device $name edited on the rack";
|
||||
flash_alert("Device $name edited on the rack");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -264,12 +252,10 @@ if (isset($_GET['remove_rack_unit'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM rack_units WHERE unit_id = $unit_id");
|
||||
|
||||
// Logging
|
||||
logAction("Rack", "Edit", "$session_name removed device $device_name from rack $rack_name", $client_id, $rack_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Device <strong>$device_name</strong> removed from rack";
|
||||
flash_alert("Device <strong>$device_name</strong> removed from rack", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,9 @@ if (isset($_POST['add_revenue'])) {
|
|||
|
||||
$revenue_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Revenue", "Create", "$session_name added revenue $description", 0, $revenue_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Revenue added";
|
||||
flash_alert("Revenue added");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -46,10 +45,9 @@ if (isset($_POST['edit_revenue'])) {
|
|||
|
||||
mysqli_query($mysqli,"UPDATE revenues SET revenue_date = '$date', revenue_amount = $amount, revenue_payment_method = '$payment_method', revenue_reference = '$reference', revenue_description = '$description', revenue_category_id = $category, revenue_account_id = $account WHERE revenue_id = $revenue_id");
|
||||
|
||||
// Logging
|
||||
logAction("Revenue", "Edit", "$session_name edited revenue $description", 0, $revenue_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Revenue edited";
|
||||
flash_alert("Revenue edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -62,17 +60,13 @@ if (isset($_GET['delete_revenue'])) {
|
|||
$revenue_id = intval($_GET['delete_revenue']);
|
||||
|
||||
// Get Revenue Details
|
||||
$sql = mysqli_query($mysqli,"SELECT revenue_description FROM revenues WHERE revenue_id = $revenue_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$revenue_description = sanitizeInput($row['revenue_description']);
|
||||
$revenue_description = sanitizeInput(getFieldById('revenues', $revenue_id, 'revenue_description'));
|
||||
|
||||
mysqli_query($mysqli,"DELETE FROM revenues WHERE revenue_id = $revenue_id");
|
||||
|
||||
// Logging
|
||||
logAction("Revenue", "Delete", "$session_name deleted revenue $revenue_description");
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Revenue removed";
|
||||
flash_alert("Revenue removed", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -74,10 +74,9 @@ if (isset($_POST['add_service'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Service", "Create", "$session_name created service $service_name", $client_id, $service_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Service <strong>$service_name</strong> created";
|
||||
flash_alert("Service <strong>$service_name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -158,10 +157,9 @@ if (isset($_POST['edit_service'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Service", "Edit", "$session_name edited service $service_name", $client_id, $service_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Service <strong>$service_name</strong> edited";
|
||||
flash_alert("Service <strong>$service_name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -169,9 +167,10 @@ if (isset($_POST['edit_service'])) {
|
|||
|
||||
if (isset($_GET['delete_service'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
$service_id = intval($_GET['delete_service']);
|
||||
|
||||
// Get Service Details
|
||||
|
|
@ -183,11 +182,9 @@ if (isset($_GET['delete_service'])) {
|
|||
// Delete service
|
||||
mysqli_query($mysqli, "DELETE FROM services WHERE service_id = $service_id");
|
||||
|
||||
// Logging
|
||||
logAction("Service", "Delete", "$session_name deleted service $service_name", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Service <strong>$service_name</strong> deleted";
|
||||
|
||||
flash_alert("Service <strong>$service_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,9 @@ if (isset($_POST['add_software_from_template'])) {
|
|||
|
||||
$software_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Software", "Create", "$session_name created software $name using template", $client_id, $software_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Software <strong>$name</strong> created from template";
|
||||
flash_alert("Software <strong>$name</strong> created from template");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -90,10 +89,9 @@ if (isset($_POST['add_software'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Software", "Create", "$session_name created software $name", $client_id, $software_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Software <strong>$name</strong> created $alert_extended";
|
||||
flash_alert("Software <strong>$name</strong> created $alert_extended");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -150,10 +148,9 @@ if (isset($_POST['edit_software'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Logging
|
||||
logAction("Software", "Edit", "$session_name edited software $name", $client_id, $software_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Software <strong>$name</strong> updated";
|
||||
flash_alert("Software <strong>$name</strong> updated");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -177,11 +174,9 @@ if (isset($_GET['archive_software'])) {
|
|||
mysqli_query($mysqli,"DELETE FROM software_contacts WHERE software_id = $software_id");
|
||||
mysqli_query($mysqli,"DELETE FROM software_assets WHERE software_id = $software_id");
|
||||
|
||||
// Logging
|
||||
logAction("Software", "Archive", "$session_name archived software $software_name and removed all device/user license associations", $client_id, $software_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Software <strong>$software_name</strong> archived and removed all device/user license associations";
|
||||
flash_alert("Software <strong>$software_name</strong> archived and removed all device/user license associations", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -201,11 +196,9 @@ if (isset($_GET['delete_software'])) {
|
|||
|
||||
mysqli_query($mysqli,"DELETE FROM software WHERE software_id = $software_id");
|
||||
|
||||
//Logging
|
||||
logAction("Software", "Delete", "$session_name deleted software $software_name and removed all device/user license associations", $client_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Software <strong>$software_name</strong> deleted and removed all device/user license associations";
|
||||
flash_alert("Software <strong>$software_name</strong> deleted and removed all device/user license associations", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -246,10 +239,11 @@ if (isset($_POST['export_client_software_csv'])) {
|
|||
// Asset licenses
|
||||
$assigned_to_assets = '';
|
||||
$asset_licenses_sql = mysqli_query($mysqli,"SELECT software_assets.asset_id, assets.asset_name
|
||||
FROM software_assets
|
||||
LEFT JOIN assets
|
||||
ON software_assets.asset_id = assets.asset_id
|
||||
WHERE software_id = $row[software_id]");
|
||||
FROM software_assets
|
||||
LEFT JOIN assets
|
||||
ON software_assets.asset_id = assets.asset_id
|
||||
WHERE software_id = $row[software_id]"
|
||||
);
|
||||
while($asset_row = mysqli_fetch_array($asset_licenses_sql)) {
|
||||
$assigned_to_assets .= $asset_row['asset_name'] . ", ";
|
||||
}
|
||||
|
|
@ -257,10 +251,12 @@ if (isset($_POST['export_client_software_csv'])) {
|
|||
// Contact Licenses
|
||||
$assigned_to_contacts = '';
|
||||
$contact_licenses_sql = mysqli_query($mysqli,"SELECT software_contacts.contact_id, contacts.contact_name
|
||||
FROM software_contacts
|
||||
LEFT JOIN contacts
|
||||
ON software_contacts.contact_id = contacts.contact_id
|
||||
WHERE software_id = $row[software_id]");
|
||||
FROM software_contacts
|
||||
LEFT JOIN contacts
|
||||
ON software_contacts.contact_id = contacts.contact_id
|
||||
WHERE software_id = $row[software_id]"
|
||||
);
|
||||
|
||||
while($contact_row = mysqli_fetch_array($contact_licenses_sql)) {
|
||||
$assigned_to_contacts .= $contact_row['contact_name'] . ", ";
|
||||
}
|
||||
|
|
@ -279,8 +275,7 @@ if (isset($_POST['export_client_software_csv'])) {
|
|||
//output all remaining data on a file pointer
|
||||
fpassthru($f);
|
||||
}
|
||||
|
||||
//Logging
|
||||
|
||||
logAction("Software", "Export", "$session_name exported $num_rows software(s) $software_name to a CSV file", $client_id);
|
||||
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -14,10 +14,9 @@ if (isset($_POST['add_tag'])) {
|
|||
|
||||
$tag_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Tag", "Create", "$session_name created tag $name", 0, $tag_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Tag <strong>$name</strong> created";
|
||||
flash_alert("Tag <strong>$name</strong> created");
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
|
|||
|
|
@ -14,20 +14,18 @@ if (isset($_POST['add_task'])) {
|
|||
$task_name = sanitizeInput($_POST['name']);
|
||||
|
||||
// Get Client ID from tickets using the ticket_id
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_id = $ticket_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_id = intval($row['ticket_client_id']);
|
||||
$client_id = intval(getFieldById('tickets', $ticket_id, 'ticket_client_id'));
|
||||
|
||||
mysqli_query($mysqli, "INSERT INTO tasks SET task_name = '$task_name', task_ticket_id = $ticket_id");
|
||||
|
||||
$task_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Create", "$session_name created task $task_name", $client_id, $task_id);
|
||||
|
||||
$_SESSION['alert_message'] = "You created Task <strong>$task_name</strong>";
|
||||
flash_alert("You created Task <strong>$task_name</strong>");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_ticket_task'])) {
|
||||
|
|
@ -43,14 +41,15 @@ if (isset($_POST['edit_ticket_task'])) {
|
|||
$sql = mysqli_query($mysqli, "SELECT * FROM tasks LEFT JOIN tickets ON ticket_id = task_ticket_id WHERE task_id = $task_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_id = intval($row['ticket_client_id']);
|
||||
|
||||
mysqli_query($mysqli, "UPDATE tasks SET task_name = '$task_name', task_order = $task_order, task_completion_estimate = $task_completion_estimate WHERE task_id = $task_id");
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Edit", "$session_name edited task $task_name", $client_id, $task_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Task <strong>$task_name</strong> edited";
|
||||
flash_alert("Task <strong>$task_name</strong> edited");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST['edit_ticket_template_task'])) {
|
||||
|
|
@ -64,22 +63,20 @@ if (isset($_POST['edit_ticket_template_task'])) {
|
|||
|
||||
mysqli_query($mysqli, "UPDATE task_templates SET task_template_name = '$task_name', task_template_order = $task_order, task_template_completion_estimate = $task_completion_estimate WHERE task_template_id = $task_template_id");
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Edit", "$session_name edited task $task_name", 0, $task_template_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Task <strong>$task_name</strong> edited";
|
||||
flash_alert("Task <strong>$task_name</strong> edited");
|
||||
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['delete_task'])) {
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
// CSRF Check
|
||||
validateCSRFToken($_GET['csrf_token']);
|
||||
|
||||
enforceUserPermission('module_support', 3);
|
||||
|
||||
$task_id = intval($_GET['delete_task']);
|
||||
|
||||
// Get Client ID, task name from tasks and tickets using the task_id
|
||||
|
|
@ -90,13 +87,12 @@ if (isset($_GET['delete_task'])) {
|
|||
|
||||
mysqli_query($mysqli, "DELETE FROM tasks WHERE task_id = $task_id");
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Delete", "$session_name deleted task $task_name", $client_id, $task_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Task <strong>$task_name</strong> deleted";
|
||||
flash_alert("Task <strong>$task_name</strong> deleted", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['complete_task'])) {
|
||||
|
|
@ -123,12 +119,12 @@ if (isset($_GET['complete_task'])) {
|
|||
|
||||
$ticket_reply_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Edit", "$session_name completed task $task_name", $client_id, $task_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Task <strong>$task_name</strong> Completed";
|
||||
flash_alert("Task <strong>$task_name</strong> Completed");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['undo_complete_task'])) {
|
||||
|
|
@ -151,11 +147,9 @@ if (isset($_GET['undo_complete_task'])) {
|
|||
|
||||
$ticket_reply_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Task", "Edit", "$session_name marked task $task_name as incomplete", $client_id, $task_id);
|
||||
|
||||
$_SESSION['alert_type'] = "error";
|
||||
$_SESSION['alert_message'] = "Task <strong>$task_name</strong> marked as incomplete";
|
||||
flash_alert("Task <strong>$task_name</strong> marked as incomplete", 'error');
|
||||
|
||||
redirect();
|
||||
|
||||
|
|
@ -168,9 +162,7 @@ if (isset($_GET['complete_all_tasks'])) {
|
|||
$ticket_id = intval($_GET['complete_all_tasks']);
|
||||
|
||||
// Get Client ID
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_id = $ticket_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_id = intval($row['ticket_client_id']);
|
||||
$client_id = intval(getFieldById('tickets', $ticket_id, 'ticket_client_id'));
|
||||
|
||||
mysqli_query($mysqli, "UPDATE tasks SET task_completed_at = NOW(), task_completed_by = $session_user_id WHERE task_ticket_id = $ticket_id AND task_completed_at IS NULL");
|
||||
|
||||
|
|
@ -179,12 +171,12 @@ if (isset($_GET['complete_all_tasks'])) {
|
|||
|
||||
$ticket_reply_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Ticket", "Edit", "$session_name marked all tasks complete for ticket", $client_id, $ticket_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Marked all tasks Complete";
|
||||
flash_alert("Marked all tasks Complete");
|
||||
|
||||
redirect();
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET['undo_complete_all_tasks'])) {
|
||||
|
|
@ -194,9 +186,7 @@ if (isset($_GET['undo_complete_all_tasks'])) {
|
|||
$ticket_id = intval($_GET['undo_complete_all_tasks']);
|
||||
|
||||
// Get Client ID
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_id = $ticket_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$client_id = intval($row['ticket_client_id']);
|
||||
$client_id = intval(getFieldById('tickets', $ticket_id, 'ticket_client_id'));
|
||||
|
||||
mysqli_query($mysqli, "UPDATE tasks SET task_completed_at = NULL, task_completed_by = NULL WHERE task_ticket_id = $ticket_id AND task_completed_at IS NOT NULL");
|
||||
|
||||
|
|
@ -205,10 +195,10 @@ if (isset($_GET['undo_complete_all_tasks'])) {
|
|||
|
||||
$ticket_reply_id = mysqli_insert_id($mysqli);
|
||||
|
||||
// Logging
|
||||
logAction("Ticket", "Edit", "$session_name marked all tasks as incomplete for ticket", $client_id, $ticket_id);
|
||||
|
||||
$_SESSION['alert_message'] = "Marked all tasks Incomplete";
|
||||
flash_alert("Marked all tasks Incomplete", 'error');
|
||||
|
||||
redirect();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue