Changeset 14933
- Timestamp:
- 2007-12-20T18:09:10+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/plugin.pm
r14239 r14933 44 44 my ($verbosity, $outhandle, $failhandle, $globaloptions); 45 45 46 47 sub load_plugin_require 48 { 49 my ($pluginname) = @_; 50 51 my @check_list = (); 52 53 # pp_plugname shorthand for 'perllib' 'plugin' '$pluginname.pm' 54 my $pp_plugname 55 = &util::filename_cat('perllib', 'plugins', "${pluginname}.pm"); 56 my $collectdir = $ENV{'GSDLCOLLECTDIR'}; 57 58 # find the plugin 59 if (defined($ENV{'GSDLCOLLECTION'})) 60 { 61 my $customplugname 62 = &util::filename_cat($collectdir, "custom",$ENV{'GSDLCOLLECTION'}, 63 $pp_plugname); 64 push(@check_list,$customplugname); 65 } 66 67 my $colplugname = &util::filename_cat($collectdir, $pp_plugname); 68 push(@check_list,$colplugname); 69 70 if (defined $ENV{'GSDLEXTS'}) { 71 72 my $ext_prefix = &util::filename_cat($ENV{'GSDLHOME'}, "ext"); 73 74 my @extensions = split(/:/,$ENV{'GSDLEXTS'}); 75 foreach my $e (@extensions) { 76 my $extplugname = &util::filename_cat($ext_prefix, $e, $pp_plugname); 77 push(@check_list,$extplugname); 78 79 } 80 } 81 82 83 my $mainplugname = &util::filename_cat($ENV{'GSDLHOME'}, $pp_plugname); 84 push(@check_list,$mainplugname); 85 86 my $success=0; 87 foreach my $plugname (@check_list) { 88 if (-e $plugname) { 89 require $plugname; 90 $success=1; 91 last; 92 } 93 } 94 95 if (!$success) { 96 &gsprintf(STDERR, "{plugin.could_not_find_plugin}\n", 97 $pluginname); 98 die "\n"; 99 } 100 } 101 46 102 sub load_plugin_for_info { 47 103 my ($pluginname) = shift @_; 48 104 49 # find the plugin 50 my $customplugname; 51 if (defined($ENV{'GSDLCOLLECTION'})) 52 { 53 $customplugname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'}, "custom", $ENV{'GSDLCOLLECTION'}, 54 'perllib', 'plugins', "${pluginname}.pm"); 55 } 56 my $colplugname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'}, 'perllib', 'plugins', 57 "${pluginname}.pm"); 58 my $mainplugname = &util::filename_cat($ENV{'GSDLHOME'}, 'perllib', 'plugins', 59 "${pluginname}.pm"); 60 if (defined($customplugname) && -e $customplugname) { require $customplugname; } 61 elsif (-e $colplugname) { require $colplugname; } 62 elsif (-e $mainplugname) { require $mainplugname; } 63 else { 64 &gsprintf(STDERR, "{plugin.could_not_find_plugin}\n", 65 $pluginname); 66 die "\n"; 67 } 105 load_plugin_require($pluginname); 68 106 69 107 # create a plugin object … … 97 135 next unless defined $pluginname; 98 136 99 # find the plugin 100 my $customplugname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'}, "custom", $ENV{'GSDLCOLLECTION'}, 101 'perllib', 'plugins', "${pluginname}.pm"); 102 my $colplugname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'}, 'perllib', 'plugins', 103 "${pluginname}.pm"); 104 my $mainplugname = &util::filename_cat($ENV{'GSDLHOME'}, 'perllib', 'plugins', 105 "${pluginname}.pm"); 106 if (-e $customplugname) { require $customplugname; } 107 elsif (-e $colplugname) { require $colplugname; } 108 elsif (-e $mainplugname) { require $mainplugname; } 109 else { 110 gsprintf($outhandle, "{plugin.could_not_find_plugin}\n", 111 $pluginname); 112 die "\n"; 113 } 137 load_plugin_require($pluginname); 114 138 115 139 # create a plugin object
Note:
See TracChangeset
for help on using the changeset viewer.