View | Details | Raw Unified | Return to bug 6106
Collapse All | Expand All

(-)a/C4/Biblio.pm (-1 / +34 lines)
Lines 2465-2470 sub PrepareItemrecordDisplay { Link Here
2465
                        -tabindex => '',
2465
                        -tabindex => '',
2466
                        -multiple => 0,
2466
                        -multiple => 0,
2467
                    );
2467
                    );
2468
                } elsif ( $tagslib->{$tag}->{$subfield}->{value_builder} ) {
2469
                        # opening plugin
2470
                        my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'};
2471
                        if (do $plugin) {
2472
                            my $temp;
2473
                            my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
2474
                            my ( $function_name, $javascript ) = plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
2475
                            $subfield_data{random}     = int(rand(1000000));    # why do we need 2 different randoms?
2476
                            my $index_subfield = int(rand(1000000));
2477
                            $subfield_data{id} = "tag_".$tag."_subfield_".$subfield."_".$index_subfield;
2478
                            $subfield_data{marc_value} = qq[<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255"
2479
                                onfocus="Focus$function_name($subfield_data{random}, '$subfield_data{id}');"
2480
                                 onblur=" Blur$function_name($subfield_data{random}, '$subfield_data{id}');" />
2481
                                <a href="#" class="buttonDot" onclick="Clic$function_name('$subfield_data{id}'); return false;" title="Tag Editor">...</a>
2482
                                $javascript];
2483
                        } else {
2484
                            warn "Plugin Failed: $plugin";
2485
                            $subfield_data{marc_value} = qq(<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" />); # supply default input form
2486
                        }
2487
                }
2488
                elsif ( $tag eq '' ) {       # it's an hidden field
2489
                    $subfield_data{marc_value} = qq(<input type="hidden" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
2490
                }
2491
                elsif ( $tagslib->{$tag}->{$subfield}->{'hidden'} ) {   # FIXME: shouldn't input type be "hidden" ?
2492
                    $subfield_data{marc_value} = qq(<input type="text" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
2493
                }
2494
                elsif ( length($defaultvalue) > 100
2495
                            or (C4::Context->preference("marcflavour") eq "UNIMARC" and
2496
                                  300 <= $tag && $tag < 400 && $subfield eq 'a' )
2497
                            or (C4::Context->preference("marcflavour") eq "MARC21"  and
2498
                                  500 <= $tag && $tag < 600                     )
2499
                          ) {
2500
                    # oversize field (textarea)
2501
                    $subfield_data{marc_value} = qq(<textarea tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255">$defaultvalue</textarea>\n");
2468
                } else {
2502
                } else {
2469
                    $subfield_data{marc_value} = "<input type=\"text\" name=\"field_value\" value=\"$defaultvalue\" size=\"50\" maxlength=\"255\" />";
2503
                    $subfield_data{marc_value} = "<input type=\"text\" name=\"field_value\" value=\"$defaultvalue\" size=\"50\" maxlength=\"255\" />";
2470
                }
2504
                }
2471
- 

Return to bug 6106