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;
}
}
}
}
}