greenstone.org greenstone wiki greenstone trac planet greenstone

Changeset 16191

Show
Ignore:
Timestamp:
2008-06-25 18:07:49 (3 months ago)
Author:
ak19
Message:

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

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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