Changeset 16327 for greenstone3


Ignore:
Timestamp:
2008-07-10T11:48:54+12:00 (16 years ago)
Author:
ak19
Message:

Minor changes to better work with Windows (preview url/libraryUrlSuffix is library.exe for GS2 server).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/web/WEB-INF/cgi/gsdlCGI.pm

    r16249 r16327  
    327327        $library_url = $self->get_config_info("httpprefix");
    328328        $library_url = "$library_url/cgi-bin/library";
     329
     330        my $gsdlos = (defined $ENV{'GSDLOS'}) ? $ENV{'GSDLOS'} : $self->get_gsdl_os();
     331        if($gsdlos =~ /windows/) { # remote GS2 server on Windows uses "library.exe"
     332        $library_url .= ".exe";
     333        }
    329334    }
    330335    else { # greenstone 3 or later and gwcgi not defined
     
    341346    my $gsdlhome = $self->get_gsdl_home();
    342347    my $gsdlos = $self->get_gsdl_os();
    343     my $library_url = $self->get_library_url_suffix();
    344 
    345348    $ENV{'GSDLHOME'} = $gsdlhome;
    346349    $ENV{'GSDLOS'} = $gsdlos;
     350
     351    my $library_url = $self->get_library_url_suffix(); # best to have GSDLOS set beforehand
    347352    $self->{'library_url_suffix'} = $library_url;
    348353   
    349354    if($self->{'greenstone_version'} == 3) {
    350355    my $gsdl3srchome = $self->get_gsdl3_src_home();
    351     my $javahome = $self->get_java_home();
    352    
    353356    $ENV{'GSDL3SRCHOME'} = $gsdl3srchome;   
    354     $ENV{'JAVA_HOME'} = $javahome; 
    355357    }
    356358
     
    362364    my $gsdl_bin_os = &util::filename_cat($gsdlhome,"bin",$gsdlos);
    363365    &util::envvar_append("PATH",$gsdl_bin_os);
    364 
     366   
     367    # Perl comes installed with the GS Windows Release Kit.
     368    # However, if GS is from SVN, the user must have their own Perl and put it on the path.
     369    my $perl_bin_dir; # undefined
    365370    if ($gsdlos eq "windows") {
    366     my $gsdl_perl_bin_directory = &util::filename_cat($gsdlhome, "bin", "windows", "perl", "bin");
    367     &util::envvar_append("PATH", $gsdl_perl_bin_directory);
    368     }
    369     elsif($self->{'greenstone_version'} == 3) { # and it's on linux now
    370     my $perlpath = $self->get_perl_path();
    371     &util::envvar_append("PATH", $perlpath);
    372     }
     371    $perl_bin_dir = &util::filename_cat($gsdlhome, "bin", "windows", "perl", "bin");
     372    if(-e $perl_bin_dir) {
     373        &util::envvar_append("PATH", $perl_bin_dir);
     374    }
     375    }
     376   
     377    # Uncomment these lines if you want to read the "javahome" and "perlpath" properties
     378    # from values you have set in the gsdl(3)site.cfg config file
     379    #my $javahome = $self->get_java_home();
     380    #$ENV{'JAVA_HOME'} = $javahome;
     381    #if(!defined $perl_bin_dir) {
     382    #$perl_bin_dir = $self->get_perl_path();
     383    #&util::envvar_append("PATH", $perl_bin_dir);
     384    #}
    373385}
    374386
     
    413425
    414426    my $prefix_dir = getcwd();
    415     my $full_dir = &util::filename_cat($prefix_dir,$local_dir);
     427    my $full_path = &util::filename_cat($prefix_dir,$local_dir);
    416428   
    417429    if ($prefix_dir !~ m/collect/) {
    418     $self->generate_error("Trying to delete outside of Greenstone collect: $full_dir");
     430    $self->generate_error("Trying to delete outside of Greenstone collect: $full_path");
    419431    }
    420432
    421433    # Delete recursively
    422     if (!-e $full_dir) {
    423     $self->generate_error("File/Directory does not exist: $full_dir");
    424     }
    425 
    426     &util::rm_r($full_dir);
     434    if (!-e $full_path) {
     435    $self->generate_error("File/Directory does not exist: $full_path");
     436    }
     437
     438    &util::rm_r($full_path);
    427439}
    428440
Note: See TracChangeset for help on using the changeset viewer.