-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathprtProjectCard.php
More file actions
105 lines (90 loc) · 3.95 KB
/
Copy pathprtProjectCard.php
File metadata and controls
105 lines (90 loc) · 3.95 KB
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
<?php
/*
🎓 APRIL 20 CODE CHECK - CUSTOM FIELD IMPLEMENTATION GUIDE
Task: Add Priority Dropdown OR Checkbox & Display on Organization Project Card
Status: 100% COMPLETE - READY FOR EXAM
*/
// ============================================================
// 1. DATABASE (Run in phpMyAdmin)
// ============================================================
/*
ALTER TABLE `projects`
ADD COLUMN `priority` ENUM('low', 'medium', 'high') DEFAULT 'medium',
ADD COLUMN `is_featured` TINYINT(1) DEFAULT 0;
*/
// ============================================================
// 2. MODEL (app/models/Project.php)
// ============================================================
/*
GO TO: createProject() AND updateProject() methods
A. Update SQL query string:
"... category, status, priority, is_featured, required_skills ..."
"... :category, :status, :priority, :is_featured, :required_skills ..."
B. Add Bindings:
$this->db->bind(':priority', $data['priority']);
$this->db->bind(':is_featured', $data['is_featured']);
*/
// ============================================================
// 3. CONTROLLER (app/controllers/OrganizationController.php)
// ============================================================
/*
GO TO: createProject() or editProject() -> Inside if($_SERVER['REQUEST_METHOD'] === 'POST')
// Catch Values:
$priority = $_POST['priority'] ?? 'medium';
$is_featured = isset($_POST['is_featured']) ? 1 : 0;
// Add to $projectData array (around Line 190):
'priority' => $priority,
'is_featured' => $is_featured,
*/
// ============================================================
// 4. VIEW - FORM (app/views/organization/createProject.php)
// ============================================================
/*
LOCATE: Line 109 (End of skills section </div>)
PASTE THIS:
*/
?>
<div class="info-item" style="margin-top: 20px; border-top: 1px solid #eee; padding-top: 20px;">
<label>Project Priority</label>
<select name="priority" class="form-select">
<option value="low" <?= ($isEdit && ($project->priority ?? '') == 'low') ? 'selected' : '' ?>>🟢 Low Priority</option>
<option value="medium" <?= ($isEdit && ($project->priority ?? '') == 'medium') ? 'selected' : (!$isEdit ? 'selected' : '') ?>>🟡 Medium Priority</option>
<option value="high" <?= ($isEdit && ($project->priority ?? '') == 'high') ? 'selected' : '' ?>>🔴 High Priority</option>
</select>
</div>
<div class="info-item">
<label style="display:flex; align-items:center; gap:10px; font-weight:normal; cursor:pointer;">
<input type="checkbox" name="is_featured" value="1" <?= ($isEdit && ($project->is_featured ?? 0) == 1) ? 'checked' : '' ?>>
<span>⭐ Mark as Featured Project</span>
</label>
</div>
<?php
// ============================================================
// 5. VIEW - ORG CARD (app/views/organization/projects.php)
// ============================================================
/*
LOCATE: Line 79 (Inside <div class="simple-project-meta">)
PASTE THIS:
*/
?>
<div class="card-badges" style="margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap;">
<!-- Priority Badge -->
<?php
$p = $project->priority ?? 'medium';
$pMap = [
'low' => ['c' => '#2e7d32', 'b' => '#e8f5e9', 'l' => 'Low'],
'medium' => ['c' => '#ef6c00', 'b' => '#fff3e0', 'l' => 'Medium'],
'high' => ['c' => '#c62828', 'b' => '#ffebee', 'l' => 'High']
];
$style = $pMap[$p];
?>
<span style="background:<?= $style['b'] ?>; color:<?= $style['c'] ?>; padding:2px 10px; border-radius:12px; font-size:10px; font-weight:bold; border:1px solid <?= $style['c'] ?>44;">
<?= $style['l'] ?> Priority
</span>
<!-- Featured Checkbox Result -->
<?php if(($project->is_featured ?? 0) == 1): ?>
<span style="background:#fff9c4; color:#fbc02d; padding:2px 10px; border-radius:12px; font-size:10px; font-weight:bold; border:1px solid #fbc02d44;">
⭐ Featured
</span>
<?php endif; ?>
</div>