query_first("SELECT `member_id` FROM `highwaygroup`.`new_members` WHERE `email_address` = " . formatSQLString($posted["inquiry"]["email"]) . " LIMIT 1", MYSQL_ASSOC)) { $member_id = $row["member_id"]; } if (0 == $member_id) { include "build_member.inc.php"; //$member["id"] = $member["member_id"] = $member_id = memberToDatabase($member); $insert = array(); foreach (getTableColumns("`highwaygroup`.`new_members`") as $k) { if (array_key_exists($k, $member)) { $insert["`" . $k . "`"] = formatSQLString($member[$k]); } } if (count($insert)) { $DB->query("INSERT INTO `highwaygroup`.`new_members` (" . implode(", ", array_keys($insert)) . ") VALUES (" . implode(", ", array_values($insert)) . ")"); $member["id"] = $member["member_id"] = $member_id = $DB->insert_id(); } } $_GLOBALS["member"] = memberFromDatabase($member_id); if (is_array($posted["inquiry"]["newsletter"])) { foreach ($posted["inquiry"]["newsletter"] as $v) { memberMailingListSignup($_GLOBALS["member"], $_GLOBALS['site_settings']['site_id'], $v); } } include "build_inquiry.inc.php"; /** * Save invoice to database and fetch invoice_id */ $invoice['invoice_id'] = $invoice_id = invoiceToDatabase($invoice); foreach ($invoice_charges as $k => $v) { $invoice_charges[$k]["invoice_id"] = $invoice_id; } invoiceChargesToDatabase($invoice_id, $invoice_charges); foreach ($invoice_courier_quotes as $k => $v) { $invoice_courier_quotes[$k]["invoice_id"] = $invoice_id; } invoiceCourierQuotesToDatabase($invoice_id, $invoice_courier_quotes); foreach ($invoice_products as $k => $v) { $invoice_products[$k]["invoice_id"] = $invoice_id; } invoiceProductsToDatabase($invoice_id, $invoice_products); $invoice_template_vars = invoiceTemplateVars($invoice, $invoice_products, $invoice_charges); $template_engine = new Template(); $template_engine->set_vars($invoice_template_vars); $email_template_list = invoiceEmailTemplatesList(); /** * Send staff notification for new invoice */ if (function_exists("notifyActionMade")) { notifyActionMade(NOTIFY_INQUIRY_CREATED, $_GLOBALS["site_settings"]["site_id"], $invoice_template_vars); } $email_template = $email_template_list[INVOICE_EMAIL_CONTACT]; if (is_null($email_template)) { $email_template = array(); } foreach ($email_template as $k => $v) { $template_engine->set_contents($v); $email_template[$k] = $template_engine->apply(); } $email = new PHPMailer(); $email->From = $_GLOBALS["site_settings"]["email_sales"]; $email->FromName = $_GLOBALS["site_settings"]["site_name"]; $email->Sender = 'no-reply@highwaygroup.net'; $email->CharSet = 'utf-8'; $email->Subject = $email_template['template_subject']; $email->isHTML(true); $email->AddAddress($invoice['bill_email'], $invoice['bill_name']); //$email->AddBcc($_GLOBALS["site_settings"]["email_sales"]); $mailer->addBCC('backup@highwaygroup.net'); if (function_exists('notifyActionRecipients')) { foreach (notifyActionRecipients(NOTIFY_GENERIC, $invoice['site_id']) as $email_address => $email_name) { $mailer->addBCC($email_address, $email_name); } } /* if (function_exists('notifyOptionsFromDatabase') && function_exists("staffFromDatabase")) { foreach (notifyOptionsFromDatabase() as $row) { if ($row['site_id'] == $_GLOBALS["site_settings"]["site_id"] && NOTIFY_GENERIC == $row['action_id']) { $staff = staffFromDatabase($row["staff_id"]); if ("y" == $staff["active"]) { $staff_email = staffEmailFromDatabase($row["staff_id"], $_GLOBALS["site_settings"]["site_id"]); if ("" != $staff_email) { $staff["email"] = $staff_email; } $email->AddBcc($staff["email"], $invoice['bill_name']); } } } } */ $email->AddCustomHeader(sprintf("X-Invoice-ID: %08x%08x", $invoice_id, $_GLOBALS["member"]["id"])); $email->Body = $email_template['template_text']; $email->AltBody = generateAlternateText($email_template['template_text']); if ($email->Send()) { $addresses = array(); foreach ($email->getToAddresses() as $v) { $addresses[] = $email->AddrFormat($v); } invoiceHistoryToDatabase($invoice_id, array( 'invoice_id' => $invoice_id, 'message_type_id' => INVOICE_MESSAGE_INQUIRY_SENT, 'message_date' => substr(formatSQLDateTime($_SERVER["REQUEST_TIME"]), 1, -1), 'message_sender' => $email->AddrFormat(array($email->From, $email->FromName)), 'message_sentto' => implode(", ", $addresses), 'message_title' => $email->Subject, 'message_notes' => $email->Body, 'message_raw' => $email->CreateHeader() . $email->CreateBody(), )); /* if (function_exists("notifyActionMade")) { notifyActionMade(NOTIFY_GENERIC, $_GLOBALS['site_settings']['site_id'], array_merge($email_template->vars, array( "[EMAIL_SUBJECT]" => $email_template['template_subject'], "[EMAIL_BODY]" => $email_template['template_text'], )), true); } */ } $email->ClearAllRecipients(); $email->ClearCustomHeaders(); unset($email); $url = array( "invoice_id" => $invoice["invoice_id"], "rand_num" => $invoice["rand_num"], ); //TODO: This is bad if ($_GET["popup"]) { $url["popup"] = 3; } redirect(rtrim("/contact/contact_done.html?" . http_build_query($url), "?")); die(); } $_GLOBALS["metadata"]["title"] = "Send Inquiry | " . $_GLOBALS["metadata"]["title"]; $_GLOBALS["sub_menu"][] = 'Send Inquiry'; include_once dirname(__FILE__) . "/header.inc.php"; if (22 == $_GLOBALS["site_settings"]["site_id"]) { ?>