diff options
| author | Christian Fowler <spider@viovio.com> | 2005-12-28 16:01:51 +0000 |
|---|---|---|
| committer | Christian Fowler <spider@viovio.com> | 2005-12-28 16:01:51 +0000 |
| commit | fd43e1191a1b9e2a87d59e2772c5fd9ef0cd7bcd (patch) | |
| tree | 332128f276d494292c5dfb908e03e6dfda147ca8 | |
| parent | 24f652cebb911f360f463ac8bb3d4dbf99a19bc8 (diff) | |
| download | newsletters-fd43e1191a1b9e2a87d59e2772c5fd9ef0cd7bcd.tar.gz newsletters-fd43e1191a1b9e2a87d59e2772c5fd9ef0cd7bcd.tar.bz2 newsletters-fd43e1191a1b9e2a87d59e2772c5fd9ef0cd7bcd.zip | |
more unsub changes and updates. getting closer
| -rw-r--r-- | BitMailer.php | 17 | ||||
| -rw-r--r-- | BitNewsletter.php | 8 | ||||
| -rw-r--r-- | index.php | 32 | ||||
| -rw-r--r-- | templates/user_subscriptions.tpl | 17 |
4 files changed, 46 insertions, 28 deletions
diff --git a/BitMailer.php b/BitMailer.php index 253b3c2..3f6d185 100644 --- a/BitMailer.php +++ b/BitMailer.php @@ -1,12 +1,12 @@ <?php /** - * $Header: /cvsroot/bitweaver/_bit_newsletters/Attic/BitMailer.php,v 1.5 2005/12/28 15:23:32 spiderr Exp $ + * $Header: /cvsroot/bitweaver/_bit_newsletters/Attic/BitMailer.php,v 1.6 2005/12/28 16:01:51 spiderr Exp $ * * Copyright (c) 2004 bitweaver.org * All Rights Reserved. See copyright.txt for details and a complete list of authors. * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details * - * $Id: BitMailer.php,v 1.5 2005/12/28 15:23:32 spiderr Exp $ + * $Id: BitMailer.php,v 1.6 2005/12/28 16:01:51 spiderr Exp $ * * Class that handles editions of newsletters * @package newsletters @@ -15,7 +15,7 @@ * * @author spiderr <spider@steelsun.com> * - * @version $Revision: 1.5 $ $Date: 2005/12/28 15:23:32 $ $Author: spiderr $ + * @version $Revision: 1.6 $ $Date: 2005/12/28 16:01:51 $ $Author: spiderr $ */ /** @@ -154,8 +154,9 @@ class BitMailer extends phpmailer { global $gBitDb; $ret = NULL; if( !empty( $pUrlCode ) ) { - $query = "SELECT * FROM `".BIT_DB_PREFIX."tiki_mail_queue` tmq - INNER JOIN `".BIT_DB_PREFIX."tiki_content` tc ON( tmq.`nl_content_id`=tc.`content_id` ) + $query = "SELECT tmq.*, tc.*, tct.*, uu.`real_name`, uu.`login`, uu.`email` FROM `".BIT_DB_PREFIX."tiki_mail_queue` tmq + INNER JOIN `".BIT_DB_PREFIX."tiki_content` tc ON( tmq.`content_id`=tc.`content_id` ) + INNER JOIN `".BIT_DB_PREFIX."tiki_content_types` tct ON( tct.`content_type_guid`=tc.`content_type_guid` ) LEFT OUTER JOIN `".BIT_DB_PREFIX."users_users` uu ON( tmq.`user_id`=uu.`user_id` ) WHERE `url_code`=? "; $ret = $gBitDb->getRow( $query, array( $pUrlCode ) ); @@ -171,11 +172,11 @@ class BitMailer extends phpmailer { if( is_array( $pMixed ) ) { $col = key( $pMixed ); $bindVars[] = current( $pMixed ); - $query = "SELECT * FROM `".BIT_DB_PREFIX."tiki_mail_unsubscriptions` tmu + $query = "SELECT tmu.`content_id` AS `hash_key`, * FROM `".BIT_DB_PREFIX."tiki_mail_unsubscriptions` tmu LEFT OUTER JOIN `".BIT_DB_PREFIX."users_users` uu ON( tmu.`user_id`=uu.`user_id` ) LEFT OUTER JOIN `".BIT_DB_PREFIX."tiki_content` tc ON( tmu.`content_id`=tc.`content_id` ) - WHERE $col=? "; - $ret = $gBitDb->getRow( $query, $bindVars ); + WHERE tmu.`$col`=? "; + $ret = $gBitDb->getAssoc( $query, $bindVars ); } return( $ret ); } diff --git a/BitNewsletter.php b/BitNewsletter.php index 278ba42..1d365fd 100644 --- a/BitNewsletter.php +++ b/BitNewsletter.php @@ -1,12 +1,12 @@ <?php /** - * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletter.php,v 1.9 2005/12/25 02:23:44 spiderr Exp $ + * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletter.php,v 1.10 2005/12/28 16:01:51 spiderr Exp $ * * Copyright (c) 2004 bitweaver.org * All Rights Reserved. See copyright.txt for details and a complete list of authors. * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details * - * $Id: BitNewsletter.php,v 1.9 2005/12/25 02:23:44 spiderr Exp $ + * $Id: BitNewsletter.php,v 1.10 2005/12/28 16:01:51 spiderr Exp $ * * Virtual base class (as much as one can have such things in PHP) for all * derived tikiwiki classes that require database access. @@ -16,7 +16,7 @@ * * @author drewslater <andrew@andrewslater.com>, spiderr <spider@steelsun.com> * - * @version $Revision: 1.9 $ $Date: 2005/12/25 02:23:44 $ $Author: spiderr $ + * @version $Revision: 1.10 $ $Date: 2005/12/28 16:01:51 $ $Author: spiderr $ */ /** @@ -244,7 +244,7 @@ class BitNewsletter extends LibertyContent { while( $res = $result->fetchRow() ) { $res["confirmed"] = $this->mDb->getOne( "SELECT COUNT(*) FROM `".BIT_DB_PREFIX."tiki_newsletter_subscriptions` WHERE `valid`=? AND `nl_id`=?",array( 'y', (int)$res["nl_id"] ) ); - $ret[$res['nl_id']] = $res; + $ret[$res['content_id']] = $res; } return $ret; @@ -1,6 +1,6 @@ <?php -// $Header: /cvsroot/bitweaver/_bit_newsletters/index.php,v 1.9 2005/12/28 15:23:32 spiderr Exp $ +// $Header: /cvsroot/bitweaver/_bit_newsletters/index.php,v 1.10 2005/12/28 16:01:51 spiderr Exp $ // Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. // All Rights Reserved. See copyright.txt for details and a complete list of authors. @@ -21,15 +21,27 @@ if( isset( $_REQUEST["confirm_subscription"] ) ) { } } +if( !$gBitUser->isRegistered() && !$gBitUser->hasPermission( 'bit_p_subscribe_newsletters' ) && empty( $_REQUEST["sub"] ) ) { + $gBitSystem->fatalError( tra("You must be logged in to subscribe to newsletters")); +} + +require_once( NEWSLETTERS_PKG_PATH.'lookup_newsletter_inc.php' ); +$feedback = array(); + +/* List newsletters */ +$listHash = array(); +$newsletters = $gContent->getList( $listHash ); +$gBitSmarty->assign_by_ref('newsletters', $newsletters ); + if( isset( $_REQUEST["sub"] ) ) { - if( strlen( $_REQUEST["sub"] ) == 32 ) { - $gBitSmarty->assign( 'subInfo', BitMailer::lookupUrlCode( $_REQUEST["sub"] ) ); + if( strlen( $_REQUEST["sub"] ) == 32 && ($subInfo = BitMailer::lookupUrlCode( $_REQUEST["sub"] )) ) { + $gBitSmarty->assign( 'subInfo', $subInfo ); + $lookup['email'] = $subInfo['email']; + $unsubs = BitMailer::getUnsubscriptions( $lookup ); + $gBitSmarty->assign( 'unsubs', $unsubs ); } $mid = 'bitpackage:newsletters/user_subscriptions.tpl'; } elseif( isset( $_REQUEST["update"] ) ) { - /* List newsletters */ - $listHash = array(); - $newsletters = $gContent->getList( $listHash ); vd( $newsletters ); vd( $_REQUEST ); $feedback['success'] = tra( "Your subscriptions were updated." ); @@ -38,13 +50,6 @@ vd( $_REQUEST ); $mid = 'bitpackage:newsletters/user_subscriptions.tpl'; } -if( !$gBitUser->isRegistered() && !$gBitUser->hasPermission( 'bit_p_subscribe_newsletters' ) && empty( $_REQUEST["confirm_subscription"] ) ) { - $gBitSystem->fatalError( tra("You must be logged in to subscribe to newsletters")); -} - -require_once( NEWSLETTERS_PKG_PATH.'lookup_newsletter_inc.php' ); -$feedback = array(); - $foo = parse_url($_SERVER["REQUEST_URI"]); $gBitSmarty->assign('url_subscribe', httpPrefix(). $foo["path"]); @@ -90,7 +95,6 @@ if( $gContent->isValid() ) { } } */ - $gBitSmarty->assign_by_ref('newsletters', $newsletters ); $gBitSmarty->assign( 'feedback', $feedback ); $mid = 'bitpackage:newsletters/newsletters.tpl'; } diff --git a/templates/user_subscriptions.tpl b/templates/user_subscriptions.tpl index 6f3e617..8c24ea3 100644 --- a/templates/user_subscriptions.tpl +++ b/templates/user_subscriptions.tpl @@ -8,6 +8,15 @@ {if $subInfo} {formfeedback success=$success error=$gContent->mErrors} {form enctype="multipart/form-data" id="editpageform"} + <input type="hidden" name="unsub_content_id" value="{$subInfo.content_id}" /> + <div class="row"> +<em> + {formlabel label="In Response To"} + {forminput} + {tr}{$subInfo.content_description}{/tr}: {$subInfo.title} + {/forminput} +</em> + </div> <div class="row"> {formlabel label="User Information"} {forminput} @@ -18,13 +27,17 @@ <div class="row"> {formlabel label="Subscriptions"} {forminput} - <input type="checkbox" name="nl_content_id" value="{$subInfo.nl_content_id}" /> {$subInfo.title} </br> + {foreach from=$newsletters key=nlId item=nl} + <input type="checkbox" name="nl_content_id[]" value="{$nlId}" {if !$unsubs.$nlId}checked="checked"{/if}/> {$nl.title} <br/> + {foreachelse} + {tr}No newsletters were found{/tr} + {/foreach} {/forminput} </div> <div class="row"> {formlabel label="Permanent Unsubscribe"} {forminput} - <input type="checkbox" name="unsubscribe_all" value="{$subInfo.nl_content_id}" {if $subInfo.unsubscribe_all}checked="checked"{/if} /> {tr}Remove myself from all lists, and receive no further mailings from{/tr} {$gBitSystem->getPreference('siteTitle','this site')}.</br> + <input type="checkbox" name="unsubscribe_all" value="y" {if $subInfo.unsubscribe_all}checked="checked"{/if} /> {tr}Remove myself from all lists, and receive no further mailings from{/tr} {$gBitSystem->getPreference('siteTitle','this site')}.</br> {/forminput} </div> <div class="row submit"> |
