Updated to obey new API.

This commit is contained in:
Elijah Perrault committed 2011-02-15 21:36:25 -07:00
1 parent c2b436f420
commit c65f3afda4
1 file changed
+25 -26
+25 -26
View File
@@ -38,12 +38,11 @@ our %HELP_QDB = (
); );
sub cmd_qdb sub cmd_qdb
{ {
my (%data) = @_; my ($src, @argv) = @_;
my @argv = @{ $data{args} };
# Check for needed parameter. # Check for needed parameter.
if (!defined $argv[0]) { if (!defined $argv[0]) {
notice($data{svr}, $data{nick}, trans('Not enough parameters').q{.}); notice($src->{svr}, $src->{nick}, trans('Not enough parameters').q{.});
return; return;
} }
@@ -52,7 +51,7 @@ sub cmd_qdb
when ('ADD') { when ('ADD') {
# QDB ADD. # QDB ADD.
if (!defined $argv[1]) { if (!defined $argv[1]) {
notice($data{svr}, $data{nick}, trans('Not enough parameters').q{.}); notice($src->{svr}, $src->{nick}, trans('Not enough parameters').q{.});
return; return;
} }
@@ -61,45 +60,45 @@ sub cmd_qdb
# Insert into database. # Insert into database.
my $dbq = $Auto::DB->prepare('INSERT INTO qdb (creator, time, quote) VALUES (?, ?, ?)') or my $dbq = $Auto::DB->prepare('INSERT INTO qdb (creator, time, quote) VALUES (?, ?, ?)') or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
$dbq->execute($data{nick}, time, join(q{ }, @argv)) or $dbq->execute($src->{nick}, time, join(q{ }, @argv)) or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
# Get ID. # Get ID.
my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
privmsg($data{svr}, $data{chan}, 'Quote successfully submitted. ID: '.$count); privmsg($src->{svr}, $src->{chan}, 'Quote successfully submitted. ID: '.$count);
} }
when ('VIEW') { when ('VIEW') {
# QDB VIEW. # QDB VIEW.
if (!defined $argv[1]) { if (!defined $argv[1]) {
notice($data{svr}, $data{nick}, trans('Not enough parameters').q{.}); notice($src->{svr}, $src->{nick}, trans('Not enough parameters').q{.});
return; return;
} }
# Get quote. # Get quote.
my $dbq = $Auto::DB->prepare('SELECT * FROM qdb WHERE quoteid = ?') or my $dbq = $Auto::DB->prepare('SELECT * FROM qdb WHERE quoteid = ?') or
notice($data{svr}, $data{nick}, trans('An error occurred').'. Quote might not exist.') and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').'. Quote might not exist.') and return;
$dbq->execute($argv[1]) or notice($data{svr}, $data{nick}, trans('An error occurred').'. Quote might not exist.') and return; $dbq->execute($argv[1]) or notice($src->{svr}, $src->{nick}, trans('An error occurred').'. Quote might not exist.') and return;
my @data = $dbq->fetchrow_array; my @data = $dbq->fetchrow_array;
# Send it back. # Send it back.
privmsg($data{svr}, $data{chan}, "\002Submitted by\002 $data[1] \002on\002 ".POSIX::strftime('%F', localtime($data[2]))." \002at\002 ".POSIX::strftime('%I:%M %p', localtime($data[2]))); privmsg($src->{svr}, $src->{chan}, "\002Submitted by\002 $data[1] \002on\002 ".POSIX::strftime('%F', localtime($data[2]))." \002at\002 ".POSIX::strftime('%I:%M %p', localtime($data[2])));
privmsg($data{svr}, $data{chan}, $data[3]); privmsg($src->{svr}, $src->{chan}, $data[3]);
} }
when ('COUNT') { when ('COUNT') {
# Get count. # Get count.
my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
# Send it back. # Send it back.
privmsg($data{svr}, $data{chan}, "There is currently \002$count\002 quotes in my database."); privmsg($src->{svr}, $src->{chan}, "There is currently \002$count\002 quotes in my database.");
} }
when ('RAND') { when ('RAND') {
# Get count. # Get count.
my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or my $count = $Auto::DB->selectrow_array('SELECT COUNT(*) FROM qdb') or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
# Random number. # Random number.
my $rand = int(rand($count)); my $rand = int(rand($count));
@@ -107,32 +106,32 @@ sub cmd_qdb
# Get quote. # Get quote.
my $dbq = $Auto::DB->prepare('SELECT * FROM qdb WHERE quoteid = ?') or my $dbq = $Auto::DB->prepare('SELECT * FROM qdb WHERE quoteid = ?') or
notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
$dbq->execute($rand) or notice($data{svr}, $data{nick}, trans('An error occurred').q{.}) and return; $dbq->execute($rand) or notice($src->{svr}, $src->{nick}, trans('An error occurred').q{.}) and return;
my @data = $dbq->fetchrow_array; my @data = $dbq->fetchrow_array;
# Send it back. # Send it back.
privmsg($data{svr}, $data{chan}, "\002ID:\002 $data[0] - \002Submitted by\002 $data[1] \002on\002 ".POSIX::strftime('%F', localtime($data[2]))." \002at\002 ".POSIX::strftime('%I:%M %p', localtime($data[2]))); privmsg($src->{svr}, $src->{chan}, "\002ID:\002 $data[0] - \002Submitted by\002 $data[1] \002on\002 ".POSIX::strftime('%F', localtime($data[2]))." \002at\002 ".POSIX::strftime('%I:%M %p', localtime($data[2])));
privmsg($data{svr}, $data{chan}, $data[3]); privmsg($src->{svr}, $src->{chan}, $data[3]);
} }
when ('DEL') { when ('DEL') {
# Check for the cmd.qdbdel privilege. # Check for the cmd.qdbdel privilege.
if (!has_priv(match_user(%data), 'cmd.qdbdel')) { if (!has_priv(match_user(%$src), 'cmd.qdbdel')) {
notice($data{svr}, $data{chan}, trans('Permission denied').q{.}); notice($src->{svr}, $src->{chan}, trans('Permission denied').q{.});
return; return;
} }
# Check for the needed parameter. # Check for the needed parameter.
if (!defined $argv[1]) { if (!defined $argv[1]) {
notice($data{svr}, $data{nick}, trans('Not enough parameters').q{.}); notice($src->{svr}, $src->{nick}, trans('Not enough parameters').q{.});
return; return;
} }
# Update database. # Update database.
my $dbq = $Auto::DB->do("UPDATE qdb SET quote = \"NOTICE: Quote deleted.\" WHERE quoteid = $argv[1]"); my $dbq = $Auto::DB->do("UPDATE qdb SET quote = \"NOTICE: Quote deleted.\" WHERE quoteid = $argv[1]");
notice($data{svr}, $data{nick}, (($dbq) ? 'Done.' : trans('An error occurred').q{.})); notice($src->{svr}, $src->{nick}, (($dbq) ? 'Done.' : trans('An error occurred').q{.}));
} }
default { notice($data{svr}, $data{nick}, "Unknown action \002".uc($argv[0])."\002. \002Syntax:\002 QDB (ADD|VIEW|COUNT|RAND|DEL) [quote]"); return; } default { notice($src->{svr}, $src->{nick}, "Unknown action \002".uc($argv[0])."\002. \002Syntax:\002 QDB (ADD|VIEW|COUNT|RAND|DEL) [quote]"); return; }
} }
return 1; return 1;