From: Michael Andreen Date: Thu, 4 Jun 2009 14:46:03 +0000 (+0200) Subject: Converted the .forum command X-Git-Url: https://ruin.nu/git/?p=NDIRC.git;a=commitdiff_plain;h=f241cbc51514579eb2355d3a83bbe1fbd458dc54 Converted the .forum command --- diff --git a/Commands/Members.pm b/Commands/Members.pm index dbfa1f4..34ef7d6 100644 --- a/Commands/Members.pm +++ b/Commands/Members.pm @@ -123,4 +123,28 @@ sub links $c->reply("https://nd.ruin.nu/"); } +sub forum + : Help(syntax: .forum [nick] | not everyone have access to check for others.) +{ + my ($self,$c,$msg) = @_; + my $dbh = $c->model; + + my $user; + if ($msg =~ /(\S+)/ && $c->check_user_roles('irc_forum_others')){ + $user = $dbh->selectrow_hashref(q{ +SELECT uid,username FROM users WHERE username ILIKE ? + }, undef, $1); + }else{ + $user = $dbh->selectrow_hashref(q{ +SELECT uid,username FROM users WHERE hostmask ILIKE ? + }, undef, $c->host); + } + if ($user){ + my $unread = $dbh->selectrow_hashref(q{SELECT * FROM unread_posts($1)},undef,$user->{uid}); + if ($unread){ + $c->reply("$user->{username} has $unread->{new} posts since your last forum visit ($unread->{unread} unread posts in total) https://nd.ruin.nu/forum/allUnread"); + } + } +} + 1; diff --git a/database/roles.sql b/database/roles.sql index eafc00d..0470abd 100644 --- a/database/roles.sql +++ b/database/roles.sql @@ -36,6 +36,7 @@ INSERT INTO roles VALUES('irc_setcalc'); INSERT INTO roles VALUES('irc_getcalc'); INSERT INTO roles VALUES('irc_sendsms'); INSERT INTO roles VALUES('irc_smsstatus'); +INSERT INTO roles VALUES('irc_forum_others'); INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_nick'); INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_intel'); @@ -73,6 +74,7 @@ INSERT INTO group_roles (gid,role) VALUES(1,'irc_setcalc'); INSERT INTO group_roles (gid,role) VALUES(1,'irc_getcalc'); INSERT INTO group_roles (gid,role) VALUES(1,'irc_sendsms'); INSERT INTO group_roles (gid,role) VALUES(1,'irc_smsstatus'); +INSERT INTO group_roles (gid,role) VALUES(1,'irc_forum_others'); INSERT INTO group_roles (gid,role) VALUES(2,'irc_gs'); INSERT INTO group_roles (gid,role) VALUES(2,'irc_scan'); @@ -112,6 +114,7 @@ INSERT INTO group_roles (gid,role) VALUES(3,'irc_setcalc'); INSERT INTO group_roles (gid,role) VALUES(3,'irc_getcalc'); INSERT INTO group_roles (gid,role) VALUES(3,'irc_sendsms'); INSERT INTO group_roles (gid,role) VALUES(3,'irc_smsstatus'); +INSERT INTO group_roles (gid,role) VALUES(3,'irc_forum_others'); INSERT INTO group_roles (gid,role) VALUES(4,'irc_points_others'); INSERT INTO group_roles (gid,role) VALUES(4,'irc_a'); @@ -149,6 +152,7 @@ INSERT INTO group_roles (gid,role) VALUES(18,'irc_whois'); INSERT INTO group_roles (gid,role) VALUES(18,'irc_flag'); INSERT INTO group_roles (gid,role) VALUES(18,'irc_laston'); INSERT INTO group_roles (gid,role) VALUES(18,'irc_lastseen'); +INSERT INTO group_roles (gid,role) VALUES(18,'irc_forum_others'); INSERT INTO group_roles (gid,role) VALUES(19,'irc_p_intel'); INSERT INTO group_roles (gid,role) VALUES(19,'irc_h');