HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/WPProfessionalCleaning/wp-content/themes/professional-cleaning/functions.php
<?php
add_filter('show_admin_bar', '__return_false');
function send_contact_email() {
    parse_str($_POST['form_data'], $form_data);

    $name = sanitize_text_field($form_data['name']);
    $email = sanitize_email($form_data['email']);
    $phone = sanitize_text_field($form_data['phone']);
    $message = sanitize_textarea_field($form_data['message']);
    $zip = sanitize_text_field($form_data['zip']);
     $date = sanitize_text_field($form_data['date']);
     $time = sanitize_text_field($form_data['time']);

    if (empty($name) || empty($email) || empty($message)) {
        wp_send_json_error('Please fill all required fields.');
    }

    $to = get_option('admin_email'); // Change this if needed
    $subject = "New Contact Form Submission from $name";
     $message = "<!DOCTYPE html>
<html lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:v='urn:schemas-microsoft-com:vml' xmlns:o='urn:schemas-microsoft-com:office:office'>
<head>
    <meta charset='utf-8'> <!-- utf-8 works for most cases -->
    <meta name='viewport' content='width=device-width'> <!-- Forcing initial-scale shouldn't be necessary -->
    <meta http-equiv='X-UA-Compatible' content='IE=edge'> <!-- Use the latest (edge) version of IE rendering engine -->
    <meta name='x-apple-disable-message-reformatting'>  <!-- Disable auto-scale in iOS 10 Mail entirely -->
    <meta name='format-detection' content='telephone=no,address=no,email=no,date=no,url=no'> <!-- Tell iOS not to automatically link certain text strings. -->
    <meta name='color-scheme' content='light'>
    <meta name='supported-color-schemes' content='light'>
    <title>Welcome</title> <!-- The title tag shows in email notifications, like Android 4.4. -->

    <!-- What it does: Makes background images in 72ppi Outlook render at correct size. -->
    <!--[if gte mso 9]>
    <xml>
        <o:OfficeDocumentSettings>
            <o:AllowPNG/>
            <o:PixelsPerInch>96</o:PixelsPerInch>
        </o:OfficeDocumentSettings>
    </xml>
    <![endif]-->

    <!-- Web Font / @font-face : BEGIN -->
    <link href='https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap' rel='stylesheet'>
    <!-- All other clients get the webfont reference; some will render the font and others will silently fail to the fallbacks. More on that here: http://stylecampaign.com/blog/2015/02/webfont-support-in-email/ -->
    <!--[if !mso]>
        <link href='https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap' rel='stylesheet'>
    <![endif]-->

    <!-- Desktop Outlook chokes on web font references and defaults to Times New Roman, so we force a safe fallback font. -->
    <!--[if mso]>
        <style>
            *, body,div,p,a ,h1,h2,h3,h4,h5,h6, table, td, th {
                font-family: 'Poppins', sans-serif;
            }
        </style>
    <![endif]-->

    <!-- Web Font / @font-face : END -->

    <!-- CSS Reset : BEGIN -->
    <style>

        :root {
          color-scheme: light;
          supported-color-schemes: light;
        }
      html,
        body {
            margin: 0 auto !important;
            padding: 0 !important;
            height: 100% !important;
            width: 100% !important;
        }

        * {
            -ms-text-size-adjust: 100%;
            -webkit-text-size-adjust: 100%;
        }

        /* What it does: Centers email on Android 4.4 */
        div[style*='margin: 16px 0'] {
            margin: 0 !important;
        }
        /* What it does: forces Samsung Android mail clients to use the entire viewport */
        #MessageViewBody, #MessageWebViewDiv{
            width: 100% !important;
        }

        /* What it does: Stops Outlook from adding extra spacing to tables. */
        table,
        td {
            mso-table-lspace: 0pt !important;
            mso-table-rspace: 0pt !important;
        }

        /* What it does: Fixes webkit padding issue. */
        table {
            border-spacing: 0 !important;
            border-collapse: collapse !important;
            table-layout: fixed !important;
            margin: 0 auto !important;
        }

        /* What it does: Uses a better rendering method when resizing images in IE. */
        img {
            -ms-interpolation-mode:bicubic;
        }

        /* What it does: Prevents Windows 10 Mail from underlining links despite inline CSS. Styles for underlined links should be inline. */
        a {
            text-decoration: none;
        }

        /* What it does: A work-around for email clients meddling in triggered links. */
        a[x-apple-data-detectors],  /* iOS */
        .unstyle-auto-detected-links a,
        .aBn {
            border-bottom: 0 !important;
            cursor: default !important;
            color: inherit !important;
            text-decoration: none !important;
            font-size: inherit !important;
            font-family: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
        }

        /* What it does: Prevents Gmail from changing the text color in conversation threads. */
        .im {
            color: inherit !important;
        }

        /* What it does: Prevents Gmail from displaying a download button on large, non-linked images. */
        .a6S {
            display: none !important;
            opacity: 0.01 !important;
        }
        /* If the above doesn't work, add a .g-img class to any image in question. */
        img.g-img + div {
            display: none !important;
        }

        /* What it does: Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89  */
        /* Create one of these media queries for each additional viewport size you'd like to fix */

        /* iPhone 4, 4S, 5, 5S, 5C, and 5SE */
        @media only screen and (min-device-width: 320px) and (max-device-width: 374px) {
            u ~ div .email-container {
                min-width: 320px !important;
            }
        }
        /* iPhone 6, 6S, 7, 8, and X */
        @media only screen and (min-device-width: 375px) and (max-device-width: 413px) {
            u ~ div .email-container {
                min-width: 375px !important;
            }
        }
        /* iPhone 6+, 7+, and 8+ */
        @media only screen and (min-device-width: 414px) {
            u ~ div .email-container {
                min-width: 414px !important;
            }
        }

    </style>
    <!-- CSS Reset : END -->

    <!-- Progressive Enhancements : BEGIN -->
    <style>
        @media screen and (max-width: 579px) {
            .name-block{
                width: 100% !important;
                margin-left: 0 !important;
            }
            .inner-td{
                padding: 20px !important;
            }
        }
        

	    /* Media Queries */
	    @media screen and (max-width: 480px) {
	        /* What it does: Forces table cells into full-width rows. */
	        .stack-column,
	        .stack-column-center {
	            display: block !important;
	            width: 100% !important;
	            max-width: 100% !important;
	            direction: ltr !important;
	        }
	        /* And center justify these ones. */
	        .stack-column-center {
	            text-align: center !important;
	        }

	        /* What it does: Generic utility class for centering. Useful for images, buttons, and nested tables. */
	        .center-on-narrow {
	            text-align: center !important;
	            display: block !important;
	            margin-left: auto !important;
	            margin-right: auto !important;
	            float: none !important;
	        }
	        table.center-on-narrow {
	            display: inline-block !important;
	        }

	        /* What it does: Adjust typography on small screens to improve readability */
	    }

    </style>
    <!-- Progressive Enhancements : END -->


    <!-- MSO dark mode fix :  use the class name for texts to remain in white -->
    <!--[if mso ]>
    <style>
        a{
            line-height: normal !important;
            text-decoration: none !important;
        }
        .ms-whiteX {
            mso-style-textfill-type:gradient;
            mso-style-textfill-fill-gradientfill-stoplist:'0 \#FFFFFF 0 100000\,100000 \#FFFFFF 0 100000';
        }
    </style>
    <![endif]-->

