Beispiel #1
0
 if (!empty($_SESSION["item_{$var_count}"])) {
     $item_count++;
     $item = $_SESSION["item_{$var_count}"];
     // Prepare values to be sent into "query_food_info" function
     $cart_item_id = $item["cart_item_id"];
     if (!isset($item["cart_item_option_1"])) {
         $cart_item_option_1 = "";
     } else {
         $cart_item_option_1 = $item["cart_item_option_1"];
     }
     if (!isset($item["cart_item_option_2"])) {
         $cart_item_option_2 = "";
     } else {
         $cart_item_option_2 = $item["cart_item_option_2"];
     }
     $food_info = query_food_info($cart_item_id, $cart_item_option_1, $cart_item_option_2);
     // Calculate and display food price
     if (!isset($food_info["option1_price"])) {
         $option1_price = 0;
     } else {
         $option1_price = $food_info["option1_price"];
     }
     if (!isset($food_info["option2_price"])) {
         $option2_price = 0;
     } else {
         $option2_price = $food_info["option2_price"];
     }
     $food_quantity = $item["cart_item_quantity"];
     $food_price = $food_info["food_price"];
     $food_total_price = ($food_price + $option1_price + $option2_price) * $food_quantity;
     array_push($grand_total_array, $food_total_price);
function send_kitchen_receipt_to_restaurant($cust_invoice_number)
{
    require_once "global_functions.php";
    require_once "mysql_functions.php";
    global $restaurant_email_username;
    global $restaurant_email_password;
    global $email_endpoint;
    //////////// QUERY FOR ALL NECCESSARY INFO ////////////
    $bill_info = get_bill_info_by_invoice_number($cust_invoice_number);
    $cust_info = get_cust_info_by_id($bill_info["placed_by_cust_id"]);
    $order_info = get_order_info_by_invoice_number($cust_invoice_number);
    //////////// SETTING UP VARIABLES //////////////
    date_default_timezone_set('America/Los_Angeles');
    //////////// CHECK IF THERE'S ANY ADDITIONAL WAIT TIME /////////////
    $temp_order_info = $order_info;
    $item_that_needs_preparation_time = 0;
    while ($temp_order_info) {
        $temp_single_order_info = array_shift($temp_order_info);
        $temp_food_id = $temp_single_order_info["food_id"];
        if (get_food_single_info($temp_food_id, "need_time_to_prepare") == 1) {
            $item_that_needs_preparation_time++;
        }
    }
    // end while
    if ($item_that_needs_preparation_time > get_server_value("additional_wait_time_treshold")) {
        $additional_wait_time = ($item_that_needs_preparation_time - get_server_value("additional_wait_time_treshold")) * get_server_value("additional_wait_time_increment");
    } else {
        $additional_wait_time = 0;
        $additional_wait_time_th = 0;
    }
    //////////// ESTIMATE THE PICK-UP TIME ////////////
    $estimated_pickup_time = $bill_info["time_placed"] + ($bill_info["wait_time"] + $additional_wait_time) * 60;
    $estimated_pickup_time = date("g:i a", $estimated_pickup_time);
    //////////// FORMAT THE ADDITIONAL WAIT TIME ////////////////
    if ($additional_wait_time != 0) {
        $additional_wait_time_th = "+ " . $additional_wait_time . " นาที";
    }
    $mail = new PHPMailer();
    $mail->CharSet = 'UTF-8';
    // Set charset
    $mail->isSMTP();
    // Set mailer to use SMTP
    $mail->Host = 'smtp.live.com';
    // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;
    // Enable SMTP authentication
    $mail->Username = $restaurant_email_username;
    // SMTP username
    $mail->Password = $restaurant_email_password;
    // SMTP password
    $mail->SMTPSecure = 'tls';
    // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;
    // TCP port to connect to
    $mail->From = $restaurant_email_username;
    $mail->FromName = 'Nayada Thai Cuisine';
    $mail->addAddress($email_endpoint, "Nayada Thai Cuisine");
    // Add a recipient
    //$mail->addBCC($restaurant_email_username);
    //$mail->addAttachment('/var/tmp/file.tar.gz');       // Add attachments
    $mail->isHTML(true);
    // Set email format to HTML
    $mail->Subject = 'Kitchen Receipt (' . $cust_invoice_number . ')';
    //////////////////////// Thai version for kitchen //////////////////////////
    $order_info = get_order_info_by_invoice_number($cust_invoice_number);
    $mail->Body .= '<br /><p style="text-align: center; width: 900px; background-color: #000; color: #FFF; font-size: 120%; margin: 50px 0 30px 0; padding: 5px 0 5px 0;"><strong>Online Slip # ' . $cust_invoice_number . '</strong></p>';
    // FOOD LIST AREA
    $mail->Body .= '<div style="margin: 0 0 0 10px; font-family: \'Microsoft Sans Serif\';">';
    while ($order_info) {
        $list = array_shift($order_info);
        /////// check if should print to kitchen
        if (get_food_single_info($list["food_id"], "print_to_kitchen") == 1) {
            $food_info = query_food_info($list["food_id"], NULL, NULL);
            $mail->Body .= '<p style="font-size: 140%; margin:0;"><strong>' . $list["quantity"] . ' ' . $food_info["food_name_th"] . '</strong></p>';
            $option_count = 1;
            while ($option_count <= 4) {
                if ($list["option_{$option_count}"] != "not_set") {
                    // QUERY FOR OPTION INFO
                    $option_code = $list["option_{$option_count}"];
                    $option_info = get_option_info($option_code);
                    if ($list["option_{$option_count}_price"] == 0) {
                        $option_price = "";
                    } else {
                        $option_price = " : \$ " . $list["option_{$option_count}_price"];
                    }
                    $mail->Body .= '<p style="font-size: 130%; margin: 10px 0 10px 30px;"><strong>' . $option_info["option_name_th"] . $option_price . '</strong></p>';
                }
                // end if spice option is set
                $option_count++;
            }
            // end while there is option
            if ($list["spice_option"] != "not_set") {
                switch ($list["spice_option"]) {
                    case "spice_0":
                        $spice = "ไม่เผ็ด";
                        break;
                    case "spice_1":
                        $spice = "เผ็ดน้อย";
                        break;
                    case "spice_2":
                        $spice = "เผ็ดกลาง";
                        break;
                    case "spice_3":
                        $spice = "เผ็ด!";
                        break;
                    case "spice_4":
                        $spice = "เผ็ดมาก!!";
                        break;
                }
                // end switch
                $mail->Body .= '<p style="font-size: 130%; margin: 10px 0 10px 30px;"><strong>' . $spice . '</strong></p>';
            }
            // end if spice option is set
            $mail->Body .= '<p style="margin: 0;">---------------------------------------------</p>';
        }
        // end if should print to kitchen
    }
    // end while there is order
    $mail->Body .= '</div><br />
						  <p style="margin: 0;">เวลารอ              : ' . $bill_info["wait_time"] . ' นาที</p>
						  <p style="margin: 0;">เวลารอเพิ่ม   : ' . $additional_wait_time_th . '</p>
						  <p style="margin: 0;">เวลามารับ : ' . $estimated_pickup_time . '</p>';
    // end FOOD LIST AREA
    // if test mode is on
    if ($bill_info["transaction_mode"] === "test_mode") {
        $mail->Body .= '<p style="text-align: center; width: 900px; background-color: #000; color: #FFF; font-size: 150%; margin: 50px 0 0 0; padding: 5px 0 5px 0;"><strong>TEST MODE</strong></p>';
    }
    // end if test mode
    $mail->AltBody = '';
    if (!$mail->send()) {
        //		echo 'Message could not be sent.';
        //		echo 'Mailer Error: ' . $mail->ErrorInfo;
        return false;
    } else {
        //		echo 'Message has been sent';
        return true;
    }
}