Diff for /loncom/interface/lonpreferences.pm between versions 1.42 and 1.43

version 1.42, 2004/05/11 10:42:41 version 1.43, 2004/05/25 22:00:21
Line 634  sub discussionchanger { Line 634  sub discussionchanger {
     my $user       = $ENV{'user.name'};      my $user       = $ENV{'user.name'};
     my $domain     = $ENV{'user.domain'};      my $domain     = $ENV{'user.domain'};
     my %userenv = &Apache::lonnet::get      my %userenv = &Apache::lonnet::get
         ('environment',['discdisplay']);          ('environment',['discdisplay','discmarkread']);
     my $discdisplay=$userenv{'discdisplay'};      my $discdisp = 'allposts';
     my $discchange = 'unread';      my $discmark = 'onmark';
     my $alllong = &mt('all posts');  
     my $unreadlong = &mt('only unread posts');      if (defined($userenv{'discdisplay'})) {
     my $discbutton = $unreadlong;          unless ($userenv{'discdisplay'} eq '') { 
     my $currdisc = $alllong;              $discdisp = $userenv{'discdisplay'};
     if ($discdisplay eq 'unread') {          }
         $discchange = 'allposts';      }
         $discbutton = $alllong;      if (defined($userenv{'discmarkread'})) {
         $currdisc = $unreadlong;          unless ($userenv{'discdisplay'} eq '') { 
               $discmark = $userenv{'discmarkread'};
           }
       }
   
       my $newdisp = 'unread';
       my $newmark = 'ondisp';
   
       my $function = &Apache::loncommon::get_users_function();
       my $color = &Apache::loncommon::designparm($function.'.tabbg',
                                                       $ENV{'user.domain'});
       my %lt = &Apache::lonlocal::texthash(
           'pref' => 'Display Preference',
           'curr' => 'Current setting ',
           'actn' => 'Action',
           'sdpf' => 'Set display preferences for discussion posts for both bulletin boards and individual resources in all your courses.',
           'prca' => 'Preferences can be set that determine',
           'whpo' => 'Which posts are displayed when you display a bulletin board or resource, and',
           'unwh' => 'Under what circumstances posts are identfied as "New"',
           'allposts' => 'All posts',
           'unread' => 'New posts only',
           'ondisp' => 'Once displayed',
           'onmark' => 'Once marked as read',
           'disa' => 'Posts displayed?',
           'npmr' => 'New posts cease to be identified as "New"?',
           'thde'  => 'The preferences you set here can be overridden within each individual discussion.',
           'chgt' => 'Change to '
       );
       my $dispchange = $lt{'unread'};
       my $markchange = $lt{'ondisp'};
       my $currdisp = $lt{'allposts'};
       my $currmark = $lt{'onmark'};
   
       if ($discdisp eq 'unread') {
           $dispchange = $lt{'allposts'};
           $currdisp = $lt{'unread'};
           $newdisp = 'allposts';
     }      }
     $r->print(<<ENDLSCREEN);  
       if ($discmark eq 'ondisp') {
           $markchange = $lt{'onmark'};
           $currmark = $lt{'ondisp'};
           $newmark = 'onmark';
       }
       
       $r->print(<<"END");
 <form name="server" action="/adm/preferences" method="post">  <form name="server" action="/adm/preferences" method="post">
 <input type="hidden" name="action" value="verify_and_change_discussion" />  <input type="hidden" name="action" value="verify_and_change_discussion" />
 <br />  <br />
 ENDLSCREEN  $lt{'sdpf'}<br/> $lt{'prca'}  <ol><li>$lt{'whpo'}</li><li>$lt{'unwh'}</li></ol> 
     $r->print(  <br />
 &mt('You can set a display preference for discussion posts for both bulletin boards and individual resources in all your courses.').'<br/>'.  <br />
 &mt('This default preference can be overridden within each individual discussion.').'<br/><br />'.  <table border="0" cellpadding="0" cellspacing="0">
 &mt('Your discussion post display preference is currently set to display').' '.$currdisc.    <tr>
 '.<br /><br /><input type="hidden" name="discdisplay" value="'.    <td width="100%" bgcolor="#000000">
 $discchange.'" /><input type="submit" value="'.     <table width="100%" border="0" cellpadding="1" cellspacing="0">
 &mt('Change to display').' '.$discbutton.'" /></form>'      <tr>
     );       <td width="100%" bgcolor="#000000">
         <table border="0" cellpadding="3" cellspacing="3" bgcolor="#FFFFFF">
          <tr bgcolor="$color">
           <td><b>$lt{'pref'}</b></td>
           <td><b>$lt{'curr'}</b></td>
           <td><b>$lt{'actn'}?</b></td>
          </tr>
          <tr bgcolor="#dddddd">
          <td>$lt{'disa'}</td>
          <td>$lt{$discdisp}</td>
          <td><input type="checkbox" name="discdisp" /><input type="hidden" name="newdisp" value="$newdisp" />&nbsp;$lt{'chgt'} "$dispchange"</td>
         </tr><tr bgcolor="#eeeeee">
          <td>$lt{'npmr'}</td>
          <td>$lt{$discmark}</td>
          <td><input type="checkbox" name="discmark" /><input type="hidden" name="newmark" value="$newmark" />&nbsp;$lt{'chgt'} "$markchange"</td>
         </tr>
        </table>
       </td>
      </tr>
     </table>
    </td>
   </tr>
   </table>
   <br />
   <br />
   <input type="submit" name="sub" value="Store Changes" />
   <br />
   <br />
   Note: $lt{'thde'}
   </form>
   END
 }  }
                                                                                                                                                                                                                                   
 sub verify_and_change_discussion {  sub verify_and_change_discussion {
     my $r = shift;      my $r = shift;
     my $user       = $ENV{'user.name'};      my $user     = $ENV{'user.name'};
     my $domain     = $ENV{'user.domain'};      my $domain   = $ENV{'user.domain'};
 # Discussion  
     my $discdisplay  = $ENV{'form.discdisplay'};  
     my $message='';      my $message='';
     if ($discdisplay eq 'unread') {      if (defined($ENV{'form.discdisp'}) ) {
         &Apache::lonnet::put('environment',{'discdisplay' => $discdisplay});          my $newdisp  = $ENV{'form.newdisp'};
         &Apache::lonnet::appenv('environment.discdisplay' => $discdisplay);          if ($newdisp eq 'unread') {
         $message='Discussions set to display only unread posts';              $message .='In discussions: only new posts will be displayed.<br/>';
     } else {              &Apache::lonnet::put('environment',{'discdisplay' => $newdisp});
         &Apache::lonnet::del('environment',['discdisplay']);              &Apache::lonnet::appenv('environment.discdisplay' => $newdisp);
         &Apache::lonnet::delenv('environment\.discdisplay');          } else {
         $message='Discussions set to display all posts';              $message .= 'In discussions: all posts will be displayed.<br/>';
               &Apache::lonnet::del('environment',['discdisplay']);
               &Apache::lonnet::delenv('environment\.discdisplay');
           }
       }
       if (defined($ENV{'form.discmark'}) ) {
           my $newmark = $ENV{'form.newmark'};
           if ($newmark eq 'ondisp') {
              $message.='In discussions: new posts will be cease to be identified as "new" after display.<br/>';
               &Apache::lonnet::put('environment',{'discmarkread' => $newmark});
               &Apache::lonnet::appenv('environment.discmarkread' => $newmark);
           } else {
               $message.='In discussions: posts will be identified as "new" until marked as read by the reader.<br/>';
               &Apache::lonnet::del('environment',['discmarkread']);
               &Apache::lonnet::delenv('environment\.discmarkread');
           }
     }      }
     $r->print(<<ENDVCSCREEN);      $r->print(<<ENDVCSCREEN);
 </p>  </p>
Line 804  sub handler { Line 890  sub handler {
                       href => '/adm/preferences',                        href => '/adm/preferences',
                       breadcrumb =>                         breadcrumb => 
                             { href => '/adm/preferences?action=changediscussions',                              { href => '/adm/preferences?action=changediscussions',
                               text => 'Change Discussions'},                                text => 'Change Discussion Preferences'},
                       subroutine => \&discussionchanger,                        subroutine => \&discussionchanger,
                   },                    },
                     { action => 'verify_and_change_discussion',                      { action => 'verify_and_change_discussion',
                       breadcrumb =>                        breadcrumb =>
                           { href => '/adm/preferences?action=changediscussions',                            { href => '/adm/preferences?action=changediscussions',
                             text => 'Change Discussions'},                              text => 'Change Discussion Preferences'},
                       printmenu => 'yes',                        printmenu => 'yes',
                       subroutine => \&verify_and_change_discussion, }                        subroutine => \&verify_and_change_discussion, }
                     ));                      ));

Removed from v.1.42  
changed lines
  Added in v.1.43


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