version 1.559, 2004/11/03 00:11:42
|
version 1.562, 2004/11/06 01:11:38
|
Line 3786 sub diskusage {
|
Line 3786 sub diskusage {
|
sub mark_as_readonly { |
sub mark_as_readonly { |
my ($domain,$user,$files,$what) = @_; |
my ($domain,$user,$files,$what) = @_; |
my %current_permissions = &Apache::lonnet::dump('file_permissions',$domain,$user); |
my %current_permissions = &Apache::lonnet::dump('file_permissions',$domain,$user); |
foreach my $file ($files) { |
foreach my $file (@{$files}) { |
$current_permissions{$file}.=':'.$what.':'; |
push(@{$current_permissions{$file}},$what); |
} |
} |
&Apache::lonnet::put('file_permissions',{ 'locked_files' => %current_permissions },$domain,$user); |
&Apache::lonnet::put('file_permissions',\%current_permissions,$domain,$user); |
return; |
return; |
} |
} |
|
|
|
#--------------------------------------------------------------Get Marked as Read Only |
|
|
|
sub get_marked_as_readonly { |
|
my ($domain,$user,$what) = @_; |
|
my %current_permissions = &Apache::lonnet::dump('file_permissions',$domain,$user); |
|
my @readonly_files = []; |
|
while ((my $file_name, my $value) = each %current_permissions) { |
|
if (ref($value) eq "ARRAY"){ |
|
foreach my $stored_what (@{$value}) { |
|
if ($stored_what eq $what) { |
|
push(@readonly_files, $file_name); |
|
} |
|
} |
|
} |
|
} |
|
return @readonly_files; |
|
} |
|
|
# ------------------------------------------------------------ Unmark as Read Only |
# ------------------------------------------------------------ Unmark as Read Only |
|
|
sub unmark_as_readonly { |
sub unmark_as_readonly { |
my ($domain,$user,$file,$what) = @_; |
# unmarks all files locked by $what |
my $current_permissions = &Apache::lonnet::get('file_permissions',$file,$domain,$user); |
# for portfolio submissions, $what contains $crsid and $symb |
$current_permissions =~ s/:$file://; |
my ($domain,$user,$what) = @_; |
&Apache::lonnet::put('file_permissions',{ $file => $current_permissions },$domain,$user); |
my %current_permissions = &Apache::lonnet::dump('file_permissions',$domain,$user); |
|
my @readonly_files = &Apache::lonnet::get_marked_as_readonly($domain,$user,$what); |
|
foreach my $file(@readonly_files){ |
|
|
|
} |
|
&Apache::lonnet::put('file_permissions',\%current_permissions,$domain,$user); |
return; |
return; |
} |
} |
|
|
Line 4844 sub get_rand_alg {
|
Line 4867 sub get_rand_alg {
|
return &latest_rnd_algorithm_id(); |
return &latest_rnd_algorithm_id(); |
} |
} |
|
|
|
sub validCODE { |
|
my ($CODE)=@_; |
|
if (defined($CODE) && $CODE ne '' && $CODE =~ /^\w+$/) { return 1; } |
|
return 0; |
|
} |
|
|
sub getCODE { |
sub getCODE { |
if (defined($ENV{'form.CODE'})) { return $ENV{'form.CODE'}; } |
if (&validCODE($ENV{'form.CODE'})) { return $ENV{'form.CODE'}; } |
if (defined($Apache::lonhomework::parsing_a_problem) && |
if (defined($Apache::lonhomework::parsing_a_problem) && |
defined($Apache::lonhomework::history{'resource.CODE'})) { |
&validCODE($Apache::lonhomework::history{'resource.CODE'})) { |
return $Apache::lonhomework::history{'resource.CODE'}; |
return $Apache::lonhomework::history{'resource.CODE'}; |
} |
} |
return undef; |
return undef; |