--- loncom/interface/lonaboutme.pm 2006/08/02 20:23:33 1.46 +++ loncom/interface/lonaboutme.pm 2008/01/16 12:19:39 1.66 @@ -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.66 2008/01/16 12:19:39 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,6 +37,7 @@ use Apache::lonfeedback; use Apache::lonrss(); use Apache::lonlocal; use Apache::lonmsgdisplay(); +use HTML::Entities(); sub handler { my $r = shift; @@ -48,13 +49,17 @@ sub handler { 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); + my $is_course; # Is this even a user? if (&Apache::lonnet::homeserver($cnum,$cdom) eq 'no_host') { &Apache::loncommon::simple_error_page($r,'No info', 'No user information available'); return OK; + } else { + $is_course = &Apache::lonnet::is_course($cdom,$cnum); } + # --------------------------------------------------------- The syllabus fields my %syllabusfields=&Apache::lonlocal::texthash( 'aaa_contactinfo' => 'Contact Information', @@ -62,22 +67,41 @@ sub handler { '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 ', - ); - &display_portfolio_header($r); - &display_portfolio_files($r,\%lt); + if (($target ne 'tex') && ($action eq 'portfolio')) { + &display_portfolio_header($r,$is_course); + my ($blocked,$blocktext) = + &Apache::loncommon::blocking_status('port',$cnum,$cdom); + if (!$blocked) { + &display_portfolio_files($r,$is_course); + } else { + $r->print($blocktext); + } $r->print(&Apache::loncommon::end_page()); return OK; } + if ($is_course) { + if ($target ne 'tex') { + my $start_page = + &Apache::loncommon::start_page( + "Course Information", + undef, + {'function' => $env{'forcestudent'}, + 'domain' => $cdom, + 'force_register' => $env{'forceregister'},}); + $r->print($start_page); + $r->print('
'.&Apache::loncommon::messagewrapper('Send me a message',$cnum,$cdom).'
'.&Apache::lonrss::advertisefeeds($cnum,$cdom)); + $r->print(''.&Apache::loncommon::messagewrapper(&mt('Send me a message'),$cnum,$cdom).'
'.&Apache::lonrss::advertisefeeds($cnum,$cdom)); } else { - $r->print('\textbf{'.$Apache::lonnet::domaindescription{$cdom}.'}\\\\'); + $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\'); } my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum); my $allowed=0; @@ -126,7 +151,7 @@ sub handler { $r->print(''.&mt('Privacy Note').': '. &mt('The information you submit can be viewed by anybody who is logged into LON-CAPA. Do not provide information that you are not ready to share publicly.'). '
'. - &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'Show Public View'. + &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'
'.&mt('Show Public View').''. &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
'); } elsif ($privleged && $target ne 'tex') { my $query_string = &build_query_string({'forceedit' => '1',}); @@ -153,12 +178,12 @@ sub handler { } } if (($allowed) && ($env{'form.storesyl'})) { - foreach (keys %syllabusfields) { - my $field=$env{'form.'.$_}; + foreach my $syl_field (keys(%syllabusfields)) { + my $field=$env{'form.'.$syl_field}; $field=~s/\s+$//s; $field=&Apache::lonfeedback::clear_out_html($field, $env{'user.adv'}); - $syllabus{$_}=$field; + $syllabus{$syl_field}=$field; } $syllabus{'uploaded.lastmodified'}=time; &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); @@ -182,18 +207,18 @@ sub handler { if ($allowed) { $r->print( ''. '