Bug 15225: [QA Follow-up] Improve changes to gethtml5media
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Wed, 16 Dec 2015 14:54:49 +0000 (15:54 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Thu, 31 Dec 2015 15:56:51 +0000 (15:56 +0000)
[1] Improve readability, add some checks.
[2] Add the public flag for OPAC use. (If a file has not been marked as
    public, we should not return it in OPAC.)

Test plan:
See original commit. No changes in behavior.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
C4/HTML5Media.pm

index 2bdb794..a53922e 100644 (file)
@@ -111,7 +111,12 @@ sub gethtml5media {
         # extension
         # check uploaded files
         if ( $HTML5Media{srcblock} =~ /\Qopac-retrieve-file.pl\E/ ) {
-            $HTML5Media{extension} = (Koha::Upload->new->get({ hashvalue => (split(/id=/, $HTML5Media{srcblock}))[1] })->{name} =~ m/([^.]+)$/)[0];
+            my ( undef, $id ) = split /id=/, $HTML5Media{srcblock};
+            next if !$id;
+            my $public = ( ( caller )[1] =~ /opac/ ) ? { public => 1 }: {};
+            my $upl = Koha::Upload->new( $public )->get({ hashvalue => $id });
+            next if !$upl || $upl->{name} !~ /\./;
+            $HTML5Media{extension} = ( $upl->{name} =~ m/([^.]+)$/ )[0];
         }
         # check remote files
         else {