Diff for /loncom/interface/lonwhatsnew.pm between versions 1.84 and 1.98.2.1

version 1.84, 2008/12/20 01:39:47 version 1.98.2.1, 2009/12/14 22:24:31
Line 42  use Time::Local; Line 42  use Time::Local;
 use GDBM_File;  use GDBM_File;
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA;  use LONCAPA;
   use HTML::Entities;
   
 #----------------------------  #----------------------------
 # handler  # handler
Line 99  sub handler { Line 100  sub handler {
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/whatsnew',              ({href=>'/adm/whatsnew',
               text=>"Display Action Items"});                text=>"What's New?"});
     if (($command eq 'chgthreshold') && $checkallowed{'abovethreshold'}) {      if (($command eq 'chgthreshold') && $checkallowed{'abovethreshold'}) {
         &Apache::lonhtmlcommon::add_breadcrumb          &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>'/adm/whatsnew?command=chgthreshold&refpage='.$refpage,              ({href=>'/adm/whatsnew?command=chgthreshold&refpage='.$refpage,
Line 194  sub display_main_box { Line 195  sub display_main_box {
     );      );
     my %initpage = &Apache::lonlocal::texthash (      my %initpage = &Apache::lonlocal::texthash (
                      firstres => "first resource in the $lctype",                       firstres => "first resource in the $lctype",
                      whatsnew => "what's new? page",                       whatsnew => "What's New Page",
                      userpref => 'your general user preferences',                       userpref => 'your general user preferences',
                      coursespecific => "specific setting for this $lctype",                       coursespecific => "specific setting for this $lctype",
                    );                     );
Line 267  END Line 268  END
 ';  ';
     }      }
     my $course_type=&Apache::loncommon::course_type();      my $course_type=&Apache::loncommon::course_type();
     return &Apache::loncommon::start_page($course_type.' Action Items',      return &Apache::loncommon::start_page("What's New?",
   $scripttag);    $scripttag);
 }  }
   
