MMCT TEAM
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  ]

Current File : /home/u915722082/.nvm/../public_html/invoice/ajax_product_edit.php
<?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);
}
?>

MMCT - 2023