X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FOutput.pm;h=8d12552c0bc499d9e9324485409228e12673ec85;hb=367c4fb8815bfe4a01869a25bcd8222989c15dcd;hp=41a0a2863cff6ceaba8bbe3c84addee81ed31049;hpb=481f620455d40f93a3cb37136ef2c3964497751e;p=koha_gimpoz diff --git a/C4/Output.pm b/C4/Output.pm index 41a0a2863c..8d12552c0b 100644 --- a/C4/Output.pm +++ b/C4/Output.pm @@ -33,25 +33,28 @@ use C4::Dates qw(format_date); use C4::Budgets qw(GetCurrency); use C4::Templates; -#use HTML::Template::Pro; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); BEGIN { # set the version for version checking $VERSION = 3.03; require Exporter; - @ISA = qw(Exporter); - @EXPORT_OK = qw(&is_ajax ajax_fail); # More stuff should go here instead - %EXPORT_TAGS = ( all =>[qw(&pagination_bar - &output_with_http_headers &output_html_with_http_headers)], - ajax =>[qw(&output_with_http_headers is_ajax)], - html =>[qw(&output_with_http_headers &output_html_with_http_headers)] - ); + + @ISA = qw(Exporter); + @EXPORT_OK = qw(&is_ajax ajax_fail); # More stuff should go here instead + %EXPORT_TAGS = ( all =>[qw(&themelanguage &gettemplate setlanguagecookie pagination_bar + &output_with_http_headers &output_ajax_with_http_headers &output_html_with_http_headers)], + ajax =>[qw(&output_with_http_headers &output_ajax_with_http_headers is_ajax)], + html =>[qw(&output_with_http_headers &output_html_with_http_headers)] + ); push @EXPORT, qw( - &output_html_with_http_headers &output_with_http_headers FormatData FormatNumber pagination_bar + &themelanguage &gettemplate setlanguagecookie getlanguagecookie pagination_bar + ); + push @EXPORT, qw( + &output_html_with_http_headers &output_ajax_with_http_headers &output_with_http_headers FormatData FormatNumber ); -} +} =head1 NAME @@ -292,25 +295,34 @@ sub output_with_http_headers($$$$;$) { $options->{'Content-Style-Type' } = 'text/css'; $options->{'Content-Script-Type'} = 'text/javascript'; } - # remove SUDOC specific NSB NSE - $data =~ s/\x{C2}\x{98}|\x{C2}\x{9C}/ /g; - $data =~ s/\x{C2}\x{88}|\x{C2}\x{89}/ /g; - + # We can't encode here, that will double encode our templates, and xslt # We need to fix the encoding as it comes out of the database, or when we pass the variables to templates # utf8::encode($data) if utf8::is_utf8($data); + $data =~ s/\&\;amp\; /\&\; /g; print $query->header($options), $data; } sub output_html_with_http_headers ($$$;$) { my ( $query, $cookie, $data, $status ) = @_; - $data =~ s/\&\;amp\; /\&\; /g; output_with_http_headers( $query, $cookie, $data, 'html', $status ); } -sub is_ajax () { + +sub output_ajax_with_http_headers { + my ( $query, $js ) = @_; + print $query->header( + -type => 'text/javascript', + -charset => 'UTF-8', + -Pragma => 'no-cache', + -'Cache-Control' => 'no-cache', + -expires => '-1d', + ), $js; +} + +sub is_ajax { my $x_req = $ENV{HTTP_X_REQUESTED_WITH}; return ( $x_req and $x_req =~ /XMLHttpRequest/i ) ? 1 : 0; }