ACC SHELL

Path : /srv/www/vhosts/csmap/assets/php/
File Upload :
Current File : //srv/www/vhosts/csmap/assets/php/mailer.php

<?php

    session_start();
    
    if (!function_exists('http_response_code')) {
        function http_response_code($code = NULL) {

            if ($code !== NULL) {

                switch ($code) {
                    case 100: $text = 'Continue'; break;
                    case 101: $text = 'Switching Protocols'; break;
                    case 200: $text = 'OK'; break;
                    case 201: $text = 'Created'; break;
                    case 202: $text = 'Accepted'; break;
                    case 203: $text = 'Non-Authoritative Information'; break;
                    case 204: $text = 'No Content'; break;
                    case 205: $text = 'Reset Content'; break;
                    case 206: $text = 'Partial Content'; break;
                    case 300: $text = 'Multiple Choices'; break;
                    case 301: $text = 'Moved Permanently'; break;
                    case 302: $text = 'Moved Temporarily'; break;
                    case 303: $text = 'See Other'; break;
                    case 304: $text = 'Not Modified'; break;
                    case 305: $text = 'Use Proxy'; break;
                    case 400: $text = 'Bad Request'; break;
                    case 401: $text = 'Unauthorized'; break;
                    case 402: $text = 'Payment Required'; break;
                    case 403: $text = 'Forbidden'; break;
                    case 404: $text = 'Not Found'; break;
                    case 405: $text = 'Method Not Allowed'; break;
                    case 406: $text = 'Not Acceptable'; break;
                    case 407: $text = 'Proxy Authentication Required'; break;
                    case 408: $text = 'Request Time-out'; break;
                    case 409: $text = 'Conflict'; break;
                    case 410: $text = 'Gone'; break;
                    case 411: $text = 'Length Required'; break;
                    case 412: $text = 'Precondition Failed'; break;
                    case 413: $text = 'Request Entity Too Large'; break;
                    case 414: $text = 'Request-URI Too Large'; break;
                    case 415: $text = 'Unsupported Media Type'; break;
                    case 500: $text = 'Internal Server Error'; break;
                    case 501: $text = 'Not Implemented'; break;
                    case 502: $text = 'Bad Gateway'; break;
                    case 503: $text = 'Service Unavailable'; break;
                    case 504: $text = 'Gateway Time-out'; break;
                    case 505: $text = 'HTTP Version not supported'; break;
                    default:
                        exit('Unknown http status code "' . htmlentities($code) . '"');
                    break;
                }

                $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');

                header($protocol . ' ' . $code . ' ' . $text);

                $GLOBALS['http_response_code'] = $code;

            } else {

                $code = (isset($GLOBALS['http_response_code']) ? $GLOBALS['http_response_code'] : 200);

            }

            return $code;

        }
    }

    // Only process POST reqeusts.
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        // Get the form fields and remove whitespace.
        $name = strip_tags(trim($_POST["name"]));
				$name = str_replace(array("\r","\n"),array(" "," "),$name);
		$firm = strip_tags(trim($_POST["firm"]));
        $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
        $message = trim($_POST["message"]);
        $souhlas = (integer)$_POST["souhlas"];
        $hide_code = $_SESSION['imgcodejn9freeside'];
        $code = trim($_POST["code"]);
        $lang = trim($_POST["lang"]);

        // Check that data was sent to the mailer.
        if ( empty($name) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL) OR $souhlas!=1 OR trim($hide_code)!=trim($code)) {
            // Set a 400 (bad request) response code and exit.
            //*http_response_code(400);
            if ($lang=="cz")
            {
                echo "2|Nebyly vyplněny všechny potřebné údaje. Vyplňte je a zkuste to znovu prosím.";
            }
            else
            {
                echo "2|Not all required data was completed. Fill in and try again please.";
            }
            exit;
        }

        // Set the recipient email address.
        $recipient = "info@csmap.cz";

        // Set the email subject.
		$subject = "=?UTF-8?B?".base64_encode("Formulář na www.csmap.cz - Dotaz od ".$name)."?=";
		
        // Build the email content.
        $email_content = "Jméno: $name\n";
        $email_content .= "Firma: $firm\n";
        $email_content .= "Email: $email\n\n";
        $email_content .= "Dotaz:\n$message\n";
        $email_content .= date("d.m.Y H:i:s").":Souhlas se zpracováním osobních údajů udělen\n";
        
		
        // Build the email headers.
		$email_headers = "MIME-Version: 1.0\n";
		$email_headers .= "Reply-To: $email\n";
		$email_headers .= "X-Sender: =?UTF-8?B?".base64_encode($name)."?=<$email>\n";
		$email_headers .= "X-Mailer: MyMailer v1.1\n";
		$email_headers .= "X-Priority: 3\n";
		$email_headers .= "Return-Path: =?UTF-8?B?".base64_encode($name)."?=<$email>\n";
		$email_headers .= "Content-Type: text/plain;charset=UTF-8\n";
		$email_headers .= "From: =?UTF-8?B?".base64_encode($name)."?=<$email>";
		

        // Send the email.
        if (mail($recipient, $subject, $email_content, $email_headers)) {
            // Set a 200 (okay) response code.
            //*http_response_code(200);
            if ($lang=="cz")
            {
                echo "1|Děkujeme! Vaše zpráva byla odeslána.";
            }
            else
            {
                echo "1|Thank you! Your message was sent.";
            }
        } else {
            // Set a 500 (internal server error) response code.
            //*http_response_code(500);
            if ($lang=="cz")
            {
                echo "2|Omlouváme se! Něco není v pořádku, Vaše zpráva nemohla být odeslána.";
            }
            else
            {
                echo "2|Sorry! Something is wrong, your message could not be sent.";
            }
        }

    } else {
        // Not a POST request, set a 403 (forbidden) response code.
        //*http_response_code(403);
        if ($lang=="cz")
        {
            echo "2|Objevil se problém s odesláním, zkuste to prosím znovu.";
        }
        else
        {
            echo "2|There was a problem with the queue, try again please.";
        }
    }

?>

ACC SHELL 2018