[LON-CAPA-cvs] cvs: loncom /interface lonhtmlcommon.pm

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 16 Feb 2004 21:49:16 -0000


albertel		Mon Feb 16 16:49:16 2004 EDT

  Modified files:              
    /loncom/interface	lonhtmlcommon.pm 
  Log:
  - better solution to the "no request object" problem
  
  
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.47 loncom/interface/lonhtmlcommon.pm:1.48
--- loncom/interface/lonhtmlcommon.pm:1.47	Fri Feb 13 16:12:12 2004
+++ loncom/interface/lonhtmlcommon.pm	Mon Feb 16 16:49:16 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.47 2004/02/13 21:12:12 sakharuk Exp $
+# $Id: lonhtmlcommon.pm,v 1.48 2004/02/16 21:49:16 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -630,35 +630,19 @@
     my ($r, $title, $heading, $number_to_do)=@_;
     #the whole function called through timeout is due to issues
     #in mozilla Read BUG #2665 if you want to know the whole story
-    if ($r ne '') {
-	$r->print('<script>'.
-        "var popwin;
-         function openpopwin () {
-         popwin=open(\'\',\'popwin\',\'width=400,height=100\');".
-        "popwin.document.writeln(\'<html><head><title>$title</title></head>".
-	          "<body bgcolor=\"#88DDFF\">".
-                  "<h4>$heading</h4>".
-                  "<form name=popremain>".
-                  '<input type="text" size="55" name="remaining" value="'.
-	          &mt('Starting').'"></form>'.
-                  "</body></html>\');".
-        "popwin.document.close();}".
-        "\nwindow.setTimeout(openpopwin,0)</script>");
-    } else {
-	print('<script>'.
-        "var popwin;
-         function openpopwin () {
-         popwin=open(\'\',\'popwin\',\'width=400,height=100\');".
-        "popwin.document.writeln(\'<html><head><title>$title</title></head>".
-	          "<body bgcolor=\"#88DDFF\">".
-                  "<h4>$heading</h4>".
-                  "<form name=popremain>".
-                  '<input type="text" size="55" name="remaining" value="'.
-	          &mt('Starting').'"></form>'.
-                  "</body></html>\');".
-        "popwin.document.close();}".
-      "\nwindow.setTimeout(openpopwin,0)</script>");
-    }
+    &r_print($r,'<script>'.
+    "var popwin;
+     function openpopwin () {
+     popwin=open(\'\',\'popwin\',\'width=400,height=100\');".
+    "popwin.document.writeln(\'<html><head><title>$title</title></head>".
+	      "<body bgcolor=\"#88DDFF\">".
+              "<h4>$heading</h4>".
+              "<form name=popremain>".
+              '<input type="text" size="55" name="remaining" value="'.
+	      &mt('Starting').'"></form>'.
+              "</body></html>\');".
+    "popwin.document.close();}".
+    "\nwindow.setTimeout(openpopwin,0)</script>");
 
     my %prog_state;
     $prog_state{'done'}=0;
@@ -666,22 +650,15 @@
     $prog_state{'laststart'}=&Time::HiRes::time();
     $prog_state{'max'}=$number_to_do;
 
-    if ($r ne '') {$r->rflush();}
     return %prog_state;
 }
 
 # update progress
 sub Update_PrgWin {
     my ($r,$prog_state,$displayString)=@_;
-    if ($r ne '') {
-	$r->print('<script>popwin.document.popremain.remaining.value="'.
-                  $displayString.'";</script>');
-    } else {
-	print('<script>popwin.document.popremain.remaining.value="'.
-              $displayString.'";</script>');
-    }
+    &r_print($r,'<script>popwin.document.popremain.remaining.value="'.
+	     $displayString.'";</script>');
     $$prog_state{'laststart'}=&Time::HiRes::time();
-    if ($r ne '') {$r->rflush();}
 }
 
 # increment progress state
@@ -729,31 +706,28 @@
     if ($user_browser eq 'explorer' && $user_os =~ 'mac') {
         $lasttime = '';
     }
-    if ($r ne '') {
-	$r->print('<script>popwin.document.popremain.remaining.value="'.
-	          $$prog_state{'done'}.'/'.$$prog_state{'max'}.
-	          ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.'</script>');
-    } else {
-	print('<script>popwin.document.popremain.remaining.value="'.
-	      $$prog_state{'done'}.'/'.$$prog_state{'max'}.
-	      ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.'</script>');
-    }
+    &r_print($r,'<script>popwin.document.popremain.remaining.value="'.
+	     $$prog_state{'done'}.'/'.$$prog_state{'max'}.
+	     ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.'</script>');
     $$prog_state{'laststart'}=&Time::HiRes::time();
-    if ($r ne '') {$r->rflush();}
 }
 
 # close Progress Line
 sub Close_PrgWin {
     my ($r,$prog_state)=@_;
-    if ($r ne '') {
-	$r->print('<script>popwin.close()</script>'."\n");
-    } else {
-	print('<script>popwin.close()</script>'."\n");
-    }
+    &r_print($r,'<script>popwin.close()</script>'."\n");
     undef(%$prog_state);
-    if ($r ne '') {$r->rflush();} 
 }
 
+sub r_print {
+    my ($r,$to_print)=@_;
+    if ($r) {
+	$r->print($to_print);
+	$r->rflush();
+    } else {
+	print($to_print);
+    }
+}
 
 # ------------------------------------------------------- Puts directory header