Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.46 and 1.47

version 1.46, 2006/12/06 23:44:33 version 1.47, 2006/12/07 01:11:38
Line 224  function folder_choice(targetform,caller Line 224  function folder_choice(targetform,caller
    <table border="0" cellspacing="2" cellpadding="2">     <table border="0" cellspacing="2" cellpadding="2">
     <tr>      <tr>
      <td align="center"><b>'.$lt{'fold'}.'</b><br />'."\n".       <td align="center"><b>'.$lt{'fold'}.'</b><br />'."\n".
  &Apache::loncommon::select_form($folder,'folder',%formhash).'           &Apache::loncommon::select_form($folder,'folder',%formhash).'
      </td>       </td>
      <td align="center"><b>'.$lt{'show'}.'</b><br />       <td align="center"><b>'.$lt{'show'}.'</b><br />
       <select name="interdis">'.        <select name="interdis">'.
       join("\n",map { '<option value="'.$_.'"'.            join("\n",map { '<option value="'.$_.'"'.
  ($_==$interdis?' selected="selected"':'').'>'.$_.'</option>' }        ($_==$interdis?' selected="selected"':'').'>'.$_.'</option>' 
    (10,20,50,100,200)).'</select>   }
          (10,20,50,100,200)).'</select>
      </td>       </td>
      <td align="center"><b>'.$lt{'actn'}.'</b><br />'.       <td align="center"><b>'.$lt{'actn'}.'</b><br />'.
     &Apache::loncommon::select_form('view','folderaction',%actions).'           &Apache::loncommon::select_form('view','folderaction',%actions).'
      </td><td><br />'.       </td><td><br />'.
     '<input type="button" value="'.$lt{'go'}.'" onClick="javascript:folder_choice(this.form,'."'change'".');" />      '<input type="button" value="'.$lt{'go'}.'" onClick="javascript:folder_choice(this.form,'."'change'".');" />
      </td>       </td>
Line 252  function folder_choice(targetform,caller Line 253  function folder_choice(targetform,caller
 </table>'."\n".  </table>'."\n".
     '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'.      '<input type="hidden" name="sortedby" value="'.$env{'form.sortedby'}.'" />'.
     '<input type="hidden" name="renamed" value="" />'.      '<input type="hidden" name="renamed" value="" />'.
     ($folder=~/^(new|critical)/?'</form>':'');          ($folder=~/^(new|critical)/?'</form>':'');
     return $output;      return $output;
 }  }
   
 sub get_permanent_folders {  sub get_permanent_folders {
     my %permfolders = &Apache::lonlocal::texthash (      my %permfolders = 
                                 ''         => 'INBOX',   &Apache::lonlocal::texthash(''         => 'INBOX',
                                 'trash'    => 'TRASH',      'trash'    => 'TRASH',
                                 'new'      => 'New Messages Only',      'new'      => 'New Messages Only',
                                 'critical' => 'Critical',      'critical' => 'Critical',
                                 'sent'     => 'Sent Messages',      'sent'     => 'Sent Messages',
     );      );
     return %permfolders;      return %permfolders;
 }  }
   
Line 323  sub makefolder { Line 324  sub makefolder {
         while (defined($userfolders{$folder_id})) {          while (defined($userfolders{$folder_id})) {
             $folder_id ++;              $folder_id ++;
         }          }
         my %folderinfo = (          my %folderinfo = ( id      => $folder_id,
                            id => $folder_id,                             created => time, );
                            created => time,  
                          );  
         $outcome =            $outcome =  
         &Apache::lonnet::put('email_folders',{$newfolder => \%folderinfo,      &Apache::lonnet::put('email_folders',{$newfolder => \%folderinfo,
                                              "\0".'idcount' => $folder_id});    "\0".'idcount' => $folder_id});
         my $releaseresult = &release_msgfolder_lock();          my $releaseresult = &release_msgfolder_lock();
         if ($releaseresult ne 'ok') {          if ($releaseresult ne 'ok') {
             $warning = $releaseresult;              $warning = $releaseresult;
         }          }
     } else {      } else {
         $outcome = 'Error - could not obtain lock on email folders record.';          $outcome = 
       &mt('Error - could not obtain lock on email folders record.');
     }      }
     return ($outcome,$warning);      return ($outcome,$warning);
 }  }
Line 386  sub renamefolder { Line 386  sub renamefolder {
     if (ref($userfolders{$folder}) eq 'HASH') {      if (ref($userfolders{$folder}) eq 'HASH') {
         %folderinfo = %{$userfolders{$folder}};          %folderinfo = %{$userfolders{$folder}};
     } else {      } else {
         %folderinfo = (          %folderinfo = ( id      => $folder,
                              id => $folder,                          created => $userfolders{$folder},);
                         created => $userfolders{$folder},  
                       );  
     }      }
     my $outcome =      my $outcome =
      &Apache::lonnet::put('email_folders',{$newname => \%folderinfo});       &Apache::lonnet::put('email_folders',{$newname => \%folderinfo});
Line 401  sub renamefolder { Line 399  sub renamefolder {
   
 sub get_msgfolder_lock {  sub get_msgfolder_lock {
     # get lock for mail folder counter.      # get lock for mail folder counter.
     my $lockhash = {      my $lockhash = { "\0".'lock_counter' => time, };
                   "\0".'lock_counter' => time,  
                    };  
     my $tries = 0;      my $tries = 0;
     my $gotlock = &Apache::lonnet::newput('email_folders',$lockhash);      my $gotlock = &Apache::lonnet::newput('email_folders',$lockhash);
     while (($gotlock ne 'ok') && $tries <3) {      while (($gotlock ne 'ok') && $tries <3) {
         $tries ++;          $tries ++;
         sleep 1;          sleep(1);
         $gotlock = &Apache::lonnet::newput('email_folders',$lockhash);          $gotlock = &Apache::lonnet::newput('email_folders',$lockhash);
     }      }
     return $gotlock;      return $gotlock;

Removed from v.1.46  
changed lines
  Added in v.1.47


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