File size: 6,133 Bytes
102fe5c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?php
// Include database connection and authentication
require_once 'includes/db_connect.php';
require_once 'includes/domain_utils.php';
require_once 'includes/auth_check.php';

// Ensure only faculty can access this page
requireFaculty();

// Initialize variables
$error = '';
$domainNumber = isset($_GET['domain']) ? intval($_GET['domain']) : 0;
$projectId = isset($_GET['id']) ? intval($_GET['id']) : 0;
$confirm = isset($_GET['confirm']) && $_GET['confirm'] === 'yes';
$projectName = '';
$domainTable = "domain_" . $domainNumber;

// Get domain descriptions
$domainDescriptions = getDomainDescriptions($conn);
$domainDescription = isset($domainDescriptions[$domainNumber]) ? $domainDescriptions[$domainNumber] : "Domain $domainNumber";

// Check if the domain and project ID are provided
if ($domainNumber <= 0 || $projectId <= 0) {
    $error = "Invalid domain or project ID.";
} else {
    // Check if the domain table exists
    $tableCheckQuery = "SHOW TABLES LIKE '$domainTable'";
    $tableExists = $conn->query($tableCheckQuery)->num_rows > 0;
    
    if (!$tableExists) {
        $error = "Domain table does not exist.";
    } else {
        // Get project name field for this domain
        $projectNameField = getProjectNameField($conn, $domainTable);
        
        // Get the project details
        $projectQuery = "SELECT `$projectNameField` FROM $domainTable WHERE Project_ID = ? LIMIT 1";
        $stmt = $conn->prepare($projectQuery);
        
        if ($stmt) {
            $stmt->bind_param('i', $projectId);
            $stmt->execute();
            $result = $stmt->get_result();
            
            if ($result && $result->num_rows > 0) {
                $project = $result->fetch_assoc();
                $projectName = $project[$projectNameField];
                
                // If confirmed, delete the project
                if ($confirm) {
                    $deleteQuery = "DELETE FROM $domainTable WHERE Project_ID = ?";
                    $deleteStmt = $conn->prepare($deleteQuery);
                    
                    if ($deleteStmt) {
                        $deleteStmt->bind_param('i', $projectId);
                        
                        if ($deleteStmt->execute()) {
                            // Redirect to project management page with success message
                            header("Location: project_manage.php?deleted=1&project=" . urlencode($projectName));
                            exit;
                        } else {
                            $error = "Error deleting project: " . $deleteStmt->error;
                        }
                        
                        $deleteStmt->close();
                    } else {
                        $error = "Error preparing delete query: " . $conn->error;
                    }
                }
            } else {
                $error = "Project not found.";
            }
            
            $stmt->close();
        } else {
            $error = "Error preparing query: " . $conn->error;
        }
    }
}

// Include header
include 'includes/header.php';
?>

<div class="row mb-4">

    <div class="col-md-12">

        <nav aria-label="breadcrumb">

            <ol class="breadcrumb">

                <li class="breadcrumb-item"><a href="index.php">Home</a></li>

                <li class="breadcrumb-item"><a href="project_manage.php">Manage Projects</a></li>

                <li class="breadcrumb-item active">Delete Project</li>

            </ol>

        </nav>

        <h2><i class="fas fa-trash-alt me-2"></i> Delete Project</h2>

    </div>

</div>



<?php if (!empty($error)): ?>

<div class="alert alert-danger">

    <i class="fas fa-exclamation-circle me-2"></i> <?php echo $error; ?>

    <div class="mt-3">

        <a href="project_manage.php" class="btn btn-primary">

            <i class="fas fa-arrow-left me-1"></i> Back to Project Management

        </a>

    </div>

</div>

<?php elseif (!$confirm): ?>

<div class="row">

    <div class="col-md-8 mx-auto">

        <div class="card shadow-sm border-danger">

            <div class="card-header bg-danger text-white">

                <h5 class="mb-0"><i class="fas fa-exclamation-triangle me-2"></i> Confirm Deletion</h5>

            </div>

            <div class="card-body">

                <p class="alert alert-warning">

                    <i class="fas fa-exclamation-circle me-2"></i> <strong>Warning:</strong> You are about to delete the following project:

                </p>

                

                <div class="card mb-4">

                    <div class="card-body">

                        <h5 class="card-title"><?php echo htmlspecialchars($projectName); ?></h5>

                        <p class="card-text">

                            <strong>Domain:</strong> <?php echo htmlspecialchars("Domain $domainNumber: $domainDescription"); ?>

                        </p>

                        <p class="card-text">

                            <strong>Project ID:</strong> <?php echo $projectId; ?>

                        </p>

                    </div>

                </div>

                

                <p class="text-danger"><strong>This action cannot be undone.</strong> Are you sure you want to delete this project?</p>

                

                <div class="d-flex justify-content-between mt-4">

                    <a href="project_manage.php" class="btn btn-secondary">

                        <i class="fas fa-times me-1"></i> Cancel

                    </a>

                    <a href="project_delete.php?domain=<?php echo urlencode($domainNumber); ?>&id=<?php echo urlencode($projectId); ?>&confirm=yes" class="btn btn-danger">

                        <i class="fas fa-trash-alt me-1"></i> Yes, Delete Project

                    </a>

                </div>

            </div>

        </div>

    </div>

</div>

<?php endif; ?>



<?php

// Include footer

include 'includes/footer.php';



// Close connection

$conn->close();

?>