-return ($function_name,$res);
-}
-sub plugin {
-my ($input) = @_;
- my $index= $input->param('index');
- my $result= $input->param('result');
-
-
- my $dbh = C4::Context->dbh;
-
-my ($template, $loggedinuser, $cookie)
- = get_template_and_user({template_name => "value_builder/marc21_leader.tmpl",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => {editcatalogue => 1},
- debug => 1,
- });
- $result = " nam a22 7a 4500" unless $result;
- my $f5 = substr($result,5,1);
- my $f6 = substr($result,6,1);
- my $f7 = substr($result,7,1);
- my $f8 = substr($result,8,1);
- my $f9 = substr($result,9,1);
- my $f17 = substr($result,17,1);
- my $f18 = substr($result,18,1);
- my $f19 = substr($result,19,1);
- my $f2023 = substr($result,20,4);
- $template->param(index => $index,
- "f5$f5" => 1,
- "f6$f6" => 1,
- "f7$f7" => 1,
- "f8$f8" => 1,
- "f9$f9" => 1,
- "f17$f17" => 1,
- "f18$f18" => 1,
- "f19$f19" => 1,
- "f2023" => $f2023,
- );
- output_html_with_http_headers $input, $cookie, $template->output;
-}
-
-1;
+ return $res;
+};
+
+my $launcher = sub {
+ my ( $params ) = @_;
+ my $input = $params->{cgi};
+ my $index = $input->param('index');
+ my $result = $input->param('result');
+
+ my $dbh = C4::Context->dbh;
+
+ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+ { template_name => "cataloguing/value_builder/marc21_leader.tt",
+ query => $input,
+ type => "intranet",
+ flagsrequired => { editcatalogue => '*' },
+ }
+ );
+ $result = " nam a22 7a 4500" unless $result;
+ my $f5 = substr( $result, 5, 1 );
+ my $f6 = substr( $result, 6, 1 );
+ my $f7 = substr( $result, 7, 1 );
+ my $f8 = substr( $result, 8, 1 );
+ my $f17 = substr( $result, 17, 1 );
+ my $f18 = substr( $result, 18, 1 );
+ my $f19 = substr( $result, 19, 1 );
+ my $f2023 = substr( $result, 20, 4 );
+ $template->param(
+ index => $index,
+ "f5$f5" => 1,
+ "f6$f6" => 1,
+ "f7$f7" => 1,
+ "f8$f8" => 1,
+ "f17$f17" => 1,
+ "f18$f18" => 1,
+ "f19$f19" => 1,
+ "f2023" => $f2023,
+ );
+ output_html_with_http_headers $input, $cookie, $template->output;
+};
+
+return { builder => $builder, launcher => $launcher };