Line 281  END Line 282  END
 sub display_actions_box {  sub display_actions_box {
     my ($r,$command,$refpage,$threshold_titles,$interval_titles,$initpage,      my ($r,$command,$refpage,$threshold_titles,$interval_titles,$initpage,
         $cdom,$crs,$checkallowed) = @_;          $cdom,$crs,$checkallowed) = @_;
       my $custommenu = &Apache::loncommon::needs_gci_custom();
     my $udom = $env{'user.domain'};      my $udom = $env{'user.domain'};
     my $uname = $env{'user.name'};      my $uname = $env{'user.name'};
     my $cid = $env{'request.course.id'};      my $cid = $env{'request.course.id'};
Line 288  sub display_actions_box { Line 290  sub display_actions_box {
     my $lctype = lc($crstype);      my $lctype = lc($crstype);
     my %stulabel = (      my %stulabel = (
                     'Course' => 'students',                      'Course' => 'students',
                     'Group' => 'members',                      'Community' => 'members',
                    );                     );
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                  'yacc' => 'You are accessing an invalid course',                   'yacc' => 'You are accessing an invalid course',
Line 327  sub display_actions_box { Line 329  sub display_actions_box {
     my %threshold = ();      my %threshold = ();
     my %pagedesc = &Apache::lonlocal::texthash (      my %pagedesc = &Apache::lonlocal::texthash (
                      firstres => 'First resource',                       firstres => 'First resource',
                      whatsnew => "What's New? page",                       whatsnew => "What's New Page",
                      userpref => 'user preference',                       userpref => 'user preference',
                      coursespecific => $lctype.' only',                       coursespecific => $lctype.' only',
                      default => 'default',                       default => 'default',
Line 341  sub display_actions_box { Line 343  sub display_actions_box {
         return;          return;
     }      }
   
     if ($refpage eq 'start') {      my $header = '';
       if (($refpage eq 'start') && (!$custommenu)) {
         if (tie(my %bighash,'GDBM_File',$env{'request.course.fn'}.'.db',          if (tie(my %bighash,'GDBM_File',$env{'request.course.fn'}.'.db',
             &GDBM_READER(),0640)) {              &GDBM_READER(),0640)) {
             my $furl=$bighash{'first_url'};              my $furl=&HTML::Entities::encode($bighash{'first_url'},'"<>&');
             untie(%bighash);              untie(%bighash);
             $r->print('<span style="font-size: larger;"><a href="'.$furl.'">'.$lt{'gtfr'}.              $header .= '<b><a href="'.$furl.'">'.$lt{'gtfr'}.
                   '</a></span><br />');                    '</a></b><br />';
         }          }
     }      }
     $r->print(&mt('Page set to be displayed after you have selected a role in this '.$lctype).'.'      unless ($custommenu) {
           $header .= &mt('Page set to be displayed after you have selected a role in this '.$lctype).'.'
               .' <span class="LC_nobreak">'                .' <span class="LC_nobreak">'
               .&mt('Currently: [_1].','<i>'.$currinit.'</i>')                .&mt('Currently: [_1].','<i>'.$currinit.'</i>')
               .'&nbsp;&nbsp;'                .'&nbsp;&nbsp;'
               .&mt('[_1]Change[_2] for just [_3]this course[_4] or for all [_5]your courses[_6].'                .&mt('[_1]Change[_2] for just [_3]this '.$lctype.'[_4] or for [_5]all your courses/communities[_6].'
                   ,'<b>'                    ,'<b>'
                   ,'</b>'                    ,'</b>'
                   ,'<a href="/adm/whatsnew?command=courseinit&amp;refpage='.$refpage.'">'                    ,'<a href="/adm/whatsnew?command=courseinit&amp;refpage='.$refpage.'">'
                   ,'</a>'                    ,'</a>'
                   ,'<a href="/adm/preferences?action=changecourseinit&amp;refpage='.$refpage.'">'                    ,'<a href="/adm/preferences?action=changecourseinit&amp;refpage='.$refpage.'">'
                   ,'</a>')                    ,'</a>')
               .' </span><br /><hr />');                .' </span>';
   
           $r->print(&Apache::loncommon::head_subbox($header));
       }
   
     if ($command eq 'reset') {      if ($command eq 'reset') {
         $result = &process_reset($cdom,$crs);          $result = &process_reset($cdom,$crs);
Line 378  sub display_actions_box { Line 385  sub display_actions_box {
     unless ($store_result eq 'ok') {       unless ($store_result eq 'ok') { 
         &Apache::lonnet::logthis('Error saving whatsnew settings: '.          &Apache::lonnet::logthis('Error saving whatsnew settings: '.
             $store_result.' for '.'user '.$uname.':'.$udom.' in '.$lctype.' '.$cid);              $store_result.' for '.'user '.$uname.':'.$udom.' in '.$lctype.' '.$cid);
         $result .= &mt('Unable to save visibility settings due to [_1]',          $result .= '<span class="LC_error">'
                        $store_result);                     .&mt('Unable to save visibility settings due to [_1]',
                          $store_result)
                     .'</span>';
     }      }
   
     if ($result) {      if ($result) {
         $r->print($result.'<hr width="100%" />');          $r->print($result.'<hr />');
     }      }
     $r->rflush();      $r->rflush();
   
Line 468  sub display_actions_box { Line 477  sub display_actions_box {
     $threshold{'av_attempts'},$threshold{'degdiff'},      $threshold{'av_attempts'},$threshold{'degdiff'},
     '<br />',$threshold{'numstudents'});      '<br />',$threshold{'numstudents'});
   
     my @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles');      my @actionorder;
       if ($custommenu) {
           @actionorder = ('coursenormalmail','coursecritmail','newroles','oldroles');
       } else {
           @actionorder = ('handgrading','haserrors','abovethreshold','versionchanges','coursediscussion','coursenormalmail','coursecritmail','newroles','oldroles');
       }
   
     foreach my $key (keys(%{$checkallowed})) {      foreach my $key (keys(%{$checkallowed})) {
  if ($key =~ /_section$/) { next; }   if ($key =~ /_section$/) { next; }
Line 529  sub display_actions_box { Line 543  sub display_actions_box {
     }      }
     my $halfway = 4;      my $halfway = 4;
 #    my $halfway = int($totalboxes/2) + $totalboxes%2;  #    my $halfway = int($totalboxes/2) + $totalboxes%2;
       if ($custommenu) {
           $halfway = 2;
       }
     foreach my $actionitem (@actionorder) {      foreach my $actionitem (@actionorder) {
         if ($$checkallowed{$actionitem}) {          if ($$checkallowed{$actionitem}) {
             if ($displayed == $halfway) {              if ($displayed == $halfway) {
Line 594  sub display_threshold_config { Line 611  sub display_threshold_config {
                  &Apache::loncommon::end_data_table_row());                   &Apache::loncommon::end_data_table_row());
     }      }
     $r->print(&Apache::loncommon::end_data_table()."\n".      $r->print(&Apache::loncommon::end_data_table()."\n".
           '<br /><input type="submit" name="threshold" value="'.&mt('Make changes').'" />            '<br /><input type="submit" name="threshold" value="'.&mt('Save').'" />
                  <input type="hidden" name="command" value="update" />                   <input type="hidden" name="command" value="update" />
                  <input type="hidden" name="refpage" value="'.$refpage.'" />                   <input type="hidden" name="refpage" value="'.$refpage.'" />
                </form>');                 </form>');
Line 650  sub display_interval_config { Line 667  sub display_interval_config {
     }      }
     $r->print('</select>&nbsp;&nbsp;      $r->print('</select>&nbsp;&nbsp;
                <input type="submit" name="display" value="'.                 <input type="submit" name="display" value="'.
                &mt('Change interval').'" /></form>');                 &mt('Save').'" /></form>');
     return;      return;
 }  }
   
Line 681  function toggle_countunread(choice) { Line 698  function toggle_countunread(choice) {
 }  }
 </script>');  </script>');
     $r->print('<br />'      $r->print('<br />'
              .&mt('Choose whether or not to display a count of the number of new posts for each resource or bulletin board which has unread posts.')               .&mt('Choose whether or not to display a count of the number of new posts for each resource or discussion board which has unread posts.')
              .'<br />'               .'<br />'
              .&mt("This can increase the time taken to gather data for the '<i>What's New?</i>' page by a few seconds.")               .&mt("This can increase the time taken to gather data for the [_1]What's New Page[_2] by a few seconds.",'<i>','</i>')
              .'&nbsp;&nbsp;'               .'&nbsp;&nbsp;'
              .&mt('Currently set to [_1].','<b>'.$current.'</b>.')               .&mt('Currently set to [_1].','<b>'.$current.'</b>.')
     );      );
Line 725  sub courseinit_config { Line 742  sub courseinit_config {
                              'anis' => 'and is set to display',                               'anis' => 'and is set to display',
                              'padc' => 'Page display controlled by',                               'padc' => 'Page display controlled by',
                              'chce' => 'Choose '.$lctype.' entry',                               'chce' => 'Choose '.$lctype.' entry',
                              'moce' => 'Modify '.$lctype.' entry',                               'moce' => 'Save',
     );      );
     $r->print(<<"END");       $r->print(<<"END"); 
 <br />$lt{'chwp'}  <br />$lt{'chwp'}
Line 1161  sub getnormalmail { Line 1178  sub getnormalmail {
         if (($fromcid) && ($fromcid eq $env{'request.course.id'})) {          if (($fromcid) && ($fromcid eq $env{'request.course.id'})) {
             if (defined($sendtime) && $sendtime!~/error/) {              if (defined($sendtime) && $sendtime!~/error/) {
                 my $numsendtime = $sendtime;                  my $numsendtime = $sendtime;
                 $sendtime = &Apache::lonlocal::locallocaltime($sendtime);  
                 if ($status eq 'new') {                  if ($status eq 'new') {
                     $msgcount ++;                  $sendtime = &Apache::lonlocal::locallocaltime($sendtime);
       $msgcount ++;
                     if ($shortsubj eq '') {                      if ($shortsubj eq '') {
                         $shortsubj = &mt('No subject');                          $shortsubj = &mt('No subject');
                     }                      }
Line 1699  sub display_coursediscussion { Line 1716  sub display_coursediscussion {
             my $feedurl=&Apache::lonfeedback::get_feedurl($ressymb);              my $feedurl=&Apache::lonfeedback::get_feedurl($ressymb);
             my $disclink = $feedurl.'?symb='.$$unread{$ressymb}{symb};              my $disclink = $feedurl.'?symb='.$$unread{$ressymb}{symb};
             if ($feedurl =~ /bulletinboard/) {              if ($feedurl =~ /bulletinboard/) {
                 $type = 'Bulletin Board';                  $type = 'Discussion Board';
             }              }
             if ($$unread{$ressymb}{'enclink'}) {              if ($$unread{$ressymb}{'enclink'}) {
                 $disclink = $$unread{$ressymb}{'enclink'}.'?symb='.$$unread{$ressymb}{'encsymb'};                  $disclink = $$unread{$ressymb}{'enclink'}.'?symb='.$$unread{$ressymb}{'encsymb'};
Line 1952  sub start_box { Line 1969  sub start_box {
          if ($$show{$caller}) {           if ($$show{$caller}) {
              $r->print('               $r->print('
               <tr>                <tr>
                 <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgthreshold&refpage='.$refpage.'">'.$lt{'chth'}.'</a></td>                  <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgthreshold&amp;refpage='.$refpage.'">'.$lt{'chth'}.'</a></td>
               </tr>');                </tr>');
          }           }
      } elsif (($caller eq 'versionchanges') && ($$show{$caller})) {       } elsif (($caller eq 'versionchanges') && ($$show{$caller})) {
          if ($$show{$caller}) {           if ($$show{$caller}) {
              $r->print('               $r->print('
               <tr>                <tr>
                 <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chginterval&refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>                  <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chginterval&amp;refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>
               </tr>');                </tr>');
          }           }
      } elsif ($caller eq 'coursediscussion') {       } elsif ($caller eq 'coursediscussion') {
          if ($$show{$caller}) {           if ($$show{$caller}) {
              $r->print('               $r->print('
               <tr>                <tr>
                 <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgdisc&refpage='.$refpage.'">'.$lt{'chop'}.'</a></td>                  <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgdisc&amp;refpage='.$refpage.'">'.$lt{'chop'}.'</a></td>
               </tr>');                </tr>');
          }           }
      } elsif (($caller eq 'newroles') && ($$show{$caller})) {       } elsif (($caller eq 'newroles') && ($$show{$caller})) {
          if ($$show{$caller}) {           if ($$show{$caller}) {
              $r->print('               $r->print('
               <tr>                <tr>
                 <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgnewroleinterval&refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>                  <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgnewroleinterval&amp;refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>
               </tr>');                </tr>');
          }           }
      } elsif (($caller eq 'oldroles') && ($$show{$caller})) {       } elsif (($caller eq 'oldroles') && ($$show{$caller})) {
          if ($$show{$caller}) {           if ($$show{$caller}) {
              $r->print('               $r->print('
               <tr>                <tr>
                 <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgoldroleinterval&refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>                  <td class="LC_subheader" colspan="2"><a href="/adm/whatsnew?command=chgoldroleinterval&amp;refpage='.$refpage.'">'.$lt{'chin'}.'</a></td>
               </tr>');                </tr>');
          }           }
      }       }

Removed from v.1.84  
changed lines
  Added in v.1.98.2.1


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