diff --git a/clients.php b/clients.php
index 2f49b0a8..7f257b92 100644
--- a/clients.php
+++ b/clients.php
@@ -17,7 +17,7 @@ if (isset($_GET['leads'])) {
$leads = intval($_GET['leads']);
}
-if($leads == 1){
+if ($leads == 1){
$leads_query = 1;
} else {
$leads_query = 0;
@@ -35,7 +35,7 @@ if (isset($_GET['tags']) && is_array($_GET['tags']) && !empty($_GET['tags'])) {
// Convert the sanitized tags into a comma-separated string
$sanitizedTagsString = implode(",", $sanitizedTags);
$tag_query = "AND tags.tag_id IN ($sanitizedTagsString)";
-} else{
+} else {
$tag_query = '';
}
diff --git a/post/user/project.php b/post/user/project.php
index 2750c086..065b3b78 100644
--- a/post/user/project.php
+++ b/post/user/project.php
@@ -6,7 +6,7 @@
if (isset($_POST['add_project'])) {
- validateTechRole();
+ enforceUserPermission('module_support', 2);
$project_name = sanitizeInput($_POST['name']);
$project_description = sanitizeInput($_POST['description']);
@@ -78,7 +78,7 @@ if (isset($_POST['add_project'])) {
if (isset($_POST['edit_project'])) {
- validateTechRole();
+ enforceUserPermission('module_support', 2);
$project_id = intval($_POST['project_id']);
$project_name = sanitizeInput($_POST['name']);
@@ -99,7 +99,7 @@ if (isset($_POST['edit_project'])) {
if (isset($_GET['close_project'])) {
- validateTechRole();
+ enforceUserPermission('module_support', 2);
$project_id = intval($_GET['close_project']);
@@ -119,9 +119,52 @@ if (isset($_GET['close_project'])) {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
+if (isset($_GET['archive_project'])) {
+
+ enforceUserPermission('module_support', 2);
+
+ $project_id = intval($_GET['archive_project']);
+
+ // Get Client Name
+ $sql = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_id = $project_id");
+ $row = mysqli_fetch_array($sql);
+ $project_name = sanitizeInput($row['project_name']);
+
+ mysqli_query($mysqli, "UPDATE projects SET project_archived_at = NOW() WHERE project_id = $project_id");
+
+ //Logging
+ mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Archive', log_description = '$session_name archived project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $project_id");
+
+ $_SESSION['alert_type'] = "error";
+ $_SESSION['alert_message'] = "Project $project_name archived";
+
+ header("Location: " . $_SERVER["HTTP_REFERER"]);
+}
+
+if (isset($_GET['unarchive_project'])) {
+
+ enforceUserPermission('module_support', 2);
+
+ $project_id = intval($_GET['unarchive_project']);
+
+ // Get Client Name
+ $sql = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_id = $project_id");
+ $row = mysqli_fetch_array($sql);
+ $project_name = sanitizeInput($row['project_name']);
+
+ mysqli_query($mysqli, "UPDATE projects SET project_archived_at = NULL WHERE project_id = $project_id");
+
+ //Logging
+ mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Undo Archive', log_description = '$session_name unarchived project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, log_entity_id = $project_id");
+
+ $_SESSION['alert_message'] = "Project $project_name unarchived";
+
+ header("Location: " . $_SERVER["HTTP_REFERER"]);
+}
+
if (isset($_GET['delete_project'])) {
- validateTechRole();
+ enforceUserPermission('module_support', 3);
$project_id = intval($_GET['delete_project']);
@@ -134,7 +177,7 @@ if (isset($_GET['delete_project'])) {
mysqli_query($mysqli, "DELETE FROM projects WHERE project_id = $project_id");
// Logging
- mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Projects', log_action = 'Delete', log_description = '$session_name deleted project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $project_id");
+ mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Delete', log_description = '$session_name deleted project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $project_id");
$_SESSION['alert_type'] = "error";
$_SESSION['alert_message'] = "You Deleted Project $project_name";
@@ -144,7 +187,7 @@ if (isset($_GET['delete_project'])) {
if (isset($_POST['add_project_ticket'])) {
- validateTechRole();
+ enforceUserPermission('module_support', 2);
$project_id = intval($_POST['project_id']);
// Get Project Name
diff --git a/project_details.php b/project_details.php
index 31b66536..c80b267a 100644
--- a/project_details.php
+++ b/project_details.php
@@ -22,16 +22,17 @@ if (isset($_GET['project_id'])) {
}
$row = mysqli_fetch_array($sql_project);
-
+
$project_id = intval($row['project_id']);
$project_prefix = nullable_htmlentities($row['project_prefix']);
$project_number = intval($row['project_number']);
$project_name = nullable_htmlentities($row['project_name']);
$project_description = nullable_htmlentities($row['project_description']);
$project_due = nullable_htmlentities($row['project_due']);
- $project_completed_at = nullable_htmlentities($row['project_completed_at']);
$project_created_at = date("Y-m-d", strtotime($row['project_created_at']));
$project_updated_at = nullable_htmlentities($row['project_updated_at']);
+ $project_completed_at = nullable_htmlentities($row['project_completed_at']);
+ $project_archived_at = nullable_htmlentities($row['project_archived_at']);
$client_id = intval($row['client_id']);
$client_name = nullable_htmlentities($row['client_name']);
@@ -49,7 +50,7 @@ if (isset($_GET['project_id'])) {
$project_manager_display = "-";
}
- if($project_completed_at) {
+ if ($project_completed_at) {
$project_status_display = "Closed";
$project_completed_date_display = "
" . date('Y-m-d', strtotime($project_completed_at)) . "
";
} else {
@@ -70,8 +71,9 @@ if (isset($_GET['project_id'])) {
$sql_closed_tickets = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_project_id = $project_id AND ticket_closed_at IS NOT NULL");
$closed_ticket_count = mysqli_num_rows($sql_closed_tickets);
-
- if($ticket_count) {
+
+ $tickets_closed_percent = 100; //Default
+ if ($ticket_count) {
$tickets_closed_percent = round(($closed_ticket_count / $ticket_count) * 100);
}
@@ -94,7 +96,7 @@ if (isset($_GET['project_id'])) {
$completed_task_count = mysqli_num_rows($sql_tasks_completed);
// Tasks Completed Percent
- if($task_count) {
+ if ($task_count) {
$tasks_completed_percent = round(($completed_task_count / $task_count) * 100);
}
@@ -119,291 +121,291 @@ if (isset($_GET['project_id'])) {
// The user names in a comma-separated string
$ticket_collaborators = nullable_htmlentities($row['user_names']);
-
+
?>
-
-
- -
- Projects
-
- - Project Details
-
+
+
+ -
+ Projects
+
+ - Project Details
+
-
-