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

sakharuk lon-capa-cvs@mail.lon-capa.org
Mon, 10 May 2004 14:10:03 -0000


sakharuk		Mon May 10 10:10:03 2004 EDT

  Modified files:              
    /loncom/interface	lonbulletin.pm 
  Log:
  Bulletin Board discussion can be printed as a separate resource.
  
  
Index: loncom/interface/lonbulletin.pm
diff -u loncom/interface/lonbulletin.pm:1.22 loncom/interface/lonbulletin.pm:1.23
--- loncom/interface/lonbulletin.pm:1.22	Wed May  5 19:04:57 2004
+++ loncom/interface/lonbulletin.pm	Mon May 10 10:10:03 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Bulletin Board Handler
 #
-# $Id: lonbulletin.pm,v 1.22 2004/05/05 23:04:57 raeburn Exp $
+# $Id: lonbulletin.pm,v 1.23 2004/05/10 14:10:03 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -41,14 +41,21 @@
     &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;
     return OK if $r->header_only;
+    my $target=$ENV{'form.grade_target'};
+    &Apache::lonnet::logthis("MY TARGET IS DEFINED AS $target");
+
 
 #    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['previous']);
 # ------------------------------------------------------------ Print the screen
-    $r->print(<<ENDDOCUMENT);
+    if ($target ne 'tex') {
+	$r->print(<<ENDDOCUMENT);
 <html>
 <head>
 <title>The LearningOnline Network with CAPA</title>
 ENDDOCUMENT
+} else {
+	$r->print(&Apache::lonprintout::print_latex_header($ENV{'form.latex_type'}));
+    }
     my (undef,undef,undef,undef,$marker)=split(/\//,$r->uri);
 # Is this even in a course?
     unless ($ENV{'request.course.id'}) {
@@ -92,11 +99,11 @@
     my %syllabus=&Apache::lonnet::dump('bulletinpage_'.$marker,$dom,$crs);
        
 # --------------------------------------- There is such a user, get environment
-
-    $r->print('</head>'.&Apache::loncommon::bodytag
-            ("Bulletin Board/Discussion",$forcestudent,$addentries,'',$dom,
-             $ENV{'form.register'}));
-
+    if ($target ne 'tex') {   
+	$r->print('</head>'.&Apache::loncommon::bodytag
+                  ("Bulletin Board/Discussion",$forcestudent,$addentries,'',$dom,
+                  $ENV{'form.register'}));
+    }
     my $allowed=&Apache::lonnet::allowed('mdc',$ENV{'request.course.id'});
 
     my $privileged=$allowed;
@@ -104,14 +111,14 @@
  	$forcestudent='student';
     }
 
-       if ($forcestudent) { $allowed=0; }
+      if ($forcestudent or $target eq 'tex') { $allowed=0; }
  
-       if ($allowed) {
+      if ($allowed) {
           $r->print(
 	  '<p>'.
 &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'<br /><a href="'.$r->uri.'?forcestudent=1"><font size="+1">'.&mt('Show Student View').'</font></a>'.
  &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'</p>');
-      }  elsif ($privileged) {
+      }  elsif ($privileged and $target ne 'tex') {
 	  $r->print('<a href="'.$r->uri.'?forceedit=edit"><font size="+1">'
 		    .&mt('Edit').'</font></a>');
       } 
@@ -165,17 +172,29 @@
 	      $message=&Apache::lontexconvert::msgtexconverted($message);
             unless ($_ eq 'aaa_title') {
 		if (($_ ne 'bbb_content') || ($allowed)) {
-                    $r->print('<h3>'.$syllabusfields{$_}.'</h3>');
+		    if ($target ne 'tex') {
+			$r->print('<h3>'.$syllabusfields{$_}.'</h3>');
+		    } else {
+			$r->print('\\\\\textbf{'.$syllabusfields{$_}.'}\\\\');
+		    }
+		}
+		if ($target ne 'tex') {
+		    $r->print('<blockquote>'.
+                              $message.'</blockquote>');
+		} else {
+		    $r->print(' '.&Apache::lonxml::xmlparse($r,'tex',$message).' ');
 		}
-                 $r->print('<blockquote>'.
-                        $message.'</blockquote>');
                  if ($allowed) {
                 $r->print('<br /><textarea cols="80" rows="10" name="'.$_.'">'.
 			   $syllabus{$_}.
            '</textarea><input type="submit" name="storesyl" value="'.&mt('Store').'" />');
 	        }
 	    } else {
-		$r->print('<h1>'.$message.'</h1>');
+                if ($target ne 'tex') {
+		    $r->print('<h1>'.$message.'</h1>');
+		} else {
+		    $r->print('\\\\\textbf{'.&Apache::lonxml::xmlparse($r,'tex',$message).'}\\\\');
+		}
                 if ($allowed) {
                  $r->print(
                 '<br />'.&mt('Topic').'<br /><textarea cols="80" rows="2" name="'.$_.'">'.
@@ -188,13 +207,20 @@
        if ($allowed) {
 	   $r->print('</form>');
        }
-       $r->print('</p>');
+       if ($target ne 'tex') {$r->print('</p>');} else {$r->print('\\\\');}
     } else {
        $r->print('<p>'.&mt('No page information provided.').'</p>');
     }
-    $r->print(&Apache::lonfeedback::list_discussion
-	      ('board','OPEN','bulletin___'.$marker.'___'.
-	       $r->uri).'</body></html>');
+    if ($target ne 'tex') {
+	$r->print(&Apache::lonfeedback::list_discussion
+	           ('board','OPEN','bulletin___'.$marker.'___'.
+	            $r->uri));
+    } else {
+	$r->print('\\\\'.&Apache::lonxml::xmlparse($r,'tex',&Apache::lonfeedback::list_discussion
+	           ('board','OPEN','bulletin___'.$marker.'___'.
+	            $r->uri)));
+    }
+    if ($target ne 'tex') {$r->print('</body></html>');} else {$r->print('\end{document}');}
     return OK;
 }