#!/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<body>"; 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 "<BR>$name has been set to $INPUT{$name}<BR>"; print "</body></html>"; $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 (<OLD>) { #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: $!"; }