Sh3ll
OdayForums


Server : Apache
System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64
User : nobody ( 99)
PHP Version : 8.1.23
Disable Function : NONE
Directory :  /home/dnlcambodia/www/Quotation/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/dnlcambodia/www/Quotation/process.php
<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $email = $_POST["email"];
    $company = $_POST["company"];
    $phone = $_POST["phone"];
    $city = $_POST["city"];
    $country = $_POST["country"];
    $type_of_goods = $_POST["type_of_goods"];
    $quantity = $_POST["quantity"];
    $shipping_date = $_POST["shipping_date"];
    $details = $_POST["details"];

    // Validate the data
    $errors = [];

    if (empty($name)) {
        $errors[] = "Name is required.";
    }

    if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errors[] = "Email is required and must be a valid email address.";
    }
    if (empty($company)) {
        $errors[] = "Company is required.";
    }

    if (empty($phone)) {
        $errors[] = "Phone is required.";
    }

    if (empty($city)) {
        $errors[] = "City is required.";
    }

    if (empty($country)) {
        $errors[] = "Country is required.";
    }

    if (empty($type_of_goods)) {
        $errors[] = "Type of goods is required.";
    }

    if (empty($quantity)) {
        $errors[] = "Quantity is required.";
    }


    if (empty($shipping_date)) {
        $errors[] = "Shipping Date is required.";
    }

    if (empty($details)) {
        $errors[] = "Service Requested is required.";
    }

    // Additional check: Validate domain existence
    list($user, $domain) = explode('@', $email);
    if (!checkdnsrr($domain, "MX")) {
        $errors[] = "The domain of the email address does not exist.";
    }

    // If there are errors, redirect with error messages
    if (!empty($errors)) {
        $errorMessages = implode("<br>", $errors);
        header("Location: ../index.php?error=" . urlencode($errorMessages));
        exit();
    }
    include 'config.php';

    // Execute SQL query to insert data into the database
    $sql = "INSERT INTO quotation (name, email, company, phone, city, country, type_of_goods, quantity, shipping_date, details)
            VALUES ('$name', '$email', '$company', '$phone', '$city', '$country', '$type_of_goods', '$quantity', '$shipping_date', '$details')";

    if ($conn->query($sql) === TRUE) {
        // Data inserted successfully
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    // Close database connection
    $conn->close();
    // Original email template
    $email_template = "<!DOCTYPE html>
    <html>
    <head>
        <title>Request for Quote</title>
    </head>
    <body>

        <table cellpadding='0' cellspacing='0' border='0' width='100%' bgcolor='#f5f5f5'>
            <tr>
                <td align='center'>
                    <table cellpadding='0' cellspacing='0' border='0' width='600' style='background-color: #ffffff;'>
                        <tr>
                            <td align='center' style='background-color: #00570E; padding: 20px 0;'>
                            </td>
                        </tr>
                        <tr>
                            <td align='center' valign='top' style='padding: 20px 0;'>
                                <img src='https://plexustrust.net/dnl/assets/img/logo/logo3.png' alt='Your Logo' style='max-width: 150px;'>
                            </td>
                        </tr>
                        <tr>
                            <td style='padding: 20px;'>
                                <h1 style='font-size: 24px; color: #333;'>Request for Quote</h1>
                                <p style='font-size: 16px; color: #666;'>Hello DNL Teams,</p>
                                <p style='font-size: 16px; color: #666;'>We are interested in your services/products and would like to request a quote for the following:</p>
                                <table style='font-size: 16px; color: #666; border-collapse: collapse; width: 100%;'>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Name</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$name</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Email</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$email</td>
                                    </tr>
                                   
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Phone Number</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$phone</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Company</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$company</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>City</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$city</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Country</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$country</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Type of Goods</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$type_of_goods</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Quantity</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$quantity</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Shipping_date</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'> $shipping_date</td>
                                    </tr>
                                    <tr>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>Service Requested and Other Details</td>
                                        <td style='border: 1px solid #ccc; padding: 8px;'>$details</td>
                                    </tr>
                                </table>
                                <p style='font-size: 16px; color: #666;'>Please provide us with a detailed quote including pricing, delivery time, and any additional information.</p>
                                <p style='font-size: 16px; color: #666;'>Thank you for your prompt attention to this request.</p>
                                <p style='font-size: 16px; color: #666;'>Best regards,<br>$name</p>
                            </td>
                        </tr>
                        <tr>
                            <td align='center' style='background-color: #00570E; padding: 20px 0;'>
                                <p style='font-size: 14px; color: #ffffff;'>Copyright @ 2021 DNL Dynamical Network Logistics.All Rights Reserved</p>
                                <p style='font-size: 14px; color: #ffffff;'>1234 Main Street, Phnom Penh, 2001</p>
                                <p style='font-size: 14px; color: #ffffff;'><a href='mailto:info@yourcompany.com' style='color: #ffffff; text-decoration: none;'>dnlinfo@gmail.com</a></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </body>
    </html>

    ";

    $mail = new PHPMailer(true);

    try {
        $mail->isSMTP();
        $mail->Host = 'smtp.gmail.com';
        $mail->Username = 'ahpea88@gmail.com';
        $mail->Password = 'rryd rlrm hnma aijk';
        $mail->Port = 587;
        $mail->SMTPAuth = true;
        $mail->SMTPSecure = 'tls';
        $mail->setFrom($email, $name);
        $mail->addAddress('vannrithy09@gmail.com');

        $mail->isHTML(true);
        $mail->Subject = 'New Quote Request from ' . $name;
        $mail->Body = $email_template;

        $mail->send();

        // Notify Telegram Group
        $telegramBotToken = '6980847155:AAExv0ERNUFc9WFDkf4t4ZEai_axE6QCldo';
        $telegramGroupChatId = '@Get_QuoteDNL';
        date_default_timezone_set('Asia/Phnom_Penh');

        // Get the current date and time in Cambodia timezone
        $currentDateTime = date('Y-m-d h:i A');
        $telegramMessage = "New Quote Request from $name\n\n"
            . "Date and Time: $currentDateTime\n"
            . "Email: $email\n"
            . "Phone: $phone\n"
            . "Company: $company\n"
            . "City: $city\n"
            . "Country: $country\n"
            . "type_of_goods: $type_of_goods\n"
            . "quatity: $quantity\n"
            . "shipping_date: $shipping_date\n"
            . "Service Requested: $details\n";

        $telegramApiUrl = "https://api.telegram.org/bot$telegramBotToken/sendMessage";
        $telegramData = [
            'chat_id' => $telegramGroupChatId,
            'text' => $telegramMessage,
        ];

        $telegramOptions = [
            'http' => [
                'method' => 'POST',
                'header' => 'Content-Type: application/x-www-form-urlencoded',
                'content' => http_build_query($telegramData),
            ],
        ];

        $telegramContext = stream_context_create($telegramOptions);
        $telegramResult = file_get_contents($telegramApiUrl, false, $telegramContext);

        if ($telegramResult === false) {
            // Handle the Telegram notification error, e.g., log the error.
            // You can also add error handling and logging here.
            echo "Error sending notification to Telegram group.";
        } else {
            // Redirect to a thank you page
            header("Location: thank_you.html");
        }

        exit();
    } catch (Exception $e) {
        // Handle email sending error, e.g., display an error message.
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
} else {
    // Handle invalid request, e.g., redirect to the form.
    header("Location: ../index.php");
}

?>

ZeroDay Forums Mini