[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