🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:dashboard.php
<?php require_once '../includes/db.php'; require_once '../includes/auth.php'; checkAdmin(); // Statistics $total_jobs = 0; $total_employers = 0; $pending_jobs = 0; $total_categories = 0; $total_candidates = 0; $pending_cvs = 0; $jobs_to_approve = []; try { $tj = fetchOne("SELECT COUNT(*) as count FROM jobs"); $total_jobs = $tj['count'] ?? 0; $te = fetchOne("SELECT COUNT(*) as count FROM employers"); $total_employers = $te['count'] ?? 0; $pj = fetchOne("SELECT COUNT(*) as count FROM jobs WHERE status = 'pending'"); $pending_jobs = $pj['count'] ?? 0; $tc = fetchOne("SELECT COUNT(*) as count FROM categories"); $total_categories = $tc['count'] ?? 0; $tcand = fetchOne("SELECT COUNT(*) as count FROM candidates"); $total_candidates = $tcand['count'] ?? 0; $pcv = fetchOne("SELECT COUNT(*) as count FROM candidates WHERE cv_status = 'pending'"); $pending_cvs = $pcv['count'] ?? 0; $jobs_to_approve = fetchAll("SELECT j.*, e.company_name FROM jobs j JOIN employers e ON j.employer_id = e.id WHERE j.status = 'pending' ORDER BY j.created_at DESC LIMIT 5"); } catch (Exception $e) { // Keep defaults if query fails } $page_title = "Admin Dashboard"; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php echo $page_title; ?> | jobly.lk Admin</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css"> <link rel="stylesheet" href="../assets/css/style.css"> </head> <body class="bg-light"> <nav class="navbar navbar-expand-lg dashboard-nav sticky-top shadow-sm"> <div class="container-fluid px-4"> <a class="navbar-brand fw-bold" href="dashboard.php">jobly.lk Admin</a> <div class="ms-auto"> <a href="../logout.php" class="btn btn-sm btn-outline-light">Logout</a> </div> </div> </nav> <div class="container-fluid"> <div class="row"> <!-- Sidebar --> <div class="col-md-3 col-lg-2 d-md-block sidebar collapse p-0"> <div class="position-sticky pt-3"> <ul class="nav flex-column"> <li class="nav-item"> <a class="nav-link active" href="dashboard.php"> <i class="bi bi-speedometer2 me-2"></i> Dashboard </a> </li> <li class="nav-item"> <a class="nav-link" href="post-job.php"> <i class="bi bi-plus-circle me-2"></i> Post a Job </a> </li> <li class="nav-item"> <a class="nav-link" href="manage-jobs.php"> <i class="bi bi-briefcase me-2"></i> Manage Jobs <?php if($pending_jobs > 0): ?> <span class="badge bg-danger rounded-pill float-end"><?php echo $pending_jobs; ?></span> <?php endif; ?> </a> </li> <li class="nav-item"> <a class="nav-link" href="manage-employers.php"> <i class="bi bi-people me-2"></i> Manage Employers </a> </li> <li class="nav-item"> <a class="nav-link" href="manage-candidates.php"> <i class="bi bi-person-badge me-2"></i> Manage Candidates <?php if($pending_cvs > 0): ?> <span class="badge bg-warning text-dark rounded-pill float-end"><?php echo $pending_cvs; ?></span> <?php endif; ?> </a> </li> <li class="nav-item"> <a class="nav-link" href="manage-categories.php"> <i class="bi bi-tags me-2"></i> Categories </a> </li> <li class="nav-item"> <a class="nav-link" href="settings.php"> <i class="bi bi-gear me-2"></i> Website Settings </a> </li> </ul> </div> </div> <!-- Main Content --> <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 py-4"> <h2 class="mb-4">System Overview</h2> <!-- Stats --> <div class="row g-4 mb-4"> <div class="col-md-3"> <div class="card border-0 shadow-sm"> <div class="card-body"> <h6 class="text-muted">Total Jobs</h6> <h2 class="fw-bold"><?php echo $total_jobs; ?></h2> </div> </div> </div> <div class="col-md-3"> <div class="card border-0 shadow-sm"> <div class="card-body"> <h6 class="text-muted">Total Employers</h6> <h2 class="fw-bold"><?php echo $total_employers; ?></h2> </div> </div> </div> <div class="col-md-3"> <div class="card border-0 shadow-sm bg-warning bg-opacity-10"> <div class="card-body"> <h6 class="text-muted">Pending Jobs</h6> <h2 class="fw-bold text-warning"><?php echo $pending_jobs; ?></h2> </div> </div> </div> <div class="col-md-3"> <div class="card border-0 shadow-sm"> <div class="card-body"> <h6 class="text-muted">Candidates</h6> <h2 class="fw-bold"><?php echo $total_candidates; ?></h2> </div> </div> </div> <div class="col-md-3"> <div class="card border-0 shadow-sm bg-info bg-opacity-10"> <div class="card-body"> <h6 class="text-muted">Pending CVs</h6> <h2 class="fw-bold text-info"><?php echo $pending_cvs; ?></h2> </div> </div> </div> </div> <!-- Pending Jobs Table --> <div class="card border-0 shadow-sm"> <div class="card-header bg-white py-3 d-flex justify-content-between"> <h5 class="mb-0 fw-bold">Recent Pending Jobs</h5> <a href="manage-jobs.php?status=pending" class="btn btn-sm btn-link text-decoration-none">View All</a> </div> <div class="card-body"> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Job Title</th> <th>Company</th> <th>Date Posted</th> <th>Actions</th> </tr> </thead> <tbody> <?php if(empty($jobs_to_approve)): ?> <tr><td colspan="4" class="text-center">No pending jobs.</td></tr> <?php else: ?> <?php foreach($jobs_to_approve as $job): ?> <tr> <td><?php echo $job['title']; ?></td> <td><?php echo $job['company_name']; ?></td> <td><?php echo date('M d, Y', strtotime($job['created_at'])); ?></td> <td> <a href="approve-job.php?id=<?php echo $job['id']; ?>" class="btn btn-sm btn-success">Approve</a> <a href="reject-job.php?id=<?php echo $job['id']; ?>" class="btn btn-sm btn-danger" onclick="return confirm('Reject this job?')">Reject</a> </td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> </table> </div> </div> </div> </main> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html>
Save Changes
Cancel
Create New File
Create New Folder