Skip to content

Commit

Permalink
Remove hardcoded directory name for plugins.
Browse files Browse the repository at this point in the history
Store plugin directory in returned hash from plugin_scan.
  • Loading branch information
racke committed Oct 24, 2010
1 parent a521353 commit 4ba8845
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions lib/WellWell/Plugin.pm
Expand Up @@ -28,7 +28,7 @@ our @EXPORT_OK = qw/plugin_scan plugin_enable/;
sub plugin_scan {
my ($dbif, @dirs) = @_;
my (@plugins, $dirname, $infofile, $plugininfo, $dbref);
my ($plugin, $pluginrec);
my ($plugin, $plugin_dir, $pluginrec);
my ($sth, $href);
my (%plugins);

Expand All @@ -42,26 +42,31 @@ sub plugin_scan {
for my $dir (@dirs) {
opendir(PLUGINS, $dir);
while ($dirname = readdir(PLUGINS)) {
next unless -d "plugins/$dirname";
next unless -d "$dir/$dirname";
next if $dirname =~ /^\./;

# info file ?
$infofile = "plugins/$dirname/$dirname.info";
$plugin_dir = "$dir/$dirname";
$infofile = "$plugin_dir/$dirname.info";

if (-f $infofile) {
$plugininfo = plugin_get_info($infofile);

if (exists $plugins{$dirname}) {
# existing plugin
$plugins{$dirname}->{directory} = $plugin_dir;
}
else {
# new plugin
$pluginrec = {name => $dirname,
directory => "plugins/$dirname",
version => $plugininfo->{version},
label => $plugininfo->{label} || $dirname,
active => undef};

$dbif->insert('plugins', %$pluginrec);

$pluginrec->{directory} = $plugin_dir;
$plugins{$dirname} = $pluginrec;
}
}
Expand Down

0 comments on commit 4ba8845

Please sign in to comment.