<?php
/**
 * modules/mines/edit_mines.php
 */

$p = $GLOBALS['my_privs'] ?? ['can_edit' => 0];
if (in_array(1, $_SESSION['all_role_ids'] ?? [])) { $p['can_edit'] = 1; }

if ($p['can_edit'] == 0) {
    header("Location: index.php?s=" . encrypt_url('mod=mines&page=list_mines') . "&status=access_denied");
    exit;
}

$mine_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

if ($mine_id == 0) {
    header("Location: index.php?s=" . encrypt_url('mod=mines&page=list_mines'));
    exit;
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $block_id    = (int)$_POST['block_id'];
    $category_id = (int)$_POST['category_id'];
    $mine_number = $db->escape($_POST['mine_number']);
    $status      = $db->escape($_POST['status']);
    $updated_by  = (int)$_SESSION['user_id'];

    $check_sql = "SELECT MINE_ID FROM TBL_MINES WHERE BLOCK_ID = $block_id AND MINE_NUMBER = '$mine_number' AND MINE_ID != $mine_id";
    if (mysqli_num_rows($db->query($check_sql)) > 0) {
        header("Location: index.php?s=" . encrypt_url("mod=mines&page=edit_mines&id=$mine_id") . "&status=duplicate");
        exit;
    }

    $sql = "UPDATE TBL_MINES 
            SET BLOCK_ID = $block_id,
                CATEGORY_ID = $category_id,
                MINE_NUMBER = '$mine_number', 
                STATUS = '$status', 
                UPDATED_BY = $updated_by, 
                UPDATED_DATE = CURRENT_TIMESTAMP 
            WHERE MINE_ID = $mine_id";
    
    if ($db->query($sql)) {
        header("Location: index.php?s=" . encrypt_url('mod=mines&page=list_mines') . "&status=updated");
        exit;
    }
}

// Fetch Data
$sql = "SELECT * FROM TBL_MINES WHERE MINE_ID = $mine_id";
$result = $db->query($sql);
$data = mysqli_fetch_assoc($result);

if (!$data) {
    header("Location: index.php?s=" . encrypt_url('mod=mines&page=list_mines'));
    exit;
}

// Fetch lookups
$blocks_sql = "SELECT b.BLOCK_ID, b.BLOCK_NAME, l.LOCATION_NAME 
               FROM TBL_BLOCKS b JOIN TBL_LOCATIONS l ON b.LOCATION_ID = l.LOCATION_ID 
               WHERE b.STATUS = 'ACTIVE' ORDER BY l.LOCATION_NAME ASC, b.BLOCK_NAME ASC";
$blocks_res = $db->query($blocks_sql);

$cat_sql = "SELECT CATEGORY_ID, CATEGORY_NAME FROM TBL_CATEGORIES WHERE STATUS = 'ACTIVE' ORDER BY CATEGORY_NAME ASC";
$cat_res = $db->query($cat_sql);
?>

<div class="p-3">
    <section class="content-header px-0">
        <div class="container-fluid">
            <div class="row mb-2">
                <div class="col-sm-6">
                    <h1 class="font-weight-bold text-primary"><i class="fas fa-edit mr-2"></i>Edit Mine</h1>
                </div>
                <div class="col-sm-6 text-right">
                    <a href="index.php?s=<?php echo encrypt_url('mod=mines&page=list_mines'); ?>" class="btn btn-default shadow-sm border">
                        <i class="fas fa-arrow-left mr-1"></i> Cancel Update
                    </a>
                </div>
            </div>
        </div>
    </section>

    <section class="content px-0">
        <div class="container-fluid">
            <form action="" method="POST">
                <div class="card card-outline card-primary shadow-sm" style="border-top: 4px solid #007bff;">
                    <div class="card-body">
                        <div class="row">
                            
                            <div class="col-md-5 form-group">
                                <label class="text-secondary">Parent Location & Block <span class="text-danger">*</span></label>
                                <select name="block_id" class="form-control" required>
                                    <?php while($b = mysqli_fetch_assoc($blocks_res)): ?>
                                        <option value="<?php echo $b['BLOCK_ID']; ?>" <?php echo ($data['BLOCK_ID'] == $b['BLOCK_ID']) ? 'selected' : ''; ?>>
                                            <?php echo htmlspecialchars($b['LOCATION_NAME'] . " - " . $b['BLOCK_NAME']); ?>
                                        </option>
                                    <?php endwhile; ?>
                                </select>
                            </div>

                            <div class="col-md-3 form-group">
                                <label class="text-secondary">Mine Number <span class="text-danger">*</span></label>
                                <select name="mine_number" class="form-control" required>
                                    <?php for($i=1; $i<=100; $i++): 
                                        $m_val = "Mine-$i";
                                    ?>
                                        <option value="<?php echo $m_val; ?>" <?php echo ($data['MINE_NUMBER'] == $m_val) ? 'selected' : ''; ?>>
                                            <?php echo $m_val; ?>
                                        </option>
                                    <?php endfor; ?>
                                </select>
                            </div>
                            
                            <div class="col-md-2 form-group">
                                <label class="text-secondary">Coal Category <span class="text-danger">*</span></label>
                                <select name="category_id" class="form-control" required>
                                    <?php while($c = mysqli_fetch_assoc($cat_res)): ?>
                                        <option value="<?php echo $c['CATEGORY_ID']; ?>" <?php echo ($data['CATEGORY_ID'] == $c['CATEGORY_ID']) ? 'selected' : ''; ?>>
                                            <?php echo htmlspecialchars($c['CATEGORY_NAME']); ?>
                                        </option>
                                    <?php endwhile; ?>
                                </select>
                            </div>

                            <div class="col-md-2 form-group">
                                <label class="text-secondary">Status</label>
                                <select name="status" class="form-control">
                                    <option value="ACTIVE" <?php echo ($data['STATUS'] == 'ACTIVE') ? 'selected' : ''; ?>>ACTIVE</option>
                                    <option value="INACTIVE" <?php echo ($data['STATUS'] == 'INACTIVE') ? 'selected' : ''; ?>>INACTIVE</option>
                                </select>
                            </div>
                        </div>
                    </div>
                    <div class="card-footer bg-white text-right p-3">
                        <button type="submit" class="btn btn-primary px-5 font-weight-bold shadow-sm">
                            <i class="fas fa-sync mr-2"></i> UPDATE MINE
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </section>
</div>