use warnings;
use CGI;
+
use C4::Auth;
use C4::Context;
use C4::Koha;
use IO::File;
use YAML::Syck qw();
$YAML::Syck::ImplicitTyping = 1;
+$YAML::Syck::ImplicitUnicode = 1; # force utf-8 for preference encoding
our $lang;
# use Smart::Comments;
foreach my $piece ( @$line ) {
if ( ref( $piece ) eq 'HASH' ) {
+ if ( !$piece->{'pref'} ){ next; }
if ( $piece->{'pref'} =~ /^$searchfield$/i ) {
my ( undef, $LINES ) = TransformPrefsToHTML( $data, $searchfield );
sub matches {
my ( $text, $terms ) = @_;
- return !grep( { $text !~ /$_/i } @$terms );
+ if ( $text ) { return !grep( { $text !~ /$_/i } @$terms ); }
}
my $dbh = C4::Context->dbh;
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { parameters => 1 },
+ flagsrequired => { parameters => 'parameters_remaining_permissions' },
debug => 1,
}
);
my @TABS;
if ( $op eq 'search' ) {
- my $searchfield = $input->param( 'searchfield' );
+ my $searchfield = $input->param('searchfield');
+ utf8::decode($searchfield);
- $searchfield =~ s/[^a-zA-Z0-9_ -]//g;
+ $searchfield =~ s/\p{IsC}//g;
+ $searchfield =~ s/\s+/ /;
+ $searchfield =~ s/^\s+//;
+ $searchfield =~ s/\s+$//;
$template->param( searchfield => $searchfield );