[LON-CAPA-cvs] cvs: loncom /interface loncoursedata.pm lonnavmaps.pm lonquickgrades.pm

bowersj2 lon-capa-cvs@mail.lon-capa.org
Fri, 28 Mar 2003 18:14:59 -0000


This is a MIME encoded message

--bowersj21048875299
Content-Type: text/plain

bowersj2		Fri Mar 28 13:14:59 2003 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm loncoursedata.pm lonquickgrades.pm 
  Log:
  Take the request parameter out of the navmap->new call.
  
  
--bowersj21048875299
Content-Type: text/plain
Content-Disposition: attachment; filename="bowersj2-20030328131459.txt"

Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.167 loncom/interface/lonnavmaps.pm:1.168
--- loncom/interface/lonnavmaps.pm:1.167	Tue Mar 25 17:35:58 2003
+++ loncom/interface/lonnavmaps.pm	Fri Mar 28 13:14:59 2003
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.167 2003/03/25 22:35:58 albertel Exp $
+# $Id: lonnavmaps.pm,v 1.168 2003/03/28 18:14:59 bowersj2 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -42,7 +42,6 @@
 # Jeremy Bowers ... lots of days
 
 package Apache::lonnavmaps;
-use vars qw($test @refsToUntie %navmaphash %parmhash);
 
 use strict;
 use Apache::Constants qw(:common :http);
@@ -96,34 +95,6 @@
 # And a special case in the nav map; what to do when the assignment
 # is not yet done and due in less then 24 hours
 my $hurryUpColor = "#FF0000";
-$test = 'abc';
-sub cleanup {
-    &Apache::lonnet::logthis("Cleanup called.");
-    &Apache::lonnet::logthis("refs size".scalar(@refsToUntie));
-    &Apache::lonnet::logthis("test is ".$test);
-    $test = '467';
-    if (tied(%navmaphash)){
-	&Apache::lonnet::logthis('Cleanup navmaps: navmaphash');
-        unless (untie(%navmaphash)) {
-	    &Apache::lonnet::logthis('Failed cleanup navmaps: navmaphash');
-        }
-    }
-    if (tied(%parmhash)){
-	&Apache::lonnet::logthis('Cleanup navmaps: parmhash');
-        unless (untie(%parmhash)) {
-	    &Apache::lonnet::logthis('Failed cleanup navmaps: parmhash');
-        }
-    }
-    # Apparently, if you take a reference to a tied hash, both the 
-    # original hash and the tied hash must be untied. Bleh.
-    for my $ref (@refsToUntie) {
-        &Apache::lonnet::logthis('Cleanup navmaps: reference');
-        unless (untie(%$ref)) {
-            &Apache::lonnet::logthis('Failed cleanup navmaps: reference');
-        }
-    }
-    @refsToUntie = ();
-}
 
 sub handler {
     my $r = shift;
@@ -154,7 +125,7 @@
     $r->send_http_header;
 
     # Create the nav map
-    my $navmap = Apache::lonnavmaps::navmap->new($r, 
+    my $navmap = Apache::lonnavmaps::navmap->new(
                         $ENV{"request.course.fn"}.".db",
                         $ENV{"request.course.fn"}."_parms.db", 1, 1);
 
@@ -231,19 +202,7 @@
                           'suppressNavmap' => 1,
                           'r' => $r});
 
-    #$navmap->untieHashes();
-
-    if (tied(%navmaphash)) { 
-        $r->print("Dang it.");
-    } else {
-        $r->print("It's out.");
-    }
-
-    if (tied(%parmhash)) { 
-        $r->print("Dang it.");
-    } else {
-        $r->print("It's out.");
-    }
+    $navmap->untieHashes();
 
     $r->print("</body></html>");
     $r->rflush();
@@ -1274,7 +1233,16 @@
 
 =over 4
 
-=item * B<new>(responseObject, navHashFile, parmHashFile, genCourseAndUserOptions, genMailDiscussStatus): Binds a new navmap object to the compiled nav map hash and parm hash given as filenames. responseObject is the Apache response object (typically $r). genCourseAndUserOptions is a flag saying whether the course options and user options hash should be generated. This is for when you are using the parameters of the resources that require them; see documentation in resource object documentation. genMailDiscussStatus causes the nav map to retreive information about the email and discussion status of resources. Returns the navmap object if this is successful, or B<undef> if not. You must check for undef; errors will occur when you try to use the other methods otherwise.
+=item * B<new>(navHashFile, parmHashFile, genCourseAndUserOptions, 
+  genMailDiscussStatus): Binds a new navmap object to the compiled nav map 
+  hash and parm hash given as filenames. genCourseAndUserOptions is a flag 
+  saying whether the course options and user options hash should be generated. 
+  This is for when you are using the parameters of the resources that require 
+  them; see documentation in resource object documentation. genMailDiscussStatus 
+  causes the nav map to retreive information about the email and discussion 
+  status of resources. Returns the navmap object if this is successful, or 
+  B<undef> if not. You must check for undef; errors will occur when you try 
+  to use the other methods otherwise.
 
 =item * B<getIterator>(first, finish, filter, condition): See iterator documentation below.
 
