<?php
// Include DB connection
include 'ominterior_db.php';

// Get slider by ID
if (isset($_GET['id'])) {
    $sliderId = intval($_GET['id']);
    
    $result = $conn->query("SELECT * FROM slider_images WHERE id = $sliderId");
    $slider = $result->fetch_assoc();

    if (!$slider) {
        die("Slider not found.");
    }
    $currentImages = explode(",", $slider['slider_images']);
} else {
    die("No slider ID specified.");
}

// Handle form submission
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $sliderName = $_POST['sliderName'];
    $existingImages = isset($_POST['existingImages']) ? $_POST['existingImages'] : [];
    $newImages = [];

    $old_folder_name = $slider['slider_name']; // existing folder name (from DB)
    $new_folder_name = $_POST['sliderName']; // new folder name from form input

    // Sanitize both names
    $sanitized_old = preg_replace("/[^A-Za-z0-9\-_\.]/", "", $old_folder_name);
    $sanitized_new = preg_replace("/[^A-Za-z0-9\-_\.]/", "", $new_folder_name);

    $oldFolderPath = 'uploads/sliders/' . $sanitized_old;
    $newFolderPath = 'uploads/sliders/' . $sanitized_new;



     if ($sanitized_old !== $sanitized_new) {
        if (is_dir($oldFolderPath)) {
             rename($oldFolderPath, $newFolderPath);
        } else {
            // If old folder doesn't exist, create new one
            if (!is_dir($newFolderPath)) {
                mkdir($newFolderPath, 0777, true);
            }
        }
        } else {
            // Folder name same, ensure folder still exists
            if (!is_dir($oldFolderPath)) {
                mkdir($oldFolderPath, 0777, true);
            }   
        }
                
    $uploadDir = "uploads/sliders/".$sliderName."/";

    // Upload new images
    if (!empty($_FILES['sliderImages']['name'][0])) {
        $allowTypes = array('jpg', 'png', 'jpeg', 'gif', 'webp');

        foreach ($_FILES['sliderImages']['tmp_name'] as $key => $tmp_name) {
            $originalName = basename($_FILES['sliderImages']['name'][$key]);
            $fileType = pathinfo($originalName, PATHINFO_EXTENSION);

            if (in_array(strtolower($fileType), $allowTypes)) {
                $uniqueName = uniqid('slider_') . "_" . time() . "." . $fileType;
                $targetFilePath = $uploadDir . $uniqueName;

                if (move_uploaded_file($tmp_name, $targetFilePath)) {
                    $newImages[] = $uniqueName;
                }
            }
        }
    }

    // Final image list (preserve checked old images + new uploads)
    $finalImages = array_merge($existingImages, $newImages);
    $imageList = implode(",", $finalImages);

    $stmt = $conn->prepare("UPDATE slider_images SET slider_name = ?, slider_images = ? WHERE id = ?");
    $stmt->bind_param("ssi", $sliderName, $imageList, $sliderId);

    if ($stmt->execute()) {
        echo "Slider updated successfully!";
        // Redirect or refresh
        header("Location: gallery.php?msg=updated");
        exit;
    } else {
        echo "Update failed: " . $stmt->error;
    }
}
?>



<!doctype html>
<html lang="en" dir="ltr">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">

<link rel="icon" href="assets/images/black-logo.png" type="image/x-icon"/>

<title>OM INTERIOR - Dashborad</title>

<!-- Bootstrap Core and vandor -->
<link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.min.css" />

<!-- Plugins css -->
<link rel="stylesheet" href="assets/plugins/charts-c3/c3.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<!-- Core css -->
<link rel="stylesheet" href="assets/css/main2.css"/>
<link rel="stylesheet" href="assets/css/theme1.css"/>
</head>

<body class="font-montserrat">
<!-- Page Loader -->
<div class="page-loader-wrapper">
    <div class="loader">
    </div>
</div>

<div id="main_content">

<?php include 'haderTop_logo.php'?>
    
<?php include 'rightside_menu.php'?>

<?php include 'leftside_menu.php' ?>


    <div class="page">
        <div id="page_top" class="section-body top_dark">
            <div class="container-fluid">
                <div class="page-header">
                    <div class="left">
                        <a href="javascript:void(0)" class="icon menu_toggle mr-3"><i class="fa  fa-align-left"></i></a>
                        <h1 class="page-title">Project</h1>                        
                    </div>
                    <div class="right">
                        <?php include 'dropdown_flex_menu.php' ?>
                    </div>
                </div>
            </div>
        </div>

                <div class="row clearfix">
                    <div class="col-12 col-sm-12">
                        <div class="card">
                            <div class="card-header">
                                <h3 class="card-title">Edit Project Details</h3>
                                <a href="delete.php?id=<?= $project["id"] ?>" class="btn btn-danger btn-sm" style="position: relative; left:60vw" onclick="return confirm('Are you sure?')">Delete</a>
                            </div>
                                <!-- Include Bootstrap & jQuery -->
                                <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" />
                                <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

                                <div class="container py-5">
                                    <div class="card">
                                        <div class="card-body">
                                            <h4 class="mb-3">Edit Slider</h4>

                                            <form method="post" enctype="multipart/form-data">
                                                <!-- Slider Name -->
                                                <div class="mb-3">
                                                    <label for="sliderName" class="form-label"><strong>Slider Name</strong></label>
                                                    <input type="text" class="form-control" name="sliderName" id="sliderName" value="<?= htmlspecialchars($slider['slider_name']) ?>" required>
                                                </div>

                                                <!-- Existing Images -->
                                                <div class="mb-3">
                                                    <label class="form-label"><strong>Existing Images</strong></label><br>
                                                    <?php
                                                        $images = explode(',', $slider['slider_images']);
                                                        foreach ($images as $img) {
                                                            $img = trim($img);
                                                            $safeImg = preg_replace("/[^A-Za-z0-9\-_\.]/", "", $img);
                                                            $path = 'uploads/sliders/' . $slider['slider_name'] .'/'. $safeImg;
                                                            if (file_exists($path)) {
                                                                echo '<img src="' . $path . '" alt="" style="width: 75px; margin: 5px;">';
                                                            } else {
                                                                echo "<p style='color:red;'>Image not found: $path</p>";
                                                            }
                                                        }
                                                    ?>
                                                </div>

                                                <!-- Upload New Images -->
                                                <div class="mb-3">
                                                    <label for="sliderImages" class="form-label"><strong>Upload New Images</strong></label>
                                                    <input class="form-control" type="file" name="sliderImages[]" id="sliderImages" multiple>
                                                    <small class="form-text text-muted">Optional – add new images</small>
                                                </div>

                                                <!-- Submit -->
                                                <button type="submit" class="btn btn-success">Update Slider</button>
                                            </form>
                                        </div>
                                    </div>
                                </div>                                     
                        </div>
                    </div>
                </div>
                
        <div class="section-body">
            <footer class="footer">
                <div class="container-fluid">
                    <div class="row">
                        <div class="col-md-12 col-sm-12 text-md-right">
                            <ul class="list-inline mb-0">
                                <li class="list-inline-item"><a href="doc/index.html">OM INTERIOR</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </footer>
        </div>
    </div>    
</div>

<script src="assets/bundles/lib.vendor.bundle.js"></script>

<script src="assets/bundles/apexcharts.bundle.js"></script>
<script src="assets/bundles/counterup.bundle.js"></script>
<script src="assets/bundles/knobjs.bundle.js"></script>
<script src="assets/bundles/c3.bundle.js"></script>

<script src="assets/js/core.js"></script>
<script src="assets/js/page/project-index.js"></script>
</body>
</html>
