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

(-)a/Koha/Plugins.pm (-1 / +2 lines)
Lines 161-173 sub InstallPlugins { Link Here
161
    my @plugin_classes = $self->plugins();
161
    my @plugin_classes = $self->plugins();
162
    my @plugins;
162
    my @plugins;
163
163
164
    # If we can reload the plugin we will add the methods back, if not they should be removed
165
    Koha::Plugins::Methods->search()->delete();
164
    foreach my $plugin_class (@plugin_classes) {
166
    foreach my $plugin_class (@plugin_classes) {
165
        if ( can_load( modules => { $plugin_class => undef }, nocache => 1 ) ) {
167
        if ( can_load( modules => { $plugin_class => undef }, nocache => 1 ) ) {
166
            next unless $plugin_class->isa('Koha::Plugins::Base');
168
            next unless $plugin_class->isa('Koha::Plugins::Base');
167
169
168
            my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} });
170
            my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} });
169
171
170
            Koha::Plugins::Methods->search({ plugin_class => $plugin_class })->delete();
171
172
172
            foreach my $method ( @{ Class::Inspector->methods( $plugin_class, 'public' ) } ) {
173
            foreach my $method ( @{ Class::Inspector->methods( $plugin_class, 'public' ) } ) {
173
                Koha::Plugins::Method->new(
174
                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