@@ -1289,7 +1257,6 @@
     my $class = ref($proto) || $proto;
     my $self = {};
 
-    $self->{RESPONSE} = shift;
     $self->{NAV_HASH_FILE} = shift;
     $self->{PARM_HASH_FILE} = shift;
     $self->{GENERATE_COURSE_USER_OPT} = shift;
@@ -1305,31 +1272,24 @@
 
     # tie the nav hash
 
-    if (!(tie(%Apache::lonnavmaps::navmaphash, 'GDBM_File', $self->{NAV_HASH_FILE},
+    my %navmaphash;
+    my %parmhash;
+    if (!(tie(%navmaphash, 'GDBM_File', $self->{NAV_HASH_FILE},
               &GDBM_READER(), 0640))) {
         return undef;
     }
     
-    if (!(tie(%Apache::lonnavmaps::parmhash, 'GDBM_File', $self->{PARM_HASH_FILE},
+    if (!(tie(%parmhash, 'GDBM_File', $self->{PARM_HASH_FILE},
               &GDBM_READER(), 0640)))
     {
         untie $self->{PARM_HASH};
         return undef;
     }
 
-    $self->{NAV_HASH} = \%Apache::lonnavmaps::navmaphash;
-    $self->{PARM_HASH} = \%Apache::lonnavmaps::parmhash;
-    push @Apache::lonnavmaps::refsToUntie, $self->{NAV_HASH};
-    push @Apache::lonnavmaps::refsToUntie, $self->{PARM_HASH};
-    &Apache::lonnet::logthis("refstountie ".scalar(@Apache::lonnavmaps::refsToUntie));
-    &Apache::lonnet::logthis("navmaps test".$Apache::lonnavmaps::test);
-    $Apache::lonnavmaps::test = '123';
-    &Apache::lonnet::logthis("navmaps test".$Apache::lonnavmaps::test);
+    $self->{NAV_HASH} = \%navmaphash;
+    $self->{PARM_HASH} = \%parmhash;
     $self->{INITED} = 0;
 
-    $self->{RESPONSE}->register_cleanup(\&Apache::lonnavmaps::cleanup);
-    Apache::lonnet::logthis("Pushed cleanup.");
-
     bless($self);
         
     return $self;
@@ -1472,17 +1432,10 @@
 
 # unties the hash when done
 sub untieHashes {
-#    my $self = shift;
-#    untie $self->{NAV_HASH};
-#    untie $self->{PARM_HASH};
-#    &Apache::lonnavmaps::cleanup();
+    my $self = shift;
+    untie $self->{NAV_HASH};
+    untie $self->{PARM_HASH};
 }
-
-# when the object is destroyed, be sure to untie all the hashes we tied.
-#sub DESTROY {
-#    my $self = shift;
-#    $self->untieHashes();
-#}
 
 # Private method: Does the given resource (as a symb string) have
 # current discussion? Returns 0 if chat/mail data not extracted.
Index: loncom/interface/loncoursedata.pm
diff -u loncom/interface/loncoursedata.pm:1.64 loncom/interface/loncoursedata.pm:1.65
--- loncom/interface/loncoursedata.pm:1.64	Fri Mar 28 10:19:35 2003
+++ loncom/interface/loncoursedata.pm	Fri Mar 28 13:14:59 2003
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: loncoursedata.pm,v 1.64 2003/03/28 15:19:35 matthew Exp $
+# $Id: loncoursedata.pm,v 1.65 2003/03/28 18:14:59 bowersj2 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -104,7 +104,7 @@
     my $fn=$ENV{'request.course.fn'};
     ##
     ## use navmaps
-    my $navmap = Apache::lonnavmaps::navmap->new(Apache->request,$fn.".db",
+    my $navmap = Apache::lonnavmaps::navmap->new($fn.".db",
                                                  $fn."_parms.db",1,0);
     if (!defined($navmap)) {
         return 'Can not open Coursemap';
Index: loncom/interface/lonquickgrades.pm
diff -u loncom/interface/lonquickgrades.pm:1.12 loncom/interface/lonquickgrades.pm:1.13
--- loncom/interface/lonquickgrades.pm:1.12	Sun Mar 23 02:12:41 2003
+++ loncom/interface/lonquickgrades.pm	Fri Mar 28 13:14:59 2003
@@ -64,7 +64,7 @@
     $r->send_http_header;
 
     # Create the nav map
-    my $navmap = Apache::lonnavmaps::navmap->new($r,
+    my $navmap = Apache::lonnavmaps::navmap->new(
                         $ENV{"request.course.fn"}.".db",
                         $ENV{"request.course.fn"}."_parms.db", 1, 0);
 

--bowersj21048875299--