version 1.101, 2006/05/30 12:46:09
|
version 1.106, 2006/06/20 03:02:33
|
Line 126 sub display_directory {
|
Line 126 sub display_directory {
|
my $checked_files; |
my $checked_files; |
my $port_path = &get_port_path($group); |
my $port_path = &get_port_path($group); |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
my $namespace = &get_namespace($group); |
|
if (defined($group)) { |
if (defined($group)) { |
$groupitem = '<input type="hidden" name="group" value="'.$group.'" />'; |
$groupitem = '<input type="hidden" name="group" value="'.$group.'" />'; |
$groupecho = '&group='.$group; |
$groupecho = '&group='.$group; |
} |
} |
my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash ($namespace,$udom,$uname); |
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom, |
|
$uname); |
|
my %locked_files = &Apache::lonnet::get_marked_as_readonly_hash( |
|
$current_permissions,$group); |
|
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group); |
|
my $now = time; |
if ($env{"form.mode"} eq 'selectfile'){ |
if ($env{"form.mode"} eq 'selectfile'){ |
&select_files($r); |
&select_files($r); |
$checked_files =&Apache::lonnet::files_in_path($uname,$env{'form.currentpath'}); |
$checked_files =&Apache::lonnet::files_in_path($uname,$env{'form.currentpath'}); |
Line 154 sub display_directory {
|
Line 158 sub display_directory {
|
$r->print('<form method="post" name="checkselect" action="'.$url.'">'); |
$r->print('<form method="post" name="checkselect" action="'.$url.'">'); |
} else { |
} else { |
$r->print('<table border="0" cellspacing="2" cellpadding="2">'. |
$r->print('<table border="0" cellspacing="2" cellpadding="2">'. |
'<tr><th colspan="2">Actions</th><th> </th><th>Name</th><th>Size</th><th>Last Modified</th></tr>'); |
'<tr><th colspan="2">Actions</th><th> </th><th>Name</th><th>Size</th><th>Last Modified</th><th>Current Access Status</th></tr>'); |
$r->print('<form method="post" action="'.$url.'">'); |
$r->print('<form method="post" action="'.$url.'">'); |
} |
} |
if (defined($group)) { |
if (defined($group)) { |
Line 162 sub display_directory {
|
Line 166 sub display_directory {
|
} |
} |
my $href_location="/uploaded/$udom/$uname/$port_path".$current_path; |
my $href_location="/uploaded/$udom/$uname/$port_path".$current_path; |
my $href_edit_location="/editupload/$udom/$uname/$port_path".$current_path; |
my $href_edit_location="/editupload/$udom/$uname/$port_path".$current_path; |
|
my @dir_lines; |
|
my %versioned; |
foreach my $line (sort |
foreach my $line (sort |
{ |
{ |
my ($afile)=split('&',$a,2); |
my ($afile)=split('&',$a,2); |
Line 172 sub display_directory {
|
Line 178 sub display_directory {
|
#$dom |
#$dom |
my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); |
my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); |
$filename =~ s/\s+$//; |
$filename =~ s/\s+$//; |
|
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
|
if ($version) { |
|
$versioned{$fname} .= $version.","; |
|
} |
|
push(@dir_lines, [$filename,$dom,$testdir,$size,$mtime,$obs]); |
|
} |
|
foreach my $line (@dir_lines) { |
|
my ($filename,$dom,$testdir,$size,$mtime,$obs) = @$line; |
|
my ($fname,$version,$extension) = &Apache::grades::file_name_version_ext($filename); |
if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) { |
if (($filename ne '.') && ($filename ne '..') && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/)) { |
if ($dirptr&$testdir) { |
if ($dirptr&$testdir) { |
if ($select_mode eq 'true'){ |
if ($select_mode eq 'true'){ |
Line 184 sub display_directory {
|
Line 199 sub display_directory {
|
$r->print('</tr>'); |
$r->print('</tr>'); |
} else { |
} else { |
$r->print('<tr bgcolor="#CCCCFF">'); |
$r->print('<tr bgcolor="#CCCCFF">'); |
|
my $version_flag; |
|
if (exists($versioned{$fname})) { |
|
$version_flag = "*"; |
|
} else { |
|
$version_flag = ""; |
|
} |
|
my $fullpath = $current_path.$filename; |
|
$fullpath = &prepend_group($fullpath,$group); |
if ($select_mode eq 'true'){ |
if ($select_mode eq 'true'){ |
$r->print('<td><input type="checkbox" name="checkfile" value="'.$filename.'"'); |
$r->print('<td><input type="checkbox" name="checkfile" value="'.$filename.'"'); |
if ($$checked_files{$filename} eq 'selected') { |
if ($$checked_files{$filename} eq 'selected') { |
$r->print("CHECKED"); |
$r->print("CHECKED"); |
} |
} |
$r->print('></td>'); |
$r->print('></td>'); |
} else { |
} else { |
if (exists $locked_files{$current_path.$filename}){ |
if (exists $locked_files{$fullpath}) { |
$r->print('<td colspan="2"><a href="'.$url.'?lockinfo='.$current_path.$filename.$groupecho.'">Locked</a></td>'); |
$r->print('<td colspan="2"><a href="'.$url.'?lockinfo='.$current_path.$filename.$groupecho.'">Locked</a></td>'); |
} else { |
} else { |
my $cat='<img alt="'.&mt('Catalog Information'). |
my $cat='<img alt="'.&mt('Catalog Information'). |
Line 202 sub display_directory {
|
Line 225 sub display_directory {
|
</td>'); |
</td>'); |
} |
} |
} |
} |
|
my $curr_access; |
|
my $pub_access = 0; |
|
foreach my $key (sort(keys(%{$access_controls{$fullpath}}))) { |
|
my ($scope,$end,$start) = ($key =~ /^[^:]+:([a-z]+)_(\d*)_?(\d*)$/); |
|
if (($now > $start) && (!$end || $end > $now)) { |
|
if ($scope eq 'public') { |
|
$pub_access = 1; |
|
} |
|
} |
|
} |
|
if (!$pub_access) { |
|
$curr_access = 'Private' |
|
} else { |
|
$curr_access = 'Public'; |
|
} |
$r->print('<td><img src="'.&Apache::loncommon::icon($filename).'"></td>'); |
$r->print('<td><img src="'.&Apache::loncommon::icon($filename).'"></td>'); |
$r->print('<td><a href="'.$href_location.$filename.'">'. |
$r->print('<td><a href="'.$href_location.$filename.'">'. |
$filename.'</a></td>'); |
$filename.'</a></td>'); |
$r->print('<td>'.$size.'</td>'); |
$r->print('<td>'.$size.'</td>'); |
$r->print('<td>'.&Apache::lonlocal::locallocaltime($mtime).'</td>'); |
$r->print('<td>'.&Apache::lonlocal::locallocaltime($mtime).'</td>'); |
|
$r->print('<td><nobr>'.&mt($curr_access).' '. |
|
'<a href="'.$url.'?access='.$filename. |
|
'&currentpath='.$current_path.$groupecho. |
|
'">'.&mt('View/Change').'</a></nobr></td>'); |
$r->print('</tr>'); |
$r->print('</tr>'); |
} |
} |
} |
} |
Line 232 sub display_directory {
|
Line 274 sub display_directory {
|
sub open_form { |
sub open_form { |
my ($r,$url)=@_; |
my ($r,$url)=@_; |
my @files=&Apache::loncommon::get_env_multiple('form.selectfile'); |
my @files=&Apache::loncommon::get_env_multiple('form.selectfile'); |
$r->print('<form method="post" action="'.$url.'">'); |
$r->print('<form name="portform" method="post" action="'.$url.'">'); |
$r->print('<input type="hidden" name="action" value="'. |
$r->print('<input type="hidden" name="action" value="'. |
$env{'form.action'}.'" />'); |
$env{'form.action'}.'" />'); |
$r->print('<input type="hidden" name="confirmed" value="1" />'); |
$r->print('<input type="hidden" name="confirmed" value="1" />'); |
Line 301 sub delete {
|
Line 343 sub delete {
|
my ($r,$url,$group)=@_; |
my ($r,$url,$group)=@_; |
my @check; |
my @check; |
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'}; |
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'}; |
|
$file_name = &prepend_group($file_name,$group); |
my @files=&Apache::loncommon::get_env_multiple('form.selectfile'); |
my @files=&Apache::loncommon::get_env_multiple('form.selectfile'); |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
Line 376 sub rename {
|
Line 419 sub rename {
|
my ($r,$url,$group)=@_; |
my ($r,$url,$group)=@_; |
my $file_name = $env{'form.currentpath'}.$env{'form.rename'}; |
my $file_name = $env{'form.currentpath'}.$env{'form.rename'}; |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
|
$file_name = &prepend_group($file_name,$group); |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
$r->print ("The file is locked and cannot be renamed.<br />"); |
$r->print ("The file is locked and cannot be renamed.<br />"); |
$r->print(&done(undef,$url,$group)); |
$r->print(&done(undef,$url,$group)); |
Line 413 sub rename_confirmed {
|
Line 457 sub rename_confirmed {
|
} |
} |
$r->print(&done(undef,$url,$group)); |
$r->print(&done(undef,$url,$group)); |
} |
} |
|
|
|
sub display_access { |
|
my ($r,$url,$group) = @_; |
|
my ($uname,$udom) = &get_name_dom($group); |
|
my $file_name = $env{'form.currentpath'}.$env{'form.access'}; |
|
$file_name = &prepend_group($file_name,$group); |
|
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom, |
|
$uname); |
|
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name); |
|
&open_form($r,$url); |
|
$r->print('<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]',$env{'form.currentpath'}.$env{'form.access'}).'</h3>'."\n"); |
|
$r->print(&mt('Access to this file by others can be set to be one the following types: public.').'<br /><ul><li>'.&mt('Public files are available to anyone without the need for login.').'</li></ul><br />'); |
|
&access_setting_table($r,$access_controls{$file_name}); |
|
&close_form($r,$url,$group); |
|
} |
|
|
|
sub update_access { |
|
my ($r,$url,$group) = @_; |
|
my $totalprocessed = 0; |
|
my %processing; |
|
my %title = ( |
|
'activate' => 'New controls added', |
|
'delete' => 'Existing controls deleted', |
|
'update' => 'Existing controls modified', |
|
); |
|
my $changes; |
|
foreach my $chg (sort(keys(%title))) { |
|
@{$processing{$chg}} = &Apache::loncommon::get_env_multiple('form.'.$chg); |
|
$totalprocessed += @{$processing{$chg}}; |
|
foreach my $num (@{$processing{$chg}}) { |
|
my $scope = $env{'form.scope_'.$num}; |
|
my ($start,$end) = &get_dates_from_form($num); |
|
my $newkey = $num.':'.$scope.'_'.$end.'_'.$start; |
|
if ($chg eq 'delete') { |
|
$$changes{$chg}{$newkey} = 1; |
|
} else { |
|
$$changes{$chg}{$newkey} = |
|
&build_access_record($num,$scope,$start,$end); |
|
} |
|
} |
|
} |
|
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'}; |
|
$r->print('<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]',$file_name).'</h3>'."\n"); |
|
$file_name = &prepend_group($file_name,$group); |
|
my ($uname,$udom) = &get_name_dom($group); |
|
my ($errors,$outcome,$deloutcome,$new_values,$translation); |
|
if ($totalprocessed) { |
|
($outcome,$deloutcome,$new_values,$translation) = |
|
&Apache::lonnet::modify_access_controls($file_name,$changes,$udom,$uname); |
|
} |
|
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom, $uname); |
|
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name); |
|
if ($totalprocessed) { |
|
if ($outcome eq 'ok') { |
|
my $updated_controls = $access_controls{$file_name}; |
|
my ($showstart,$showend); |
|
$r->print(&Apache::loncommon::start_data_table()); |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
$r->print('<th>'.&mt('Type of change').'</th><th>'.&mt('Access control').'</th><th>'.&mt('Start date').'</th><th>'.&mt('End date').'</th>'); |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
|
foreach my $chg (sort(keys(%processing))) { |
|
if (@{$processing{$chg}} > 0) { |
|
if ($chg eq 'delete') { |
|
if (!($deloutcome eq 'ok')) { |
|
$errors .= &mt('A problem occurred deleting access controls: [_1]',$deloutcome); |
|
next; |
|
} |
|
} |
|
my $numchgs = @{$processing{$chg}}; |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
$r->print('<td rowspan="'.$numchgs.'">'.&mt($title{$chg}).'.</td>'); |
|
my $count = 0; |
|
foreach my $key (sort(keys(%{$$changes{$chg}}))) { |
|
if ($count) { |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
} |
|
my ($num,$scope,$end,$start) = |
|
($key =~ /^([^:]+):([a-z]+)_(\d*)_?(\d*)$/); |
|
my $newkey = $key; |
|
if ($chg eq 'activate') { |
|
$newkey =~ s/^(\d+)/$$translation{$1}/; |
|
} |
|
my %content = &Apache::lonnet::parse_access_controls( |
|
$$updated_controls{$newkey}); |
|
if ($chg eq 'delete') { |
|
$showstart = &mt('Deleted'); |
|
$showend = $showstart; |
|
} else { |
|
$showstart = localtime($start); |
|
if ($end == 0) { |
|
$showend = &mt('No end date'); |
|
} else { |
|
$showend = localtime($end); |
|
} |
|
} |
|
$r->print('<td>'.&mt($scope).'</td><td>'.$showstart. |
|
'</td><td>'. $showend.'</td>'); |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
|
$count ++; |
|
} |
|
} |
|
} |
|
$r->print(&Apache::loncommon::end_data_table()); |
|
} else { |
|
if ((@{$processing{'activate'}} > 0) || (@{$processing{'update'}} > 0)) { |
|
$errors .= &mt('A problem occurred storing access control settings: [_1]',$outcome); |
|
} |
|
} |
|
if ($errors) { |
|
$r->print($errors); |
|
} |
|
} |
|
$r->print('<br /><a href="'.$url.'?access='.$env{'form.selectfile'}.'¤tpath='.$env{'form.currentpath'}.'">'.&mt('Display all access settings for this file').'</a>'); |
|
return; |
|
} |
|
|
|
sub build_access_record { |
|
my ($num,$scope,$start,$end) = @_; |
|
my $record = '<scope type="'.$scope.'"><start>'.$start.'</start><end>'.$end. |
|
'</end></scope>'; |
|
return $record; |
|
} |
|
|
|
sub get_dates_from_form { |
|
my ($id) = @_; |
|
my $startdate; |
|
my $enddate; |
|
$startdate = &Apache::lonhtmlcommon::get_date_from_form('startdate_'.$id); |
|
$enddate = &Apache::lonhtmlcommon::get_date_from_form('enddate_'.$id); |
|
if ( exists ($env{'form.noend_'.$id}) ) { |
|
$enddate = 0; |
|
} |
|
return ($startdate,$enddate); |
|
} |
|
|
|
sub access_setting_table { |
|
my ($r,$access_controls) = @_; |
|
my ($public,$publictext); |
|
$publictext = '<b>'.&mt('Off').'</b>'; |
|
my ($guest,$guesttext); |
|
$guesttext = '<b>'.&mt('Off').'</b>'; |
|
my @courses = (); |
|
my @groups = (); |
|
my @domains = (); |
|
my @users = (); |
|
my $now = time; |
|
my $then = $now + (60*60*24*180); # six months approx. |
|
foreach my $key (sort(keys(%{$access_controls}))) { |
|
my ($scope) = ($key =~ /^[^:]+:([a-z]+)_\d*_?\d*$/); |
|
if ($scope eq 'public') { |
|
$public = $key; |
|
$publictext = '<b>'.&mt('On').'</b>'; |
|
} |
|
} |
|
$r->print(&Apache::loncommon::start_data_table()); |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
$r->print('<th>'.&mt('Access Type').'</th><th colspan="3">'. |
|
&mt('Settings').'</th>'."\n"); |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
$r->print('<td><b>Public</b><br />'.$publictext.'</td><td colspan="3">'); |
|
$r->print(&Apache::loncommon::start_data_table()); |
|
$r->print(&Apache::loncommon::start_data_table_row()); |
|
my ($pub_startdate,$pub_enddate,$pub_action,$pub_noend); |
|
if ($public) { |
|
my ($num,$end,$start) = ($public =~ /^([^:]+):[a-z]+_(\d*)_?(\d*)$/); |
|
if ($end == 0) { |
|
$pub_noend = 'checked="checked"'; |
|
} |
|
$pub_action = '<td><input type="checkbox" name="delete" value="'.$num. |
|
'" />'.&mt('Delete').'<br /><input type="checkbox" '. |
|
'name="update" value="'.$num.'" />'.&mt('Update'). |
|
'<input type="hidden" name="scope_'.$num.'"'. |
|
' value="public" /></td>'; |
|
$pub_startdate = &Apache::lonhtmlcommon::date_setter('portform', |
|
'startdate_'.$num,$start,undef,undef,undef,1,undef, |
|
undef,undef,1); |
|
$pub_enddate = &Apache::lonhtmlcommon::date_setter('portform', |
|
'enddate_'.$num,$end,undef,undef,undef,1,undef, |
|
undef,undef,1). |
|
' <nobr><input type="checkbox" name="noend_'. |
|
$num.'" '.$pub_noend.' />'.&mt('No end date').'</nobr>'; |
|
} else { |
|
$pub_action = '<input type="checkbox" name="activate" value="0" />'. |
|
&mt('Activate'). |
|
'<input type="hidden" name="scope_0" value="public" />'; |
|
$pub_startdate = &Apache::lonhtmlcommon::date_setter('portform', |
|
'startdate_0',$now,undef,undef,undef,1,undef, |
|
undef,undef,1); |
|
$pub_enddate = &Apache::lonhtmlcommon::date_setter('portform', |
|
'enddate_0',$then,,undef,undef,undef,1,undef, |
|
undef,undef,1). |
|
'  <nobr><input type="checkbox" '. |
|
'name="noend_0" />'.&mt('No end date'). |
|
'</nobr>'; |
|
|
|
} |
|
$r->print('<td>'.$pub_action.'</td><td>'.&mt('Start: ').$pub_startdate. |
|
'<br />'.&mt('End: ').$pub_enddate.'</td>'); |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
|
$r->print(&Apache::loncommon::end_data_table()); |
|
$r->print('</td>'); |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
|
$r->print(&Apache::loncommon::end_data_table()); |
|
} |
|
|
sub select_files { |
sub select_files { |
my ($r,$group)=@_; |
my ($r,$group) = @_; |
if ($env{'form.continue'} eq 'true') { |
if ($env{'form.continue'} eq 'true') { |
# here we update the selections for the currentpath |
# here we update the selections for the currentpath |
# eventually, have to handle removing those not checked, but . . . |
# eventually, have to handle removing those not checked, but . . . |
Line 479 sub upload {
|
Line 729 sub upload {
|
foreach my $line (@dir_list) { |
foreach my $line (@dir_list) { |
my ($file_name)=split(/\&/,$line,2); |
my ($file_name)=split(/\&/,$line,2); |
if ($file_name eq $fname){ |
if ($file_name eq $fname){ |
|
$file_name = $env{'form.currentpath'}.$file_name; |
|
$file_name = &prepend_group($file_name,$group); |
$found_file = 1; |
$found_file = 1; |
if (&Apache::lonnet::is_locked($env{'form.currentpath'}.$file_name,$udom,$uname) eq 'true') { |
if (defined($group)) { |
|
$file_name = $group.'/'.$file_name; |
|
} |
|
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
$locked_file = 1; |
$locked_file = 1; |
} |
} |
} |
} |
Line 516 sub upload {
|
Line 771 sub upload {
|
sub lock_info { |
sub lock_info { |
my ($r,$url,$group) = @_; |
my ($r,$url,$group) = @_; |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
my %current_permissions = &Apache::lonnet::dump('file_permissions',$udom,$uname); |
my $current_permissions = &Apache::lonnet::get_portfile_permissions($udom, |
|
$uname); |
my $file_name = $env{'form.lockinfo'}; |
my $file_name = $env{'form.lockinfo'}; |
foreach my $key(keys(%current_permissions)) { |
$file_name = &prepend_group($file_name,$group); |
if ($file_name eq $key) { |
if (defined($file_name) && defined($$current_permissions{$file_name})) { |
foreach my $array_item (@{$current_permissions{$key}}) { |
foreach my $array_item (@{$$current_permissions{$file_name}}) { |
if (ref($array_item)) { |
if (ref($array_item) eq 'ARRAY') { |
$r->print('<strong>'.$key.'</strong> was submitted in response to problem: <strong>'. |
my $filetext; |
&Apache::lonnet::gettitle($$array_item[0]).'</strong><br />'); |
if (defined($group)) { |
my %course_description = &Apache::lonnet::coursedescription($$array_item[1]); |
$filetext = '<strong>'.$env{'form.lockinfo'}. |
$r->print('In the course: <strong>'.$course_description{'description'}.'</strong><br />'); |
'</strong> (group: '.$group.')'; |
# $r->print('the third is '.$$array_item[2].'<br>'); |
} else { |
# $r->print("item is $$array_item[0]<br> and $$array_item[0]"); |
$filetext = '<strong>'.$file_name.'</strong>'; |
} |
} |
|
$r->print(&mt('[_1] was submitted in response to problem: ', |
|
$filetext). |
|
'<strong>'.&Apache::lonnet::gettitle($$array_item[0]). |
|
'</strong><br />'); |
|
my %course_description = &Apache::lonnet::coursedescription($$array_item[1]); |
|
$r->print(&mt('In the course: <strong>[_1]</strong><br />', |
|
$course_description{'description'})); |
|
# $r->print('the third is '.$$array_item[2].'<br>'); |
|
# $r->print("item is $$array_item[0]<br> and $$array_item[0]"); |
} |
} |
} |
} |
} |
} |
$r->print(&done('Back',$url,$group)); |
$r->print(&done('Back',$url,$group)); |
return 'ok'; |
return 'ok'; |
Line 605 sub get_name_dom {
|
Line 870 sub get_name_dom {
|
return ($uname,$udom); |
return ($uname,$udom); |
} |
} |
|
|
|
sub prepend_group { |
|
my ($filename,$group) = @_; |
|
if (defined($group)) { |
|
$filename = $group.'/'.$filename; |
|
} |
|
return $filename; |
|
} |
|
|
sub get_namespace { |
sub get_namespace { |
my ($group) = @_; |
my ($group) = @_; |
my $namespace = 'portfolio'; |
my $namespace = 'portfolio'; |
Line 631 sub handler {
|
Line 904 sub handler {
|
my $r = shift; |
my $r = shift; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['selectfile','currentpath','meta','lockinfo','currentfile', |
['selectfile','currentpath','meta','lockinfo','currentfile', |
'action','fieldname','mode','rename','continue','group']); |
'action','fieldname','mode','rename','continue','group','access']); |
my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title); |
my ($uname,$udom,$portfolio_root,$url,$group,$caller,$title); |
if ($r->uri =~ m|^(/adm/)([^/]+)|) { |
if ($r->uri =~ m|^(/adm/)([^/]+)|) { |
$url = $1.$2; |
$url = $1.$2; |
Line 719 sub handler {
|
Line 992 sub handler {
|
$env{'form.selectfile'} = $env{'form.rename'}; |
$env{'form.selectfile'} = $env{'form.rename'}; |
$env{'form.action'} = 'rename'; |
$env{'form.action'} = 'rename'; |
&rename($r,$url,$group); |
&rename($r,$url,$group); |
|
} elsif ($env{'form.access'}) { |
|
$env{'form.selectfile'} = $env{'form.access'}; |
|
$env{'form.action'} = 'chgaccess'; |
|
&display_access($r,$url,$group); |
|
} elsif ($env{'form.action'} eq 'chgaccess') { |
|
&update_access($r,$url,$group); |
} elsif ($env{'form.createdir'}) { |
} elsif ($env{'form.createdir'}) { |
&createdir($r,$url,$group); |
&createdir($r,$url,$group); |
} elsif ($env{'form.lockinfo'}) { |
} elsif ($env{'form.lockinfo'}) { |