View | Details | Raw Unified | Return to bug 25549
Collapse All | Expand All

(-)a/Koha/Plugins.pm (-1 / +2 lines)
Lines 131-143 sub InstallPlugins { Link Here
131
    my @plugin_classes = $self->plugins();
131
    my @plugin_classes = $self->plugins();
132
    my @plugins;
132
    my @plugins;
133
133
134
    # If we can reload the plugin we will add the methods back, if not they should be removed
135
    Koha::Plugins::Methods->search()->delete();
134
    foreach my $plugin_class (@plugin_classes) {
136
    foreach my $plugin_class (@plugin_classes) {
135
        if ( can_load( modules => { $plugin_class => undef }, nocache => 1 ) ) {
137
        if ( can_load( modules => { $plugin_class => undef }, nocache => 1 ) ) {
136
            next unless $plugin_class->isa('Koha::Plugins::Base');
138
            next unless $plugin_class->isa('Koha::Plugins::Base');
137
139
138
            my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} });
140
            my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} });
139
141
140
            Koha::Plugins::Methods->search({ plugin_class => $plugin_class })->delete();
141
142
142
            foreach my $method ( @{ Class::Inspector->methods( $plugin_class, 'public' ) } ) {
143
            foreach my $method ( @{ Class::Inspector->methods( $plugin_class, 'public' ) } ) {
143
                Koha::Plugins::Method->new(
144
                Koha::Plugins::Method->new(
(-)a/misc/devel/install_plugins.pl (-11 / +10 lines)
Lines 37-52 unless ( C4::Context->config("enable_plugins") ) { Link Here
37
    exit 1;
37
    exit 1;
38
}
38
}
39
39
40
41
my @existing_plugins = Koha::Plugins->new()->GetPlugins({
42
    all    => 1,
43
});
44
my $existing_plugins;
45
for my $existing_plugin (@existing_plugins) {
46
    $existing_plugins->{ $existing_plugin->{metadata}->{name} } =
47
      $existing_plugin->{metadata}->{version};
48
}
49
50
my @installed_plugins = Koha::Plugins->new()->InstallPlugins();
40
my @installed_plugins = Koha::Plugins->new()->InstallPlugins();
51
unless (@installed_plugins) {
41
unless (@installed_plugins) {
52
    my $plugins_dir = C4::Context->config("pluginsdir");
42
    my $plugins_dir = C4::Context->config("pluginsdir");
Lines 60-65 unless (@installed_plugins) { Link Here
60
    exit 0;
50
    exit 0;
61
}
51
}
62
52
53
54
my @existing_plugins = Koha::Plugins->new()->GetPlugins({
55
    all    => 1,
56
});
57
my $existing_plugins;
58
for my $existing_plugin (@existing_plugins) {
59
    $existing_plugins->{ $existing_plugin->{metadata}->{name} } =
60
      $existing_plugin->{metadata}->{version};
61
}
62
63
for my $installed_plugin (@installed_plugins) {
63
for my $installed_plugin (@installed_plugins) {
64
    if ( !exists( $existing_plugins->{ $installed_plugin->{metadata}->{name} } )
64
    if ( !exists( $existing_plugins->{ $installed_plugin->{metadata}->{name} } )
65
      )
65
      )
66
- 

Return to bug 25549