[LON-CAPA-cvs] cvs: loncom(version_2_9_X) /xml lonxml.pm

raeburn raeburn@source.lon-capa.org
Sun, 04 Oct 2009 03:40:13 -0000


raeburn		Sun Oct  4 03:40:13 2009 EDT

  Modified files:              (Branch: version_2_9_X)
    /loncom/xml	lonxml.pm 
  Log:
  - Backport 1.499. 
  
  
Index: loncom/xml/lonxml.pm
diff -u loncom/xml/lonxml.pm:1.494.4.1 loncom/xml/lonxml.pm:1.494.4.2
--- loncom/xml/lonxml.pm:1.494.4.1	Thu Aug 13 04:30:56 2009
+++ loncom/xml/lonxml.pm	Sun Oct  4 03:40:13 2009
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # XML Parser Module 
 #
-# $Id: lonxml.pm,v 1.494.4.1 2009/08/13 04:30:56 raeburn Exp $
+# $Id: lonxml.pm,v 1.494.4.2 2009/10/04 03:40:13 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1706,6 +1706,21 @@
 	$request->set_last_modified(&Apache::lonnet::metadata($request->uri,
 							      'lastrevisiondate'));
     }
+    # Embedded Flash movies (e.g., from Camtasia) served from https will not display in IE
+    #   if XML config file has expired from cache.
+    if ($ENV{'SERVER_PORT'} == 443) {
+        if ($request->uri =~ /\.xml$/) {
+            my ($httpbrowser,$clientbrowser) =
+                &Apache::loncommon::decode_user_agent($request);
+            if ($clientbrowser =~ /^explorer$/i) {
+                delete $request->headers_out->{'Cache-control'};
+                delete $request->headers_out->{'Pragma'};
+                my $expiration = time + 60;
+                my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime($expiration));
+                $request->headers_out->set("Expires" => $date);
+            }
+        }
+    }
     $request->send_http_header;
     
     return OK if $request->header_only;