Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/reports/dashboard/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/reports/dashboard/maintenance-actions.php

<?php
session_start();
require_once '../config/database.php';
require_once '../includes/functions.php';

header('Content-Type: application/json');

if (!isset($_SESSION['user_id'])) {
    echo json_encode(['success' => false, 'message' => 'Unauthorized']);
    exit();
}

// Check permission for maintenance access
if (!checkPermission('admin') && $_SESSION['user_level'] !== 'superuser') {
    echo json_encode(['success' => false, 'message' => 'Access denied']);
    exit();
}

if ($_POST && isset($_POST['action'])) {
    $action = sanitizeInput($_POST['action']);
    
    try {
        switch ($action) {
            case 'cleanup_sessions':
                $cleanup_query = "DELETE FROM user_sessions WHERE last_activity < DATE_SUB(NOW(), INTERVAL 1 DAY)";
                $cleanup_stmt = $db->prepare($cleanup_query);
                $cleanup_stmt->execute();
                $deleted_count = $cleanup_stmt->rowCount();
                
                logAudit('MAINTENANCE', 'user_sessions', null, null, ['action' => 'cleanup_sessions', 'deleted' => $deleted_count]);
                echo json_encode(['success' => true, 'message' => "Cleaned up $deleted_count expired sessions"]);
                break;
                
            case 'clear_cache':
                // Clear any cache files if they exist
                $cache_cleared = true; // Placeholder for actual cache clearing logic
                
                logAudit('MAINTENANCE', 'system', null, null, ['action' => 'clear_cache']);
                echo json_encode(['success' => true, 'message' => 'Cache cleared successfully']);
                break;
                
            default:
                echo json_encode(['success' => false, 'message' => 'Invalid action']);
                break;
        }
    } catch (Exception $e) {
        echo json_encode(['success' => false, 'message' => 'Operation failed: ' . $e->getMessage()]);
    }
} else {
    echo json_encode(['success' => false, 'message' => 'No action specified']);
}
?>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists