use strict;
use CGI;
-use C4::Date;
+use C4::Dates;
use C4::Auth;
use C4::Context;
use C4::Output;
-use C4::Interface::CGI::Output;
sub StringSearch {
- my ($env,$searchstring,$type)=@_;
+ my ($searchstring,$type)=@_;
my $dbh = C4::Context->dbh;
$searchstring=~ s/\'/\\\'/g;
my @data=split(' ',$searchstring);
my @results;
my $cnt=0;
while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
- $cnt ++;
+ push(@results,$data);
+ $cnt++;
}
- # $sth->execute;
$sth->finish;
return ($cnt,\@results);
}
});
if ($op) {
-$template->param(script_name => $script_name,
- $op => 1); # we show only the TMPL_VAR names $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, else => 1); # we show only the TMPL_VAR names $op
}
$template->param(action => $script_name);
}
# build field list
my @SQLfieldname;
- my %line = ('value' => "LibrarianFirstname", 'text' => 'LibrarianFirstname');
- push @SQLfieldname, \%line;
- my %line = ('value' => "LibrarianSurname", 'text' => 'LibrarianSurname');
- push @SQLfieldname, \%line;
- my %line = ('value' => "LibrarianEmailaddress", 'text' => 'LibrarianEmailaddress');
- push @SQLfieldname, \%line;
- my $sth2=$dbh->prepare("SHOW COLUMNS from branches");
- $sth2->execute;
- my %line = ('value' => "", 'text' => '---BRANCHES---');
- push @SQLfieldname, \%line;
- while ((my $field) = $sth2->fetchrow_array) {
- my %line = ('value' => "branches.".$field, 'text' => "branches.".$field);
+ foreach(qw(LibrarianFirstname LibrarianSurname LibrarianEmailaddress)) {
+ my %line = ('value' => $_, 'text' => $_);
push @SQLfieldname, \%line;
}
- my $sth2=$dbh->prepare("SHOW COLUMNS from biblio");
- $sth2->execute;
- my %line = ('value' => "", 'text' => '---BIBLIO---');
- push @SQLfieldname, \%line;
- while ((my $field) = $sth2->fetchrow_array) {
- # note : %line is redefined, otherwise \%line contains the same value for every entry of the list
- my %line = ('value' => "biblio.".$field, 'text' => "biblio.".$field);
+ foreach(qw(branches biblio biblioitems)) {
+ my $sth2=$dbh->prepare("SHOW COLUMNS from $_");
+ $sth2->execute;
+ my %line = ('value' => "", 'text' => '---' . uc($_) . '---');
push @SQLfieldname, \%line;
+ while ((my $field) = $sth2->fetchrow_array) {
+ %line = ('value' => "$_.".$field, 'text' => "$_.".$field);
+ push @SQLfieldname, \%line;
+ }
}
- my $sth2=$dbh->prepare("SHOW COLUMNS from biblioitems");
- $sth2->execute;
- my %line = ('value' => "", 'text' => '---BIBLIOITEMS---');
- push @SQLfieldname, \%line;
- while ((my $field) = $sth2->fetchrow_array) {
- my %line = ('value' => "biblioitems.".$field, 'text' => "biblioitems.".$field);
- push @SQLfieldname, \%line;
- }
- my %line = ('value' => "", 'text' => '---ITEMS---');
+
+ my %line = ('value' => "", 'text' => '---ITEMS---');
push @SQLfieldname, \%line;
- my %line = ('value' => "items.content", 'text' => 'items.content');
+ %line = ('value' => "items.content", 'text' => 'items.content');
push @SQLfieldname, \%line;
my $sth2=$dbh->prepare("SHOW COLUMNS from borrowers");
$sth2->execute;
- my %line = ('value' => "", 'text' => '---BORROWERS---');
+ %line = ('value' => "", 'text' => '---BORROWERS---');
push @SQLfieldname, \%line;
while ((my $field) = $sth2->fetchrow_array) {
- my %line = ('value' => "borrowers.".$field, 'text' => "borrowers.".$field);
+ %line = ('value' => "borrowers.".$field, 'text' => "borrowers.".$field);
push @SQLfieldname, \%line;
}
if ($code) {
} else {
$template->param(adding => 1);
}
- $template->param(name => $letter->{name},title => $letter->{title},
+ $template->param(name => $letter->{name},
+ title => $letter->{title},
content => $letter->{content},
$letter->{module} => 1,
SQLfieldname => \@SQLfieldname,);
# called by add_form, used to insert/modify data in DB
} elsif ($op eq 'add_validate') {
my $dbh = C4::Context->dbh;
- my $sth=$dbh->prepare("replace letter (module,code,name,title,content) values (?,?,?,?,?)");
- $sth->execute($input->param('module'),$input->param('code'),$input->param('name'),$input->param('title'),$input->param('content'));
- $sth->finish;
- print $input->redirect("letter.pl");
- exit;
-# END $OP eq ADD_VALIDATE
+ if ($query->param('add')){
+ # need to do an insert
+ my $sth=$dbh->prepare("INSERT INTO letter (module,code,name,title,content) VALUES (?,?,?,?,?)");
+ $sth->execute(map {$input->param('module')} qw(code name title content));
+ $sth->finish;
+ }
+ else {
+ # do an update
+ my $sth=$dbh->prepare("UPDATE letter SET module=?,name=?,title=?,content=? WHERE code=?");
+ $sth->execute(map {$input->param('module')} qw(name title content code));
+ $sth->finish;
+ }
+ print $input->redirect("letter.pl");
+ exit;
################## DELETE_CONFIRM ##################################
# called by default form, used to confirm deletion of data in DB
} elsif ($op eq 'delete_confirm') {
$sth->execute($code);
my $data=$sth->fetchrow_hashref;
$sth->finish;
- $template->param(module => $data->{module});
$template->param(code => $code);
- $template->param(name => $data->{'name'});
- $template->param(content => $data->{'content'});
- # END $OP eq DELETE_CONFIRM
+ foreach(qw(module name content)) {
+ $template->param($_ => $data->{$_});
+ }
################## DELETE_CONFIRMED ##################################
# called by delete_confirm, used to effectively confirm deletion of data in DB
} elsif ($op eq 'delete_confirmed') {
my $sth=$dbh->prepare("delete from letter where module=? and code=?");
$sth->execute($module,$code);
$sth->finish;
- print $input->redirect("letter.pl");
- return;
- # END $OP eq DELETE_CONFIRMED
+ print $input->redirect("letter.pl");
+ return;
################## DEFAULT ##################################
} else { # DEFAULT
if ($searchfield ne '') {
- $template->param(search => 1);
+ $template->param(search => 1);
$template->param(searchfield => $searchfield);
}
- my $env;
- my ($count,$results)=StringSearch($env,$searchfield,'web');
+ my ($count,$results)=StringSearch($searchfield,'web');
my $toggle="white";
my @loop_data =();
for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
- if ($toggle eq 'white'){
- $toggle="#ffffcc";
- } else {
- $toggle="white";
- }
- my %row_data;
- $row_data{toggle} = $toggle;
- $row_data{module} = $results->[$i]{'module'};
- $row_data{code} = $results->[$i]{'code'};
- $row_data{name} = $results->[$i]{'name'};
- push(@loop_data, \%row_data);
+ $toggle = ($toggle eq 'white') ? "#ffffcc" : "white" ;
+ my %row_data;
+ $row_data{toggle} = $toggle;
+ foreach (qw(module code name)) {
+ $row_data{$_} = $results->[$i]{$_};
+ }
+ push(@loop_data, \%row_data);
}
$template->param(letter => \@loop_data);
} #---- END $OP eq DEFAULT