if (!empty($data[0]['address_url1'])) { headerRedirect($data[0]['address_url1']); } if (!($page = file_get_contents(PHPWCMS_TEMPLATE . 'inc_default/subscribe.tmpl'))) { $page = "The email address <strong>{EMAIL}</strong> was verified."; } break; case 'unsubscribe': $sql = 'DELETE FROM ' . DB_PREPEND . 'phpwcms_address '; $sql .= "WHERE address_key='" . aporeplace($hash) . "'"; $result = _dbQuery($sql, 'DELETE'); if (!empty($data[0]['address_url2'])) { headerRedirect($data[0]['address_url2']); } if (!($page = file_get_contents(PHPWCMS_TEMPLATE . 'inc_default/unsubscribe.tmpl'))) { $page = "All Subscriptions for <strong>{EMAIL}</strong> canceled."; } break; } } else { headerRedirect(PHPWCMS_URL); } } else { headerRedirect(PHPWCMS_URL); } // some replacements $page = replaceGlobalRT($page); $page = str_replace('{EMAIL}', $email, $page); // send non caching page header headerAvoidPageCaching(); echo $page;
} $form_newletter_setting['hash'] = rawurlencode($form_newletter_setting['hash']); $form_newletter_setting['selection_text'] = array(); foreach ($form_newletter_setting['selection'] as $form_value_nl) { $form_newletter_setting['subscr_text'][] = '[X] ' . $form_newletter_setting['subscriptions'][$form_value_nl]; } if ($form_newletter_setting['email_field'] == $form_newletter_setting['name_field']) { $form_newletter_setting['name_field'] = ''; } $cnt_form['verifyemail'] = str_replace('{NEWSLETTER_NAME}', $form_newletter_setting['name_field'], $cnt_form['verifyemail']); $cnt_form['verifyemail'] = str_replace('{SUBSCRIPTIONS}', implode(LF, $form_newletter_setting['subscr_text']), $cnt_form['verifyemail']); $cnt_form['verifyemail'] = str_replace('{NEWSLETTER_EMAIL}', $form_newletter_setting['email_field'], $cnt_form['verifyemail']); $cnt_form['verifyemail'] = str_replace('{NEWSLETTER_VERIFY}', PHPWCMS_URL . 'verify.php?s=' . $form_newletter_setting['hash'], $cnt_form['verifyemail']); $cnt_form['verifyemail'] = str_replace('{NEWSLETTER_DELETE}', PHPWCMS_URL . 'verify.php?u=' . $form_newletter_setting['hash'], $cnt_form['verifyemail']); $cnt_form['verifyemail'] = str_replace(array('[br]', '[BR]'), LF, $cnt_form['verifyemail']); $cnt_form['verifyemail'] = replaceGlobalRT($cnt_form['verifyemail']); if (empty($form_newletter_setting['sender_email'])) { $form_newletter_setting['sender_email'] = $cnt_form['sender']; } if (empty($form_newletter_setting['sender_name'])) { $form_newletter_setting['sender_name'] = $cnt_form['sendername']; } // now send verification email @sendEmail(array('recipient' => $form_newletter_setting['email_field'], 'toName' => $form_newletter_setting['name_field'], 'subject' => $form_newletter_setting['subject'], 'text' => $cnt_form['verifyemail'], 'from' => $form_newletter_setting['sender_email'], 'fromName' => $form_newletter_setting['sender_name'], 'sender' => $form_newletter_setting['sender_email'])); } } } if ($cnt_form["onsuccess_redirect"] === 1) { // redirect on success headerRedirect(str_replace('{SITE}', PHPWCMS_URL, $cnt_form["onsuccess"])); } elseif ($cnt_form["onsuccess"]) {
$content["newsletter"]["updated"] = 1; } else { $content["newsletter"]["reffering_key"] = preg_replace('/[^a-z0-9]/i', '', shortHash($content["newsletter"]["email_address"] . time())); //if email not exists in newsletter address list insert entry $e_sql = "INSERT INTO " . DB_PREPEND . "phpwcms_address (" . "address_email, address_name, address_key, address_subscription, address_url1, address_url2) VALUES (" . _dbEscape($content["newsletter"]["email_address"]) . ", " . _dbEscape($content["newsletter"]["email_name"]) . ", " . _dbEscape($content["newsletter"]["reffering_key"]) . ", " . _dbEscape(serialize($content["newsletter"]["email_subscription"])) . ", " . _dbEscape($content["newsletter"]["url1"]) . ", " . _dbEscape($content["newsletter"]["url2"]) . ")"; $content["newsletter"]["updated"] = 0; } mysql_query($e_sql, $db); $content["newsletter"]["verify_link"] = PHPWCMS_URL . "verify.php?s=" . rawurlencode($content["newsletter"]["reffering_key"]); $content["newsletter"]["delete_link"] = PHPWCMS_URL . "verify.php?u=" . rawurlencode($content["newsletter"]["reffering_key"]); $content["newsletter"]["mailtext"] = $content["newsletter"]["updated"] ? $content["newsletter"]["change_text"] : $content["newsletter"]["reg_text"]; $content["newsletter"]["mailtext"] = str_replace("{NEWSLETTER_NAME}", $content["newsletter"]["email_name"], $content["newsletter"]["mailtext"]); $content["newsletter"]["mailtext"] = str_replace("{NEWSLETTER_EMAIL}", $content["newsletter"]["email_address"], $content["newsletter"]["mailtext"]); $content["newsletter"]["mailtext"] = str_replace("{NEWSLETTER_VERIFY}", $content["newsletter"]["verify_link"], $content["newsletter"]["mailtext"]); $content["newsletter"]["mailtext"] = str_replace("{NEWSLETTER_DELETE}", $content["newsletter"]["delete_link"], $content["newsletter"]["mailtext"]); $content["newsletter"]["mailtext"] = replaceGlobalRT($content["newsletter"]["mailtext"]); $content['newsletter']['subject'] = returnTagContent($content["newsletter"]["mailtext"], 'SUBJECT'); if (empty($content['newsletter']['subject']['tag'])) { if (isset($content['newsletter']['subject']['new'])) { $content["newsletter"]["mailtext"] = $content['newsletter']['subject']['new']; } $content['newsletter']['subject'] = 'Newsletter verification for ' . $phpwcms["site"]; } else { $content["newsletter"]["mailtext"] = $content['newsletter']['subject']['new']; $content['newsletter']['subject'] = $content['newsletter']['subject']['tag']; } require_once PHPWCMS_ROOT . '/include/inc_ext/phpmailer/PHPMailerAutoload.php'; // phpMailer Class $mail = new PHPMailer(); $mail->Mailer = $phpwcms['SMTP_MAILER']; $mail->Host = $phpwcms['SMTP_HOST'];