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

raeburn lon-capa-cvs@mail.lon-capa.org
Mon, 11 Apr 2005 12:20:23 -0000


raeburn		Mon Apr 11 08:20:23 2005 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm lonfeedback.pm lonwhatsnew.pm 
  Log:
  Add wrap_symb methods to lonnavmaps::navmap and lonnavmaps::resource to wrap bulletinboard symbs. Use method for resource in lonfeedback and lonwhatsnew to wrap symbs for bulletinboards.
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.320 loncom/interface/lonnavmaps.pm:1.321
--- loncom/interface/lonnavmaps.pm:1.320	Thu Apr  7 02:56:23 2005
+++ loncom/interface/lonnavmaps.pm	Mon Apr 11 08:20:22 2005
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.320 2005/04/07 06:56:23 albertel Exp $
+# $Id: lonnavmaps.pm,v 1.321 2005/04/11 12:20:22 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1588,11 +1588,9 @@
 	    my @allres=$navmap->retrieveResources();
 	    foreach my $resource (@allres) {
 		if ($resource->hasDiscussion()) {
-		    my $ressymb;
-		    if ($resource->symb() =~ m-(___adm/\w+/\w+)/(\d+)/bulletinboard$-) {
-			$ressymb = 'bulletin___'.$2.$1.'/'.$2.'/bulletinboard';
-		    } else {
-			$ressymb = $resource->symb();
+		    my $ressymb = $resource->symb();
+                    if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {
+                        $ressymb = $resource->wrap_symb();
 		    }
 		    $haveDisc .= $ressymb.':';
 		    $totdisc ++;
@@ -2281,7 +2279,6 @@
 sub hasDiscussion {
     my $self = shift;
     my $symb = shift;
-    
     $self->generate_email_discuss_status();
 
     if (!defined($self->{DISCUSSION_TIME})) { return 0; }
@@ -2290,12 +2287,9 @@
 
 # backward compatibility (bulletin boards used to be 'wrapped')
     my $ressymb = $symb;
-    if ($ressymb =~ m|adm/(\w+)/(\w+)/(\d+)/bulletinboard$|) {
-        unless ($ressymb =~ m|adm/wrapper/adm|) {
-            $ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard';
-        }
+    if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {
+        $ressymb = $self->wrap_symb($ressymb);
     }
-
     if ( defined ( $self->{LAST_READ}->{$ressymb} ) ) {
         return $self->{DISCUSSION_TIME}->{$ressymb} > $self->{LAST_READ}->{$ressymb};
     } else {
@@ -2307,6 +2301,19 @@
 # Private method: Does the given resource (as a symb string) have
 # current feedback? Returns the string in the feedback hash, which
 # will be false if it does not exist.
+
+sub wrap_symb {
+    my $self=shift;
+    my $symb = shift;
+    my $ressymb = $symb;
+    if ($ressymb =~ m-___(adm/\w+/\w+/)(\d+)(/bulletinboard)$-) {
+        unless ($ressymb =~ m|adm/wrapper/adm|) {
+            $ressymb = 'bulletin___'.$2.'___adm/wrapper/'.$1.$2.$3;
+        }
+    }
+    return $ressymb;
+}
+
 sub getFeedback { 
     my $self = shift;
     my $symb = shift;
@@ -3531,6 +3538,10 @@
         . '___' . $second . '___' . $symbSrc;
     return &Apache::lonnet::symbclean($symb);
 }
+sub wrap_symb {
+    my $self = shift;
+    return $self->{NAV_MAP}->wrap_symb($self->symb());
+}
 sub title { 
     my $self=shift; 
     if ($self->{ID} eq '0.0') {
Index: loncom/interface/lonfeedback.pm
diff -u loncom/interface/lonfeedback.pm:1.159 loncom/interface/lonfeedback.pm:1.160
--- loncom/interface/lonfeedback.pm:1.159	Sun Apr 10 21:07:26 2005
+++ loncom/interface/lonfeedback.pm	Mon Apr 11 08:20:22 2005
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Feedback
 #
-# $Id: lonfeedback.pm,v 1.159 2005/04/11 01:07:26 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.160 2005/04/11 12:20:22 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2867,10 +2867,8 @@
     foreach my $resource (@allres) {
         if ($resource->hasDiscussion()) {
             my $ressymb = $resource->symb();
-            if ($resource->symb() =~ m-(___adm/\w+/\w+/)(\d+)(/bulletinboard)$-) {
-                $ressymb = 'bulletin___'.$2.$1.$2.$3;
-            } else {
-                $ressymb = $resource->symb();
+            if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {
+                $ressymb = $resource->ressymb();
             }
             push @{$resourcesref}, $ressymb;
         }
@@ -3032,10 +3030,6 @@
       foreach (@resources) {
           my $ressymb=$_;
 	  &Apache::lonenc::check_decrypt(\$ressymb);
-# backward compatibility (bulletin boards used to be 'wrapped')
-          if ($ressymb =~ m/bulletin___\d+___/) {
-              $ressymb = &wrap_symb($ressymb);
-          }
           my $lastkey = $ressymb.'_lastread';
           $discinfo{$lastkey} = $env{'form.navtime'};
       }
Index: loncom/interface/lonwhatsnew.pm
diff -u loncom/interface/lonwhatsnew.pm:1.5 loncom/interface/lonwhatsnew.pm:1.6
--- loncom/interface/lonwhatsnew.pm:1.5	Thu Apr  7 02:56:23 2005
+++ loncom/interface/lonwhatsnew.pm	Mon Apr 11 08:20:23 2005
@@ -1,5 +1,5 @@
 #
-# $Id: lonwhatsnew.pm,v 1.5 2005/04/07 06:56:23 albertel Exp $
+# $Id: lonwhatsnew.pm,v 1.6 2005/04/11 12:20:23 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -425,9 +425,8 @@
         %{$$ungraded{$symb}} = ();
         my $title = $resource->compTitle();
         my $ressymb = $symb;
-        if ($ressymb =~ m-(___adm/\w+/\w+)/(\d+)/bulletinboard$-) {
-            $ressymb = &Apache::lonfeedback::wrap_symb('bulletin___'.$2.$1.'/'.
-						       $2.'/bulletinboard');
+        if ($ressymb =~ m-___adm/\w+/\w+/\d+/bulletinboard$-) {
+            $ressymb = $resource->wrap_symb();
         }
 
 # Check for unread discussion postings