Microweber\Providers\Shop\CheckoutManager::confirm_email_send PHP Method

confirm_email_send() public method

public confirm_email_send ( $order_id, $to = false, $no_cache = false, $skip_enabled_check = false )
    public function confirm_email_send($order_id, $to = false, $no_cache = false, $skip_enabled_check = false)
    {
        $ord_data = $this->app->shop_manager->get_order_by_id($order_id);
        if (is_array($ord_data)) {
            if ($skip_enabled_check == false) {
                $order_email_enabled = $this->app->option_manager->get('order_email_enabled', 'orders');
            } else {
                $order_email_enabled = $skip_enabled_check;
            }
            if ($order_email_enabled == true) {
                $order_email_subject = $this->app->option_manager->get('order_email_subject', 'orders');
                $order_email_content = $this->app->option_manager->get('order_email_content', 'orders');
                $order_email_cc = $this->app->option_manager->get('order_email_cc', 'orders');
                $order_email_send_when = $this->app->option_manager->get('order_email_send_when', 'orders');
                if ($order_email_send_when == 'order_paid' and !$skip_enabled_check) {
                    if (isset($ord_data['is_paid']) and $ord_data['is_paid'] == false) {
                        return;
                    }
                }
                if ($order_email_subject == false or trim($order_email_subject) == '') {
                    $order_email_subject = 'Thank you for your order!';
                }
                if ($to == false) {
                    $to = $ord_data['email'];
                }
                if ($order_email_content != false and trim($order_email_subject) != '') {
                    $cart_items = array();
                    if (!empty($ord_data)) {
                        $cart_items = $this->app->shop_manager->get_cart('order_id=' . $ord_data['id'] . '&no_session_id=' . $this->app->user_manager->session_id());
                        // $cart_items = $this->order_items($ord_data['id']);
                        $order_items_html = $this->app->format->array_to_ul($cart_items);
                        $order_email_content = str_replace('{cart_items}', $order_items_html, $order_email_content);
                        $order_email_content = str_replace('{date}', date('F jS, Y', strtotime($ord_data['created_at'])), $order_email_content);
                        foreach ($ord_data as $key => $value) {
                            if (!is_array($value) and is_string($key)) {
                                if (strtolower($key) == 'amount') {
                                    $value = number_format($value, 2);
                                }
                                $order_email_content = str_ireplace('{' . $key . '}', $value, $order_email_content);
                            }
                        }
                    }
                    $twig = new \Twig_Environment(new \Twig_Loader_String());
                    $order_email_content = $twig->render($order_email_content, array('cart' => $cart_items, 'order' => $ord_data));
                    if (isset($to) and filter_var($to, FILTER_VALIDATE_EMAIL)) {
                        $sender = new \Microweber\Utils\MailSender();
                        $sender->send($to, $order_email_subject, $order_email_content);
                        $cc = false;
                        if (isset($order_email_cc) and filter_var($order_email_cc, FILTER_VALIDATE_EMAIL)) {
                            $cc = $order_email_cc;
                            $sender->send($cc, $order_email_subject, $order_email_content, false, $no_cache);
                        }
                        return true;
                    }
                }
            }
        }
    }