[pLog-svn] r6460 - plog/trunk/class/dao

mark at devel.lifetype.net mark at devel.lifetype.net
Wed May 14 03:15:56 EDT 2008


Author: mark
Date: 2008-05-14 03:15:56 -0400 (Wed, 14 May 2008)
New Revision: 6460

Modified:
   plog/trunk/class/dao/purgedata.class.php
Log:
Delete friend and private messages when we delete the users.

Modified: plog/trunk/class/dao/purgedata.class.php
===================================================================
--- plog/trunk/class/dao/purgedata.class.php	2008-05-14 07:13:25 UTC (rev 6459)
+++ plog/trunk/class/dao/purgedata.class.php	2008-05-14 07:15:56 UTC (rev 6460)
@@ -48,27 +48,58 @@
 			$perms = new UserPermissions();
 			$perms->revokeBlogPermissions( $blogId );
 			// resources
-			
+	
 			$albums = new GalleryResources();
 			$albums->deleteUserResources( $blogId );
 			// albums
-						
+
 			$albums = new GalleryAlbums();
 			$albums->deleteUserAlbums( $blogId );						
 			// articles
-			
+
 			$articles = new Articles();
 			$articles->deleteBlogPosts( $blogId );
 			// the blog itself
-			
+
 			$blogs = new Blogs();
 			$blogs->deleteBlog( $blogId );
 
 			// reset the template cache
 			CacheControl::resetBlogCache( $blogId, false );
 		}
-		
-        /**
+
+		/**
+		 * Deletes a user and all its data
+		 *
+		 * @param userId The id of the user whose data we'd like to delete
+		 */
+		function deleteUserData( $userId )
+		{
+			// friends
+			$friends = new Friends();
+			$friends->deleteUserFriends($userId);
+			$friends->deleteAllUsersFriendsByFriendId( $userId );
+			
+			// friendgroups
+			$friendGroups = new FriendGroups();
+			$friendGroups->deleteUserFriendGroups( $userId );
+
+			// private messages & private message boxes
+			$privateMessageBoxes = new PrivateMessageBoxes();
+			$privateMessages = new PrivateMessages();
+
+			$inbox = $privateMessageBoxes->getPrivateMessageInboxFromUserId( $userId );
+			$outbox = $privateMessageBoxes->getPrivateMessageOutboxFromUserId( $userId );
+			
+			$privateMessages->deletePrivateMessagesByBoxId( $inbox->getId() );
+			$privateMessages->deletePrivateMessagesByBoxId( $outbox->getId() );
+			$privateMessageBoxes->deletePrivateMessageBox( $inbox->getId() );
+			$privateMessageBoxes->deletePrivateMessageBox( $outbox->getId() );
+
+			// reset the template cache
+			CacheControl::resetBlogCache( $blogId, false );
+		}
+
          * removes all blogs that have 'deleted' status
          *
          * @return Returns 	how many we purged, and when this method returns '0', it means that there is nothing else
@@ -168,7 +199,7 @@
 	        	foreach( $user->getOwnBlogs() as $userBlog ) {					
 	        		$this->deleteBlogData( $userBlog->getId());
 	        	}
-	        	
+	        	$this->deleteUserData( $user->getId() );
 	        	$users->deleteUser( $user->getId());
 				$deleted++;
 	        }
@@ -176,4 +207,4 @@
 	        return( $deleted );			
 		}
 	}
-?>
\ No newline at end of file
+?>



More information about the pLog-svn mailing list