From 96aff0cdb8c860a1f807958bc3e2ae98b628a2ba Mon Sep 17 00:00:00 2001 From: Rob Church Date: Thu, 16 Aug 2007 20:52:34 +0000 Subject: [PATCH] Ditch this; uses old schema, redundant to deleteUnusedAccounts.php --- maintenance/delete-idle-wiki-users.pl | 138 -------------------------- 1 file changed, 138 deletions(-) delete mode 100644 maintenance/delete-idle-wiki-users.pl diff --git a/maintenance/delete-idle-wiki-users.pl b/maintenance/delete-idle-wiki-users.pl deleted file mode 100644 index aef68ccd7e..0000000000 --- a/maintenance/delete-idle-wiki-users.pl +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/perl -# -# Nuke idle wiki accounts from the wiki's user database. -# -# Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org) -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; either version 2 of the License, or (at your -# option) any later version. -# -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -# NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. -# - -my $database = "DBI:mysql:database=wikidb;host=localhost"; -my $dbuser = "wikiuser"; -my $dbpasswd = "password"; - -use strict; -use DBI(); - -my $verbose = 0; -my $for_real = 1; - -sub do_db_op -{ - my ($dbh, $sql) = @_; - - if ($verbose >= 3) { - print $sql . ";\n" - } - - if ($for_real == 1) { - $dbh->do($sql); - } -} - -sub undo_user -{ - my ($ref, $dbh, $sth, $killed); - - # Connect to the database. - $dbh = DBI->connect($database, $dbuser, $dbpasswd, {RaiseError => 1}); - - $sth = $dbh->prepare("SELECT * FROM user"); - $sth->execute(); - - $ref = $sth->fetchrow_hashref(); - - if ($sth->rows == 0) { - print "There is no user in this wiki.\n"; - return; - } - - while ($ref = $sth->fetchrow_hashref()) { - my ($user_id, $user_name, $cph, $oph, $edits); - - $user_name = $ref->{user_name}; - $user_id = $ref->{user_id}; - if ($verbose >= 2) { - print "Annihilating user " . $user_name . - " has user_id " . $user_id . ".\n"; - } - - $cph = $dbh->prepare("SELECT * FROM cur where " . - "cur_user = $user_id" . - " AND " . - "cur_user_text = " . $dbh->quote("$user_name")); - $cph->execute(); - - $oph = $dbh->prepare("SELECT * FROM old where " . - "old_user = $user_id" . - " AND " . - "old_user_text = " . $dbh->quote("$user_name")); - $oph->execute(); - - $edits = $cph->rows + $oph->rows; - - $cph->finish(); - $oph->finish(); - - if ($edits == 0) { - if ($verbose >= 2) { - print "Keeping user " . $user_name . - ", user_id " . $user_id . ".\n"; - } - - do_db_op($dbh, - "DELETE FROM user WHERE user_name = " . - $dbh->quote("$user_name") . - " AND " . - "user_id = $user_id"); - - $killed++; - } - } - - $sth->finish(); - - $dbh->disconnect(); - - if ($verbose >= 1) { - print "Killed " . $killed . " users\n"; - } -} - -my (@users, $user, $this, $opts); - -@users = (); -$opts = 1; - -foreach $this (@ARGV) { - if ($opts == 1 && $this eq '-v') { - $verbose++; - } elsif ($opts == 1 && $this eq '--verbose') { - $verbose = 1; - } elsif ($opts == 1 && $this eq '--') { - $opts = 0; - } else { - push(@users, $this); - } -} - -undo_user(); - -- 2.20.1