Lines 45-51
sub new {
Link Here
|
45 |
my $self = bless( $args, $class ); |
45 |
my $self = bless( $args, $class ); |
46 |
|
46 |
|
47 |
my $plugin_version = $self->get_metadata->{version}; |
47 |
my $plugin_version = $self->get_metadata->{version}; |
48 |
my $database_version = $self->retrieve_data('__INSTALLED_VERSION__'); |
48 |
my $database_version = $self->retrieve_data('__INSTALLED_VERSION__') || 0; |
49 |
|
49 |
|
50 |
## Run the installation method if it exists and hasn't been run before |
50 |
## Run the installation method if it exists and hasn't been run before |
51 |
if ( $self->can('install') && !$self->retrieve_data('__INSTALLED__') ) { |
51 |
if ( $self->can('install') && !$self->retrieve_data('__INSTALLED__') ) { |
Lines 57-69
sub new {
Link Here
|
57 |
} else { |
57 |
} else { |
58 |
warn "Plugin $class failed during installation!"; |
58 |
warn "Plugin $class failed during installation!"; |
59 |
} |
59 |
} |
60 |
} elsif ( $self->can('upgrade') && $plugin_version && $database_version ) { |
60 |
} elsif ( $self->can('upgrade') ) { |
61 |
if ( _version_compare( $plugin_version, $database_version ) == 1 ) { |
61 |
if ( _version_compare( $plugin_version, $database_version ) == 1 ) { |
62 |
if ( $self->upgrade() ) { |
62 |
if ( $self->upgrade() ) { |
63 |
$self->store_data({ '__INSTALLED_VERSION__' => $plugin_version }); |
63 |
$self->store_data({ '__INSTALLED_VERSION__' => $plugin_version }); |
|
|
64 |
} else { |
64 |
warn "Plugin $class failed during upgrade!"; |
65 |
warn "Plugin $class failed during upgrade!"; |
65 |
} |
66 |
} |
66 |
} |
67 |
} |
|
|
68 |
} elsif ( $plugin_version ne $database_version ) { |
69 |
$self->store_data({ '__INSTALLED_VERSION__' => $plugin_version }); |
67 |
} |
70 |
} |
68 |
|
71 |
|
69 |
return $self; |
72 |
return $self; |
70 |
- |
|
|