# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
+#use warnings; FIXME - Bug 2505
use C4::Output;
use C4::Auth;
use CGI;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
- my $count=@data;
my $sth=$dbh->prepare("Select * from auth_subfield_structure where (tagfield like ? and authtypecode=?) order by tagfield");
$sth->execute("$searchstring%",$authtypecode);
- my @results;
- my $cnt=0;
- my $u=1;
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
- $cnt ++;
- $u++;
- }
- $sth->finish;
- return ($cnt,\@results);
+ my $results = $sth->fetchall_arrayref({});
+ return (scalar(@$results), $results);
}
sub auth_subfield_structure_exists {
return @$rows > 0;
}
-my $input = new CGI;
-my $tagfield=$input->param('tagfield');
-my $tagsubfield=$input->param('tagsubfield');
-my $authtypecode=$input->param('authtypecode');
-my $pkfield="tagfield";
-my $offset=$input->param('offset');
-my $script_name="/cgi-bin/koha/admin/auth_subfields_structure.pl";
+my $input = new CGI;
+my $tagfield = $input->param('tagfield');
+my $tagsubfield = $input->param('tagsubfield');
+my $authtypecode = $input->param('authtypecode');
+my $offset = $input->param('offset');
+my $op = $input->param('op') || '';
+my $script_name = "/cgi-bin/koha/admin/auth_subfields_structure.pl";
-my ($template, $borrowernumber, $cookie)
- = get_template_and_user({template_name => "admin/auth_subfields_structure.tmpl",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => {parameters => 1},
- debug => 1,
- });
-my $pagesize=30;
-my $op = $input->param('op');
-$tagfield=~ s/\,//g;
+my ($template, $borrowernumber, $cookie) = get_template_and_user(
+ { template_name => "admin/auth_subfields_structure.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { parameters => 1 },
+ debug => 1,
+ }
+);
+my $pagesize = 30;
+$tagfield =~ s/\,//g;
if ($op) {
$template->param(script_name => $script_name,
else => 1); # we show only the TMPL_VAR names $op
}
+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') {
my $data;
- my $dbh = C4::Context->dbh;
my $more_subfields = $input->param("more_subfields")+1;
# builds kohafield tables
my @kohafields;
}
# build authorised value list
- $sth2->finish;
$sth2 = $dbh->prepare("select distinct category from authorised_values");
$sth2->execute;
my @authorised_values;
push (@authorised_values,"itemtypes");
# build thesaurus categories list
- $sth2->finish;
$sth2 = $dbh->prepare("select authtypecode from auth_types");
$sth2->execute;
my @authtypes;
my $sth=$dbh->prepare("select * from auth_subfield_structure where tagfield=? and authtypecode=?"); # and tagsubfield='$tagsubfield'");
$sth->execute($tagfield,$authtypecode);
my @loop_data = ();
- my $toggle=1;
my $i=0;
while ($data =$sth->fetchrow_hashref) {
my %row_data; # get a fresh hash for the row data
- if ($toggle eq 1){
- $toggle=0;
- } else {
- $toggle=1;
- }
$row_data{tab} = CGI::scrolling_list(-name=>'tab',
-id=>"tab$i",
-values =>
);
$row_data{ohidden} = CGI::scrolling_list(-name=>'ohidden',
-id=>"ohidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>substr($data->{'hidden'},0,1),
- -size=>1,
- -multiple=>0,
- );
- $row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden',
- -id=>"ihidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>substr($data->{'hidden'},1,1),
- -size=>1,
- -multiple=>0,
- );
- $row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden',
- -id=>"ehidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>substr($data->{'hidden'}." ",2,1),
+ #-values=>['0','1','2'],
+ #-labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ -values=>['0','-5'],
+ -labels => {'0'=>'Show All','-5'=>'Hide All',},
+ -default=>$data->{'hidden'},
+ #-default=>"-5",
-size=>1,
-multiple=>0,
);
+ #$row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden',
+ # -id=>"ihidden$i",
+ # -values=>['0','1','2'],
+ # -labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ # -default=>substr($data->{'hidden'},1,1),
+ # -size=>1,
+ # -multiple=>0,
+ # );
+ #$row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden',
+ # -id=>"ehidden$i",
+ # -values=>['0','1','2'],
+ # -labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ # -default=>substr($data->{'hidden'}." ",2,1),
+ # -size=>1,
+ # -multiple=>0,
+ # );
$row_data{tagsubfieldinput} = "<input type=\"hidden\" name=\"tagsubfield\" value=\"".$data->{'tagsubfield'}."\" id=\"tagsubfield\" />";
$row_data{tagsubfield} = $data->{'tagsubfield'};
$row_data{liblibrarian} = CGI::escapeHTML($data->{'liblibrarian'});
-value => 1,
-label => '');
$row_data{row} = $i;
- $row_data{toggle} = $toggle;
push(@loop_data, \%row_data);
$i++;
}
);
$row_data{ohidden} = CGI::scrolling_list(-name=>'ohidden',
-id=>"ohidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>"0",
+ #-values=>['0','1','2'],
+ #-labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ -values=>['0','-5'],
+ -labels => {'0'=>'Show All','-5'=>'Hide All',},
+ #-default=>"0",
+ -default=>$data->{'hidden'},
+ #-default=>"-5",
-size=>1,
-multiple=>0,
);
- $row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden',
- -id=>"ihidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>"0",
- -size=>1,
- -multiple=>0,
- );
- $row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden',
- -id=>"ehidden$i",
- -values=>['0','1','2'],
- -labels => {'0'=>'Show','1'=>'Show Collapsed',
- '2' =>'Hide',
- },
- -default=>"0",
- -size=>1,
- -multiple=>0,
- );
- $row_data{tagsubfieldinput} =
- "<label><input type=\"text\" name=\"tagsubfield\" value=\""
- . $data->{'tagsubfield'}
- . "\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" /></label>";
+ #$row_data{ihidden} = CGI::scrolling_list(-name=>'ihidden',
+ # -id=>"ihidden$i",
+ # -values=>['0','1','2'],
+ # -labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ # -default=>"0",
+ # -size=>1,
+ # -multiple=>0,
+ # );
+ #$row_data{ehidden} = CGI::scrolling_list(-name=>'ehidden',
+ # -id=>"ehidden$i",
+ # -values=>['0','1','2'],
+ # -labels => {'0'=>'Show','1'=>'Show Collapsed',
+ # '2' =>'Hide',
+ # },
+ # -default=>"0",
+ # -size=>1,
+ # -multiple=>0,
+ # );
+ $row_data{tagsubfieldinput} = "<input type=\"text\" name=\"tagsubfield\" value=\"".$data->{'tagsubfield'}."\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" />";
+ $row_data{tagsubfieldinput} =
+ "<label><input type=\"text\" name=\"tagsubfield\" value=\""
+ . $data->{'tagsubfield'}
+ . "\" size=\"1\" id=\"tagsubfield\" maxlength=\"1\" /></label>";
$row_data{tagsubfield} = $data->{'tagsubfield'};
$row_data{liblibrarian} = "";
$row_data{libopac} = "";
-tabindex=>'',
-multiple=>0,
);
- $row_data{toggle} = $toggle;
$row_data{row} = $i;
push(@loop_data, \%row_data);
}
- $template->param('use-heading-flags-p' => 1);
- $template->param('heading-edit-subfields-p' => 1);
+ $template->param('use_heading_flags_p' => 1);
+ $template->param('heading_edit_subfields_p' => 1);
$template->param(action => "Edit subfields",
tagfield => $tagfield,
tagfieldinput => "<input type=\"hidden\" name=\"tagfield\" value=\"$tagfield\" />",
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
- my $dbh = C4::Context->dbh;
$template->param(tagfield => "$input->param('tagfield')");
# my $sth=$dbh->prepare("replace auth_subfield_structure (authtypecode,tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,seealso,authorised_value,frameworkcode,value_builder,hidden,isurl)
# values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
my @seealso = $input->param('seealso');
my @hidden;
my @ohidden = $input->param('ohidden');
- my @ihidden = $input->param('ihidden');
- my @ehidden = $input->param('ehidden');
+ #my @ihidden = $input->param('ihidden');
+ #my @ehidden = $input->param('ehidden');
my @authorised_values = $input->param('authorised_value');
my $authtypecode = $input->param('authtypecode');
my @frameworkcodes = $input->param('frameworkcode');
my $authorised_value =$authorised_values[$i];
my $frameworkcode =$frameworkcodes[$i];
my $value_builder=$value_builder[$i];
- my $hidden = $ohidden[$i].$ihidden[$i].$ehidden[$i]; #collate from 3 hiddens;
+ #my $hidden = $ohidden[$i].$ihidden[$i].$ehidden[$i]; #collate from 3 hiddens;
+ my $hidden = $ohidden[$i]; #collate from 3 hiddens;
my $isurl = $input->param("isurl$i")?1:0;
if ($liblibrarian) {
unless (C4::Context->config('demo') eq 1) {
}
}
}
- $sth_insert->finish;
- $sth_update->finish;
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=auth_subfields_structure.pl?tagfield=$tagfield&authtypecode=$authtypecode\"></html>";
exit;
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
- my $dbh = C4::Context->dbh;
my $sth=$dbh->prepare("select * from auth_subfield_structure where tagfield=? and tagsubfield=? and authtypecode=?");
$sth->execute($tagfield,$tagsubfield,$authtypecode);
my $data=$sth->fetchrow_hashref;
- $sth->finish;
$template->param(liblibrarian => $data->{'liblibrarian'},
tagsubfield => $data->{'tagsubfield'},
delete_link => $script_name,
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
- my $dbh = C4::Context->dbh;
unless (C4::Context->config('demo') eq 1) {
my $sth=$dbh->prepare("delete from auth_subfield_structure where tagfield=? and tagsubfield=? and authtypecode=?");
$sth->execute($tagfield,$tagsubfield,$authtypecode);
- $sth->finish;
}
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=auth_subfields_structure.pl?tagfield=$tagfield&authtypecode=$authtypecode\"></html>";
exit;
################## DEFAULT ##################################
} else { # DEFAULT
my ($count,$results)=string_search($tagfield,$authtypecode);
- my $toggle=1;
my @loop_data = ();
for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
- if ($toggle eq 1){
- $toggle=0;
- } else {
- $toggle=1;
- }
my %row_data; # get a fresh hash for the row data
$row_data{tagfield} = $results->[$i]{'tagfield'};
$row_data{tagsubfield} = $results->[$i]{'tagsubfield'};
$row_data{hidden} = $results->[$i]{'hidden'} if($results->[$i]{'hidden'} gt "000") ;
$row_data{isurl} = $results->[$i]{'isurl'};
$row_data{delete} = "$script_name?op=delete_confirm&tagfield=$tagfield&tagsubfield=".$results->[$i]{'tagsubfield'}."&authtypecode=$authtypecode";
- $row_data{toggle} = $toggle;
if ($row_data{tab} eq -1) {
$row_data{subfield_ignored} = 1;
}