package EPrints::Plugin::Screen::EPMC::CheckDOI; use strict; use utf8; use Digest::MD5; use Encode; our @ISA = qw/ EPrints::Plugin::Screen::EPMC /; sub new { my( $class, %params ) = @_; my $self = $class->SUPER::new(%params); push(@{$self->{actions}},"configure"); $self->{package_name} = "CheckDOI"; return $self; } #sub render_messages # { # my( $self ) = @_; # # my $repo = $self->{repository}; # my $xml = $repo->xml; # # my $frag = $xml->create_document_fragment; # # my $auth_cfg = $repo->get_repository->get_conf( "copy_request_auth_code_enable" ); # if ( -e $auth_cfg ) { # } else { # my $msg = $xml->create_document_fragment; # # $msg->appendChild($xml->create_text_node('Plugin needs to be configured to use the Copy Request Authorisation Code')); # # $self->{processor}->add_message('message',$msg); # # $frag->appendChild( $repo->render_message( 'error', $msg ) ); # } # # return $frag; # } sub allow_configure { return shift->can_be_viewed( @_ ) } sub action_configure { my( $self ) = @_; my $epm = $self->{processor}->{dataobj}; my $epmid = $epm->id; foreach my $file ($epm->installed_files) { my $filename = $file->value( "filename" ); next if $filename !~ m#^epm/$epmid/cfg/cfg\.d/(.*)#; my $url = $self->{repository}->current_url( host => 1 ); $url->query_form( screen => "Admin::Config::View::Perl", configfile => "cfg.d/zz_check_doi_cfg.pl", ); $self->{repository}->redirect( $url ); exit( 0 ); } $self->{processor}->{screenid} = "Admin::EPM"; $self->{processor}->add_message( "error", $self->html_phrase( "missing" ) ); } 1;