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; |