Changeset 16191 for greenstone3


Ignore:
Timestamp:
2008-06-25T18:07:49+12:00 (16 years ago)
Author:
ak19
Message:

Added a cmd and corresponding operations for retrieving the greenstone library url (without domain portion)

Location:
greenstone3/trunk/web/WEB-INF/cgi
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/web/WEB-INF/cgi/gliserver.pl

    r16101 r16191  
    6969    $gsdl_cgi->delete("cmd");
    7070
    71     # The check-installation and greenstone-server-version commands have no arguments
     71    # The check-installation, greenstone-server-version and get-library-url commands have no arguments
    7272    if ($cmd eq "check-installation") {
    7373    &check_installation($gsdl_cgi);
     
    7676    elsif ($cmd eq "greenstone-server-version") {
    7777    &greenstone_server_version($gsdl_cgi);
     78    return;
     79    }
     80    elsif ($cmd eq "get-library-url-suffix") {
     81    &get_library_url_suffix($gsdl_cgi);
    7882    return;
    7983    }
     
    11761180}
    11771181
    1178 
    1179 # gsdl_cgi must have been created for this method to work
    11801182sub greenstone_server_version
    11811183{   
     
    11851187}
    11861188
     1189sub get_library_url_suffix
     1190{
     1191    my $gsdl_cgi = shift(@_);
     1192    my $library_url = $gsdl_cgi->library_url_suffix();
     1193    $gsdl_cgi->generate_ok_message("Greenstone library URL suffix is: $library_url\n");
     1194}
    11871195
    11881196&main();
  • greenstone3/trunk/web/WEB-INF/cgi/gsdlCGI.pm

    r16109 r16191  
    205205sub get_config_info {
    206206    my $self = shift @_;
    207     my ($infotype) = @_;
     207    my ($infotype, $ignore) = @_;
    208208
    209209    my $site_filename = $self->{'site_filename'};
     
    221221
    222222    if ((!defined $loc) || ($loc =~ m/^\s*$/)) {
    223     $self->generate_error("$infotype is not set in $site_filename");
     223    if((!defined $ignore) || (!$ignore)) {
     224        $self->generate_error("$infotype is not set in $site_filename");
     225    }
    224226    }
    225227
     
    308310}
    309311
     312sub get_library_url_suffix {
     313    my $self = shift @_;
     314   
     315    if (defined $self->{'library_url_suffix'}) {
     316    return $self->{'library_url_suffix'};
     317    }
     318
     319    my $ignore = 1; # ignore absence of gwcgi if not found
     320    my $library_url = $self->get_config_info("gwcgi", $ignore);
     321    if(defined $library_url) {
     322    $library_url =~ s/(\/|\\)$//; # remove trailing slash
     323    }
     324    else {
     325
     326    if($self->{'greenstone_version'} == 2) {
     327        $library_url = $self->get_config_info("httpprefix");
     328        $library_url = "$library_url/cgi-bin/library";
     329    }
     330    else { # greenstone 3 or later and gwcgi not defined
     331        $library_url = "/greenstone3/library";
     332    }
     333    }
     334       
     335    return $library_url;
     336}
     337
    310338sub setup_gsdl {
    311339    my $self = shift @_;
     
    313341    my $gsdlhome = $self->get_gsdl_home();
    314342    my $gsdlos = $self->get_gsdl_os();
     343    my $library_url = $self->get_library_url_suffix();
    315344
    316345    $ENV{'GSDLHOME'} = $gsdlhome;
    317346    $ENV{'GSDLOS'} = $gsdlos;
     347    $self->{'library_url_suffix'} = $library_url;
    318348   
    319349    if($self->{'greenstone_version'} == 3) {
     
    346376    my $self = shift @_;
    347377    return $self->{'greenstone_version'};
     378}
     379
     380sub library_url_suffix {
     381    my $self = shift @_;
     382    return $self->{'library_url_suffix'};
    348383}
    349384
Note: See TracChangeset for help on using the changeset viewer.