[LON-CAPA-cvs] cvs: loncom / loncapa_apache.conf /interface lonaboutme.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 04 Aug 2006 19:06:14 -0000
albertel Fri Aug 4 15:06:14 2006 EDT
Modified files:
/loncom loncapa_apache.conf
/loncom/interface lonaboutme.pm
Log:
- swtich to /adm/damin/user/aboutme/portfolio for the portfolio lister
- setting the portfolio listing to be public
Index: loncom/loncapa_apache.conf
diff -u loncom/loncapa_apache.conf:1.152 loncom/loncapa_apache.conf:1.153
--- loncom/loncapa_apache.conf:1.152 Fri Jul 21 14:52:26 2006
+++ loncom/loncapa_apache.conf Fri Aug 4 15:05:58 2006
@@ -1,7 +1,7 @@
##
## loncapa_apache.conf -- Apache HTTP LON-CAPA configuration file
##
-## $Id: loncapa_apache.conf,v 1.152 2006/07/21 18:52:26 albertel Exp $
+## $Id: loncapa_apache.conf,v 1.153 2006/08/04 19:05:58 albertel Exp $
##
#
@@ -182,6 +182,18 @@
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
+<LocationMatch "^/adm/.*/aboutme/portfolio$">
+PerlAccessHandler Apache::publiccheck
+AuthType LONCAPA
+Require valid-user
+PerlAuthzHandler Apache::lonacc
+SetHandler perl-script
+PerlHandler Apache::lonaboutme
+ErrorDocument 404 /adm/notfound.html
+ErrorDocument 406 /adm/notinit.html
+ErrorDocument 500 /adm/errorhandler
+</LocationMatch>
+
<LocationMatch "^/adm/.*/smppg$">
AuthType LONCAPA
Require valid-user
Index: loncom/interface/lonaboutme.pm
diff -u loncom/interface/lonaboutme.pm:1.46 loncom/interface/lonaboutme.pm:1.47
--- loncom/interface/lonaboutme.pm:1.46 Wed Aug 2 16:23:33 2006
+++ loncom/interface/lonaboutme.pm Fri Aug 4 15:06:12 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network
# "About Me" Personal Information
#
-# $Id: lonaboutme.pm,v 1.46 2006/08/02 20:23:33 albertel Exp $
+# $Id: lonaboutme.pm,v 1.47 2006/08/04 19:06:12 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -48,7 +48,7 @@
if ($target eq 'tex') {
$r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));
}
- my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);
+ my (undef,undef,$cdom,$cnum,undef,$action)=split(/\//,$r->uri);
# Is this even a user?
if (&Apache::lonnet::homeserver($cnum,$cdom) eq 'no_host') {
&Apache::loncommon::simple_error_page($r,'No info',
@@ -62,18 +62,14 @@
'ccc_webreferences' => 'Web References');
# ------------------------------------------------------------ Get Query String
- &Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'},['forceedit','forcestudent','register','action']);
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['forceedit','forcestudent',
+ 'register']);
# ----------------------------------------------- Available Portfolio file display
- if (($target ne 'tex') && ($env{'form.action'} eq 'portfolio')) {
- my %lt = &Apache::lonlocal::texthash (
- withoutpass => 'passphrase not required',
- withpass => 'passphrase protected',
- both => 'all access types ',
- );
+ if (($target ne 'tex') && ($action eq 'portfolio')) {
&display_portfolio_header($r);
- &display_portfolio_files($r,\%lt);
+ &display_portfolio_files($r);
$r->print(&Apache::loncommon::end_page());
return OK;
}
@@ -93,7 +89,7 @@
my $start_page =
&Apache::loncommon::start_page("Personal Information",undef,
{'function' => $forcestudent,
- 'domain' => $cdom,
+ 'domain' => $cdom,
'force_register' =>
$forceregister,});
$r->print($start_page);
@@ -274,11 +270,11 @@
my ($r) = @_;
my ($cdom,$cnum,$name) = &aboutme_info($r);
my $filecounts = &portfolio_files($r,'showlink');
- my $query_string = &build_query_string({'action' => 'portfolio',});
+ my $query_string = &build_query_string();
my $output;
if ($filecounts->{'both'} > 0) {
$output = &mt('<h3>Viewable portfolio files</h3>');
- $output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme'.
+ $output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme/portfolio'.
$query_string.'">'.&mt('Display file listing').
'</a><br /><br />';
$output .= &mt('A total of [quant,_1,portfolio file] owned by [_2] are available.',$filecounts->{'both'},$name).'<ul>';
@@ -298,9 +294,9 @@
my ($new_items) = @_;
my $query_string;
my @formelements = ('register');
- my $nonew = 1;
+ my $new = 0;
if (ref($new_items) eq 'HASH') {
- $nonew = 0;
+ $new = 1;
if (!defined($new_items->{'forceedit'}) &&
!defined($new_items->{'forcestudent'})) {
push(@formelements,('forceedit','forcestudent'));
@@ -310,12 +306,12 @@
}
foreach my $element (@formelements) {
if (exists($env{'form.'.$element})) {
- if (($nonew) || (!defined($new_items->{$element}))) {
+ if ((!$new) || (!defined($new_items->{$element}))) {
$query_string .= '&'.$element.'='.$env{'form.'.$element};
}
}
}
- if (!$nonew) {
+ if ($new) {
foreach my $key (keys(%{$new_items})) {
$query_string .= '&'.$key.'='.$new_items->{$key};
}
@@ -339,7 +335,7 @@
({href=>"/adm/$cdom/$cnum/aboutme".$query_string,
text=>"Personal information - $name",
title=>"Go to personal information page for $name"},
- {href=>"/adm/$cdom/$cnum/aboutme?action=portfolio",
+ {href=>"/adm/$cdom/$cnum/aboutme/portfolio",
text=>"Viewable files - $name",
title=>"Viewable portfolio files for $name"}
);
@@ -350,12 +346,18 @@
}
sub display_portfolio_files {
- my ($r,$lt) = @_;
+ my ($r) = @_;
my ($cdom,$cnum,$name) = &aboutme_info($r);
+ my %lt = ( withoutpass => 'passphrase not required',
+ withpass => 'passphrase protected',
+ both => 'all access types ',);
+ %lt = &Apache::lonlocal::texthash(%lt);
+
my $portaccess = 'withoutpass';
if (exists($env{'form.portaccess'})) {
$portaccess = $env{'form.portaccess'};
}
+
my $output = '<form action="'.&HTML::Entities::encode($r->uri,'<>&"')
.'" name="displaystatus" method="post">'.
&mt('File access type: ').'<select name="portaccess">';
@@ -364,16 +366,14 @@
if ($portaccess eq $type) {
$output .= 'selected="selected"';
}
- $output .= '>'.$lt->{$type}.'</option>';
+ $output .= '>'.&mt($type).'</option>';
}
$output .= '</select>'."\n".
'<input type="submit" name="portaccessbutton" value="'.
- &mt('Update display').'" />'.
- '<input type="hidden" name="action" value="'.
- $env{'form.action'}.'" />';
+ &mt('Update display').'" />';
$output .= '</form><br /><br />';
$r->print($output);
- my $filecounts = &portfolio_files($r,'listfiles',$lt);
+ my $filecounts = &portfolio_files($r,'listfiles',\%lt);
my $query_string = &build_query_string();
$r->print('<br /><br /><a href="/adm/'.$cdom.'/'.$cnum.
'/aboutme'.$query_string.'">'.
@@ -486,7 +486,7 @@
if (ref($currhash->{$item}) eq 'HASH') {
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 .= '</td></tr>';
+ $output .= '</td><td></td></tr>';
$output .= &parse_directory($r,$depth,$currhash->{$item});
} else {
my $showname;
@@ -497,6 +497,10 @@
}
$showname=&HTML::Entities::encode($showname,'<>&"');
$output .= '<img alt="" src="'.&Apache::loncommon::icon($currhash->{$item}).'" class="LC_icon" /> <a href="/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'.$currhash->{$item}.'">'.$showname.'</a>';
+ $output.='</td><td><a href=""><img align="right" alt="'.&mt('Catalog Information').'" src="'.
+ &Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif').
+ '" /></a>';
+
$output .= '</td></tr>';
}
}