--- loncom/interface/loncommon.pm	2001/10/26 17:29:28	1.8
+++ loncom/interface/loncommon.pm	2001/11/29 23:16:29	1.10
@@ -1,5 +1,30 @@
-# The LearningOnline Network
+# The LearningOnline Network with CAPA
 # a pile of common routines
+#
+# $Id: loncommon.pm,v 1.10 2001/11/29 23:16:29 albertel Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
 # 2/13 Guy Albertelli
 
 # Makes a table out of the previous attempts
@@ -61,6 +86,31 @@ sub get_previous_attempt {
   }
 }
 
+sub get_student_view {
+  my ($symb,$username,$domain,$courseid) = @_;
+  my ($map,$id,$feedurl) = split(/___/,$symb);
+  my (%old,%moreenv);
+  my @elements=('symb','courseid','domain','username');
+  foreach my $element (@elements) {
+    $old{$element}=$ENV{'form.grade_'.$element};
+    $moreenv{'form.grade_'.$element}=eval '$'.$element #'
+  }
+  &Apache::lonnet::appenv(%moreenv);
+  my $userview=&Apache::lonnet::ssi('/res/'.$feedurl);
+  &Apache::lonnet::delenv('form.grade_');
+  foreach my $element (@elements) {
+    $ENV{'form.grade_'.$element}=$old{$element};
+  }
+  $userview=~s/\<body[^\>]*\>//gi;
+  $userview=~s/\<\/body\>//gi;
+  $userview=~s/\<html\>//gi;
+  $userview=~s/\<\/html\>//gi;
+  $userview=~s/\<head\>//gi;
+  $userview=~s/\<\/head\>//gi;
+  $userview=~s/action\s*\=/would_be_action\=/gi;
+  return $userview;
+}
+
 sub get_unprocessed_cgi {
   my ($query)= @_;
   map {
@@ -79,5 +129,12 @@ sub cacheheader {
   return $output;
 }
 
+sub no_cache {
+  my ($r) = @_;
+  my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime);
+  $r->no_cache(1);
+  $r->header_out("Pragma" => "no-cache");
+  $r->header_out("Expires" => $date);
+}
 1;
 __END__;