home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
pc.louisiana.edu/pub/unix/
/
Louisiana_UNIX.tar
/
Louisiana_UNIX
/
bbusernames
< prev
next >
Wrap
Text File
|
2000-10-06
|
2KB
|
57 lines
#!/usr/local/bin/perl
#
# bbusernames -a|-n
# will display all (-a), or registered but not enrolled in any course (-n),
# users of Blackboard Courseinfo 4.0 (4.08 tested 9/2000).
# User lists are sent to stdout in a format suitable for bulk-deletion.
# Written by Lori Chopin 9/2000 ljc9020@louisiana.edu
#
use DBI;
use strict;
my $driver;
my $database;
my $hostname;
my $dsn;
my $dbh;
my $sth;
my $ref;
my $user_id;
my $showall;
if ($ARGV[0] eq "-a"){ $showall=1; }
elsif ($ARGV[0] eq "-n"){ $showall=0; }
else {
printf("Usage: bbusernames -a [to dump all blackboard users]\n");
printf(" bbusernames -n [to dump all blackboard users not attending courses]\n");
exit(1);
}
$driver = "mysql";
$database = "courseinfo40";
$hostname = "localhost";
$dsn = "DBI:$driver:database=$database;host=$hostname";
$dbh = DBI ->connect($dsn,undef,undef);
$sth = $dbh -> prepare ("SELECT firstname,lastname, user_id, email, student_id FROM users");
$sth -> execute();
while($ref = $sth->fetchrow_hashref()){
unless ($showall) {
$user_id=$ref->{'user_id'};
my $enrolled_numrows=$dbh->selectrow_array("SELECT count(*) FROM course_users WHERE user_id= '$user_id'");
next if($enrolled_numrows ne "0"); # skip printf if is in a class
next if ($user_id eq "administrator"); # or is administrator or guest
next if ($user_id eq "guest");
}
printf STDOUT ("\"%.20s\",\"%.20s\",\"%.20s\",\"%.128s\",\"%.20s\"\n", $ref->{'user_id'},$ref->{'lastname'}, $ref->{'firstname'}, $ref->{'email'}, $ref->{'student_id'});
}
$sth->finish();
$dbh->disconnect();
0;