diff options
author | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-07-16 07:34:49 +0000 |
---|---|---|
committer | yorhel <yorhel@1fe2e327-d9db-4752-bcf7-ef0cb4a1748b> | 2008-07-16 07:34:49 +0000 |
commit | ee40f5605e50b1d421e3456f672a324360aff5a7 (patch) | |
tree | 3c0b8b491da00c20d1f4b38a634d5be12e13cee4 /lib/VNDB | |
parent | 94e9da6f6c654f45bc7efb7a4e6591c64f0553c5 (diff) |
Accounts can be deleted, home page now shows age of last post instead of user, removed the /u+/pending URL, and small bugfix in dump.sql
git-svn-id: svn://vndb.org/vndb@69 1fe2e327-d9db-4752-bcf7-ef0cb4a1748b
Diffstat (limited to 'lib/VNDB')
-rw-r--r-- | lib/VNDB/Users.pm | 11 | ||||
-rw-r--r-- | lib/VNDB/Util/DB.pm | 16 |
2 files changed, 25 insertions, 2 deletions
diff --git a/lib/VNDB/Users.pm b/lib/VNDB/Users.pm index 318f6dbc..670086cc 100644 --- a/lib/VNDB/Users.pm +++ b/lib/VNDB/Users.pm @@ -7,7 +7,7 @@ use Exporter 'import'; use Digest::MD5 'md5_hex'; our $VERSION = $VNDB::VERSION; -our @EXPORT = qw| UsrLogin UsrLogout UsrReg UsrPass UsrEdit UsrList UsrPage |; +our @EXPORT = qw| UsrLogin UsrLogout UsrReg UsrPass UsrEdit UsrList UsrPage UsrDel |; sub UsrLogin { @@ -231,5 +231,14 @@ sub UsrPage { }); } + +sub UsrDel { + my($s, $id) = @_; + return $s->ResDenied if !$s->AuthCan('usermod'); + $s->DBDelUser($id); + $s->ResRedirect('/u/list', 'temp'); +} + + 1; diff --git a/lib/VNDB/Util/DB.pm b/lib/VNDB/Util/DB.pm index e3685687..46a17fb1 100644 --- a/lib/VNDB/Util/DB.pm +++ b/lib/VNDB/Util/DB.pm @@ -13,7 +13,7 @@ $VERSION = $VNDB::VERSION; @EXPORT = qw| DBInit DBCheck DBCommit DBRollBack DBExit DBLanguageCount DBCategoryCount DBTableCount DBGetHist DBLockItem DBIncId - DBGetUser DBAddUser DBUpdateUser + DBGetUser DBAddUser DBUpdateUser DBDelUser DBGetVotes DBVoteStats DBAddVote DBDelVote DBGetVNList DBVNListStats DBAddVNList DBEditVNList DBDelVNList DBGetVN DBAddVN DBEditVN DBHideVN DBUndefRG DBVNCache @@ -272,6 +272,8 @@ sub DBGetUser { # %options->{ username mail passwd order firstchar uid results p 'ASCII(username) < 97 OR ASCII(username) > 122' => 1 ) : (), $o{uid} ? ( 'id = %d' => $o{uid} ) : (), + !$o{uid} && !$o{username} ? ( + 'id > 0' => 1 ) : (), ); my $where = keys %where ? 'AND !W' : ''; @@ -358,6 +360,18 @@ sub DBUpdateUser { # uid, %options->{ columns in users table } } +sub DBDelUser { # uid + my($s, $id) = @_; + $s->DBExec($_, $id) for ( + q|DELETE FROM vnlists WHERE uid = %d|, + q|DELETE FROM votes WHERE uid = %d|, + q|UPDATE changes SET requester = 0 WHERE requester = %d|, + q|UPDATE threads_posts SET uid = 0 WHERE uid = %d|, + q|DELETE FROM users WHERE id = %d| + ); +} + + |