]> ruin.nu Git - NDIRC.git/commitdiff
Converted the .forum command
authorMichael Andreen <harv@ruin.nu>
Thu, 4 Jun 2009 14:46:03 +0000 (16:46 +0200)
committerMichael Andreen <harv@ruin.nu>
Thu, 4 Jun 2009 14:46:03 +0000 (16:46 +0200)
Commands/Members.pm
database/roles.sql

index dbfa1f416f6b01495dee17db37903bb7893b8b39..34ef7d605028efa790c8935fdf336a976019b3dc 100644 (file)
@@ -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;
index eafc00dfce8074f54ef8f72dded2f87a5da21ac3..0470abd0ff9bd5c5ea830a46726a45da606f6dd1 100644 (file)
@@ -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');