| Lines 1-5
          
      
      
        Link Here | 
        
          | 1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl | 
        
          | 2 |  | 2 |  | 
            
              |  |  | 3 | # Converted to new plugin style (Bug 13437) | 
            
              | 4 |  | 
        
          | 3 | # Copyright 2009 Magnus Enger Libriotech | 5 | # Copyright 2009 Magnus Enger Libriotech | 
        
          | 4 | # | 6 | # | 
        
          | 5 | # This file is part of Koha. | 7 | # This file is part of Koha. | 
  
    | Lines 17-141
          
      
      
        Link Here | 
        
          | 17 | # You should have received a copy of the GNU General Public License | 19 | # You should have received a copy of the GNU General Public License | 
        
          | 18 | # along with Koha; if not, see <http://www.gnu.org/licenses>. | 20 | # along with Koha; if not, see <http://www.gnu.org/licenses>. | 
        
          | 19 |  | 21 |  | 
          
            
              | 20 | use strict; | 22 | use Modern::Perl; | 
            
              | 21 | use C4::Auth; |  |  | 
        
          | 22 | use CGI qw ( -utf8 ); | 23 | use CGI qw ( -utf8 ); | 
            
              | 23 | use C4::Context; |  |  | 
        
          | 24 |  | 24 |  | 
          
            
              | 25 | use C4::Search; | 25 | use C4::Auth; | 
            
              |  |  | 26 | use C4::Context; | 
        
          | 26 | use C4::Output; | 27 | use C4::Output; | 
        
          | 27 |  | 28 |  | 
          
            
              | 28 | sub plugin_javascript { | 29 | my $builder = sub { | 
            
              | 29 | my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_; | 30 |     my ( $params ) = @_; | 
            
              | 30 | my $function_name= $field_number; | 31 |     my $function_name = $params->{id}; | 
            
              | 31 | my $res=" | 32 |     my $res=" | 
        
          | 32 | <script type=\"text/javascript\"> | 33 | <script type=\"text/javascript\"> | 
        
          | 33 | //<![CDATA[ | 34 | //<![CDATA[ | 
        
          | 34 |  | 35 |  | 
          
            
              | 35 | function Clic$function_name(i) { | 36 | function Click$function_name(i) { | 
            
              | 36 | 	defaultvalue=document.getElementById(\"$field_number\").value; | 37 |     defaultvalue=document.getElementById(\"$params->{id}\").value; | 
            
              | 37 | 	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_007.pl&index=$field_number&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes'); | 38 |     newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=normarc_field_007.pl&index=$params->{id}&result=\"+defaultvalue,\"unimarc field 100\",'width=1000,height=600,toolbar=false,scrollbars=yes'); | 
        
          | 38 |  | 39 |  | 
        
          | 39 | } | 40 | } | 
        
          | 40 | //]]> | 41 | //]]> | 
        
          | 41 | </script> | 42 | </script> | 
        
          | 42 | "; | 43 | "; | 
            
              |  |  | 44 |     return $res; | 
            
              | 45 | }; | 
        
          | 43 |  | 46 |  | 
          
            
              | 44 | return ($function_name,$res); | 47 | my $launcher = sub { | 
            
              | 45 | } | 48 |     my ( $params ) = @_; | 
            
              | 46 | sub plugin { | 49 |     my $input = $params->{cgi}; | 
            
              | 47 | my ($input) = @_; | 50 |     my $index= $input->param('index'); | 
            
              | 48 | 	my $index= $input->param('index'); | 51 |     my $result= $input->param('result'); | 
            
              | 49 | 	my $result= $input->param('result'); |  |  | 
            
              | 50 |  | 
        
          | 51 |  | 52 |  | 
          
            
              | 52 | 	my $dbh = C4::Context->dbh; | 53 |     my $dbh = C4::Context->dbh; | 
        
          | 53 |  | 54 |  | 
          
            
              | 54 | my ($template, $loggedinuser, $cookie) | 55 |     my ($template, $loggedinuser, $cookie) = get_template_and_user({ | 
            
              | 55 |     = get_template_and_user({template_name => "cataloguing/value_builder/normarc_field_007.tt", | 56 |         template_name => "cataloguing/value_builder/normarc_field_007.tt", | 
            
              | 56 | 			     query => $input, | 57 |         query => $input, | 
            
              | 57 | 			     type => "intranet", | 58 |         type => "intranet", | 
            
              | 58 | 			     authnotrequired => 0, | 59 |         authnotrequired => 0, | 
            
              | 59 | 			     flagsrequired => {editcatalogue => 1}, | 60 |         flagsrequired => {editcatalogue => 1}, | 
            
              | 60 | 			     debug => 1, | 61 |         debug => 1, | 
            
              | 61 | 			     }); | 62 |     }); | 
            
              | 62 | 	$result = "ta" unless $result; | 63 |     $result = "ta" unless $result; | 
            
              | 63 | 	my $f0 = substr($result,0,1); | 64 |     my $f0 = substr($result,0,1); | 
            
              | 64 | 	my $f1 = substr($result,1,4); | 65 |     my $f1 = substr($result,1,4); | 
        
          | 65 | #added new parameters to allow for all material types | 66 | #added new parameters to allow for all material types | 
          
            
              | 66 | 	my $f2 = substr($result,2,1); | 67 |     my $f2 = substr($result,2,1); | 
            
              | 67 | 	my $f3 = substr($result,3,1); | 68 |     my $f3 = substr($result,3,1); | 
            
              | 68 | 	my $f4 = substr($result,4,1); | 69 |     my $f4 = substr($result,4,1); | 
            
              | 69 | 	my $f5 = substr($result,5,1); | 70 |     my $f5 = substr($result,5,1); | 
            
              | 70 | 	my $f6 = substr($result,6,1); | 71 |     my $f6 = substr($result,6,1); | 
            
              | 71 | 	my $f7 = substr($result,7,1); | 72 |     my $f7 = substr($result,7,1); | 
            
              | 72 | 	my $f8 = substr($result,8,1); | 73 |     my $f8 = substr($result,8,1); | 
            
              | 73 | 	my $f9 = substr($result,9,1); | 74 |     my $f9 = substr($result,9,1); | 
            
              | 74 | 	my $f10 = substr($result,10,1); | 75 |     my $f10 = substr($result,10,1); | 
            
              | 75 | 	my $f11 = substr($result,11,1); | 76 |     my $f11 = substr($result,11,1); | 
            
              | 76 | 	my $f12 = substr($result,12,1); | 77 |     my $f12 = substr($result,12,1); | 
            
              | 77 | 	my $f13 = substr($result,13,1); | 78 |     my $f13 = substr($result,13,1); | 
            
              | 78 | 	my $f14 = substr($result,14,1); | 79 |     my $f14 = substr($result,14,1); | 
            
              | 79 | 	my $f15 = substr($result,15,1); | 80 |     my $f15 = substr($result,15,1); | 
            
              | 80 | 	my $f16 = substr($result,16,1); | 81 |     my $f16 = substr($result,16,1); | 
            
              | 81 | 	my $f17 = substr($result,17,1); | 82 |     my $f17 = substr($result,17,1); | 
            
              | 82 | 	my $f18 = substr($result,18,1); | 83 |     my $f18 = substr($result,18,1); | 
            
              | 83 | 	my $f19 = substr($result,19,1); | 84 |     my $f19 = substr($result,19,1); | 
            
              | 84 | 	my $f20 = substr($result,20,1); | 85 |     my $f20 = substr($result,20,1); | 
            
              | 85 | 	my $f21 = substr($result,21,1); | 86 |     my $f21 = substr($result,21,1); | 
            
              | 86 | 	my $f22 = substr($result,22,1); | 87 |     my $f22 = substr($result,22,1); | 
        
          | 87 | #FIXME:  There is probably a more-elegant way to do this! | 88 | #FIXME:  There is probably a more-elegant way to do this! | 
        
          | 88 | #FIXME:  Two of the material types treat position 06, 07, and 08 as a single | 89 | #FIXME:  Two of the material types treat position 06, 07, and 08 as a single | 
        
          | 89 | #three-char field.  This script works fine for creating values and sending them | 90 | #three-char field.  This script works fine for creating values and sending them | 
        
          | 90 | #back to the MARC, but if there is already a value in the 007, it won't send  | 91 | #back to the MARC, but if there is already a value in the 007, it won't send  | 
        
          | 91 | #it properly to the value builder for those two instances.  Not sure how to solve. | 92 | #it properly to the value builder for those two instances.  Not sure how to solve. | 
          
            
              | 92 | 	$template->param( index => $index, | 93 |     $template->param( | 
            
              | 93 | 			 f0 => $f0, | 94 |         index => $index, | 
            
              | 94 | 			 "f0$f0" => $f0, | 95 |         f0 => $f0, | 
            
              | 95 | 			 f1 => $f1, | 96 |         "f0$f0" => $f0, | 
            
              | 96 |                          "f1$f1" => $f1, | 97 |         f1 => $f1, | 
            
              | 97 | 			 f2 => $f2, | 98 |         "f1$f1" => $f1, | 
            
              | 98 | 			 "f2$f2" => $f2, | 99 |         f2 => $f2, | 
            
              | 99 | 			 f3 => $f3, | 100 |         "f2$f2" => $f2, | 
            
              | 100 | 			 "f3$f3" => $f3, | 101 |         f3 => $f3, | 
            
              | 101 | 			 f4 => $f4, | 102 |         "f3$f3" => $f3, | 
            
              | 102 | 			 "f4$f4" => $f4, | 103 |         f4 => $f4, | 
            
              | 103 | 			 f5 => $f5, | 104 |         "f4$f4" => $f4, | 
            
              | 104 | 			 "f5$f5" => $f5, | 105 |         f5 => $f5, | 
            
              | 105 | 			 f6 => $f6, | 106 |         "f5$f5" => $f5, | 
            
              | 106 | 			 "f6$f6" => $f6, | 107 |         f6 => $f6, | 
            
              | 107 | 			 f7 => $f7, | 108 |         "f6$f6" => $f6, | 
            
              | 108 | 			 "f7$f7" => $f7, | 109 |         f7 => $f7, | 
            
              | 109 | 			 f8 => $f8, | 110 |         "f7$f7" => $f7, | 
            
              | 110 | 			 "f8$f8" => $f8, | 111 |         f8 => $f8, | 
            
              | 111 | 			 f9 => $f9, | 112 |         "f8$f8" => $f8, | 
            
              | 112 | 			 "f9$f9" => $f9, | 113 |         f9 => $f9, | 
            
              | 113 | 			 f10 => $f10, | 114 |         "f9$f9" => $f9, | 
            
              | 114 | 			 "f10$f10" => $f10, | 115 |         f10 => $f10, | 
            
              | 115 | 			 f11 => $f11, | 116 |         "f10$f10" => $f10, | 
            
              | 116 | 			 "f11$f11" => $f11, | 117 |         f11 => $f11, | 
            
              | 117 | 			 f12 => $f12, | 118 |         "f11$f11" => $f11, | 
            
              | 118 | 			 "f12$f12" => $f12, | 119 |         f12 => $f12, | 
            
              | 119 | 			 f13 => $f13, | 120 |         "f12$f12" => $f12, | 
            
              | 120 | 			 "f13$f13" => $f13, | 121 |         f13 => $f13, | 
            
              | 121 | 			 f14 => $f14, | 122 |         "f13$f13" => $f13, | 
            
              | 122 | 			 "f14$f14" => $f14, | 123 |         f14 => $f14, | 
            
              | 123 | 			 f15 => $f15, | 124 |         "f14$f14" => $f14, | 
            
              | 124 | 			 "f15$f15" => $f15, | 125 |         f15 => $f15, | 
            
              | 125 | 			 f16 => $f16, | 126 |         "f15$f15" => $f15, | 
            
              | 126 | 			 "f16$f16" => $f16, | 127 |         f16 => $f16, | 
            
              | 127 | 			 f17 => $f17, | 128 |         "f16$f16" => $f16, | 
            
              | 128 | 			 "f17$f17" => $f17, | 129 |         f17 => $f17, | 
            
              | 129 | 			 f18 => $f18, | 130 |         "f17$f17" => $f17, | 
            
              | 130 | 			 "f18$f18" => $f18, | 131 |         f18 => $f18, | 
            
              | 131 | 			 f19 => $f19, | 132 |         "f18$f18" => $f18, | 
            
              | 132 | 			 "f19$f19" => $f19, | 133 |         f19 => $f19, | 
            
              | 133 | 			 f20 => $f20, | 134 |         "f19$f19" => $f19, | 
            
              | 134 | 			 "f20$f20" => $f20, | 135 |         f20 => $f20, | 
            
              | 135 | 			 f21 => $f21, | 136 |         "f20$f20" => $f20, | 
            
              | 136 | 			 "f21$f21" => $f21, | 137 |         f21 => $f21, | 
            
              | 137 | 			 f22 => $f22, | 138 |         "f21$f21" => $f21, | 
            
              | 138 | 			 "f22$f22" => $f22, | 139 |         f22 => $f22, | 
            
              | 139 | 					); | 140 |         "f22$f22" => $f22, | 
            
              | 140 |         output_html_with_http_headers $input, $cookie, $template->output; | 141 |     ); | 
            
              | 141 | } | 142 |     output_html_with_http_headers $input, $cookie, $template->output; | 
            
              |  |  | 143 | }; | 
            
              | 144 |  | 
            
              | 145 | return { builder => $builder, launcher => $launcher }; |