« Back to History
saree_quality_master.php
|
20260721_154033.php
Initial Bulk Import
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; $ctx = page_require_access('saree_quality'); $pdo = $ctx['pdo']; $company_id = (int)$ctx['company_id']; function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); } if (empty($_SESSION['csrf_token'])) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } // ================= SAVE / UPDATE LOGIC ================= if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'] ?? '')) { die('Invalid CSRF token'); } $id = (int)($_POST['id'] ?? 0); $quality_name = trim($_POST['quality_name'] ?? ''); $description = trim($_POST['description'] ?? ''); // Yahan hum 1 (Active) aur 0 (Inactive) use kar rahe hain $status = ($_POST['status'] === '1') ? 1 : 0; if ($quality_name !== '') { if ($id > 0) { $stmt = $pdo->prepare("UPDATE saree_quality SET quality_name = ?, description = ?, status = ?, updated_at = NOW() WHERE id = ? AND company_id = ?"); $stmt->execute([$quality_name, $description, $status, $id, $company_id]); } else { $stmt = $pdo->prepare("INSERT INTO saree_quality (company_id, quality_name, description, status, created_at) VALUES (?, ?, ?, ?, NOW())"); $stmt->execute([$company_id, $quality_name, $description, $status]); } header("Location: " . $_SERVER['PHP_SELF']); exit; } } // ... (Delete aur Edit logic same rahega) ... if (isset($_GET['delete'])) { $stmt = $pdo->prepare("DELETE FROM saree_quality WHERE id = ? AND company_id = ?"); $stmt->execute([(int)$_GET['delete'], $company_id]); header("Location: " . $_SERVER['PHP_SELF']); exit; } $edit = null; if (isset($_GET['edit'])) { $stmt = $pdo->prepare("SELECT * FROM saree_quality WHERE id = ? AND company_id = ?"); $stmt->execute([(int)$_GET['edit'], $company_id]); $edit = $stmt->fetch(PDO::FETCH_ASSOC); } $stmt = $pdo->prepare("SELECT * FROM saree_quality WHERE company_id = ? ORDER BY id DESC"); $stmt->execute([$company_id]); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); require_once __DIR__ . '/partials/header.php'; ?> <div class="container-fluid mt-4"> <div class="row"> <div class="col-md-4"> <div class="card shadow-sm border-0"> <div class="card-header bg-primary text-white"> <h5 class="mb-0"><?= $edit ? 'Edit' : 'Add' ?> Saree Quality</h5> </div> <div class="card-body"> <form method="post"> <input type="hidden" name="csrf_token" value="<?=h($_SESSION['csrf_token'])?>"> <input type="hidden" name="id" value="<?=h($edit['id'] ?? 0)?>"> <div class="mb-3"> <label class="form-label fw-bold">Quality Name *</label> <input type="text" name="quality_name" class="form-control" value="<?=h($edit['quality_name'] ?? '')?>" required> </div> <div class="mb-3"> <label class="form-label fw-bold">Description</label> <textarea name="description" class="form-control" rows="3"><?=h($edit['description'] ?? '')?></textarea> </div> <div class="mb-3"> <label class="form-label fw-bold">Status</label> <select name="status" class="form-select"> <option value="1" <?=($edit && $edit['status'] == 1) ? 'selected' : ''?>>Active</option> <option value="0" <?=($edit && ($edit['status'] == 0 || $edit['status'] == '')) ? 'selected' : ''?>>Inactive</option> </select> </div> <button type="submit" class="btn btn-success w-100"><?= $edit ? 'Update' : 'Save' ?></button> </form> </div> </div> </div> <div class="col-md-8"> <table class="table table-bordered bg-white"> <thead class="table-light"> <tr> <th>ID</th> <th>Quality Name</th> <th>Status</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($rows as $r): ?> <tr> <td><?= $r['id'] ?></td> <td><?= h($r['quality_name']) ?></td> <td> <span class="badge <?= $r['status'] == 1 ? 'bg-success' : 'bg-danger' ?>"> <?= $r['status'] == 1 ? 'Active' : 'Inactive' ?> </span> </td> <td> <a href="?edit=<?=$r['id']?>" class="btn btn-sm btn-info">Edit</a> <a href="?delete=<?=$r['id']?>" class="btn btn-sm btn-danger" onclick="return confirm('Delete?')">Delete</a> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> </div> <?php require_once __DIR__ . '/partials/footer.php'; ?>