REICAL

2026-08-26

REICAL

    case "create":
        $ref_no      = trim($_POST['ref_no'] ?? '');
        $date        = trim($_POST['date'] ?? '');
        $title       = trim($_POST['title'] ?? '');
        $subtitle    = trim($_POST['subtitle'] ?? '');
        $description = trim($_POST['description'] ?? '');

        $appstore   = trim($_POST['appstore'] ?? '');
        $googleplay = trim($_POST['googleplay'] ?? '');
        $website    = trim($_POST['website'] ?? '');
        $brochure   = trim($_POST['brochure'] ?? '');
        $link       = trim($_POST['link'] ?? '');

        // -------------------------
        // Upload Document
        // -------------------------
        $new_file = File_Upload('file', 'uploads/products/');

        if (is_array($new_file) && isset($new_file['error'])) {
            echo json_encode([
                "status" => "error",
                "msg"    => $new_file['msg']
            ]);
            exit;
        }

        $file     = '';
        $filename = '';

        if ($new_file !== false) {
            $file     = $new_file;
            $filename = basename($_FILES['file']['name'] ?? '');
        }

        // -------------------------
        // Upload Image
        // -------------------------
        $new_image = Single_Upload('image', 'uploads/products/');

        if (is_array($new_image) && isset($new_image['error'])) {
            echo json_encode([
                "status" => "error",
                "msg"    => $new_image['msg']
            ]);
            exit;
        }

        $image     = '';
        $imagename = '';

        if ($new_image !== false) {
            $image     = $new_image;
            $imagename = basename($_FILES['image']['name'] ?? '');
        }

        // -------------------------
        // Insert into Database
        // -------------------------
        $stmt = $con->prepare("INSERT INTO products (`ref_no`, `date`, `title`, `subtitle`, `description`, `appstore`, `googleplay`, `website`, `brochure`, `link`, `file`, `image`, `filename`, `imagename`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

        if (!$stmt) {
            echo json_encode([
                "status" => "error",
                "msg"    => "Database preparation failed."
            ]);
            exit;
        }

        $stmt->bind_param("ssssssssssssss", $ref_no, $date, $title, $subtitle, $description, $appstore, $googleplay, $website, $brochure, $link, $file, $image, $filename, $imagename);

        if ($stmt->execute()) {
            $stmt->close();

            if (ob_get_level() > 0) {
                ob_clean();
            }

            echo json_encode([
                "status" => "success",
                "msg"    => "Product created successfully."
            ]);
            exit;
        }

        $error = $stmt->error;
        $stmt->close();

        if (ob_get_level() > 0) {
            ob_clean();
        }

        echo json_encode([
            "status" => "error",
            "msg"    => $error ?: "Database insert failed."
        ]);
        exit;