version 1.132, 2006/07/08 01:20:40
|
version 1.134, 2006/07/18 01:25:43
|
Line 128 TABLE
|
Line 128 TABLE
|
'this.form.submit();')); |
'this.form.submit();')); |
$r->print("</form>"); |
$r->print("</form>"); |
} |
} |
|
sub display_directory_line { |
|
my ($r,$select_mode,$fullpath, $css_class, $line, $access_controls, |
|
$now, $version_flag, $href_location, $url, $current_path, $groupecho, $access_admin_text)=@_; |
|
my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); |
|
$r->print('<tr class="'.$css_class.'">'); |
|
$r->print($line); |
|
my $curr_access; |
|
if ($select_mode ne 'true') { |
|
my $pub_access = 0; |
|
my $guest_access = 0; |
|
my $cond_access = 0; |
|
foreach my $key (sort(keys(%{$$access_controls{$fullpath}}))) { |
|
my ($num,$scope,$end,$start) = &unpack_acc_key($key); |
|
if (($now > $start) && (!$end || $end > $now)) { |
|
if ($scope eq 'public') { |
|
$pub_access = 1; |
|
} elsif ($scope eq 'guest') { |
|
$guest_access = 1; |
|
} else { |
|
$cond_access = 1; |
|
} |
|
} |
|
} |
|
if (!$pub_access && !$guest_access && !$cond_access) { |
|
$curr_access = &mt('Private'); |
|
} else { |
|
my @allaccesses; |
|
if ($pub_access) { |
|
push(@allaccesses,&mt('Public')); |
|
} |
|
if ($guest_access) { |
|
push(@allaccesses,&mt('Passphrase-protected')); |
|
} |
|
if ($cond_access) { |
|
push(@allaccesses,&mt('Conditional')); |
|
} |
|
$curr_access = join('+ ',@allaccesses); |
|
} |
|
} |
|
$r->print('<td><img alt="" src="'.&Apache::loncommon::icon($filename).'" /></td>'); |
|
$r->print('<td>'.$$version_flag{$filename}.'<a href="'.$href_location.$filename.'">'. |
|
$filename.'</a></td>'); |
|
$r->print('<td>'.$size.'</td>'); |
|
$r->print('<td>'.&Apache::lonlocal::locallocaltime($mtime).'</td>'); |
|
if ($select_mode ne 'true') { |
|
$r->print('<td><span style="white-space: nowrap">'. |
|
&mt($curr_access).' '); |
|
$r->print('<a href="'.$url.'?access='.$filename. |
|
'&currentpath='.$current_path.$groupecho. |
|
'">'.$access_admin_text.'</a></span></td>'); |
|
} |
|
$r->print('</tr>'.$/); |
|
} |
sub display_directory { |
sub display_directory { |
my ($r,$url,$current_path,$is_empty,$dir_list,$group,$can_upload, |
my ($r,$url,$current_path,$is_empty,$dir_list,$group,$can_upload, |
$can_modify,$can_delete,$can_setacl)=@_; |
$can_modify,$can_delete,$can_setacl)=@_; |
Line 214 sub display_directory {
|
Line 267 sub display_directory {
|
$show_versions = 'true'; |
$show_versions = 'true'; |
} |
} |
if (exists($versioned{$filename})) { |
if (exists($versioned{$filename})) { |
$version_flag{$filename} = '<a href="portfolio?showversions='.$filename.'"><img alt="'.&mt('closed folder').'" src="'.$iconpath.'folder_pointer_closed.gif" /></a>'; |
if ($show_versions) { |
|
$version_flag{$filename} = '<a href="portfolio"><img alt="'.&mt('opened folder').'" src="'.$iconpath.'folder_pointer_opened.gif" /></a>'; |
|
} else { |
|
$version_flag{$filename} = '<a href="portfolio?showversions='.$filename.'"><img alt="'.&mt('closed folder').'" src="'.$iconpath.'folder_pointer_closed.gif" /></a>'; |
|
} |
} else { |
} else { |
$version_flag{$filename} = ''; |
$version_flag{$filename} = ''; |
} |
} |
Line 260 sub display_directory {
|
Line 317 sub display_directory {
|
$line .= '</td>'; |
$line .= '</td>'; |
} |
} |
} |
} |
|
# &display_directory_line($r,$select_mode,$fullpath, $css_class, $line, \%access_controls, |
|
# $now, \%version_flag, $href_location, $url, $current_path, $groupecho, $access_admin_text); |
$r->print('<tr class="'.$css_class.'">'); |
$r->print('<tr class="'.$css_class.'">'); |
$r->print($line); |
$r->print($line); |
my $curr_access; |
my $curr_access; |
Line 308 sub display_directory {
|
Line 367 sub display_directory {
|
'">'.$access_admin_text.'</a></span></td>'); |
'">'.$access_admin_text.'</a></span></td>'); |
} |
} |
$r->print('</tr>'.$/); |
$r->print('</tr>'.$/); |
|
if ($show_versions) { |
|
|
|
} |
} |
} |
} |
} |
} |
} |
Line 534 sub rename_confirmed {
|
Line 596 sub rename_confirmed {
|
} |
} |
|
|
sub display_access { |
sub display_access { |
my ($r,$url,$group,$can_setacl) = @_; |
my ($r,$url,$group,$can_setacl,$port_path) = @_; |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
my $file_name = $env{'form.currentpath'}.$env{'form.access'}; |
my $file_name = $env{'form.currentpath'}.$env{'form.access'}; |
$file_name = &prepend_group($file_name,$group); |
$file_name = &prepend_group($file_name,$group); |
Line 542 sub display_access {
|
Line 604 sub display_access {
|
$uname); |
$uname); |
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name); |
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name); |
my $aclcount = keys(%access_controls); |
my $aclcount = keys(%access_controls); |
my $header = '<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]',$env{'form.currentpath'}.$env{'form.access'}).'</h3>'; |
my $header = '<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).'</h3>'; |
my $info .= &mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.').'<br /><ul><li>'.&mt('Public files are available to anyone without the need for login.').'</li><li>'.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.').'</li><li>'.&mt('Conditional files are accessible to logged-in users with accounts in the LON-CAPA network, who satisfy the conditions you set.').'<br />'.&mt('The conditions can include affiliation with a particular course or group, or a user account in a specific domain.').'<br />'.&mt('Alternatively access can be granted to people with specific LON-CAPA usernames and domains.').'</li></ul>'; |
my $info .= &mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.').'<br /><ul><li>'.&mt('Public files are available to anyone without the need for login.').'</li><li>'.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.').'</li><li>'.&mt('Conditional files are accessible to logged-in users with accounts in the LON-CAPA network, who satisfy the conditions you set.').'<br />'.&mt('The conditions can include affiliation with a particular course or group, or a user account in a specific domain.').'<br />'.&mt('Alternatively access can be granted to people with specific LON-CAPA usernames and domains.').'</li></ul>'; |
if ($can_setacl) { |
if ($can_setacl) { |
&open_form($r,$url); |
&open_form($r,$url); |
Line 698 sub build_access_summary {
|
Line 760 sub build_access_summary {
|
|
|
|
|
sub update_access { |
sub update_access { |
my ($r,$url,$group) = @_; |
my ($r,$url,$group,$port_path) = @_; |
my $totalprocessed = 0; |
my $totalprocessed = 0; |
my %processing; |
my %processing; |
my %title = ( |
my %title = ( |
Line 724 sub update_access {
|
Line 786 sub update_access {
|
} |
} |
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'}; |
my $file_name = $env{'form.currentpath'}.$env{'form.selectfile'}; |
$r->print('<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]', |
$r->print('<h3>'.&mt('Allowing others to retrieve portfolio file: [_1]', |
$file_name).'</h3>'."\n"); |
$port_path.$file_name).'</h3>'."\n"); |
$file_name = &prepend_group($file_name,$group); |
$file_name = &prepend_group($file_name,$group); |
my ($uname,$udom) = &get_name_dom($group); |
my ($uname,$udom) = &get_name_dom($group); |
my ($errors,$outcome,$deloutcome,$new_values,$translation); |
my ($errors,$outcome,$deloutcome,$new_values,$translation); |
Line 820 sub update_access {
|
Line 882 sub update_access {
|
} |
} |
$r->print('<br /><a href="'.$url.'?access='.$env{'form.selectfile'}. |
$r->print('<br /><a href="'.$url.'?access='.$env{'form.selectfile'}. |
'&currentpath='.$env{'form.currentpath'}.$group_arg.'">'. |
'&currentpath='.$env{'form.currentpath'}.$group_arg.'">'. |
&mt('Display all access settings for this file').'</a>'); |
&mt('Display all access settings for this file').'</a>'. |
|
' '. |
|
'<a href="'.$url.'?currentpath='.$env{'form.currentpath'}. |
|
$group_arg.'">'.&mt('Return to directory listing').'</a>'); |
} |
} |
return; |
return; |
} |
} |
Line 1774 sub handler {
|
Line 1839 sub handler {
|
$can_setacl = 1; |
$can_setacl = 1; |
} |
} |
|
|
|
my $port_path = &get_port_path($group); |
&Apache::loncommon::no_cache($r); |
&Apache::loncommon::no_cache($r); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
Line 1851 sub handler {
|
Line 1917 sub handler {
|
} elsif ($env{'form.access'}) { |
} elsif ($env{'form.access'}) { |
$env{'form.selectfile'} = $env{'form.access'}; |
$env{'form.selectfile'} = $env{'form.access'}; |
$env{'form.action'} = 'chgaccess'; |
$env{'form.action'} = 'chgaccess'; |
&display_access($r,$url,$group,$can_setacl); |
&display_access($r,$url,$group,$can_setacl,$port_path); |
} elsif ($env{'form.action'} eq 'chgaccess') { |
} elsif ($env{'form.action'} eq 'chgaccess') { |
if ($can_setacl) { |
if ($can_setacl) { |
&update_access($r,$url,$group); |
&update_access($r,$url,$group,$port_path); |
} else { |
} else { |
&missing_priv($r,$url,'setacl',$group); |
&missing_priv($r,$url,'setacl',$group); |
} |
} |