}
}
+sub setcalc
+ : Help(Usage: .setcalc callId calc | sets the calc for the given call.)
+ : Type(def)
+ : ACL(irc_setcalc)
+{
+ my ($self,$c,$msg) = @_;
+ my ($id,$calc) = $msg =~ /^(\d+) (.+)$/ or die 'ARGS';
+ my $dbh = $c->model;
+
+ $dbh->begin_work;
+ my $rows = $dbh->do(q{UPDATE calls SET calc = $2 WHERE id = $1}
+ ,undef,$id, $calc);
+ if ($rows == 1){
+ $c->reply("Updated calc call <b>$id</b>");
+ $calc = CGI::escapeHTML($calc);
+ $c->def_log($id , 'Updated calc to: [URL]'.$calc.'[/URL]');
+ $dbh->commit;
+ }else{
+ $c->reply("$id is not a valid call");
+ $dbh->rollback;
+ }
+}
+
+sub getcalc
+ : Help(Usage: .getcalc callId | receives the calc for the given call)
+ : Type(def)
+ : ACL(irc_getcalc)
+{
+ my ($self,$c,$msg) = @_;
+ my ($id) = $msg =~ /^(\d+)$/ or die 'ARGS';
+ my $dbh = $c->model;
+
+ my $calc = $dbh->selectrow_array(q{
+SELECT calc FROM calls WHERE id = $1}
+ ,undef,$id);
+ $calc //= "Bad call id, there is no such call.";
+ $c->reply("Calc for call <b>$id</b>: $calc");
+}
+
+
1;
our @ISA = qw/Exporter/;
-our @EXPORT = qw/showCall takeCall covCall ignoreCall
- setDefPrio setCalc getCalc/;
+our @EXPORT = qw/showCall
+ setDefPrio/;
sub showCall {
my ($msg,$command) = @_;
}
}
-sub setCalc {
- my ($msg,$command) = @_;
- my ($id, $calc);
- if (defined $msg && $msg =~ /^(\d+) (.+)$/){
- $id = $1;
- $calc = escapeHTML($2);
- }else{
- $ND::server->command("notice $ND::nick Usage: $command callid calc");
- return;
- }
- if (my $user = dc()){
- if ($ND::DBH->do(q{UPDATE calls SET calc = $2 WHERE id = $1}
- ,undef,$id, $calc) == 1){
- $ND::server->command("notice $ND::nick Updated calc call $ND::B$id$ND::O");
- def_log $user->{uid}, $id , 'Updated calc to: [URL]'
- .$calc.'[/URL]';
- }
- }
-}
-
-sub getCalc {
- my ($msg,$command) = @_;
- my ($id);
- if (defined $msg && $msg =~ /^(\d+)$/){
- $id = $1;
- }else{
- $ND::server->command("notice $ND::nick Usage: $command callid");
- return;
- }
- if (my $user = dc()){
- my $calc = $ND::DBH->selectrow_array(q{SELECT calc
- FROM calls WHERE id = $1}
- ,undef,$id);
- $ND::server->command("notice $ND::nick calc for call $ND::B$id$ND::O: $calc");
- }
-}
-
sub setDefPrio {
my ($msg,$command) = @_;
my ($min,$max);
INSERT INTO roles VALUES('irc_defcall');
INSERT INTO roles VALUES('irc_settype');
INSERT INTO roles VALUES('irc_calltake');
+INSERT INTO roles VALUES('irc_setcalc');
+INSERT INTO roles VALUES('irc_getcalc');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_nick');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_p_intel');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_defcall');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_settype');
INSERT INTO group_roles (gid,role) VALUES(1,'irc_calltake');
+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(2,'irc_gs');
INSERT INTO group_roles (gid,role) VALUES(2,'irc_scan');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_defcall');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_settype');
INSERT INTO group_roles (gid,role) VALUES(3,'irc_calltake');
+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(4,'irc_points_others');
INSERT INTO group_roles (gid,role) VALUES(4,'irc_a');
INSERT INTO group_roles (gid,role) VALUES(6,'irc_defcall');
INSERT INTO group_roles (gid,role) VALUES(6,'irc_settype');
INSERT INTO group_roles (gid,role) VALUES(6,'irc_calltake');
+INSERT INTO group_roles (gid,role) VALUES(6,'irc_setcalc');
+INSERT INTO group_roles (gid,role) VALUES(6,'irc_getcalc');
INSERT INTO group_roles (gid,role) VALUES(8,'irc_scanreqs');
INSERT INTO group_roles (gid,role) VALUES(8,'irc_anonscan');