Cleanup: biblio_framework and marctagstructure

Removed unused javascript.  Enabled warnings.  Use common $dbh.
Removed sth->finish calls.  Removed toggle code.  Added row highlight where
none had been implemented.  Repaired validation error w/ mislocated input tag.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This commit is contained in:
Joe Atzberger 2009-06-10 16:53:28 -05:00 committed by Galen Charlton
parent 8db0cc330b
commit f226b02dd4
4 changed files with 249 additions and 371 deletions

View file

@ -22,37 +22,26 @@
# Suite 330, Boston, MA 02111-1307 USA
use strict;
use warnings;
use CGI;
use C4::Context;
use C4::Auth;
use C4::Output;
sub StringSearch {
my ($searchstring,$type)=@_;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
my $count=@data;
my $sth=$dbh->prepare("Select * from biblio_framework where (frameworkcode like ?) order by frameworktext");
$sth->execute("$data[0]%");
my @results;
while (my $data=$sth->fetchrow_hashref){
push(@results,$data);
}
# $sth->execute;
$sth->finish;
return (scalar(@results),\@results);
$sth->execute((shift || '') . '%');
return $sth->fetchall_arrayref({});
}
my $input = new CGI;
my $searchfield=$input->param('frameworkcode');
my $offset=$input->param('offset');
my $script_name="/cgi-bin/koha/admin/biblio_framework.pl";
my $frameworkcode=$input->param('frameworkcode');
my $pagesize=20;
my $op = $input->param('op');
$searchfield=~ s/\,//g;
my $script_name = "/cgi-bin/koha/admin/biblio_framework.pl";
my $frameworkcode = $input->param('frameworkcode') || '';
my $offset = $input->param('offset') || 0;
my $op = $input->param('op') || '';
my $pagesize = 20;
my ($template, $borrowernumber, $cookie)
= get_template_and_user({template_name => "admin/biblio_framework.tmpl",
query => $input,
@ -62,17 +51,10 @@ my ($template, $borrowernumber, $cookie)
debug => 1,
});
if ($op) {
$template->param(script_name => $script_name,
$op => 1); # we show only the TMPL_VAR names $op
} else {
$template->param(script_name => $script_name,
else => 1); # we show only the TMPL_VAR names $op
}
$template->param( script_name => $script_name);
$template->param(($op||'else') => 1);
my $dbh = C4::Context->dbh;
################## ADD_FORM ##################################
# called by default. Used to create form to add or modify a record
if ($op eq 'add_form') {
@ -80,91 +62,70 @@ if ($op eq 'add_form') {
#---- if primkey exists, it's a modify action, so read values to modify...
my $data;
if ($frameworkcode) {
my $dbh = C4::Context->dbh;
my $sth=$dbh->prepare("select * from biblio_framework where frameworkcode=?");
$sth->execute($frameworkcode);
$data=$sth->fetchrow_hashref;
$sth->finish;
}
$template->param(frameworkcode => $frameworkcode,
frameworktext => $data->{'frameworktext'},
);
;
$template->param(
frameworkcode => $frameworkcode,
frameworktext => $data->{'frameworktext'},
);
# END $OP eq ADD_FORM
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
my $dbh = C4::Context->dbh;
if ($input->param('modif')) {
my $sth=$dbh->prepare("UPDATE biblio_framework SET frameworktext=? WHERE frameworkcode=?");
$sth->execute($input->param('frameworktext'),$input->param('frameworkcode'));
$sth->finish;
} else {
my $sth=$dbh->prepare("INSERT into biblio_framework (frameworkcode,frameworktext) values (?,?)");
$sth->execute($input->param('frameworkcode'),$input->param('frameworktext'));
$sth->finish;
}
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=biblio_framework.pl\"></html>";
print $input->redirect($script_name); # FIXME: unnecessary redirect
exit;
# END $OP eq ADD_VALIDATE
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
#start the page and read in includes
my $dbh = C4::Context->dbh;
# Check both categoryitem and biblioitems, see Bug 199
my $total = 0;
for my $table ('marc_tag_structure') {
my $sth=$dbh->prepare("select count(*) as total from $table where frameworkcode=?");
$sth->execute($frameworkcode);
$total += $sth->fetchrow_hashref->{total};
$sth->finish;
}
my $sth = $dbh->prepare("select count(*) as total from marc_tag_structure where frameworkcode=?");
$sth->execute($frameworkcode);
my $total = $sth->fetchrow_hashref->{total};
my $sth=$dbh->prepare("select * from biblio_framework where frameworkcode=?");
$sth = $dbh->prepare("select * from biblio_framework where frameworkcode=?");
$sth->execute($frameworkcode);
my $data=$sth->fetchrow_hashref;
$sth->finish;
my $data = $sth->fetchrow_hashref;
$template->param(frameworkcode => $frameworkcode,
frameworktext => $data->{'frameworktext'},
total => $total);
$template->param(
frameworkcode => $frameworkcode,
frameworktext => $data->{'frameworktext'},
total => $total
);
# END $OP eq DELETE_CONFIRM
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
#start the page and read in includes
my $dbh = C4::Context->dbh;
# my $frameworkcode=uc($input->param('frameworkcode'));
#
if($frameworkcode) {
if ($frameworkcode) {
my $sth=$dbh->prepare("delete from marc_tag_structure where frameworkcode=?");
$sth->execute($frameworkcode);
$sth=$dbh->prepare("delete from marc_subfield_structure where frameworkcode=?");
$sth->execute($frameworkcode);
$sth=$dbh->prepare("delete from biblio_framework where frameworkcode=?");
$sth->execute($frameworkcode);
$sth->finish;
}
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=biblio_framework.pl\"></html>";
print $input->redirect($script_name); # FIXME: unnecessary redirect
exit;
# END $OP eq DELETE_CONFIRMED
################## DEFAULT ##################################
} else { # DEFAULT
my ($count,$results)=StringSearch($searchfield,'web');
my $toggle="white";
my $results = StringSearch($frameworkcode);
my $count = scalar(@$results);
my @loop_data;
for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
my %row_data;
if ($toggle eq 'white'){
$row_data{toggle}="#ffffcc";
} else {
$row_data{toggle}="white";
}
$row_data{frameworkcode} = $results->[$i]{'frameworkcode'};
$row_data{frameworktext} = $results->[$i]{'frameworktext'};
push(@loop_data, \%row_data);
push @loop_data, {
frameworkcode => $results->[$i]{'frameworkcode'},
frameworktext => $results->[$i]{'frameworktext'},
};
}
$template->param(loop => \@loop_data);
if ($offset>0) {
@ -176,8 +137,6 @@ if ($op eq 'add_form') {
$template->param(next => "$script_name?offset=".$nextpage);
}
} #---- END $OP eq DEFAULT
output_html_with_http_headers $input, $cookie, $template->output;
# Local Variables:
# tab-width: 4
# End:

View file

@ -29,22 +29,19 @@ use C4::Context;
# retrieve parameters
my $input = new CGI;
my $frameworkcode = $input->param('frameworkcode'); # set to select framework
$frameworkcode="" unless $frameworkcode;
my $existingframeworkcode = $input->param('existingframeworkcode'); # set when we have to create a new framework (in frameworkcode) by copying an old one (in existingframeworkcode)
$existingframeworkcode = "" unless $existingframeworkcode;
my $frameworkcode = $input->param('frameworkcode') || ''; # set to select framework
my $existingframeworkcode = $input->param('existingframeworkcode') || '';
my $searchfield = $input->param('searchfield') || 0;
# set when we have to create a new framework (in frameworkcode) by copying an old one (in existingframeworkcode)
my $frameworkinfo = getframeworkinfo($frameworkcode);
my $searchfield=$input->param('searchfield');
$searchfield=0 unless $searchfield;
$searchfield=~ s/\,//g;
my $last_searchfield=$input->param('searchfield');
my $offset=$input->param('offset') || 0;
my $op = $input->param('op') || '';
my $offset = $input->param('offset') || 0;
my $op = $input->param('op') || '';
my $dspchoice = $input->param('select_display');
my $pagesize=20;
my $pagesize = 20;
my $script_name="/cgi-bin/koha/admin/marctagstructure.pl";
my $script_name = "/cgi-bin/koha/admin/marctagstructure.pl";
my $dbh = C4::Context->dbh;
@ -62,39 +59,34 @@ my ($template, $loggedinuser, $cookie)
my $frameworks = getframeworks();
my @frameworkloop;
foreach my $thisframeworkcode (keys %$frameworks) {
my $selected = 1 if $thisframeworkcode eq $frameworkcode;
my %row =(value => $thisframeworkcode,
selected => $selected,
frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'},
);
push @frameworkloop, \%row;
push @frameworkloop, {
value => $thisframeworkcode,
selected => ($thisframeworkcode eq $frameworkcode) ? 1 : 0,
frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'},
};
}
# check that framework is defined in marc_tag_structure
my $sth=$dbh->prepare("select count(*) from marc_tag_structure where frameworkcode=?");
$sth->execute($frameworkcode);
my ($frameworkexist) = $sth->fetchrow;
if ($frameworkexist) {
} else {
unless ($frameworkexist) {
# if frameworkcode does not exists, then OP must be changed to "create framework" if we are not on the way to create it
# (op = itemtyp_create_confirm)
if ($op eq "framework_create_confirm") {
duplicate_framework($frameworkcode, $existingframeworkcode);
$op=""; # unset $op to go back to framework list
$op = ""; # unset $op to go back to framework list
} else {
$op = "framework_create";
}
}
$template->param(frameworkloop => \@frameworkloop,
frameworkcode => $frameworkcode,
frameworktext => $frameworkinfo->{frameworktext});
if ($op) {
$template->param(script_name => $script_name,
$op => 1); # we show only the TMPL_VAR names $op
} else {
$template->param(script_name => $script_name,
else => 1); # we show only the TMPL_VAR names $op
}
$template->param(
frameworkloop => \@frameworkloop,
frameworkcode => $frameworkcode,
frameworktext => $frameworkinfo->{frameworktext},
script_name => $script_name,
($op||'else') => 1,
);
################## ADD_FORM ##################################
@ -106,7 +98,6 @@ if ($op eq 'add_form') {
$sth=$dbh->prepare("select tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value from marc_tag_structure where tagfield=? and frameworkcode=?");
$sth->execute($searchfield,$frameworkcode);
$data=$sth->fetchrow_hashref;
$sth->finish;
}
my $sth = $dbh->prepare("select distinct category from authorised_values");
$sth->execute;
@ -123,8 +114,8 @@ if ($op eq 'add_form') {
-default => $data->{'authorised_value'},
);
$template->param(searchfield => $searchfield) if ($searchfield);
if ($searchfield) {
$template->param(searchfield => $searchfield);
$template->param(action => "Modify tag");
$template->param('heading-modify-tag-p' => 1);
} else {
@ -146,43 +137,43 @@ if ($op eq 'add_form') {
-id => 'mandatory'),
authorised_value => $authorised_value,
frameworkcode => $frameworkcode,
);
); # FIXME: move checkboxes to presentation layer
# END $OP eq ADD_FORM
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
my $tagfield =$input->param('tagfield');
my $liblibrarian = $input->param('liblibrarian');
my $libopac =$input->param('libopac');
my $repeatable =$input->param('repeatable');
my $mandatory =$input->param('mandatory');
my $authorised_value =$input->param('authorised_value');
if ($input->param('modif')) {
$sth=$dbh->prepare("UPDATE marc_tag_structure SET liblibrarian=? ,libopac=? ,repeatable=? ,mandatory=? ,authorised_value=? WHERE frameworkcode=? AND tagfield=?");
unless (C4::Context->config('demo') eq 1) {
my $tagfield = $input->param('tagfield');
my $liblibrarian = $input->param('liblibrarian');
my $libopac = $input->param('libopac');
my $repeatable = $input->param('repeatable') ? 1 : 0;
my $mandatory = $input->param('mandatory') ? 1 : 0;
my $authorised_value = $input->param('authorised_value');
unless (C4::Context->config('demo') eq 1) {
if ($input->param('modif')) {
$sth = $dbh->prepare(
"UPDATE marc_tag_structure SET liblibrarian=? ,libopac=? ,repeatable=? ,mandatory=? ,authorised_value=? WHERE frameworkcode=? AND tagfield=?"
);
$sth->execute( $liblibrarian,
$libopac,
$repeatable?1:0,
$mandatory?1:0,
$repeatable,
$mandatory,
$authorised_value,
$frameworkcode,
$tagfield
);
}
$sth->finish;
} else {
$sth=$dbh->prepare("INSERT INTO marc_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,frameworkcode) values (?,?,?,?,?,?,?)");
unless (C4::Context->config('demo') eq 1) {
);
} else {
$sth = $dbh->prepare(
"INSERT INTO marc_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,frameworkcode) values (?,?,?,?,?,?,?)"
);
$sth->execute($tagfield,
$liblibrarian,
$libopac,
$repeatable?1:0,
$mandatory?1:0,
$authorised_value,
$frameworkcode
);
$liblibrarian,
$libopac,
$repeatable,
$mandatory,
$authorised_value,
$frameworkcode
);
}
$sth->finish;
}
print $input->redirect("/cgi-bin/koha/admin/marctagstructure.pl?searchfield=$tagfield&frameworkcode=$frameworkcode");
exit;
@ -191,24 +182,27 @@ if ($op eq 'add_form') {
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
$sth=$dbh->prepare("select tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value from marc_tag_structure where tagfield=? and frameworkcode=?");
$sth->execute($searchfield,$frameworkcode);
my $data=$sth->fetchrow_hashref;
$sth->finish;
$template->param(liblibrarian => $data->{'liblibrarian'},
searchfield => $searchfield,
frameworkcode => $frameworkcode,
);
$sth->execute($searchfield, $frameworkcode);
my $data = $sth->fetchrow_hashref;
$template->param(
liblibrarian => $data->{'liblibrarian'},
searchfield => $searchfield,
frameworkcode => $frameworkcode,
);
# END $OP eq DELETE_CONFIRM
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
unless (C4::Context->config('demo') eq 1) {
$dbh->do("delete from marc_tag_structure where tagfield='$searchfield' and frameworkcode='$frameworkcode'");
$dbh->do("delete from marc_subfield_structure where tagfield='$searchfield' and frameworkcode='$frameworkcode'");
my $sth1 = $dbh->prepare("DELETE FROM marc_tag_structure WHERE tagfield=? AND frameworkcode=?");
my $sth2 = $dbh->prepare("DELETE FROM marc_subfield_structure WHERE tagfield=? AND frameworkcode=?");
$sth1->execute($searchfield, $frameworkcode);
$sth2->execute($searchfield, $frameworkcode);
}
$template->param(searchfield => $searchfield,
frameworkcode => $frameworkcode,
);
$template->param(
searchfield => $searchfield,
frameworkcode => $frameworkcode,
);
# END $OP eq DELETE_CONFIRMED
################## ITEMTYPE_CREATE ##################################
# called automatically if an unexisting frameworkis selected
@ -218,10 +212,10 @@ if ($op eq 'add_form') {
my @existingframeworkloop;
while (my ($tot,$thisframeworkcode,$frameworktext) = $sth->fetchrow) {
if ($tot>0) {
my %line = ( value => $thisframeworkcode,
frameworktext => $frameworktext,
);
push @existingframeworkloop,\%line;
push @existingframeworkloop, {
value => $thisframeworkcode,
frameworktext => $frameworktext,
};
}
}
$template->param(existingframeworkloop => \@existingframeworkloop,
@ -231,9 +225,9 @@ if ($op eq 'add_form') {
################## DEFAULT ##################################
} else { # DEFAULT
# here, $op can be unset or set to "framework_create_confirm".
if ($searchfield ne '') {
$template->param(searchfield => $searchfield);
}
if ($searchfield ne '') {
$template->param(searchfield => $searchfield);
}
my $cnt=0;
if ($dspchoice) {
#here, user only wants used tags/subfields displayed
@ -256,94 +250,73 @@ if ($op eq 'add_form') {
push(@results,$data);
$cnt++;
}
$sth->finish;
my $toggle=0;
my @loop_data = ();
my $j=1;
my $i=$offset;
while ($i < ($offset+$pagesize<$cnt?$offset+$pagesize:$cnt)) {
if ($toggle eq 0){
$toggle=1;
} else {
$toggle=0;
}
my %row_data; # get a fresh hash for the row data
$row_data{tagfield} = $results[$i]->{'mts_tagfield'};
$row_data{liblibrarian} = $results[$i]->{'mts_liblibrarian'};
$row_data{repeatable} = $results[$i]->{'mts_repeatable'};
$row_data{mandatory} = $results[$i]->{'mts_mandatory'};
$row_data{tagfield} = $results[$i]->{'mts_tagfield'};
$row_data{liblibrarian} = $results[$i]->{'mts_liblibrarian'};
$row_data{repeatable} = $results[$i]->{'mts_repeatable'};
$row_data{mandatory} = $results[$i]->{'mts_mandatory'};
$row_data{authorised_value} = $results[$i]->{'mts_authorised_value'};
$row_data{subfield_link} ="marc_subfields_structure.pl?op=add_form&amp;tagfield=".$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{edit} = "$script_name?op=add_form&amp;searchfield=".$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=".$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{toggle} = $toggle;
$row_data{subfield_link} = "marc_subfields_structure.pl?op=add_form&amp;tagfield=".$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{edit} = "$script_name?op=add_form&amp;searchfield=" .$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=" .$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
$j=$i;
my @internal_loop = ();
while (($results[$i]->{'tagfield'}==$results[$j]->{'tagfield'}) and ($j< ($offset+$pagesize<$cnt?$offset+$pagesize:$cnt))) {
my %subfield_data;
$subfield_data{tagsubfield} = $results[$j]->{'tagsubfield'};
$subfield_data{liblibrarian} = $results[$j]->{'liblibrarian'};
$subfield_data{kohafield} = $results[$j]->{'kohafield'};
$subfield_data{repeatable} = $results[$j]->{'repeatable'};
$subfield_data{mandatory} = $results[$j]->{'mandatory'};
$subfield_data{tab} = $results[$j]->{'tab'};
$subfield_data{seealso} = $results[$j]->{'seealso'};
$subfield_data{tagsubfield} = $results[$j]->{'tagsubfield'};
$subfield_data{liblibrarian} = $results[$j]->{'liblibrarian'};
$subfield_data{kohafield} = $results[$j]->{'kohafield'};
$subfield_data{repeatable} = $results[$j]->{'repeatable'};
$subfield_data{mandatory} = $results[$j]->{'mandatory'};
$subfield_data{tab} = $results[$j]->{'tab'};
$subfield_data{seealso} = $results[$j]->{'seealso'};
$subfield_data{authorised_value} = $results[$j]->{'authorised_value'};
$subfield_data{authtypecode}= $results[$j]->{'authtypecode'};
$subfield_data{value_builder}= $results[$j]->{'value_builder'};
$subfield_data{toggle} = $toggle;
$subfield_data{authtypecode} = $results[$j]->{'authtypecode'};
$subfield_data{value_builder} = $results[$j]->{'value_builder'};
# warn "tagfield : ".$results[$j]->{'tagfield'}." tagsubfield :".$results[$j]->{'tagsubfield'};
push @internal_loop,\%subfield_data;
$j++;
}
$row_data{'subfields'}=\@internal_loop;
push(@loop_data, \%row_data);
# undef @internal_loop;
$i=$j;
}
$template->param(select_display => "True",
loop => \@loop_data);
# $sth->execute;
$sth->finish;
} else {
#here, normal old style : display every tags
my ($count,$results)=StringSearch($searchfield,$frameworkcode);
$cnt = $count;
my $toggle=0;
my @loop_data = ();
for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
if ($toggle eq 0){
$toggle=1;
} else {
$toggle=0;
}
my %row_data; # get a fresh hash for the row data
$row_data{tagfield} = $results->[$i]{'tagfield'};
$row_data{liblibrarian} = $results->[$i]{'liblibrarian'};
$row_data{repeatable} = $results->[$i]{'repeatable'};
$row_data{mandatory} = $results->[$i]{'mandatory'};
$row_data{tagfield} = $results->[$i]{'tagfield'};
$row_data{liblibrarian} = $results->[$i]{'liblibrarian'};
$row_data{repeatable} = $results->[$i]{'repeatable'};
$row_data{mandatory} = $results->[$i]{'mandatory'};
$row_data{authorised_value} = $results->[$i]{'authorised_value'};
$row_data{subfield_link} ="marc_subfields_structure.pl?tagfield=".$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{edit} = "$script_name?op=add_form&amp;searchfield=".$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=".$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{toggle} = $toggle;
$row_data{subfield_link} = "marc_subfields_structure.pl?tagfield=" .$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{edit} = "$script_name?op=add_form&amp;searchfield=" .$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
$row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=".$results->[$i]{'tagfield'}."&amp;frameworkcode=".$frameworkcode;
push(@loop_data, \%row_data);
}
$template->param(loop => \@loop_data);
}
if ($offset>0) {
my $prevpage = $offset-$pagesize;
$template->param(isprevpage => $offset,
prevpage=> $prevpage,
prevpage=> $offset-$pagesize,
searchfield => $searchfield,
script_name => $script_name,
frameworkcode => $frameworkcode,
);
}
if ($offset+$pagesize<$cnt) {
my $nextpage =$offset+$pagesize;
$template->param(nextpage =>$nextpage,
$template->param(nextpage =>$offset+$pagesize,
searchfield => $searchfield,
script_name => $script_name,
frameworkcode => $frameworkcode,
@ -351,29 +324,22 @@ if ($op eq 'add_form') {
}
} #---- END $OP eq DEFAULT
$template->param(loggeninuser => $loggedinuser,
);
output_html_with_http_headers $input, $cookie, $template->output;
#
# the sub used for searches
#
sub StringSearch {
my ($searchstring,$frameworkcode)=@_;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
my $count=@data;
my $sth=$dbh->prepare("Select tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value from marc_tag_structure where (tagfield >= ? and frameworkcode=?) order by tagfield");
$sth->execute($data[0], $frameworkcode);
my @results;
while (my $data=$sth->fetchrow_hashref){
push(@results,$data);
}
# $sth->execute;
$sth->finish;
return (scalar(@results),\@results);
my $sth = C4::Context->dbh->prepare("
SELECT tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value
FROM marc_tag_structure
WHERE (tagfield >= ? and frameworkcode=?)
ORDER BY tagfield
");
$sth->execute($searchstring, $frameworkcode);
my $results = $sth->fetchall_arrayref({});
return (scalar(@$results), $results);
}
#

View file

@ -1,40 +1,26 @@
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
<title>Koha &rsaquo; Administration &rsaquo; <!-- TMPL_IF NAME="add_form" --> MARC Frameworks &rsaquo; <!-- TMPL_IF NAME="frameworkcode" -->Modify framework text<!-- TMPL_ELSE -->Add framework<!-- /TMPL_IF --><!-- /TMPL_IF --><!-- TMPL_IF NAME="delete_confirm" --> MARC Frameworks &rsaquo; Delete Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?<!-- /TMPL_IF --><!-- TMPL_IF NAME="else" -->MARC Frameworks<!-- /TMPL_IF --></title>
<title>Koha &rsaquo; Administration &rsaquo; MARC Frameworks
<!-- TMPL_IF NAME="add_form" -->
&rsaquo; <!-- TMPL_IF NAME="frameworkcode" -->Modify framework text<!-- TMPL_ELSE -->Add framework<!-- /TMPL_IF -->
<!-- TMPL_ELSIF NAME="delete_confirm" -->
&rsaquo; Delete Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?
<!-- /TMPL_IF -->
</title>
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<script type="text/javascript">
//<![CDATA[
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNotNull(f,noalert) {
if (f.value.length ==0) {
return false;
}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function toUC(f) {
var x=f.value.toUpperCase();
f.value=x;
f.value = f.value.toUpperCase();
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNum(v,maybenull) {
var n = new Number(v.value);
if (isNaN(n)) {
return false;
}
if (maybenull==0 && v.value=='') {
return false;
}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isDate(f) {
var t = Date.parse(f.value);
if (isNaN(t)) {
return false;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function Check(f) {
var ok=1;
var _alertString="";
@ -42,7 +28,7 @@ function Check(f) {
if (f.frameworkcode.value.length==0) {
_alertString += "\n- " + _("Framework code missing");
}
if (!(isNotNull(window.document.Aform.frameworktext,1))) {
if (!(isNotNull(window.document.Aform.frameworktext))) {
_alertString += "\n- " + _("Description missing");
}
if (_alertString.length==0) {
@ -54,6 +40,10 @@ function Check(f) {
alert(alertString2);
}
}
$(document).ready(function() {
new YAHOO.widget.Button("newframework");
});
//]]>
</script>
</head>
@ -61,32 +51,23 @@ function Check(f) {
<!-- TMPL_INCLUDE NAME="header.inc" -->
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; <!-- TMPL_IF NAME="add_form" --><a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC Frameworks</a> &rsaquo; <!-- TMPL_IF NAME="frameworkcode" -->Modify framework text<!-- TMPL_ELSE -->Add framework<!-- /TMPL_IF --><!-- /TMPL_IF --><!-- TMPL_IF NAME="delete_confirm" --><a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC Frameworks</a> &rsaquo; Delete Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?<!-- /TMPL_IF --><!-- TMPL_IF NAME="else" -->MARC Frameworks<!-- /TMPL_IF --></div>
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
&rsaquo; <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC Frameworks</a>
<!-- TMPL_IF NAME="add_form" -->
&rsaquo; <!-- TMPL_IF NAME="frameworkcode" -->Modify framework text<!-- TMPL_ELSE -->Add framework<!-- /TMPL_IF -->
<!-- TMPL_ELSIF NAME="delete_confirm" -->
&rsaquo; Delete Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?
<!-- /TMPL_IF -->
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<!-- TMPL_IF NAME="else" --><div id="toolbar">
<script type="text/javascript">
//<![CDATA[
// prepare DOM for YUI Toolbar
$(document).ready(function() {
yuiToolbar();
});
// YUI Toolbar Functions
function yuiToolbar() {
new YAHOO.widget.Button("newframework");
}
//]]>
</script>
<ul class="toolbar">
<li><a id="newframework" href="/cgi-bin/koha/admin/biblio_framework.pl?op=add_form">New Framework</a></li>
</ul></div><!-- /TMPL_IF -->
@ -95,12 +76,14 @@ function Check(f) {
<h1><!-- TMPL_IF NAME="frameworkcode" -->Modify framework text<!-- TMPL_ELSE -->Add framework<!-- /TMPL_IF --></h1>
<form action="<!-- TMPL_VAR NAME="script_name" -->" name="Aform" method="post">
<input type="hidden" name="op" value="add_validate" />
<fieldset class="rows"> <ol>
<fieldset class="rows">
<ol>
<!-- TMPL_IF NAME="frameworkcode" -->
<li><span class="label">Framework Code</span><input type="hidden" id="frameworkcode" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" /><!-- TMPL_VAR NAME="frameworkcode" --></li>
<li><span class="label">Framework Code</span><input type="hidden" id="frameworkcode" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" /><!-- TMPL_VAR NAME="frameworkcode" -->
<input type="hidden" name="modif" value="1" />
</li>
<!-- TMPL_ELSE -->
<li><label for="frameworkcode">Framework Code</label><input type="text" id="frameworkcode" name="frameworkcode" size="4" maxlength="4" onblur="toUC(this)" /></li>
<li><label for="frameworkcode">Framework Code</label><input type="text" id="frameworkcode" name="frameworkcode" size="4" maxlength="4" onblur="toUC(this)" /></li>
<!-- /TMPL_IF -->
<li><label for="description">Description</label>
<input type="text" name="frameworktext" id="description" size="40" maxlength="80" value="<!-- TMPL_VAR NAME="frameworktext" ESCAPE="HTML" -->" /></li></ol></fieldset>
@ -108,14 +91,16 @@ function Check(f) {
</form>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="delete_confirm" --><div class="dialog alert">
<h3>Delete framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?</h3>
<!-- TMPL_IF NAME="delete_confirm" -->
<div class="dialog alert">
<h3>Delete framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)?</h3>
<!-- TMPL_IF NAME="total" -->
<p> <strong>This framework is used <!-- TMPL_VAR NAME="total" --> times</strong>.</p>
<p><strong>This framework is used <!-- TMPL_VAR NAME="total" --> times</strong>.</p>
<!-- /TMPL_IF -->
<form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="hidden" name="op" value="delete_confirmed" /><input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" /><input type="submit" class="approve" value="Yes, Delete this Framework!" />
</form>
<form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" class="deny" value="No, Do not Delete!" /></form></div>
<form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="hidden" name="op" value="delete_confirmed" /><input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" /><input type="submit" class="approve" value="Yes, Delete this Framework!" />
</form>
<form class="inline" action="<!-- TMPL_VAR NAME="script_name" -->" method="get"><input type="submit" class="deny" value="No, Do not Delete!" /></form>
</div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="else" -->
@ -136,9 +121,11 @@ function Check(f) {
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<!-- note highlight assignment appears backwards because we already have a normal row for Default -->
<!-- TMPL_LOOP NAME="loop" -->
<tr>
<!-- TMPL_IF NAME="__odd__" --><tr class="highlight">
<!-- TMPL_ELSE --><tr>
<!-- /TMPL_IF -->
<td><!-- TMPL_VAR name="frameworkcode" --></td>
<td><!-- TMPL_VAR name="frameworktext" --></td>
<td><a href="marctagstructure.pl?frameworkcode=<!-- TMPL_VAR name="frameworkcode" -->" >MARC structure</a></td>
@ -147,13 +134,14 @@ function Check(f) {
</tr>
<!-- /TMPL_LOOP -->
</table>
<!-- TMPL_IF NAME="previous" --><a href="<!-- TMPL_VAR NAME="previous" -->">&lt;&lt; Previous</a><!-- /TMPL_IF --> <!-- TMPL_IF NAME="next" --><a href="<!-- TMPL_VAR NAME="next" -->">Next &gt;&gt;</a><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="previous" --><a href="<!-- TMPL_VAR NAME="previous" -->">&lt;&lt; Previous</a><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="next" --><a href="<!-- TMPL_VAR NAME="next" -->">Next &gt;&gt;</a><!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</div>
</div>
</div>
</div>
<div class="yui-b">
<!-- TMPL_INCLUDE NAME="admin-menu.inc" -->
</div>
</div>
</div>
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->

View file

@ -7,90 +7,55 @@
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<script type="text/javascript">
//<![CDATA[
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNotNull(f,noalert) {
if (f.value.length ==0) {
return false;
}
return true;
function Check(f) {
var _alertString="";
var alertString2;
if (f.tagfield.value.length==0) {
_alertString += "\n- " + _("tag number missing");
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function toUC(f) {
var x=f.value.toUpperCase();
f.value=x;
return true;
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += _alertString;
alert(alertString2);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isNum(v,maybenull) {
var n = new Number(v.value);
if (isNaN(n)) {
return false;
}
if (maybenull==0 && v.value=='') {
return false;
}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isDate(f) {
var t = Date.parse(f.value);
if (isNaN(t)) {
return false;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function Check(f) {
var ok=1;
var _alertString="";
var alertString2;
if (f.tagfield.value.length==0) {
_alertString += "\n- " + _("tag number missing");
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += _alertString;
alert(alertString2);
}
}
//]]>
}
$(document).ready(function() {
new YAHOO.widget.Button("addtag");
});
//]]>
</script>
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
<!-- TMPL_INCLUDE NAME="cat-search.inc" -->
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; <!-- TMPL_IF name="add_form" --> <a href="/cgi-bin/koha/admin/marctagstructure.pl">MARC Frameworks</a> &rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->">MARC Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)</a> &rsaquo; <!-- TMPL_VAR name="action" --> <!-- TMPL_VAR NAME="searchfield" --><!-- /TMPL_IF -->
<!-- TMPL_IF name="delete_confirm" --> <a href="/cgi-bin/koha/admin/marctagstructure.pl">MARC Frameworks</a> &rsaquo; Confirm Deletion of Tag '<!-- TMPL_VAR name="searchfield" -->'<!-- /TMPL_IF -->
<!-- TMPL_IF name="delete_confirmed" --> <a href="/cgi-bin/koha/admin/marctagstructure.pl">MARC Frameworks</a> &rsaquo; Data Deleted<!-- /TMPL_IF -->
<!-- TMPL_IF name="else" --><a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC Frameworks</a> &rsaquo; MARC Framework for <!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)<!-- /TMPL_IF --></div>
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
&rsaquo; <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC Frameworks</a>
<!-- TMPL_IF name="add_form" -->
&rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->"><!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)</a>
&rsaquo; <!-- TMPL_VAR name="action" --> <!-- TMPL_VAR NAME="searchfield" -->
<!-- TMPL_ELSIF name="else" -->
&rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->"><!-- TMPL_VAR NAME="frameworktext" --> (<!-- TMPL_VAR NAME="frameworkcode" -->)</a>
<!-- TMPL_ELSIF name="delete_confirm" -->
&rsaquo; Confirm Deletion of Tag '<!-- TMPL_VAR name="searchfield" -->'
<!-- TMPL_ELSIF name="delete_confirmed" -->
&rsaquo; Data Deleted
<!-- /TMPL_IF -->
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<!-- TMPL_IF NAME="else" --><div id="toolbar">
<script type="text/javascript">
//<![CDATA[
// prepare DOM for YUI Toolbar
$(document).ready(function() {
yuiToolbar();
});
// YUI Toolbar Functions
function yuiToolbar() {
new YAHOO.widget.Button("addtag");
}
//]]>
</script>
<!-- TMPL_IF NAME="else" -->
<div id="toolbar">
<ul class="toolbar">
<li><a id="addtag" href="/cgi-bin/koha/admin/marctagstructure.pl?op=add_form&amp;frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->">New Tag</a></li>
</ul></div><!-- /TMPL_IF -->
@ -111,10 +76,10 @@
<li><label for="mandatory">Mandatory: </label><!-- TMPL_VAR NAME="mandatory" --></li>
<li><label for="authorised_value">Authorized value: </label><!-- TMPL_VAR NAME="authorised_value" --> (if you select a value here, the indicators will be limited to the authorized value list)</li>
</ol></fieldset>
<fieldset class="action">
<input type="submit" value="Save Changes" onclick="Check(this.form)" />
<a class="cancel" href="<!-- TMPL_VAR NAME="script_name" -->?frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->">Cancel</a>
</fieldset>
<fieldset class="action">
<input type="submit" value="Save Changes" onclick="Check(this.form)" />
<a class="cancel" href="<!-- TMPL_VAR NAME="script_name" -->?frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" -->">Cancel</a>
</fieldset>
</form>
<!-- /TMPL_IF -->
@ -129,7 +94,7 @@
<input type="hidden" name="searchfield" value="<!-- TMPL_VAR NAME="searchfield" -->" /><input type="hidden" name="frameworkcode" value="<!-- TMPL_VAR NAME="frameworkcode" -->" />
<input type="submit" class="approve" value="Yes, Delete this Tag" /></form>
<form action="<!-- TMPL_VAR NAME="script_name" -->" method="post"><input type="submit" value="No, Do Not Delete" class="deny" /></form></div>
<form action="<!-- TMPL_VAR NAME="script_name" -->" method="get"><input type="submit" value="No, Do Not Delete" class="deny" /></form></div>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="delete_confirmed" -->
@ -177,10 +142,11 @@
<input type="submit" value="Search" />
</p>
<p>
<label for="select_display">Display only used Tags/Subfields</label>
<!-- TMPL_IF Name="select_display"-->
<label for="select_display">Display only used Tags/Subfields</label> <input type="checkbox" name="select_display" id="select_display" value="True" checked="checked" onchange="this.form.submit();" />
<input type="checkbox" name="select_display" id="select_display" value="True" checked="checked" onchange="this.form.submit();" />
<!-- TMPL_ELSE -->
<label for="select_display">Display only used Tags/Subfields</label> <input type="checkbox" name="select_display" id="select_display" value="True" onchange="this.form.submit();" />
<input type="checkbox" name="select_display" id="select_display" value="True" onchange="this.form.submit();" />
<!--/TMPL_IF -->
</p>
</form>
@ -200,7 +166,7 @@
<!-- TMPL_IF NAME="select_display" -->
<!-- TMPL_LOOP NAME="loop" -->
<!-- TMPL_IF NAME="toggle" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="__odd__" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<td><!-- TMPL_VAR NAME="tagfield" --></td>
<td><!-- TMPL_VAR NAME="liblibrarian" --></td>
<td><!-- TMPL_IF NAME="repeatable" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
@ -210,10 +176,8 @@
<td><a href="<!-- TMPL_VAR NAME="edit" -->">Edit</a></td>
<td><a href="<!-- TMPL_VAR NAME="delete" -->">Delete</a></td>
</tr>
<!-- TMPL_IF NAME="toggle" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<td>
&nbsp;
</td>
<!-- TMPL_IF NAME="__odd__" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<td>&nbsp;</td>
<td colspan="7">
<!-- TMPL_LOOP NAME="subfields" -->
<p> Tab:<!-- TMPL_VAR NAME="tab" --> | $<!-- TMPL_VAR NAME="tagsubfield" -->
@ -225,7 +189,7 @@
<!-- /TMPL_LOOP -->
<!-- TMPL_ELSE -->
<!-- TMPL_LOOP NAME="loop" -->
<!-- TMPL_IF NAME="toggle" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<!-- TMPL_IF NAME="__odd__" --><tr><!-- TMPL_ELSE --><tr class="highlight"><!-- /TMPL_IF -->
<td><!-- TMPL_VAR NAME="tagfield" --></td>
<td><!-- TMPL_VAR NAME="liblibrarian" --></td>
<td><!-- TMPL_IF NAME="repeatable" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
@ -238,19 +202,20 @@
<!-- /TMPL_LOOP -->
<!--/TMPL_IF -->
</table>
<!-- TMPL_IF NAME="isprevpage" -->
<a href="<!-- TMPL_VAR NAME="script_name" -->?offset=<!-- TMPL_VAR NAME="prevpage" -->&amp;searchfield=<!-- TMPL_VAR NAME="searchfield" -->&amp;frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" --><!--TMPL_IF Name="select_display"-->&amp;select_display=True<!--/TMPL_IF -->">&lt;&lt; Previous</a>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="nextpage" -->
<a href="<!-- TMPL_VAR NAME="script_name" -->?offset=<!-- TMPL_VAR NAME="nextpage" -->&amp;searchfield=<!-- TMPL_VAR NAME="searchfield" -->&amp;frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" --><!--TMPL_IF Name="select_display"-->&amp;select_display=True<!--/TMPL_IF -->">Next &gt;&gt;</a>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="isprevpage" -->
<a href="<!-- TMPL_VAR NAME="script_name" -->?offset=<!-- TMPL_VAR NAME="prevpage" -->&amp;searchfield=<!-- TMPL_VAR NAME="searchfield" -->&amp;frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" --><!--TMPL_IF Name="select_display"-->&amp;select_display=True<!--/TMPL_IF -->">&lt;&lt; Previous</a>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="nextpage" -->
<a href="<!-- TMPL_VAR NAME="script_name" -->?offset=<!-- TMPL_VAR NAME="nextpage" -->&amp;searchfield=<!-- TMPL_VAR NAME="searchfield" -->&amp;frameworkcode=<!-- TMPL_VAR NAME="frameworkcode" --><!--TMPL_IF Name="select_display"-->&amp;select_display=True<!--/TMPL_IF -->">Next &gt;&gt;</a>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</div>
</div>
</div>
</div>
<div class="yui-b">
<!-- TMPL_INCLUDE NAME="admin-menu.inc" -->
</div>