#!/usr/bin/perl
use strict;
use CGI;

my $q = new CGI;
my $count;
my ($user, $hostaddress);
my ($IPmult, $numclients, $VCprot, $WBD);
my @MCVIC;
my @VIC;
my @NM;
my @HH;
sleep(3);

@MCVIC = @VIC = @NM = ();
$numclients = $q->param('numclients');
print $q->header(),
$q->start_html(-title=>'Sending to VC service'),
$q->h1("Sending to VC service."),
"<table border=0 cellspacing=10>";

#open(OUTTO, ">/usr/tmp/test.txt");
$ENV{"LD_LIBRARY_PATH"} = "/usr/tmp/libra-demo/libra/Linux/lib";
open(OUTTO, "|/usr/tmp/fe1 128.2.185.242 35000 > /usr/tmp/fe1.out");

for ($count = 0; $count < $numclients; $count++){
    print "<tr><td>", $q->hr(), "</td></tr>";
    $user = $q->param("clientname$count");
    $hostaddress = $q->param("hostaddress$count");
    $IPmult = $q->param("IPMulticast$count");
    $VCprot = $q->param("VCprot$count");
    $WBD = $q->param("WBD$count");

    if ($VCprot eq "vic/SDR") {
        if ($WBD eq "yes") {
            $hostaddress = "W$hostaddress";
        }
        if ($IPmult eq "yes") {
            @MCVIC = (@MCVIC, $hostaddress, $user);
        } else {
            @VIC = (@VIC, $hostaddress, $user);
        }
        if ($WBD eq "yes") {
            $hostaddress =~ m/^W(.*)/;
            $hostaddress = $1;
        }
    } elsif ($VCprot eq "NetMeeting") {
        @NM = (@NM, $hostaddress, $user);
    } else {  # handheld
        @HH = (@HH, $hostaddress, $user);
    }
    print "<tr>",
        "<td align=right>User name</td>",
        "<td align=left>$user</td>",
        "</tr>",

        "<tr>",
        "<td align=right>IP address</td>",
        "<td align=left>$hostaddress</td>","
        </tr>",

        "<tr>",
        "<td align=right>IP Multicast</td>",
        "<td align=left>$IPmult</td>","
        </tr>",

        "<tr>",
        "<td align=right>Application/platform</td>",
        "<td align=left>$VCprot</td>",
        "</tr>",

        "<tr>",
        "<td align=right>Whiteboard</td>",
        "<td align=left>$WBD</td>",
        "</tr>";
}

my $Movie = $q->param("movieservice");
my $Moviename = $q->param("moviename");

print OUTTO "VIC\n";
while (@VIC) {
    print OUTTO pop(@VIC);
    print OUTTO "\n";
}
print OUTTO "ENDVIC\n";

print OUTTO "MCVIC\n";
while (@MCVIC) {
    print OUTTO pop(@MCVIC);
    print OUTTO "\n";
}
print OUTTO "ENDMCVIC\n";

print OUTTO "NM\n";
while (@NM) {
    print OUTTO pop(@NM);
    print OUTTO "\n";
}
print OUTTO "ENDNM\n";
print OUTTO "HH\n";
while (@HH) {
    print OUTTO pop(@HH);
    print OUTTO "\n";
}
print OUTTO "ENDHH\n";

print OUTTO "MOVIE\n";
if ($Movie eq 'yes') {
    # XXX replace space by underline
    my $tmname = $Moviename;
    $tmname =~ tr/ /_/s;
    print OUTTO "$tmname\n";
}
print OUTTO "ENDMOVIE\n";

close(OUTTO);

print "</table>";
print "<hr>";
if ($Movie eq 'yes') {
    print "The following movie is requested: $Moviename\n";
}

print $q->end_html();

exit 0;


