#!/usr/bin/perl # -I/usr/local/apache/virtual/o/www.obm.co.uk/bin/webdb use lib '../bin/webdb'; use lib '../bin/perl5/lib'; use strict; use HTML; # Program name my $ProgramName; my $ProgramDir; if($0=~/\//) { ($ProgramDir=$0)=~s/^(.*)\/[^\/]*$/$1/; } else { $ProgramDir=$ENV{'CWD'}; } $ProgramName=$0; $ProgramName=~s/^.*\/([^\/]+)$/$1/; $ProgramName=~s/\.([^\.]+)$//; $ProgramDir="." if(!$ProgramDir); my $DEBUG = 0; #my $cssdir = "/usr/local/apache/virtual/o/www.obm.co.uk/docs/css"; my $cssdir = "../docs/css"; my $cssdirurl = "/css"; &main(); 1; sub main { srand(); #printf "Content-type: text/plain\n\n"; my $cookies = HTML->HTMLcookie; print STDERR "Starting CSS determination\n" if($DEBUG); my $cssfile = undef; if(length($$cookies{'css'})>0 && -e $cssdir."/".$$cookies{'css'}) { $cssfile = $$cookies{'css'}; HTML->CGI_Header("text/css"); print STDERR "Cookie supplied: $cssfile\n" if($DEBUG); } else { if(opendir(CSS,$cssdir)) { my @csslist = grep(!/^\./,grep(/\.css$/,readdir(CSS))); closedir(CSS); my $number_of_items = $#csslist+1; # Randomly pick between 0 and number of items # If this is 3, get number >=0 and <3 # This gives me: # 0 for >=0 and <1 # 1 for >=1 and <2 # 2 for >=2 and <3 my $number = int(rand($number_of_items)); $cssfile = $csslist[$number]; HTML->CGI_Header("text/css","css=".$cssfile."; path=/"); #printf "Location: %s\n\n",$cssdirurl."/".$file; print STDERR "Randomly selected file $number: $cssfile\n" if($DEBUG); } } if(defined($cssfile)) { printf STDERR "CSS %s\n",$cssfile if($DEBUG); my $file = $cssdir."/".$cssfile; my $data = get_file($file); print $data; } else { print STDERR "Couldn't open CSS file: $cssfile\n"; } } sub get_file { my $file = shift; my $data = undef; if(open(FILE,$file)) { my $ifs = $/; $/ = undef; $data = ; $/ = $ifs; close(FILE); } return $data; }