π File Manager
π /
/
home
/
u857492117
/
domains
/
mangaldaicollege.org
/
public_html
/
app
/
Teacher
Dosya DΓΌzenle: student-zone.php
<?php session_set_cookie_params(86400 * 30); session_start(); include "db.php"; if(!isset($_SESSION['user_id']) || $_SESSION['role'] != "teacher"){ header("Location: ../login.php"); exit(); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MConnect β Management Zone</title> <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap" rel="stylesheet"> <style> :root { --bg: #f5f4f0; --surface: #ffffff; --surface-2: #f0ede8; --border: rgba(0,0,0,0.08); --border-md: rgba(0,0,0,0.14); --text-1: #1a1917; --text-2: #5a5751; --text-3: #9a9590; --accent: #2e2a7a; --accent-soft: #eceaff; --accent-mid: #6b65d4; --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04); --shadow-md: 0 4px 12px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.04); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 24px; --nav-h: 64px; /* per-item accent colors */ --c-indigo-bg: #eceaff; --c-indigo-fg: #2e2a7a; --c-teal-bg: #e0f5ee; --c-teal-fg: #0f6e56; --c-amber-bg: #fff4e0; --c-amber-fg: #7a4f00; --c-blue-bg: #e6f1fb; --c-blue-fg: #185fa5; --c-rose-bg: #fbeaf0; --c-rose-fg: #993556; } *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; } body { font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.6; background: var(--bg); color: var(--text-1); min-height: 100vh; padding-bottom: calc(var(--nav-h) + 24px); } /* ββ TOPBAR βββββββββββββββββββββββββββββββββββ */ .topbar { position: sticky; top: 0; z-index: 200; background: rgba(245,244,240,0.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 56px; } .topbar-logo { font-size: 17px; font-weight: 500; letter-spacing: -0.3px; color: var(--text-1); } .topbar-logo span { color: var(--accent-mid); } .topbar-right { display: flex; align-items: center; gap: 8px; position: relative; } .icon-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.15s; } .icon-btn:hover { background: var(--surface-2); } .avatar-wrap { position: relative; } .avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; cursor: pointer; border: 2px solid var(--surface); box-shadow: var(--shadow-sm); user-select: none; transition: opacity 0.15s; letter-spacing: 0.3px; } .avatar:hover { opacity: 0.88; } /* ββ DROPDOWN βββββββββββββββββββββββββββββββββ */ .profile-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: 240px; background: var(--surface); border: 1px solid var(--border-md); border-radius: var(--radius-lg); box-shadow: 0 8px 30px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06); overflow: hidden; opacity: 0; transform: translateY(-6px) scale(0.97); pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; z-index: 300; } .profile-dropdown.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: all; } /* USER BLOCK */ .dropdown-user { padding: 16px 16px 14px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--border); background: var(--surface-2); } .dropdown-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 500; flex-shrink: 0; letter-spacing: 0.3px; } .dropdown-user-info { min-width: 0; } .dropdown-name { font-size: 14px; font-weight: 500; color: var(--text-1); letter-spacing: -0.1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .dropdown-roll { font-size: 12px; color: var(--text-3); margin-top: 1px; font-family: 'DM Mono', 'Courier New', monospace; letter-spacing: 0.3px; } /* MENU ITEMS */ .dropdown-menu { padding: 6px; } .dropdown-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--radius-sm); cursor: pointer; text-decoration: none; color: var(--text-1); font-size: 14px; transition: background 0.13s; border: none; background: transparent; width: 100%; font-family: 'DM Sans', sans-serif; } .dropdown-item:hover { background: var(--surface-2); } .dropdown-item:hover .item-icon { background: var(--accent-soft); } .dropdown-item.danger { color: #9b2a2a; } .dropdown-item.danger:hover { background: #fdf0f0; } .dropdown-item.danger .item-icon { background: #fdf0f0; } .dropdown-item.danger:hover .item-icon { background: #f7c1c1; } .item-icon { width: 30px; height: 30px; border-radius: var(--radius-sm); background: var(--surface-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.13s; } .dropdown-divider { height: 1px; background: var(--border); margin: 4px 6px; } /* ββ PAGE βββββββββββββββββββββββββββββββββββββ */ .page { max-width: 520px; margin: 0 auto; padding: 24px 16px 0; } .page-heading { margin-bottom: 6px; } .page-heading h1 { font-size: 22px; font-weight: 500; letter-spacing: -0.4px; color: var(--text-1); margin-bottom: 2px; } .page-heading p { font-size: 14px; color: var(--text-2); } /* ββ SECTION LABEL ββββββββββββββββββββββββββββ */ .section-label { font-size: 11.5px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.7px; color: var(--text-3); margin: 22px 0 10px; } /* ββ ACTION CARD ββββββββββββββββββββββββββββββ */ .action-card { background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: var(--shadow-sm); display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 10px; text-decoration: none; color: inherit; transition: box-shadow 0.18s, transform 0.15s, border-color 0.18s; cursor: pointer; } .action-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-md); transform: translateY(-1px); } .action-card:active { transform: translateY(0); } .card-icon-wrap { width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .card-text { flex: 1; min-width: 0; } .card-title { font-size: 15px; font-weight: 500; color: var(--text-1); letter-spacing: -0.15px; margin-bottom: 1px; } .card-sub { font-size: 13px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .card-arrow { width: 28px; height: 28px; border-radius: 50%; background: var(--surface-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.15s; } .action-card:hover .card-arrow { background: var(--accent-soft); } /* ββ BADGE (optional status pill) ββββββββββββ */ .badge { font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 99px; margin-left: 6px; vertical-align: middle; } /* ββ BOTTOM NAV βββββββββββββββββββββββββββββββ */ .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: var(--nav-h); background: rgba(255,255,255,0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--border); display: flex; justify-content: space-around; align-items: center; padding: 0 8px; z-index: 90; } .nav-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 0; border-radius: var(--radius-md); cursor: pointer; text-decoration: none; color: var(--text-3); transition: background 0.15s; } .nav-item:hover { background: var(--surface-2); } .nav-item svg { width: 22px; height: 22px; } .nav-label { font-size: 11px; font-weight: 500; letter-spacing: 0.2px; } .nav-item.active { color: var(--accent); } .nav-dot { position: relative; } .nav-dot::after { content: ''; position: absolute; top: -2px; right: -2px; width: 6px; height: 6px; background: var(--accent-mid); border-radius: 50%; border: 1.5px solid var(--surface); } </style> </head> <body> <?php include "teacherHeader.php"; ?> <!-- MAIN --> <main class="page"> <div class="page-heading"> <h1>Management Zone</h1> <p>Manage students, teachers, and classes</p> </div> <!-- STUDENTS --> <div class="section-label">Students</div> <a class="action-card" href="studentDataCsv.php"> <div class="card-icon-wrap" style="background:var(--c-indigo-bg);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--c-indigo-fg)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/> <polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/> </svg> </div> <div class="card-text"> <div class="card-title">Import Students</div> <div class="card-sub">Bulk upload via CSV file</div> </div> <div class="card-arrow"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="9 18 15 12 9 6"/> </svg> </div> </a> <a class="action-card" href="#"> <div class="card-icon-wrap" style="background:var(--c-teal-bg);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--c-teal-fg)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/> <circle cx="12" cy="7" r="4"/> <line x1="19" y1="8" x2="19" y2="14"/><line x1="22" y1="11" x2="16" y2="11"/> </svg> </div> <div class="card-text"> <div class="card-title">Add Single Student</div> <div class="card-sub">Manually enter a new student record</div> </div> <div class="card-arrow"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="9 18 15 12 9 6"/> </svg> </div> </a> <!-- STAFF --> <div class="section-label">Staff</div> <a class="action-card" href="addTeacher.php"> <div class="card-icon-wrap" style="background:var(--c-amber-bg);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--c-amber-fg)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/> <circle cx="9" cy="7" r="4"/> <path d="M23 21v-2a4 4 0 0 0-3-3.87"/> <path d="M16 3.13a4 4 0 0 1 0 7.75"/> </svg> </div> <div class="card-text"> <div class="card-title">Add Teacher</div> <div class="card-sub">Register a new faculty member</div> </div> <div class="card-arrow"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="9 18 15 12 9 6"/> </svg> </div> </a> <!-- ACADEMIC --> <div class="section-label">Academic</div> <a class="action-card" href="addSubject.php"> <div class="card-icon-wrap" style="background:var(--c-rose-bg);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--c-rose-fg)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/> <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/> </svg> </div> <div class="card-text"> <div class="card-title">Add Subject</div> <div class="card-sub">Define course subjects and codes</div> </div> <div class="card-arrow"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="9 18 15 12 9 6"/> </svg> </div> </a> <a class="action-card" href="addRoutine.php"> <div class="card-icon-wrap" style="background:var(--c-blue-bg);"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--c-blue-fg)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"> <rect x="3" y="4" width="18" height="18" rx="2" ry="2"/> <line x1="16" y1="2" x2="16" y2="6"/> <line x1="8" y1="2" x2="8" y2="6"/> <line x1="3" y1="10" x2="21" y2="10"/> <line x1="8" y1="14" x2="10" y2="14"/> <line x1="8" y1="18" x2="10" y2="18"/> <line x1="14" y1="14" x2="16" y2="14"/> </svg> </div> <div class="card-text"> <div class="card-title">Add Routine</div> <div class="card-sub">Set up class timetable and schedule</div> </div> <div class="card-arrow"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--accent-mid)" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"> <polyline points="9 18 15 12 9 6"/> </svg> </div> </a> </main> <!-- BOTTOM NAV --> <?php include "botNav.php"; ?> <script> function toggleMenu(e) { e.stopPropagation(); document.getElementById('profileDropdown').classList.toggle('open'); } document.addEventListener('click', function(e) { const dropdown = document.getElementById('profileDropdown'); const avatarBtn = document.getElementById('avatarBtn'); if (dropdown && !dropdown.contains(e.target) && e.target !== avatarBtn) { dropdown.classList.remove('open'); } }); document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { document.getElementById('profileDropdown').classList.remove('open'); } }); </script> </body> </html>
πΎ Kaydet
Δ°ptal