#!/bin/perl -w
#Parse incoming name=value pairs from form using GET method
$INPUT{"showtime"} = "false";
print "Content-type: text/html\n\n";
print "
Cam Admin Program<\/title><\/head>\n";
if ($ENV{'QUERY_STRING'}) {
print $ENV{'QUERY_STRING'};
@pairs = split(/&/, $ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$INPUT{$name} = $value;
}
}
print "
$name has been set to $INPUT{$name}
";
print "";
$old = "/var/www/romana/glamazon/webcam.html";
$new = $old . ".tmp";
&updateFile($old, $new, $name, $INPUT{$name});
$old = "/var/www/romana/glamazon/menu.html";
$new = $old . ".tmp";
&updateFile($old, $new, $name, $INPUT{$name});
#copy the last camera image to camoff.jpg - do this regardless for now!
system("cp /var/www/romana/glamazon/ispy.jpg /var/www/romana/glamazon/camoff.jpg");
sub updateFile {
local($old, $new, $var_name, $new_value) = @_;
open(OLD, "< $old") or die "can't open $old: $!";
open(NEW, "> $new") or die "can't open $new: $!";
select(NEW);
while () {
#change values
s/\bvar\s$var_name.*\;/var $var_name = $new_value;/o;
print NEW $_ or die "can't write $new: $!";
}
close(OLD) or die "can't close $old: $!";
close(NEW) or die "can't close $new: $!";
rename($old, "$old.orig") or die "can't rename $old to $old.orig: $!";
rename($new, $old) or die "can't rename $new to $old: $!";
unlink("$old.orig") or die "can't unlink $old: $!";
}