#!/usr/local/bin/perl -- use CGI::Carp qw(fatalsToBrowser); $editwrx_folder_name="editwrx"; $child=0; $demo_mode=0; ################################################# $url_to_editor = "http://".$ENV{'HTTP_HOST'}.$ENV{'SCRIPT_NAME'}; &get_root; $path_to_data = "$path_to_domain/$editwrx_folder_name/library/data"; $lib = "$path_to_library/mods"; push(@INC,$lib); $routines = $path_to_library."/routines.txt"; require "$routines"; sub parent{ $url_to_library = "url_to_library_in_parent_domain"; $url_to_ikons = "url_to_ikons_in_parent_domain"; $path_to_library = "path_to_library_in_parent_domain"; } sub get_root{ $path_to_domain = $ENV{'DOCUMENT_ROOT'} || $ENV{'SCRIPT_FILENAME'} || $ENV{'PATH_TRANSLATED'} ; $path_to_domain=~s-\\-/-g; $script_uri = $ENV{'SCRIPT_NAME'} || $ENV{'PATH_INFO'}; $path_to_domain =~ s-$script_uri$--; $path_to_domain=~s-^.+\:--; $path_to_domain=~s-/$--; if($path_to_domain eq ''){&no_root} if(!$child){ $url_to_library = "http://$ENV{'HTTP_HOST'}/$editwrx_folder_name/library"; $url_to_ikons = "http://$ENV{'HTTP_HOST'}/$editwrx_folder_name/ikons"; $path_to_library = "$path_to_domain/$editwrx_folder_name/library"; }else{ &parent; } $path_to_library =~ s!/$!!; if(!-f $path_to_library."/routines.txt"){ &get_root2; } } sub get_root2{ $path_to_domain = $ENV{'SCRIPT_FILENAME'} || $ENV{'PATH_TRANSLATED'} ; $path_to_domain=~s-\\-/-g; $script_uri = $ENV{'SCRIPT_NAME'} || $ENV{'PATH_INFO'}; $path_to_domain =~ s-$script_uri$--; $path_to_domain=~s-^.+\:--; $path_to_domain=~s-/$--; if($path_to_domain eq ''){&no_root} if(!$child){ $url_to_library = "http://$ENV{'HTTP_HOST'}/$editwrx_folder_name/library"; $url_to_ikons = "http://$ENV{'HTTP_HOST'}/$editwrx_folder_name/ikons"; $path_to_library = "$path_to_domain/$editwrx_folder_name/library"; }else{ &parent; } $path_to_library =~ s!/$!!; if(!-f $path_to_library."/routines.txt"){ &no_root; } } sub no_root{ print "Content-type: text/html\n\n"; print "Your server does not have a usable environment variable for determining your site's root path
$path_to_library/routines.txt does not exist

"; for (sort keys %ENV) { print "
$_=$ENV{$_}\n"; } exit; }