SmartyValidate::connect($tpl);
 $data = get_table_data('email');
 $data['DATE_SENT'] = gmdate('Y-m-d H:i:s');
 if (strlen(trim($data['URL'])) > 0 && !preg_match('#^http[s]?:\\/\\/#i', $data['URL'])) {
     $data['URL'] = "http://" . $data['URL'];
 }
 $full_data = $data;
 $full_data['CATEGORY_ID'] = $_REQUEST['CATEGORY_ID'];
 $full_data['DESCRIPTION'] = $_REQUEST['DESCRIPTION'];
 if (SmartyValidate::is_valid($full_data)) {
     // Generate Link ID first
     $link_id = $db->GenID($tables['link']['name'] . '_SEQ');
     $email_data = $full_data;
     $email_data['ADD_RECIPROCAL_URL'] = "http://" . $_SERVER['HTTP_HOST'] . DIRECTORY_ROOT . "/add_reciprocal.php?id=" . $link_id;
     $tmpl = $db->GetRow("SELECT `SUBJECT`, `BODY` FROM `{$tables['email_tpl']['name']}` WHERE `ID` = " . $db->qstr($_REQUEST['EMAIL_TPL_ID']));
     $mail = get_emailer();
     $mail->Body = replace_email_vars($tmpl['BODY'], $email_data);
     $mail->Subject = replace_email_vars($tmpl['SUBJECT'], $email_data);
     $mail->AddAddress($email_data['EMAIL'], $email_data['NAME']);
     if (!DEMO) {
         $sent = $mail->Send();
     } else {
         $sent = true;
     }
     if ($sent) {
         $id = $db->GenID($tables['email']['name'] . '_SEQ');
         $data['ID'] = $id;
         if ($db->Replace($tables['email']['name'], $data, 'ID', true) > 0) {
             // Save to Links table
             $link_data = get_table_data('link');
             $link_data['RECPR_REQUIRED'] = REQUIRE_RECIPROCAL;
Example #2
0
function send_payment_notifications($pdata, $ldata)
{
    global $db, $tables, $notif_msg;
    if (DEMO) {
        return false;
    }
    $pdata['SUCCESS'] = $pdata['CONFIRMED'] ? 'successful' : 'failed';
    $sql = "SELECT `SUBJECT`, `BODY` FROM `{$tables['email_tpl']['name']}` WHERE `ID` = " . $db->qstr(NTF_PAYMENT_TPL);
    $tmpl = $db->GetRow($sql);
    if ($tmpl) {
        $mail = get_emailer_admin();
        $body = replace_email_vars($tmpl['BODY'], $ldata, 2);
        $subject = replace_email_vars($tmpl['SUBJECT'], $ldata, 2);
        $mail->Body = replace_email_vars($body, $pdata, 3);
        $mail->Subject = replace_email_vars($subject, $pdata, 3);
        $mail->AddAddress($data['OWNER_EMAIL'], $data['OWNER_NAME']);
        $sent = $mail->Send();
    }
    $tmpl = $notif_msg['payment'];
    $admin = $db->GetRow("SELECT `ID`, `NAME`, `EMAIL` FROM `{$tables['user']['name']}` WHERE `ADMIN` = '1' AND `SUBMIT_NOTIF` = '1' LIMIT 1");
    $where = !empty($admin['ID']) ? 'AND `ID` != ' . $db->qstr($admin['ID']) : '';
    $users = $db->GetAll("SELECT `NAME`, `EMAIL` FROM `{$tables['user']['name']}` WHERE `PAYMENT_NOTIF` = '1' {$where}");
    $mail = get_emailer();
    $body = replace_email_vars($tmpl['BODY'], $ldata, 2);
    $subject = replace_email_vars($tmpl['SUBJECT'], $ldata, 2);
    $mail->Body = replace_email_vars($body, $pdata, 3);
    $mail->Subject = replace_email_vars($subject, $pdata, 3);
    if (!empty($admin['EMAIL'])) {
        $mail->AddAddress($admin['EMAIL'], $admin['NAME']);
    }
    if (is_array($users) && !empty($users)) {
        foreach ($users as $user) {
            $mail->AddBCC($user['EMAIL'], $user['NAME']);
        }
    }
    $sent = $mail->Send();
}