</head>
<!--
	The email background color (#ECF3FE) is defined in three places:
	1. body tag: for most email clients
	2. center tag: for Gmail and Inbox mobile apps and web versions of Gmail, GSuite, Inbox, Yahoo, AOL, Libero, Comcast, freenet, Mail.ru, Orange.fr
	3. mso conditional: For Windows 10 Mail
-->
<body width='100%' style='margin: 0; padding: 0 !important; mso-line-height-rule: exactly; background-color: #fff;'>
  <center role='article' aria-roledescription='email' lang='en' style='width: 100%; background-color: #fff;'>
    <!--[if mso | IE]>
    <table role='presentation' border='0' cellpadding='0' cellspacing='0' width='100%' style='background-color: #ECF3FE;'>
    <tr>
    <td>
    <![endif]-->

        <!-- Create white space after the desired preview text so email clients don’t pull other distracting text into the inbox preview. Extend as necessary. -->
        <!-- Preview Text Spacing Hack : BEGIN -->
        <div style='display: none; font-size: 1px; line-height: 1px; max-height: 0px; max-width: 0px; opacity: 0; overflow: hidden; mso-hide: all; font-family: 'Prompt',  sans-serif;'>
	        &zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;&zwnj;&nbsp;
        </div>
        <!-- Preview Text Spacing Hack : END -->

        <!--
            Set the email width. Defined in two places:
            1. max-width for all clients except Desktop Windows Outlook, allowing the email to squish on narrow but never go wider than 680px.
            2. MSO tags for Desktop Windows Outlook enforce a 680px width.
            Note: The Fluid and Responsive templates have a different width (600px). The hybrid grid is more 'fragile', and I've found that 680px is a good width. Change with caution.
        -->
        <div style='background-color: #000000ba; max-width: 800px; margin: 0 auto;font-family: 'Poppins', sans-serif; padding: 15px;' class='email-container'>
            <!--[if mso]>
            <table align='center' role='presentation' cellspacing='0' cellpadding='0' border='0' width='800'>
            <tr>
            <td>
            <![endif]-->

	        <!-- Email Body : BEGIN -->
            <table role='presentation' cellspacing='0' cellpadding='0' border='0' bgcolor='' style='width: 780px; margin: 0px auto 0 !important; font-family: 'Poppins', sans-serif; max-width: 100%;'>
                <tr>
                    <td>
                        <table role='presentation' cellspacing='0' cellpadding='0' border='0' bgcolor='' width='100%' style='margin: auto !important; '>
                            
                            
                             <!-- Clear Spacer : BEGIN -->
                             <!-- <tr>
                                <td aria-hidden='true' height='10' style='font-size: 0px; line-height: 0px;'>
                                    &nbsp;
                                </td>
                            </tr> -->
                            <!-- Clear Spacer : END -->

                            <tr>
                                <td class='inner-td' style='background: #fff; padding: 40px; border-top: solid 5px #000000ba; margin-bottom: 20px;'>

                                        <div style='padding: 0px 0px 10px; text-align: center; border-bottom:1px solid #ededed; padding: 0px 0px 10px; margin-bottom: 20px;'>
                                            <img src='https://professionalcleaning.spericorn.com/wp-content/themes/professional-cleaning/img/bh-logo.jpg' width='' height='56' alt='alt_text' border='0' >
                                        </div>

                                    <h4 style='font-family: 'Poppins', sans-serif; color: #292D32; font-size: 20px; font-weight: 600; margin: 0; margin-bottom: 15px;'>Hi Admin,</h4>
                                    <div style='display:block; text-align: center; padding-top: 15px;'>
                                        <img src='https://professionalcleaning.spericorn.com/wp-content/themes/professional-cleaning/img/contact.png' alt=''>
                                    </div>
                                    <p style='font-family: 'Poppins', sans-serif; color: #697F9B; font-size: 14px; margin-top: 30px; margin-bottom: 30px;'>We wanted to inform you that a user has recently made a message on your platform.</p>
                                    <div style='display:block; box-sizing: border-box; width: 100%;'>
                                        <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Name</span>: ". $name."
                                            </p>
                                        </div>
                                        <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Email</span>: ". $email."
                                            </p>
                                        </div>
                                        <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Phone</span>: ". $phone."
                                            </p>
                                        </div>
                                         <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Zip</span>: ". $zip."
                                            </p>
                                        </div>
										 <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Date</span>: ". $date."
                                            </p>
                                        </div>
										 <div class='name-block' style='margin-bottom: 20px; display:block; width: 100%; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0;'>
                                                <span style='font-weight: 500;'>Time</span>: ". $time."
                                            </p>
                                        </div>
                                        <div style='display:inline-block; box-sizing: border-box;'>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0 0 10px;'>
                                                <span style='font-weight: 500;'>Message</span>
                                            </p>
                                            <p style='font-family: 'Arial', sans-serif; color:#697F9B; font-size: 13px; margin: 0 0 15px;'>
                                                ". $message."
                                            </p>
                                           
                                            <p style='margin-top: 30px; margin-bottom: 5px; font-family: 'Arial', sans-serif; color:#292D32; font-size: 12px;'>Thank you</p>
                                            <h4 style='font-size: 12px; margin-top: 0; color:#292D32; font-weight: 700;'>Team Professional Cleaning</h4>
                                        </div>
                                    </div>
                                                                        
                                </td>
                            </tr>

                             <!-- Clear Spacer : BEGIN -->
                             
                            <!-- Clear Spacer : END -->
                        </table>
                    </td>
                </tr>
            </table>
            
            <!-- Email Body : END -->

            <!-- Email Social Media : BEGIN  -->


            <tr>
                <td>
                    <!-- <table role='presentation' cellspacing='0' cellpadding='0' border='0' bgcolor='' width='100%'>
                        <tr>
                            <td style='text-align: center; padding: 15px;'>
                                <p style='font-family: 'Poppins', sans-serif; text-align: center; margin: 0;'>
                                    <a href='#' style='display: inline-block; margin: 0 2px;'><img src='img/upwrk.png' alt='Up work'></a>
                                    <a href='#' style='display: inline-block; margin: 0 2px;'><img src='img/linkd.png' alt='Linked in'></a>
                                </p>
                            </td>
                        </tr>
                    </table> -->

                </td>
            </tr>

            <!--[if mso]>
            </td>
            </tr>
            </table>
            <![endif]-->
        </div>

        <!-- Full Bleed Background Section : BEGIN -->


        <!-- Full Bleed Background Section : END -->

    <!--[if mso | IE]>
    </td>
    </tr>
    </table>
    <![endif]-->
    </center>
</body>
</html>";
$headers = array(
    'Content-Type: text/html; charset=utf-8'
);

    if (wp_mail($to, $subject, $message, $headers)) {
        wp_send_json_success();
    } else {
        wp_send_json_error('Failed to send email. Try again later.');
    }
}

add_action('wp_ajax_send_contact_email', 'send_contact_email');
add_action('wp_ajax_nopriv_send_contact_email', 'send_contact_email');


function enqueue_contact_form_scripts() {
    wp_enqueue_script('jquery');
    wp_enqueue_script('parsley-js', 'https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.9.2/parsley.min.js', array('jquery'), null, true);
    wp_enqueue_script('custom-contact-js', get_template_directory_uri() . '/js/contact-form.js', array('jquery'), null, true);

    wp_localize_script('custom-contact-js', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));
}

add_action('wp_enqueue_scripts', 'enqueue_contact_form_scripts');