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

raeburn lon-capa-cvs@mail.lon-capa.org
Thu, 30 Nov 2006 04:05:47 -0000


raeburn		Wed Nov 29 23:05:47 2006 EDT

  Modified files:              
    /loncom/interface	lonfeedback.pm 
  Log:
  Posts to bulletin boards can now be added to a user's course blog (previously this was only the case for replies).
  
  State of "Add to course blog" checkbox is preserved when user uploads attachments at secondary screen before returning to main composition screen to submit post.
  
  Fixed a typo in &mt('Re: ').
  
  
Index: loncom/interface/lonfeedback.pm
diff -u loncom/interface/lonfeedback.pm:1.223 loncom/interface/lonfeedback.pm:1.224
--- loncom/interface/lonfeedback.pm:1.223	Wed Nov 29 14:31:48 2006
+++ loncom/interface/lonfeedback.pm	Wed Nov 29 23:05:47 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Feedback
 #
-# $Id: lonfeedback.pm,v 1.223 2006/11/29 19:31:48 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.224 2006/11/30 04:05:47 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -851,11 +851,16 @@
     if ($group ne '') {
         $postingform .='<input type="hidden" name="group" value="'.$group.'" />';
     }
+    my ($blockblog) = &blocking_posts('blogs');
+    if (!$blockblog) {
+        $postingform .= &add_blog_checkbox();
+    }
     $postingform .= "</form>\n";
     if ($outputtarget ne 'tex') {
         $postingform .= &generate_attachments_button('',$attachnum,$ressymb,
                                                      $now,$currnewattach,
-                                                     $currdelold,'',$mode);
+                                                     $currdelold,'',$mode,
+                                                     $blockblog);
         if ((ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)) {
             $newattachmsg = '<br /><b>'.$lt{'newa'}.'</b><br />';
             if (@{$currnewattach} > 1) {
@@ -1556,7 +1561,7 @@
               if ($idx > 0) {
                   my %subversions = ();
                   &get_post_versions(\%subversions,$contrib{$idx.':subject'},1,$numoldver);
-                  $subject = &mt('Re: ')..$subversions{$numoldver};
+                  $subject = &mt('Re: ').$subversions{$numoldver};
               }
               $subject = &HTML::Entities::encode($subject,'<>&"');
           } else {
@@ -1731,7 +1736,8 @@
         if (@currnewattach > 0) {
             $attachnum += @currnewattach;
         }
-        $r->print(&generate_attachments_button($postidx,$attachnum,$ressymb,$now,\@currnewattach,\@currdelold,$numoldver));
+        my ($blockblog) = &blocking_posts('blogs');
+        $r->print(&generate_attachments_button($postidx,$attachnum,$ressymb,$now,\@currnewattach,\@currdelold,$numoldver,'',$blockblog));
         if ($attachnum > 0) {
             if (@currnewattach > 0) {
                 $newattachmsg .= '<br /><b>'.&mt('New attachments').'</b><br />';
@@ -2579,8 +2585,7 @@
         }
         my ($blockblog) = &blocking_posts('blogs');
         if (!$blockblog) {
-            $discussoptions.='<br /><label><input type="checkbox" name="blog" /> '.
-	        &mt('Add to my public course blog').'</label>';
+            $discussoptions.= &add_bog_checkbox();
         }
     }
     if ($msgoptions) { $msgoptions='<h2><img src="'.&Apache::loncommon::lonhttpdurl('/adm/lonMisc/feedback.gif').'" />'.&mt('Sending Messages').'</h2>'.$msgoptions; }
@@ -3078,7 +3083,8 @@
 }
 
 sub generate_attachments_button {
-    my ($idx,$attachnum,$ressymb,$now,$currnewattach,$deloldattach,$numoldver,$mode) = @_;
+    my ($idx,$attachnum,$ressymb,$now,$currnewattach,$deloldattach,
+        $numoldver,$mode,$blockblog) = @_;
     my $origpage = $ENV{'REQUEST_URI'};
     my $att=$attachnum.' '.&mt("attachments");
     my %lt = &Apache::lonlocal::texthash(
@@ -3090,6 +3096,9 @@
 $lt{'clic'}:&nbsp;<input type="button" value="$att"
 onClick="if (typeof(document.mailform.onsubmit)=='function') {document.mailform.onsubmit();};this.form.comment.value=escape(document.mailform.comment.value);this.form.subject.value=escape(document.mailform.subject.value);
 END
+    if (!$blockblog) {
+        $response .= 'setblogvalue();';
+    }
     unless ($mode eq 'board') {
         $response .= 'javascript:anonchk();';
     }
@@ -3229,6 +3238,26 @@
     return $newattachmenturl; 
 }
 
+sub add_blog_checkbox {
+    my ($checkstatus);
+    if ($env{'form.blog'}) {
+        $checkstatus = 'checked="checked"';
+    }
+    my $output = '
+<script type="text/javascript">
+function setblogvalue() {
+    if (document.mailform.blog.checked) {
+        document.attachment.blog.value = 1;
+    } else {
+        document.attachment.blog.value = 0;
+    }
+}
+</script><br />
+<label><input type="checkbox" name="blog" '.$checkstatus.' /> '.
+&mt('Add to my public course blog').'</label><br />'."\n";
+    return $output;
+}
+
 sub has_discussion {
     my $resourcesref = shift;
     my $navmap = Apache::lonnavmaps::navmap->new();