Exemple #1
0
 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]);
 }
Exemple #2
0
            break;
        case '**D':
            $Qmail = $OSCOM_Db->get('customers', ['customers_firstname', 'customers_lastname', 'customers_email_address'], ['customers_newsletter' => '1']);
            $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'])) {
Exemple #3
0
     $Qcheck = $OSCOM_Db->get('orders', ['customers_name', 'customers_email_address', 'orders_status', 'date_purchased'], ['orders_id' => (int) $oID]);
     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':
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, '&amp;') !== false) {
                $reset_key_url = str_replace('&amp;', '&', $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 (ACCOUNT_GENDER == 'true') {
            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]);
 }