summaryrefslogtreecommitdiff
path: root/bit_setup_inc.php
diff options
context:
space:
mode:
authorChristian Fowler <spider@viovio.com>2010-03-03 21:25:52 +0000
committerChristian Fowler <spider@viovio.com>2010-03-03 21:25:52 +0000
commitafddab86926764d01cd305e8c5b38bb95d55c0dd (patch)
tree765370eef487e6fa90030b89293f2fb9a432d794 /bit_setup_inc.php
parent289fc885814b3c6f809cf405ab5113101dac5d26 (diff)
downloadnewsletters-afddab86926764d01cd305e8c5b38bb95d55c0dd.tar.gz
newsletters-afddab86926764d01cd305e8c5b38bb95d55c0dd.tar.bz2
newsletters-afddab86926764d01cd305e8c5b38bb95d55c0dd.zip
get unsubscribe_all button to work, clean up logic to use BitNewsletterMailer to handle subscriptions
Diffstat (limited to 'bit_setup_inc.php')
-rw-r--r--bit_setup_inc.php28
1 files changed, 17 insertions, 11 deletions
diff --git a/bit_setup_inc.php b/bit_setup_inc.php
index 3bad4fc..93cb519 100644
--- a/bit_setup_inc.php
+++ b/bit_setup_inc.php
@@ -41,20 +41,26 @@ if( $gBitSystem->isPackageActive( NEWSLETTERS_PKG_NAME ) ) {
if( !empty( $_REQUEST['newsletter_optin'] ) ) {
// hidden flag to indicate at least one newsletter was displayed
require_once NEWSLETTERS_PKG_PATH.'BitNewsletter.php';
- $newsletter = new BitNewsletter();
- $pParamHash = array();
- $newsletters = $newsletter->getList($pParamHash);
- foreach ($newsletters as $nl){
- if( !empty( $_REQUEST['subscribe'] ) ){
- // we want to stay in at least one, which requires more complicated checking
- if( !in_array($nl['nl_id'], $_REQUEST['subscribe'])){ //not checked, implies unsubscribe
- $newsletter->unsubscribe($nl['nl_id'],false);
+ require_once NEWSLETTERS_PKG_PATH.'BitNewsletterMailer.php';
+
+ if( !empty( $_REQUEST['unsub_all'] ) ) {
+ $subHash['unsubscribe_all'] = 'y';
+ } else {
+ $newsletter = new BitNewsletter();
+ $pParamHash = array();
+ $newsletters = $newsletter->getList($pParamHash);
+ foreach( array_keys( $newsletters ) as $nlContentId ) {
+ if( empty( $_REQUEST['nl_content_id'] ) || !in_array( $nlContentId, $_REQUEST['nl_content_id'] ) ) {
+ $subHash['unsub_content'][] = $nlContentId;
+ $subHash['unsubscribe_all'] = NULL;
}
- } else {
- //we wish to unsubscribe from all newsletters
- $newsletter->unsubscribe($nl['nl_id'],false);
}
}
+
+ if( !empty( $subHash ) ) {
+ $subHash['sub_lookup'] = array( 'user_id' => $pObject->mUserId );
+ BitNewsletterMailer::storeSubscriptions( $subHash );
+ }
}
}
}