diff options
| author | Christian Fowler <spider@viovio.com> | 2009-04-15 02:24:49 +0000 |
|---|---|---|
| committer | Christian Fowler <spider@viovio.com> | 2009-04-15 02:24:49 +0000 |
| commit | b48e0d1dde008761b1eee3341afe19a4195d6fad (patch) | |
| tree | 80a193f2d5c4d94a1c9eabebbff1a9b0871479de | |
| parent | 8b7e7ec8767a8e6bd4b1a33c64bf44d9ebb23c6d (diff) | |
| download | newsletters-b48e0d1dde008761b1eee3341afe19a4195d6fad.tar.gz newsletters-b48e0d1dde008761b1eee3341afe19a4195d6fad.tar.bz2 newsletters-b48e0d1dde008761b1eee3341afe19a4195d6fad.zip | |
add users_expunge service method to clear out anything in the mail_queue
| -rw-r--r-- | bit_setup_inc.php | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bit_setup_inc.php b/bit_setup_inc.php index d052cb6..a0fc3b0 100644 --- a/bit_setup_inc.php +++ b/bit_setup_inc.php @@ -1,6 +1,8 @@ <?php global $gBitSystem; +define( 'LIBERTY_SERVICE_NEWSLETTERS', 'newsletters' ); + $registerHash = array( 'package_name' => 'newsletters', 'package_path' => dirname( __FILE__ ).'/', @@ -19,5 +21,18 @@ if( $gBitSystem->isPackageActive( NEWSLETTERS_PKG_NAME ) ) { require_once( NEWSLETTERS_PKG_PATH.'BitNewsletterMailer.php' ); BitNewsletterMailer::storeClickthrough( $_GET['ct'] ); } + + $gLibertySystem->registerService( LIBERTY_SERVICE_NEWSLETTERS, TAGS_PKG_NAME, array( + 'users_expunge_function' => 'newsletters_user_expunge', + ) ); + + // make sure all mail_queue messages from a deleted user are nuked + function newsletters_user_expunge( &$pObject ) { + if( is_a( $pObject, 'BitUser' ) && !empty( $pObject->mUserId ) ) { + $pObject->mDb->StartTrans(); + $pObject->mDb->query( "DELETE FROM `".BIT_DB_PREFIX."mail_queue` WHERE user_id=?", array( $pObject->mUserId ) ); + $pObject->mDb->CompleteTrans(); + } + } } ?> |
