Diff for /loncom/interface/lonwhatsnew.pm between versions 1.37 and 1.38.2.2

version 1.37, 2005/12/15 00:53:29 version 1.38.2.2, 2005/12/22 22:39:49
Line 109  sub handler { Line 109  sub handler {
 sub display_main_box {  sub display_main_box {
     my ($r,$command,$checkallowed) = @_;      my ($r,$command,$checkallowed) = @_;
     my $domain=&Apache::loncommon::determinedomain();      my $domain=&Apache::loncommon::determinedomain();
     my $tabbg=&Apache::loncommon::designparm('coordinator.tabbg',$domain);      my $function = &Apache::loncommon::get_users_function();
       my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);
   
     $r->print('<table width="100%" border="0" cellpadding="5" cellspacing="0"><tr><td width="100%">');      $r->print('<table width="100%" border="0" cellpadding="5" cellspacing="0"><tr><td width="100%">');
   
     my %threshold_titles = (      my %threshold_titles = (
Line 136  sub display_main_box { Line 138  sub display_main_box {
                (&Apache::lonnet::allowed('opa',$env{'request.course.id'}))) {                 (&Apache::lonnet::allowed('opa',$env{'request.course.id'}))) {
         &display_interval_config($r,\%interval_titles);          &display_interval_config($r,\%interval_titles);
     } else {      } else {
         &display_actions_box($r,$command,\%threshold_titles,\%interval_titles,   &display_actions_box($r,$tabbg,$command,\%threshold_titles,
                                                      $cdom,$crs,$checkallowed);       \%interval_titles,$cdom,$crs,$checkallowed);
     }      }
     $r->print(<<END_OF_BLOCK);      $r->print(<<END_OF_BLOCK);
   </td>    </td>
Line 171  function change_display(caller,change) { Line 173  function change_display(caller,change) {
 function changeAll(change) {  function changeAll(change) {
 END  END
         foreach my $item (keys(%{$checkallowed})) {          foreach my $item (keys(%{$checkallowed})) {
             $scripttag.='document.visible.display_'.$item.'.value=change'."\n";              if ($$checkallowed{$item}) {
                   $scripttag.='document.visible.display_'.$item.'.value=change'.
                               "\n";
               }
         }          }
         $scripttag.='document.visible.submit();          $scripttag.='document.visible.submit();
 }  }
Line 196  ENDHEAD Line 201  ENDHEAD
 #-------------------------------  #-------------------------------
                                                                                                                                                                   
 sub display_actions_box() {  sub display_actions_box() {
     my ($r,$command,$threshold_titles,$interval_titles,$cdom,$crs,      my ($r,$tabbg,$command,$threshold_titles,$interval_titles,
                                                            $checkallowed) = @_;   $cdom,$crs,$checkallowed) = @_;
   
     my $rowColor1 = "#ffffff";      my $rowColor1 = "#ffffff";
     my $rowColor2 = "#eeeeee";      my $rowColor2 = "#eeeeee";
   
Line 234  sub display_actions_box() { Line 240  sub display_actions_box() {
     my $needitems = 0;      my $needitems = 0;
     my $boxcount = 0;      my $boxcount = 0;
   
     my $domain=&Apache::loncommon::determinedomain();  
     my $function;  
     if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {  
         $function='coordinator';  
     }  
     if ($env{'request.role'}=~/^(su|dc|ad|li)/) {  
         $function='admin';  
     }  
   
     my %threshold = (      my %threshold = (
                       av_attempts => 2,                        av_attempts => 2,
                       degdiff => 0.5,                        degdiff => 0.5,
                       numstudents => 2,                        numstudents => 2,
                      );                       );
   
     my $pgbg=&Apache::loncommon::designparm($function.'.pgbg',$domain);  
     my $tabbg=&Apache::loncommon::designparm($function.'.tabbg',$domain);  
   
     unless ($cid) {      unless ($cid) {
         $r->print('<br /><b><center>'.$lt{'yacc'}.'</center></b><br /><br />');          $r->print('<br /><b><center>'.$lt{'yacc'}.'</center></b><br /><br />');
         return;          return;
Line 635  sub get_discussions { Line 629  sub get_discussions {
                     $hidden = $$discussiondata{$id.':'.$ressymb.':hidden'};                      $hidden = $$discussiondata{$id.':'.$ressymb.':hidden'};
                     $hiddenflag = 1;                      $hiddenflag = 1;
                 }                  }
             }              } elsif (grep/^deleted$/,@keys) {
             if (grep/^deleted$/,@keys) {  
                 unless ($deletedflag) {                  unless ($deletedflag) {
                     $deleted = $$discussiondata{$id.':'.$ressymb.':deleted'};                      $deleted = $$discussiondata{$id.':'.$ressymb.':deleted'};
                     $deletedflag = 1;                      $deletedflag = 1;
                 }                  }
             }              } else { 
             if ($deletedflag && $hiddenflag) {                  unless (($hidden =~/\.$id\./) || ($deleted =~/\.$id\./)) {
                 last;                      if ($prevread <$$discussiondata{$id.':'.$ressymb.':timestamp'}) {
             }  
         }  
         for (my $id=$version; $id>0; $id--) {  
             unless (($hidden =~/\.$id\./) || ($deleted =~/\.$id\./)) {  
                 if ($prevread <$$discussiondata{$id.':'.$ressymb.':timestamp'}) {  
                     unless((exists($$discussiondata{$id.':'.$ressymb.':hidden'})) ||  
                          (exists($$discussiondata{$id.':'.$ressymb.':deleted'}))) {  
   
                         $unreadcount ++;                          $unreadcount ++;
                         $$unread{$ressymb}{$unreadcount} = $id.': '.                          $$unread{$ressymb}{$unreadcount} = $id.': '.
                                  $$discussiondata{$id.':'.$ressymb.':subject'};                                   $$discussiondata{$id.':'.$ressymb.':subject'};
Line 803  sub get_curr_interval { Line 788  sub get_curr_interval {
     my $interval;      my $interval;
     my %settings = &Apache::lonnet::dump('nohist_whatsnew',$uname,$udom,$cid,':interval');      my %settings = &Apache::lonnet::dump('nohist_whatsnew',$uname,$udom,$cid,':interval');
     my ($tmp) = %settings;      my ($tmp) = %settings;
     if ($tmp =~ /^Error/) {  
         &logthis();      unless ($tmp =~ /^(con_lost|error|no_such_host)/i) {
     } else {  
         $interval = $settings{$cid.':interval'};          $interval = $settings{$cid.':interval'};
     }      }
     return $interval;      return $interval;
Line 946  sub checkversions { Line 930  sub checkversions {
     my ($cdom,$crs,$navmap,$changed,$starttime) = @_;      my ($cdom,$crs,$navmap,$changed,$starttime) = @_;
     my %changes=&Apache::lonnet::dump('versionupdate',$cdom,$crs);      my %changes=&Apache::lonnet::dump('versionupdate',$cdom,$crs);
     my ($tmp) = keys(%changes);      my ($tmp) = keys(%changes);
     if ($tmp =~/^error\:/) {      unless ($tmp =~ /^(con_lost|error|no_such_host)/i) {
         &Apache::lonnet::logthis('Error retrieving version update information: '.   if (keys(%changes) > 0) {
         $tmp.' for '.$cdom.'_'.$crs.' in whatsnew');  
     } else {  
         if (keys(%changes) > 0) {  
             foreach my $key (sort(keys(%changes))) {              foreach my $key (sort(keys(%changes))) {
                 if ($changes{$key} > $starttime) {                  if ($changes{$key} > $starttime) {
                     my $version;                      my $version;
Line 1232  sub get_display_settings { Line 1213  sub get_display_settings {
     my ($uname,$udom,$cid) = @_;      my ($uname,$udom,$cid) = @_;
     my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid);       my %settings = &Apache::lonnet::dump('nohist_whatsnew',$udom,$uname,$cid); 
     my ($tmp) = keys(%settings);      my ($tmp) = keys(%settings);
     if ($tmp=~/^error:/) {      if ($tmp=~/^(con_lost|error|no_such_host)/i) {
         %settings = ();          %settings = ();
         unless ($tmp eq 'error: 2 tie(GDBM) Failed while attempting dump') {   unless ($tmp =~ /^error: 2 /) {
             &logthis('Error retrieving whatsnew settings: '.$tmp.' for '.      &Apache::lonnet::logthis('Error retrieving whatsnew settings: '.
                                 $uname.':'.$udom.' for course: '.$cid);       $tmp.' for '.$uname.':'.$udom.
         }       ' for course: '.$cid);
   
    }
     }      }
     return %settings;      return %settings;
 }  }

Removed from v.1.37  
changed lines
  Added in v.1.38.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>