2 no warnings
'redefine';
8 sub plugin_parameters
{
9 my ( $dbh, $record, $tagslib, $i, $tabloop ) = @_;
13 sub plugin_javascript
{
14 my ( $dbh, $record, $tagslib, $field_number, $tabloop ) = @_;
15 my $function_name = "328" . ( int( rand(100000) ) + 1 );
17 <script type=\"text/javascript\">
20 function Focus$function_name(subfield_managed) {
24 function Blur$function_name(subfield_managed) {
28 function Clic$function_name(i) {
29 q = document.getElementById('$field_number');
30 window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=cn_browser.pl&popup&q=\"+q.value,\"cnbrowser\",\"width=500,height=400,toolbar=false,scrollbars=yes\");
38 return ( $function_name, $res );
44 my $params = $cgi->Vars;
45 my $results_per_page = 30;
46 my $current_page = $cgi->param('page') || 1;
48 my ( $template, $loggedinuser, $cookie ) = get_template_and_user
(
49 { template_name
=> "cataloguing/value_builder/cn_browser.tt",
53 flagsrequired
=> { tools
=> 'cn_browser', catalogue
=> 1 },
59 my $dbh = C4
::Context
->dbh;
63 my $real_limit = $results_per_page / 2;
72 if ( $q = $cgi->param('q') ) {
75 if ( $cgi->param('lt') ) {
76 $lt = $cgi->param('lt');
79 if ( $cgi->param('gt') ) {
80 $gt = $cgi->param('gt');
84 #Don't show half the results of show lt or gt
85 $real_limit = $results_per_page if $search ne $q;
86 $cn_sort = GetClassSort
( undef, undef, $search );
87 my $cn_sort_q = GetClassSort
( undef, undef, $q );
90 if ( $search ne $gt ) {
93 #Results before the cn_sort
94 $query = "SELECT b.title, itemcallnumber, biblionumber, barcode, cn_sort, branchname, author
96 JOIN biblio AS b USING (biblionumber)
97 LEFT OUTER JOIN branches ON (branches.branchcode = homebranch)
98 WHERE cn_sort < '$cn_sort'
99 AND itemcallnumber != ''
100 ORDER BY cn_sort DESC, itemnumber
102 $sth = $dbh->prepare($query);
104 while ( my $data = $sth->fetchrow_hashref ) {
105 if ( $data->{itemcallnumber
} eq $q ) {
106 $data->{background
} = 'red';
108 } elsif ( ( GetClassSort
( undef, undef, $data->{itemcallnumber
} ) lt $cn_sort_q ) && !$green && !$red ) {
110 unshift @cn, { 'background' => 'green' };
117 $rows_lt = $sth->rows;
121 if ( $search ne $lt ) {
124 #Results after the cn_sort
125 $query = "SELECT b.title, itemcallnumber, biblionumber, i.cn_sort, branchname, author
127 JOIN biblio AS b USING (biblionumber)
128 LEFT OUTER JOIN branches ON (branches.branchcode = homebranch)
129 WHERE i.cn_sort >= '$cn_sort'
130 AND itemcallnumber != ''
131 ORDER BY cn_sort, itemnumber
133 $sth = $dbh->prepare($query);
136 while ( my $data = $sth->fetchrow_hashref ) {
137 if ( $data->{itemcallnumber
} eq $q ) {
138 $data->{background
} = 'red';
140 } elsif ( ( GetClassSort
( undef, undef, $data->{itemcallnumber
} ) gt $cn_sort_q ) && !$green && !$red && !$globalGreen ) {
141 push @cn, { 'background' => 'green' };
146 $rows_gt = $sth->rows;
148 if ( !$green && !$red && !$globalGreen ) {
149 push @cn, { 'background' => 'green' };
155 $template->param( 'q' => $q );
156 $template->param( 'cn_loop' => \
@cn ) if $#cn != -1;
157 $template->param( 'popup' => defined( $cgi->param('popup') ) );
159 output_html_with_http_headers
$cgi, $cookie, $template->output;