:: **Zploit** v1.0 | Current Path: **/home/kreativepixelz/www/crm/**
:: Editing File: vcard_portfolio_edit.php
<?php ob_start(); include 'header.php'; $page_title = "Edit VCard Portfolio"; $page_parent = "VCards"; $page_parent_link = "vcard_portfolio_list.php"; include 'breadcrumb.php'; include 'menu.php'; $message = ""; /* =============================== PATH CONFIG =============================== */ define('VCARD_UPLOAD_PATH', $_SERVER['DOCUMENT_ROOT'] . '/kreativecrm/uploads/vcard/'); define('VCARD_UPLOAD_URL', '/kreativecrm/uploads/vcard/'); /* =============================== VALIDATE ID =============================== */ if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { header("Location: vcard_portfolio_list.php?msg=Invalid Portfolio ID"); exit; } $id = intval($_GET['id']); /* =============================== FETCH PORTFOLIO =============================== */ $q = mysqli_query($conn, "SELECT * FROM vcard_portfolio WHERE id='$id'"); if (!$q || mysqli_num_rows($q) === 0) { header("Location: vcard_portfolio_list.php?msg=Portfolio Not Found"); exit; } $row = mysqli_fetch_assoc($q); /* =============================== FETCH CURRENT VCARD SLUG =============================== */ $vcard_q = mysqli_query( $conn, "SELECT card_slug FROM vcards WHERE id='{$row['vcard_id']}'" ); $vcard = mysqli_fetch_assoc($vcard_q); $slug = $vcard['card_slug']; $upload_dir = VCARD_UPLOAD_PATH . $slug . '/portfolio/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } /* =============================== FORM SUBMIT =============================== */ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $vcard_id = intval($_POST['vcard_id']); $title = mysqli_real_escape_string($conn, $_POST['title']); $description= mysqli_real_escape_string($conn, $_POST['description']); $sort_order = intval($_POST['sort_order']); $status = isset($_POST['status']) ? 1 : 0; /* =============================== FETCH NEW VCARD SLUG (IF CHANGED) =============================== */ if ($message == '') { $vcard_q = mysqli_query( $conn, "SELECT card_slug FROM vcards WHERE id='$vcard_id'" ); $vcard = mysqli_fetch_assoc($vcard_q); if (!$vcard) { $message = "Invalid VCard selected."; } else { $slug = $vcard['card_slug']; $upload_dir = VCARD_UPLOAD_PATH . $slug . '/portfolio/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } } } /* =============================== IMAGE UPLOAD =============================== */ $image = $row['image']; $allowed_ext = ['jpg','jpeg','png','webp']; if ($message == '' && !empty($_FILES['image']['name'])) { $ext = strtolower(pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION)); if (!in_array($ext, $allowed_ext)) { $message = "Only JPG, PNG, WEBP images allowed."; } else { // delete old image if ($image && file_exists($upload_dir . $image)) { unlink($upload_dir . $image); } $image = time() . '_portfolio.' . $ext; move_uploaded_file( $_FILES['image']['tmp_name'], $upload_dir . $image ); } } /* =============================== UPDATE DATABASE =============================== */ if ($message == '') { $sql = "UPDATE vcard_portfolio SET vcard_id = '$vcard_id', image = '$image', title = '$title', description= '$description', sort_order = '$sort_order', status = '$status', updated_at = NOW() WHERE id = '$id'"; if (mysqli_query($conn, $sql)) { header("Location: vcard_portfolio_list.php?msg=Portfolio updated successfully"); exit; } else { $message = "Database Error: " . mysqli_error($conn); } } } ?> <!-- =============================== PAGE BODY =============================== --> <div class="page-body"> <div class="container-fluid"> <div class="row"> <div class="col-sm-12"> <div class="card"> <div class="card-header pb-0 card-no-border"> <h2>Edit VCard Portfolio</h2> </div> <div class="card-body"> <?php if ($message): ?> <div class="alert alert-danger"><?= htmlspecialchars($message); ?></div> <?php endif; ?> <form method="POST" enctype="multipart/form-data"> <div class="row"> <!-- VCARD --> <div class="col-md-6"> <label class="form-label">Select VCard *</label> <select name="vcard_id" class="form-control" required> <?php $vcards = mysqli_query( $conn, "SELECT id, full_name FROM vcards WHERE status=1 ORDER BY full_name" ); while ($v = mysqli_fetch_assoc($vcards)) { $sel = ($v['id'] == $row['vcard_id']) ? 'selected' : ''; echo "<option value='{$v['id']}' $sel>" . htmlspecialchars($v['full_name']) . "</option>"; } ?> </select> </div> <!-- TITLE --> <div class="col-md-6"> <label class="form-label">Title </label> <input type="text" name="title" class="form-control" value="<?= htmlspecialchars($row['title']); ?>"> </div> <!-- DESCRIPTION --> <div class="col-md-12 mt-3"> <label class="form-label">Description</label> <textarea name="description" class="form-control" rows="4"><?= htmlspecialchars($row['description']); ?></textarea> </div> <!-- IMAGE --> <div class="col-md-6 mt-3"> <label class="form-label">Portfolio Image</label> <input type="file" name="image" class="form-control"> <?php if ($row['image']): echo $row['image']; endif; ?> </div> <!-- SORT --> <div class="col-md-3 mt-3"> <label class="form-label">Sort Order</label> <input type="number" name="sort_order" class="form-control" value="<?= (int)$row['sort_order']; ?>"> </div> <!-- STATUS --> <div class="col-md-3 mt-3"> <label class="form-label">Status</label><br> <input type="checkbox" name="status" <?= ($row['status']==1)?'checked':''; ?>> Active </div> </div> <br> <button type="submit" class="btn btn-success">Update Portfolio</button> <a href="vcard_portfolio_list.php" class="btn btn-secondary">Cancel</a> </form> </div> </div> </div> </div> </div> </div> <?php include 'footer.php'; ob_end_flush(); ?>