[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 .= '&amp;'.$element.'='.$env{'form.'.$element};
             }
         }
     }
-    if (!$nonew) {
+    if ($new) {
         foreach my $key (keys(%{$new_items})) {
             $query_string .= '&amp;'.$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" />&nbsp;'.$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" />&nbsp;<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>';
         }
     }