version 1.48, 2006/08/04 19:42:55
|
version 1.53, 2006/08/18 13:49:34
|
Line 37 use Apache::lonfeedback;
|
Line 37 use Apache::lonfeedback;
|
use Apache::lonrss(); |
use Apache::lonrss(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonmsgdisplay(); |
use Apache::lonmsgdisplay(); |
|
use HTML::Entities(); |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 206 sub handler {
|
Line 207 sub handler {
|
} |
} |
if ($allowed) { |
if ($allowed) { |
$r->print('<br /><textarea cols="80" rows="6" name="'.$_.'">'. |
$r->print('<br /><textarea cols="80" rows="6" name="'.$_.'">'. |
$syllabus{$_}. |
&HTML::Entities::encode($syllabus{$_},'"&<>'). |
'</textarea><input type="submit" name="storesyl" value="'. |
'</textarea><input type="submit" name="storesyl" value="'. |
&mt('Store').'" />'); |
&mt('Store').'" />'); |
} |
} |
Line 277 sub print_portfiles_link {
|
Line 278 sub print_portfiles_link {
|
$output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme/portfolio'. |
$output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme/portfolio'. |
$query_string.'">'.&mt('Display file listing'). |
$query_string.'">'.&mt('Display file listing'). |
'</a><br /><br />'; |
'</a><br /><br />'; |
$output .= &mt('A total of [quant,_1,portfolio file] owned by [_2] are available.',$filecounts->{'both'},$name).'<ul>'; |
if ($filecounts->{'both'} == 1) { |
|
$output .= &mt('One portfolio file owned by [_2] is available.',$filecounts->{'both'},$name).'<ul>'; |
|
} else { |
|
$output .= &mt('A total of [quant,_1,portfolio file] owned by [_2] are available.',$filecounts->{'both'},$name).'<ul>'; |
|
} |
if ($filecounts->{'withoutpass'}) { |
if ($filecounts->{'withoutpass'}) { |
$output .= '<li>'.&mt('[quant,_1,file] are publicly accessible.',$filecounts->{'withoutpass'}).'</li>'; |
if ($filecounts->{'withoutpass'} == 1) { |
|
$output .= '<li>'.&mt('[quant,_1,file] is publicly accessible.',$filecounts->{'withoutpass'}).'</li>'; |
|
} else { |
|
$output .= '<li>'.&mt('[quant,_1,file] are publicly accessible.',$filecounts->{'withoutpass'}).'</li>'; |
|
} |
} |
} |
if ($filecounts->{'withpass'}) { |
if ($filecounts->{'withpass'}) { |
$output .= '<li>'.&mt('[quant,_1,file] require a passphrase for access.',$filecounts->{'withpass'}).'</li>'; |
if ($filecounts->{'withpass'} == 1) { |
|
$output .= '<li>'.&mt('[quant,_1,file] requires a passphrase for access.',$filecounts->{'withpass'}).'</li>'; |
|
} else { |
|
$output .= '<li>'.&mt('[quant,_1,file] require a passphrase for access.',$filecounts->{'withpass'}).'</li>'; |
|
} |
} |
} |
$output .= '</ul>'; |
$output .= '</ul>'; |
} |
} |
Line 327 sub display_portfolio_header {
|
Line 340 sub display_portfolio_header {
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
my $forcestudent=''; |
my $forcestudent=''; |
if ($env{'form.forcestudent'}) { $forcestudent='student'; }; |
if ($env{'form.forcestudent'}) { $forcestudent='student'; }; |
my $output = |
my $output = |
&Apache::loncommon::start_page('Viewable portfolio files',undef, |
&Apache::loncommon::start_page('Viewable portfolio files',undef, |
{'function' => $forcestudent, |
{'function' => $forcestudent, |
'domain' => $cdom,}); |
'domain' => $cdom,}); |
&Apache::lonhtmlcommon::add_breadcrumb |
if (!($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public')) { |
({href=>"/adm/$cdom/$cnum/aboutme".$query_string, |
&Apache::lonhtmlcommon::add_breadcrumb |
text=>"Personal information - $name", |
({href=>"/adm/$cdom/$cnum/aboutme".$query_string, |
title=>"Go to personal information page for $name"}, |
text=>"Personal information - $name", |
{href=>"/adm/$cdom/$cnum/aboutme/portfolio", |
title=>"Go to personal information page for $name"}, |
text=>"Viewable files - $name", |
{href=>"/adm/$cdom/$cnum/aboutme/portfolio", |
title=>"Viewable portfolio files for $name"} |
text=>"Viewable files - $name", |
); |
title=>"Viewable portfolio files for $name"} |
$output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('Viewable portfolio files.')); |
); |
|
$output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('Viewable portfolio files.')); |
|
} |
$output .= '<h3>'.&mt('Portfolio files for [_1]',$name).'</h3>'; |
$output .= '<h3>'.&mt('Portfolio files for [_1]',$name).'</h3>'; |
$r->print($output); |
$r->print($output); |
return; |
return; |
Line 366 sub display_portfolio_files {
|
Line 381 sub display_portfolio_files {
|
if ($portaccess eq $type) { |
if ($portaccess eq $type) { |
$output .= 'selected="selected"'; |
$output .= 'selected="selected"'; |
} |
} |
$output .= '>'.&mt($type).'</option>'; |
$output .= '>'.$lt{$type}.'</option>'; |
} |
} |
$output .= '</select>'."\n". |
$output .= '</select>'."\n". |
'<input type="submit" name="portaccessbutton" value="'. |
'<input type="submit" name="portaccessbutton" value="'. |
Line 374 sub display_portfolio_files {
|
Line 389 sub display_portfolio_files {
|
$output .= '</form><br /><br />'; |
$output .= '</form><br /><br />'; |
$r->print($output); |
$r->print($output); |
my $filecounts = &portfolio_files($r,'listfiles',\%lt); |
my $filecounts = &portfolio_files($r,'listfiles',\%lt); |
my $query_string = &build_query_string(); |
if (!($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public')) { |
$r->print('<br /><br /><a href="/adm/'.$cdom.'/'.$cnum. |
my $query_string = &build_query_string(); |
'/aboutme'.$query_string.'">'. |
$r->print('<br /><br /><a href="/adm/'.$cdom.'/'.$cnum. |
&mt('Information about [_1]',$name).'</a>'); |
'/aboutme'.$query_string.'">'. |
|
&mt('Information about [_1]',$name).'</a>'); |
|
} |
return; |
return; |
} |
} |
|
|
Line 447 sub portfolio_files {
|
Line 464 sub portfolio_files {
|
my $output; |
my $output; |
if (keys(%allfileshash) > 0) { |
if (keys(%allfileshash) > 0) { |
$output = &portfolio_table_start(); |
$output = &portfolio_table_start(); |
$output .= &parse_directory($r,0,\%allfileshash); |
$output .= &parse_directory($r,0,\%allfileshash,''); |
$output .= '</table>'; |
$output .= '</table>'; |
} else { |
} else { |
my $access_text; |
my $access_text; |
Line 476 sub portfolio_files {
|
Line 493 sub portfolio_files {
|
} |
} |
|
|
sub parse_directory { |
sub parse_directory { |
my ($r,$depth,$currhash) = @_; |
my ($r,$depth,$currhash,$path) = @_; |
my ($cdom,$cnum,$name) = &aboutme_info($r); |
my ($cdom,$cnum,$name) = &aboutme_info($r); |
$depth++; |
$depth++; |
my $output; |
my $output; |
|
|
|
my $portfolio_root = &Apache::portfolio::get_portfolio_root($cdom,$cnum); |
|
my %dirlist = map { |
|
((split('&',$_,2))[0],1) |
|
} &Apache::lonnet::dirlist($path,$cdom,$cnum,$portfolio_root); |
foreach my $item (sort(keys(%{$currhash}))) { |
foreach my $item (sort(keys(%{$currhash}))) { |
$output .= &portfolio_row_start(); |
$output .= &portfolio_row_start(); |
$output .= '<td style="padding-left: '.($depth*25).'px">'; |
$output .= '<td style="padding-left: '.($depth*25).'px">'; |
Line 487 sub parse_directory {
|
Line 509 sub parse_directory {
|
my $title=&HTML::Entities::encode($item,'<>&"'); |
my $title=&HTML::Entities::encode($item,'<>&"'); |
$output .= '<img src="'.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/navmap.folder.open.gif").'" alt="'.&mt('Folder').' '.$title.'" class="LC_icon" /> '.$title; |
$output .= '<img src="'.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/navmap.folder.open.gif").'" alt="'.&mt('Folder').' '.$title.'" class="LC_icon" /> '.$title; |
$output .= '</td><td></td></tr>'; |
$output .= '</td><td></td></tr>'; |
$output .= &parse_directory($r,$depth,$currhash->{$item}); |
$output .= &parse_directory($r,$depth,$currhash->{$item}, |
|
$path.'/'.$item); |
} else { |
} else { |
my $showname; |
|
if ($currhash->{$item} =~ m|/([^/]+)$|) { |
|
$showname = $1; |
my $file_name; |
} else { |
if ($currhash->{$item} =~ m|/([^/]+)$|) { |
$showname = $currhash->{$item}; |
$file_name = $1; |
} |
} else { |
$showname=&HTML::Entities::encode($showname,'<>&"'); |
$file_name = $currhash->{$item}; |
|
} |
|
my $have_meta = exists($dirlist{$file_name.'.meta'}); |
my $url = '/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'. |
my $url = '/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'. |
$currhash->{$item}; |
$currhash->{$item}; |
$output .= '<img alt="" src="'.&Apache::loncommon::icon($currhash->{$item}).'" class="LC_icon" /> <a href="'.$url.'">'.$showname.'</a>'; |
|
$output.='</td><td><a href="'.$url.'.meta"><img align="right" alt="'.&mt('Catalog Information').'" src="'. |
|
&Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif'). |
|
'" /></a>'; |
|
|
|
|
my $showname; |
|
if ($have_meta) { |
|
$showname = &Apache::lonnet::metadata($url,'title'); |
|
} |
|
if ($showname eq '') { |
|
$showname = $file_name; |
|
} else { |
|
$showname = $file_name.' ('.$showname.')'; |
|
} |
|
|
|
$showname=&HTML::Entities::encode($showname,'<>&"'); |
|
$output .= '<a href="'.$url.'">'. |
|
'<img alt="" src="'.&Apache::loncommon::icon($currhash->{$item}).'" class="LC_icon" />'. |
|
' '.$showname.'</a>'; |
|
$output.='</td><td>'; |
|
if ($have_meta) { |
|
$output.= '<a href="'.$url.'.meta"><img alt="'.&mt('Catalog Information').'" src="'. |
|
&Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif'). |
|
'" class="LC_icon" /></a>'; |
|
} |
$output .= '</td></tr>'; |
$output .= '</td></tr>'; |
} |
} |
} |
} |