|
Server IP : 217.21.85.138 / Your IP : 216.73.216.103 Web Server : LiteSpeed System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64 User : u915722082 ( 915722082) PHP Version : 7.4.33 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 MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF Directory (0755) : /home/u915722082/.nvm/../public_html/invoice/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
// Enable error reporting for debugging
error_reporting(E_ALL);
ini_set('display_errors', 0);
// Include database connection
require_once 'db.php';
// Initialize response
$response = ['status' => 'error', 'message' => 'Unknown error occurred'];
// Helper function to sanitize input
function sanitize($con, $data) {
return mysqli_real_escape_string($con, trim($data));
}
// Check POST request and action type
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_POST['action'] === 'Update') {
$pid = intval($_POST['pid'] ?? 0);
if ($pid <= 0) {
$response['message'] = 'Invalid product ID';
echo json_encode($response);
exit;
}
// Sanitize inputs
$pname = sanitize($con, $_POST['pname'] ?? '');
$pdes = sanitize($con, $_POST['pdes'] ?? '');
$ptype = sanitize($con, $_POST['ptype'] ?? '');
$ftype = isset($_POST['ftype']) ? implode(',', array_map('intval', explode(',', $_POST['ftype']))) : '';
// Optional fields
$productpackage = '';
$paid = '';
$bpid = '';
$hsncode = '';
// Handle product type-specific fields
if ($ptype === 'Packaging') {
$productpackage = sanitize($con, $_POST['productpackage'] ?? '');
} elseif ($ptype === 'Finished Goods') {
$paid = sanitize($con, $_POST['paid'] ?? '');
$bpid = sanitize($con, $_POST['bpid'] ?? '');
$hsncode = sanitize($con, $_POST['hsncode'] ?? '');
}
// Update product table
$updateProductSQL = "UPDATE product SET
pname = '$pname',
pdes = '$pdes',
ptype = '$ptype',
productpackage = '$productpackage',
pform = '$ftype',
paid = '$paid',
bpid = '$bpid',
hsncode = '$hsncode'
WHERE pid = '$pid'";
if (!mysqli_query($con, $updateProductSQL)) {
$response['message'] = "Database error: " . mysqli_error($con);
echo json_encode($response);
exit;
}
// ========== Handle Variations ==========
if (isset($_POST['variation_data'])) {
$variationData = json_decode($_POST['variation_data'], true);
if (is_array($variationData)) {
mysqli_query($con, "DELETE FROM variation_multi WHERE pid = '$pid'");
foreach ($variationData as $v) {
$v1 = sanitize($con, $v['v1'] ?? '');
$v2 = sanitize($con, $v['v2'] ?? '');
$value1 = sanitize($con, $v['value1'] ?? '');
$value2 = sanitize($con, $v['value2'] ?? '');
$value_ofpack = sanitize($con, $v['value_ofpack'] ?? '');
$oldPrice = floatval($v['old_price'] ?? 0);
$newPrice = floatval($v['pricee'] ?? 0);
$qty = intval($v['qty'] ?? 0);
$unitsofmeasement = sanitize($con, $v['qtytype'] ?? '');
$weikg = sanitize($con, $v['weight_per_kg'] ?? '0');
$weigty = sanitize($con, $v['weight_qty'] ?? '0');
$kgtotal = sanitize($con, $v['total_weight_value'] ?? '0');
$variationSQL = "INSERT INTO variation_multi
(pid, v1, v2, value1, value2, oldprice, newprice, qty, value_ofpack, unitsofmeasement, weikg, weigty, kgtotal)
VALUES
('$pid', '$v1', '$v2', '$value1', '$value2', '$oldPrice', '$newPrice', '$qty', '$value_ofpack', '$unitsofmeasement', '$weikg', '$weigty', '$kgtotal')";
mysqli_query($con, $variationSQL);
$pack = sanitize($con, $v['value1'] ?? '');
$bulkpack = sanitize($con, $bpid ?? '');
$quan = intval($v['qty'] ?? 0);
// Check if a matching stock record exists
$checkStockSQL = "SELECT stid, totalqty FROM stock WHERE pid = '$pid' AND pack = '$pack' AND bulkpack = '$bulkpack'";
$checkResult = mysqli_query($con, $checkStockSQL);
if (mysqli_num_rows($checkResult) > 0) {
$stockRow = mysqli_fetch_assoc($checkResult);
$newTotalQty = $stockRow['totalqty'] + $quan;
$stid = $stockRow['stid'];
// ✅ Only update totalqty
$updateStockSQL = "UPDATE stock SET totalqty = '$newTotalQty' WHERE stid = '$stid'";
mysqli_query($con, $updateStockSQL);
} else {
// Insert new stock record
$insertStockSQL = "INSERT INTO stock (pid, bulkpack, pack, quan, totalqty)
VALUES ('$pid', '$bulkpack', '$pack', '$quan', '$quan')";
mysqli_query($con, $insertStockSQL);
}
}
}
}
// Final response
$response['status'] = 'success';
$response['message'] = 'Product updated successfully';
echo json_encode($response);
}
?>