X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=calls.pl;fp=calls.pl;h=60f6496e1d4013f7d08286d0764293a4b40ad6bf;hb=dd1f790eb29a50532b427d0e4a909e6d942a8414;hp=063c40f45c742004aff3e5b92419311a7c4f5d41;hpb=4b5116d8223eca33ed573cd36157ce979abd4a07;p=ndwebbie.git diff --git a/calls.pl b/calls.pl index 063c40f..60f6496 100644 --- a/calls.pl +++ b/calls.pl @@ -27,7 +27,6 @@ $ND::TEMPLATE->param(TITLE => 'Defense Calls'); die "You don't have access" unless isBC(); - my $call; if (param('call') =~ /^(\d+)$/){ my $query = $DBH->prepare(q{ @@ -39,6 +38,74 @@ FROM calls c WHERE c.id = ?}); $call = $DBH->selectrow_hashref($query,undef,$1); } +if ($call){ + if (param('cmd') eq 'Submit'){ + }elsif (param('cmd') eq 'Submit'){ + $DBH->begin_work; + if (param('ctick')){ + if ($DBH->do(q{UPDATE calls SET landing_tick = ? WHERE id = ?} + ,undef,param('tick'),$call->{id})){ + $call->{landing_tick} = param('tick'); + }else{ + print "

Something went wrong: ".$DBH->errstr."

"; + } + } + if (param('info')){ + if ($DBH->do(q{UPDATE calls SET info = ? WHERE id = ?} + ,undef,param('info'),$call->{id})){ + $call->{info} = param('info'); + }else{ + print "

Something went wrong: ".$DBH->errstr."

"; + } + } + $DBH->commit or print "

Something went wrong: ".$DBH->errstr."

"; + }elsif(param('cmd') =~ /^(Cover|Uncover|Ignore|Open) call$/){ + my $extra_vars = ''; + if (param('cmd') eq 'Cover call'){ + $extra_vars = ", covered = TRUE, open = FALSE"; + }elsif (param('cmd') eq 'Uncover call'){ + $extra_vars = ", covered = FALSE, open = TRUE"; + }elsif (param('cmd') eq 'Ignore call'){ + $extra_vars = ", covered = FALSE, open = FALSE"; + }elsif (param('cmd') eq 'Open call'){ + $extra_vars = ", covered = FALSE, open = TRUE"; + } + if ($DBH->do(qq{UPDATE calls SET dc = ? $extra_vars WHERE id = ?}, + ,undef,$ND::UID,$call->{id})){ + $call->{covered} = (param('cmd') eq 'Cover call'); + $call->{open} = (param('cmd') =~ /^(Uncover|Open) call$/); + }else{ + print "

Something went wrong: ".$DBH->errstr."

"; + } + }elsif(param('cmd') eq 'Remove'){ + $DBH->begin_work; + my $query = $DBH->prepare(q{DELETE FROM incomings WHERE id = ? AND call = ?}); + for my $param (param()){ + if ($param =~ /^change:(\d+)$/){ + if($query->execute($1,$call->{id})){ + $LOG->execute($ND::UID,"DC deleted fleet: $1, call $call->{id}"); + }else{ + print "

Something went wrong: ".$DBH->errstr."

"; + } + } + } + $DBH->commit or print "

Something went wrong: ".$DBH->errstr."

"; + }elsif(param('cmd') eq 'Change'){ + $DBH->begin_work; + my $query = $DBH->prepare(q{UPDATE incomings SET shiptype = ? WHERE id = ? AND call = ?}); + for my $param (param()){ + if ($param =~ /^change:(\d+)$/){ + my $shiptype = escapeHTML(param("shiptype:$1")); + if($query->execute($shiptype,$1,$call->{id})){ + $LOG->execute($ND::UID,"DC set fleet: $1, call $call->{id} to: $shiptype"); + }else{ + print "

Something went wrong: ".$DBH->errstr."

"; + } + } + } + $DBH->commit or print "

Something went wrong: ".$DBH->errstr."

"; + } +} if ($call){ $BODY->param(Call => $call->{id});