<?php session_start(); include '../../assets/constant/config.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if (isset($_POST['submit'])) { // print_r($_POST);exit; $uploadDir = '../../assets/images/'; if (!empty($_FILES['photo']['tmp_name'])) { $originalName = basename($_FILES['photo']['name']); $extension = pathinfo($originalName, PATHINFO_EXTENSION); $newName = rand(100, 999) . '.' . $extension; $newFilePath = $uploadDir . $newName; if (move_uploaded_file($_FILES['photo']['tmp_name'], $newFilePath)) { $img = $newName; // Compression Logic // compressImage($newFilePath, $newFilePath, 75); // 75 is the compression quality } else { echo 'There was an error uploading the file.'; exit; } } $stmt = $conn->prepare("INSERT INTO `events`(`name1`,`description`, `photo`,`event_date`,`address`,`time`) VALUES ( ?,?,?,?,?,?)"); $stmt->execute([ htmlspecialchars($_POST['name1'], ENT_QUOTES, 'UTF-8'), htmlspecialchars($_POST['description'], ENT_QUOTES, 'UTF-8'), $img, htmlspecialchars($_POST['event_date'], ENT_QUOTES, 'UTF-8'), htmlspecialchars($_POST['address'], ENT_QUOTES, 'UTF-8'), htmlspecialchars($_POST['time'], ENT_QUOTES, 'UTF-8'), ]); $last_inserted_id = $conn->lastInsertId(); $service = count($_FILES['img']['name']); // extract($_POST); for($i=0;$i<$service;$i++) { $uploadDir = '../../assets/images/'; if (!empty($_FILES['img']['tmp_name'][$i])) { $originalName = basename($_FILES['img']['name'][$i]); $extension = pathinfo($originalName, PATHINFO_EXTENSION); $newName = rand(100, 999) . '.' . $extension; $newFilePath = $uploadDir . $newName; if (move_uploaded_file($_FILES['img']['tmp_name'][$i], $newFilePath)) { $img1 = $newName; $stmtq = $conn->prepare("INSERT INTO `images`(`event_id`,`photo` ) VALUES (?,?)"); $stmtq->execute([$last_inserted_id,$img1]); } else { echo 'There was an error uploading the file.'; // exit; } } } $stmtq1 = $conn->prepare("Delete from `images` WHERE photo=''"); $stmtq1->execute(); $st = $conn->prepare("SELECT * FROM subscribe "); $st->execute(); $rw=$st->fetchALL(); foreach($rw as $tg){ $rt= $tg['email']; } // email start $stmt = $conn->prepare("SELECT * FROM emailsetting"); $stmt->execute(); $result = $stmt->fetchAll(); //print_r($result); foreach ($result as $row) { $smtp_server = $row['smtp_server']; $smtp_password = $row['smtp_password']; $smtp_enc = $row['smtp_type']; $smtp_username = $row['smtp_username']; $smtp_port = $row['stmp_port']; // $email = $row['email']; $email = $rt; } $dt = date('Y-m-d H:i:s'); $msg1 = " Dear Subscriber,<br><br> Thank you for subscribing to Bharatiya Open Volunteer Association (OVA)! We're excited to keep you informed with the latest Events updates.<br><br> You can view our latest Events and updates by clicking the link below:<br> <a href='https://system365.cloud/ova/event.php'>Bharatiya Open Volunteer Association (OVA)</a><br><br> Stay tuned for latest Events, in-depth analysis, and exclusive coverage delivered right to you.<br><br> Best regards,<br> The Bharatiya Open Volunteer Association (OVA) Team "; $mail = new PHPMailer(true); $mail->isSMTP(); $mail->Host = $smtp_server; $mail->SMTPAuth = true; $mail->Username = $smtp_username; $mail->Password = $smtp_password; $mail->SMTPSecure = $smtp_enc; $mail->Port = $smtp_port; $mail->setFrom($smtp_username); $mail->addAddress($email); $mail->isHTML(true); $mail->Subject = 'Bharatiya Open Volunteer Association (OVA)' . $dt; $mail->Body = $msg1; $mail->AltBody = $msg1; $mail->send(); $_SESSION['success'] = "event Added"; ?> <script> // Redirect to ../about_seo.php window.location.href = "../manage_event.php"; </script> <?php } if (isset($_POST['update'])) { $uploadDir = "../../assets/images/"; $img = $_POST['old_photo_img']; // Default to old photo if no new file is uploaded // Handling the main event image if (!empty($_FILES['photo']['tmp_name'])) { $file_extension = pathinfo($_FILES["photo"]["name"], PATHINFO_EXTENSION); $new_filename = uniqid() . '.' . $file_extension; $filepath = $uploadDir . $new_filename; if (move_uploaded_file($_FILES["photo"]["tmp_name"], $filepath)) { $img = $new_filename; // Delete the old photo if it exists $oldFilePath = $uploadDir . $_POST['old_photo_img']; if (file_exists($oldFilePath) && $_POST['old_photo_img'] !== '') { unlink($oldFilePath); } } } // Update event data $stmt = $conn->prepare("UPDATE `events` SET `name1`=?, `description`=?, `event_date`=?, `address`=?, `time`=?, `photo`=? WHERE id=?"); $stmt->execute([$_POST['name1'], $_POST['description'], $_POST['event_date'], $_POST['address'], $_POST['time'], $img, $_POST['id']]); // Update or add additional images for the event $product_id = $_POST['id']; $existingImages = $_POST['old_img'] ?? []; // Array of existing images (hidden input fields) $newImages = $_FILES['img'] ?? []; // Array of new images // Loop through each existing image for replacement foreach ($existingImages as $index => $oldImage) { if (!empty($newImages['tmp_name'][$index])) { $extension = pathinfo($newImages["name"][$index], PATHINFO_EXTENSION); $new_filename = uniqid() . '.' . $extension; $filepath = $uploadDir . $new_filename; // Move uploaded new image if (move_uploaded_file($newImages["tmp_name"][$index], $filepath)) { // Delete old image file $oldFilePath = $uploadDir . $oldImage; if (file_exists($oldFilePath)) { unlink($oldFilePath); } // Update image in database $stmtUpdate = $conn->prepare("UPDATE `images` SET `photo`=? WHERE `event_id`=? AND `photo`=?"); $stmtUpdate->execute([$new_filename, $product_id, $oldImage]); } } } // Handle additional new images $additionalImages = array_slice($newImages['tmp_name'], count($existingImages)); foreach ($additionalImages as $i => $tempName) { if (!empty($tempName)) { $extension = pathinfo($newImages["name"][count($existingImages) + $i], PATHINFO_EXTENSION); $new_filename = uniqid() . '.' . $extension; $filepath = $uploadDir . $new_filename; if (move_uploaded_file($tempName, $filepath)) { $stmtInsert = $conn->prepare("INSERT INTO `images` (`event_id`, `photo`) VALUES (?, ?)"); $stmtInsert->execute([$product_id, $new_filename]); } } } $_SESSION['success'] = "Event Updated Successfully!"; ?> <script> window.location.href = "../manage_event.php"; </script> <?php } if (isset($_POST['del_id'])) { $stmt = $conn->prepare("UPDATE `events` SET delete_status='1' WHERE id=?"); $stmt->bindParam(1, htmlspecialchars($_POST['del_id'], ENT_QUOTES, 'UTF-8')); $stmt->execute(); $_SESSION['success'] = "event Deleted"; header("location:../manage_event.php"); } } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage(); } function compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); imagejpeg($image, $destination, $quality); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); imagepng($image, $destination, round(9 - ($quality / 10))); // PNG quality ranges from 0 to 9 } }