Skip to content

Commit

Permalink
[#691] %MT::addons is now lexically scoped within a closure and can…
Browse files Browse the repository at this point in the history
…not be accessed/changed directly. Since this was used only by `MT::find_addons()`, no accessor/mutator has been provided.
  • Loading branch information
jayallen committed Jan 25, 2011
1 parent a0f5b1a commit 1e41e31
Showing 1 changed file with 19 additions and 17 deletions.
36 changes: 19 additions & 17 deletions lib/MT.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1698,26 +1698,28 @@ sub _perl_init_plugin_warnings {
} ## end if ($needs_warning)
} ## end sub _perl_init_plugin_warnings

my %addons;
{
my %addons;

sub find_addons {
my $mt = shift;
my ($type) = @_;
unless (%addons) {
my @PluginPaths;
my $cfg = $mt->config;
unshift @PluginPaths, File::Spec->catdir( $MT_DIR, 'addons' );
unshift @PluginPaths, $cfg->PluginPath;
foreach my $PluginPath (@PluginPaths) {
__merge_hash( \%addons,
$mt->scan_directory_for_addons($PluginPath) );
sub find_addons {
my $mt = shift;
my ($type) = @_;
unless (%addons) {
my @PluginPaths;
my $cfg = $mt->config;
unshift @PluginPaths, File::Spec->catdir( $MT_DIR, 'addons' );
unshift @PluginPaths, $cfg->PluginPath;
foreach my $PluginPath (@PluginPaths) {
__merge_hash( \%addons,
$mt->scan_directory_for_addons($PluginPath) );
}
}
if ($type) {
my $addons = $addons{$type} ||= [];
return $addons;
}
return 1;
}
if ($type) {
my $addons = $addons{$type} ||= [];
return $addons;
}
return 1;
}

sub scan_directory_for_addons {
Expand Down

0 comments on commit 1e41e31

Please sign in to comment.