function send($newsletter_id) { $OSCOM_Db = Registry::get('Db'); $newsletterEmail = new Mail(); $newsletterEmail->setFrom(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER); $newsletterEmail->setSubject($this->title); if (!empty($this->content)) { $newsletterEmail->setBodyPlain($this->content); } if (!empty($this->content_html)) { $newsletterEmail->setBodyHTML($this->content_html); } $Qmail = $OSCOM_Db->get('customers', ['customers_firstname', 'customers_lastname', 'customers_email_address'], ['customers_newsletter' => '1']); while ($Qmail->fetch()) { $newsletterEmail->clearTo(); $newsletterEmail->addTo($Qmail->value('customers_email_address'), $Qmail->value('customers_firstname') . ' ' . $Qmail->value('customers_lastname')); $newsletterEmail->send(); } $OSCOM_Db->save('newsletters', ['date_sent' => 'now()', 'status' => '1'], ['newsletters_id' => (int) $newsletter_id]); }
$mail_sent_to = OSCOM::getDef('text_newsletter_customers'); break; default: $customers_email_address = HTML::sanitize($_POST['customers_email_address']); $Qmail = $OSCOM_Db->get('customers', ['customers_firstname', 'customers_lastname', 'customers_email_address'], ['customers_email_address' => $customers_email_address]); $mail_sent_to = $customers_email_address; break; } $customerEmail = new Mail(); $customerEmail->setFrom($_POST['from']); $customerEmail->setSubject($_POST['subject']); if (!empty($_POST['message'])) { $customerEmail->setBodyPlain($_POST['message']); } if (!empty($_POST['message_html'])) { $customerEmail->setBodyHTML($_POST['message_html']); } while ($Qmail->fetch()) { $customerEmail->clearTo(); $customerEmail->addTo($Qmail->value('customers_email_address'), $Qmail->value('customers_firstname') . ' ' . $Qmail->value('customers_lastname')); $customerEmail->send(); } OSCOM::redirect(FILENAME_MAIL, 'mail_sent_to=' . urlencode($mail_sent_to)); } if ($action == 'preview' && !isset($_POST['customers_email_address'])) { $OSCOM_MessageStack->add(OSCOM::getDef('error_no_customer_selected'), 'error'); } if (isset($_GET['mail_sent_to'])) { $OSCOM_MessageStack->add(OSCOM::getDef('notice_email_sent_to', ['mail_sent_to' => $_GET['mail_sent_to']]), 'success'); } require $oscTemplate->getFile('template_top.php');
if ($Qcheck->value('orders_status') != $status || tep_not_null($comments)) { $OSCOM_Db->save('orders', ['orders_status' => $status, 'last_modified' => 'now()'], ['orders_id' => (int) $oID]); $customer_notified = '0'; if (isset($_POST['notify']) && $_POST['notify'] == 'on') { $notify_comments = ''; $notify_comments_html = ''; if (isset($_POST['notify_comments']) && $_POST['notify_comments'] == 'on') { $notify_comments = OSCOM::getDef('email_text_comments_update', ['comments' => $comments]) . "\n\n"; $notify_comments_html = OSCOM::getDef('email_text_comments_update_html', ['comments' => nl2br($comments)]); } $invoice_url = OSCOM::link('Shop/' . FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID); $email = STORE_NAME . "\n" . OSCOM::getDef('email_separator') . "\n" . OSCOM::getDef('email_text_order_number') . ' ' . $oID . "\n" . OSCOM::getDef('email_text_invoice_url') . ' ' . $invoice_url . "\n" . OSCOM::getDef('email_text_date_ordered') . ' ' . DateTime::toLong($Qcheck->value('date_purchased')) . "\n\n" . $notify_comments . OSCOM::getDef('email_text_status_update', ['status' => $orders_status_array[$status]]) . "\n"; $email_html = '<p>' . STORE_NAME . '</p>' . OSCOM::getDef('email_separator_html') . '<p>' . OSCOM::getDef('email_text_order_number_html') . ' ' . $oID . '</p><p>' . OSCOM::getDef('email_text_invoice_url_html') . ' <a href="' . $invoice_url . '">' . $invoice_url . '</a></p><p>' . OSCOM::getDef('email_text_date_ordered_html') . ' ' . DateTime::toLong($Qcheck->value('date_purchased')) . '</p>' . $notify_comments_html . OSCOM::getDef('email_text_status_update_html', ['status' => $orders_status_array[$status]]); $orderEmail = new Mail($Qcheck->value('customers_email_address'), $Qcheck->value('customers_name'), STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, OSCOM::getDef('email_text_subject')); $orderEmail->setBodyPlain($email); $orderEmail->setBodyHTML($email_html); $orderEmail->send(); $customer_notified = '1'; } $OSCOM_Db->save('orders_status_history', ['orders_id' => (int) $oID, 'orders_status_id' => $status, 'date_added' => 'now()', 'customer_notified' => $customer_notified, 'comments' => $comments]); $order_updated = true; } if ($order_updated == true) { $OSCOM_MessageStack->add(OSCOM::getDef('success_order_updated'), 'success'); } else { $OSCOM_MessageStack->add(OSCOM::getDef('warning_order_not_updated'), 'warning'); } OSCOM::redirect(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'); break; case 'deleteconfirm': $oID = HTML::sanitize($_GET['oID']);
$password_reset_initiated = false; if (isset($_GET['action']) && $_GET['action'] == 'process' && isset($_POST['formid']) && $_POST['formid'] == $_SESSION['sessiontoken']) { $email_address = HTML::sanitize($_POST['email_address']); $Qcheck = $OSCOM_Db->get('customers', ['customers_firstname', 'customers_lastname', 'customers_id'], ['customers_email_address' => $email_address]); if ($Qcheck->fetch() !== false) { $actionRecorder = new actionRecorder('ar_reset_password', $Qcheck->valueInt('customers_id'), $email_address); if ($actionRecorder->canPerform()) { $actionRecorder->record(); $reset_key = Hash::getRandomString(40); $OSCOM_Db->save('customers_info', ['password_reset_key' => $reset_key, 'password_reset_date' => 'now()'], ['customers_info_id' => $Qcheck->valueInt('customers_id')]); $reset_key_url = OSCOM::link('password_reset.php', 'account=' . urlencode($email_address) . '&key=' . $reset_key, false); if (strpos($reset_key_url, '&') !== false) { $reset_key_url = str_replace('&', '&', $reset_key_url); } $passwordEmail = new Mail($email_address, $Qcheck->value('customers_firstname') . ' ' . $Qcheck->value('customers_lastname'), STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, OSCOM::getDef('email_password_reset_subject', ['store_name' => STORE_NAME])); $passwordEmail->setBodyHTML(OSCOM::getDef('email_password_reset_body_html', ['store_name' => STORE_NAME, 'store_email_address' => STORE_OWNER_EMAIL_ADDRESS, 'reset_url' => $reset_key_url])); $passwordEmail->setBodyPlain(OSCOM::getDef('email_password_reset_body', ['store_name' => STORE_NAME, 'store_email_address' => STORE_OWNER_EMAIL_ADDRESS, 'reset_url' => $reset_key_url])); $passwordEmail->send(); $password_reset_initiated = true; } else { $actionRecorder->record(false); $messageStack->add('password_forgotten', OSCOM::getDef('error_action_recorder', ['module_action_recorder_reset_password_minutes' => defined('MODULE_ACTION_RECORDER_RESET_PASSWORD_MINUTES') ? (int) MODULE_ACTION_RECORDER_RESET_PASSWORD_MINUTES : 5])); } } else { $messageStack->add('password_forgotten', OSCOM::getDef('text_no_email_address_found')); } } $breadcrumb->add(OSCOM::getDef('navbar_title_1'), OSCOM::link('login.php')); $breadcrumb->add(OSCOM::getDef('navbar_title_2'), OSCOM::link('password_forgotten.php')); require $oscTemplate->getFile('template_top.php'); ?>
if ($gender == 'm') { $email_text = OSCOM::getDef('email_greet_mr', ['lastname' => $lastname]); $email_text_html = OSCOM::getDef('email_greet_mr_html', ['lastname' => $lastname]); } else { $email_text = OSCOM::getDef('email_greet_ms', ['lastname' => $lastname]); $email_text_html = OSCOM::getDef('email_greet_ms_html', ['lastname' => $lastname]); } } else { $email_text = OSCOM::getDef('email_greet_none', ['firstname' => $firstname]); $email_text_html = OSCOM::getDef('email_greet_none_html', ['firstname' => $firstname]); } $email_text .= "\n\n" . OSCOM::getDef('email_welcome', ['store_name' => STORE_NAME]) . "\n\n" . OSCOM::getDef('email_text') . "\n\n" . OSCOM::getDef('email_contact', ['store_email_address' => STORE_OWNER_EMAIL_ADDRESS]) . "\n\n" . OSCOM::getDef('email_warning', ['store_email_address' => STORE_OWNER_EMAIL_ADDRESS]) . "\n"; $email_text_html .= OSCOM::getDef('email_welcome_html', ['store_name' => STORE_NAME]) . OSCOM::getDef('email_text_html') . OSCOM::getDef('email_contact_html', ['store_email_address' => STORE_OWNER_EMAIL_ADDRESS]) . OSCOM::getDef('email_warning_html', ['store_email_address' => STORE_OWNER_EMAIL_ADDRESS]); $customerEmail = new Mail($email_address, $name, STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, OSCOM::getDef('email_subject', ['store_name' => STORE_NAME])); $customerEmail->setBodyPlain($email_text); $customerEmail->setBodyHTML($email_text_html); $customerEmail->send(); OSCOM::redirect('create_account_success.php'); } } $breadcrumb->add(OSCOM::getDef('navbar_title'), OSCOM::link('create_account.php')); require $oscTemplate->getFile('template_top.php'); ?> <div class="page-header"> <h1><?php echo OSCOM::getDef('heading_title'); ?> </h1> </div>
function send($newsletter_id) { $OSCOM_Db = Registry::get('Db'); $audience = array(); if (isset($_POST['global']) && $_POST['global'] == 'true') { $Qproducts = $OSCOM_Db->get(['customers c', 'products_notifications pn'], ['distinct pn.customers_id', 'c.customers_firstname', 'c.customers_lastname', 'c.customers_email_address'], ['c.customers_id' => ['rel' => 'pn.customers_id']]); while ($Qproducts->fetch()) { $audience[$Qproducts->valueInt('customers_id')] = ['firstname' => $Qproducts->value('customers_firstname'), 'lastname' => $Qproducts->value('customers_lastname'), 'email_address' => $Qproducts->value('customers_email_address')]; } $Qcustomers = $OSCOM_Db->get(['customers c', 'customers_info ci'], ['c.customers_id', 'c.customers_firstname', 'c.customers_lastname', 'c.customers_email_address'], ['c.customers_id' => ['rel' => 'ci.customers_info_id'], 'ci.global_product_notifications' => '1']); while ($Qcustomers->fetch()) { $audience[$Qcustomers->valueInt('customers_id')] = ['firstname' => $Qcustomers->value('customers_firstname'), 'lastname' => $Qcustomers->value('customers_lastname'), 'email_address' => $Qcustomers->value('customers_email_address')]; } } else { $chosen = []; foreach ($_POST['chosen'] as $id) { if (is_numeric($id) && !in_array($id, $chosen)) { $chosen[] = $id; } } $ids = array_map(function ($k) { return ':products_id_' . $k; }, array_keys($chosen)); $Qproducts = $OSCOM_Db->prepare('select distinct pn.customers_id, c.customers_firstname, c.customers_lastname, c.customers_email_address from :table_customers c, :table_products_notifications pn where c.customers_id = pn.customers_id and pn.products_id in (' . implode(', ', $ids) . ')'); foreach ($chosen as $k => $v) { $Qproducts->bindInt(':products_id_' . $k, $v); } $Qproducts->execute(); while ($Qproducts->fetch()) { $audience[$Qproducts->valueInt('customers_id')] = ['firstname' => $Qproducts->value('customers_firstname'), 'lastname' => $Qproducts->value('customers_lastname'), 'email_address' => $Qproducts->value('customers_email_address')]; } $Qcustomers = $OSCOM_Db->get(['customers c', 'customers_info ci'], ['c.customers_id', 'c.customers_firstname', 'c.customers_lastname', 'c.customers_email_address'], ['c.customers_id' => ['rel' => 'ci.customers_info_id'], 'ci.global_product_notifications' => '1']); while ($Qcustomers->fetch()) { $audience[$Qcustomers->valueInt('customers_id')] = ['firstname' => $Qcustomers->value('customers_firstname'), 'lastname' => $Qcustomers->value('customers_lastname'), 'email_address' => $Qcustomers->value('customers_email_address')]; } } $notificationEmail = new Mail(); $notificationEmail->setFrom(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER); $notificationEmail->setSubject($this->title); if (!empty($this->content)) { $notificationEmail->setBodyPlain($this->content); } if (!empty($this->content_html)) { $notificationEmail->setBodyHTML($this->content_html); } foreach ($audience as $key => $value) { $notificationEmail->clearTo(); $notificationEmail->addTo($value['email_address'], $value['firstname'] . ' ' . $value['lastname']); $notificationEmail->send(); } $OSCOM_Db->save('newsletters', ['date_sent' => 'now()', 'status' => '1'], ['newsletters_id' => (int) $newsletter_id]); }