| 
      
            Lines 26-32
          use Module::Load::Conditional qw(can_load);
      
      
        Link Here
      
     | 
  
        
          | 26 | 
          use C4::Context;  | 
          26 | 
          use C4::Context;  | 
        
        
          | 27 | 
           | 
          27 | 
           | 
        
        
          | 28 | 
          BEGIN { | 
          28 | 
          BEGIN { | 
        
          
            
              | 29 | 
                  push @INC, C4::Context->config("pluginsdir"); | 
              29 | 
                  my $pluginsdir = C4::Context->config("pluginsdir"); | 
            
            
               | 
               | 
              30 | 
                  my @pluginsdir = ref($pluginsdir) eq 'ARRAY' ? @$pluginsdir : $pluginsdir;  | 
            
            
              | 31 | 
                  push( @INC, @pluginsdir );  | 
            
        
          | 30 | 
          }  | 
          32 | 
          }  | 
        
        
          | 31 | 
           | 
          33 | 
           | 
        
        
          | 32 | 
          =head1 NAME  | 
          34 | 
          =head1 NAME  | 
        
  
    | 
      
            Lines 79-86
          Deletes a plugin
      
      
        Link Here
      
     | 
  
        
          | 79 | 
          sub delete { | 
          81 | 
          sub delete { | 
        
        
          | 80 | 
              my ( $class, $args ) = @_;  | 
          82 | 
              my ( $class, $args ) = @_;  | 
        
        
          | 81 | 
              my $plugin_class = $args->{'class'}; | 
          83 | 
              my $plugin_class = $args->{'class'}; | 
        
          
            
              | 82 | 
                  my $plugin_dir   = C4::Context->config("pluginsdir"); | 
              84 | 
               | 
            
            
              | 83 | 
                  my $plugin_path  = "$plugin_dir/" . join( '/', split( '::', $args->{'class'} ) ); | 
              85 | 
                  my $plugin_path = $plugin_class;  | 
            
            
               | 
               | 
              86 | 
                  $plugin_path =~ s/::/\//g;  # Take class name, transform :: to / to get path  | 
            
            
              | 87 | 
                  $plugin_path =~ s/$/.pm/;   # Add .pm to the end  | 
            
            
              | 88 | 
                  require $plugin_path;   # Require the plugin to have it's path listed in INC  | 
            
            
              | 89 | 
                  $plugin_path =  | 
            
            
              | 90 | 
                    $INC{$plugin_path};   # Get the full true path to the plugin from INC | 
            
            
              | 91 | 
                  $plugin_path =~ s/.pm//;    # Remove the .pm from the end  | 
            
        
          | 84 | 
           | 
          92 | 
           | 
        
        
          | 85 | 
              Koha::Plugins::Handler->run( { class => $plugin_class, method => 'uninstall' } ); | 
          93 | 
              Koha::Plugins::Handler->run( { class => $plugin_class, method => 'uninstall' } ); | 
        
        
          | 86 | 
           | 
          94 | 
           |