Changeset 25078

Show
Ignore:
Timestamp:
13.02.2012 20:05:33 (8 years ago)
Author:
davidb
Message:

@INC updated to include extension perllib folders

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/common-src/cgi-bin/gsdlCGI.pm

    r24872 r25078  
    603603    } 
    604604 
     605 
    605606    # Process any extension setup.pl files 
    606     my $ext_home = &util::filename_cat($gsdlhome,"ext"); 
    607  
    608     if (opendir(EXTDIR,$ext_home) ) { 
    609     my @pot_ext_dir = grep { $_ !~ m/^\./ } readdir(EXTDIR); 
    610  
    611     closedir(EXTDIR); 
    612  
    613     foreach my $ed (@pot_ext_dir) { 
    614         my $full_ext_dir = &util::filename_cat($ext_home,$ed); 
    615         if (-d $full_ext_dir) { 
    616         my $full_inc_file = &util::filename_cat($full_ext_dir, 
    617                             "$ed-setup.pl"); 
    618         if (-f $full_inc_file) { 
    619  
    620             my $store_cwd = Cwd::cwd(); 
    621  
    622             chdir($full_ext_dir); 
    623             require "./$ed-setup.pl"; 
    624             chdir($store_cwd); 
     607    my @ext_homes = (); 
     608 
     609    my $gsdl_ext_home = &util::filename_cat($gsdlhome,"ext"); 
     610    push(@ext_homes,$gsdl_ext_home); 
     611 
     612    if ($self->{'greenstone_version'} == 3) { 
     613    my $gsdl3srchome = $self->get_gsdl3_src_home(); 
     614    my $gsdl3_ext_home = &util::filename_cat($gsdl3srchome,"ext"); 
     615    push(@ext_homes,$gsdl3_ext_home); 
     616    } 
     617 
     618    foreach my $ext_home (@ext_homes) { 
     619    # Should really think about making this a subroutine 
     620 
     621    if (opendir(EXTDIR,$ext_home) ) { 
     622        my @pot_ext_dir = grep { $_ !~ m/^\./ } readdir(EXTDIR); 
     623         
     624        closedir(EXTDIR); 
     625         
     626        foreach my $ed (@pot_ext_dir) { 
     627        my $full_ext_dir = &util::filename_cat($ext_home,$ed); 
     628 
     629        if (-d $full_ext_dir) { 
     630 
     631            my $full_ext_perllib_dir = &util::filename_cat($full_ext_dir,"perllib"); 
     632            if (-d $full_ext_perllib_dir) { 
     633            unshift (@INC, $full_ext_perllib_dir); 
     634            } 
     635 
     636            my $full_inc_file = &util::filename_cat($full_ext_dir, 
     637                                "$ed-setup.pl"); 
     638            if (-f $full_inc_file) { 
     639             
     640            my $store_cwd = Cwd::cwd(); 
     641             
     642            chdir($full_ext_dir); 
     643            require "./$ed-setup.pl"; 
     644            chdir($store_cwd); 
     645            } 
    625646        } 
    626647        }