--- loncom/interface/lonaboutme.pm 2008/09/11 02:07:27 1.70 +++ loncom/interface/lonaboutme.pm 2009/03/18 03:14:18 1.70.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network # "About Me" Personal Information # -# $Id: lonaboutme.pm,v 1.70 2008/09/11 02:07:27 raeburn Exp $ +# $Id: lonaboutme.pm,v 1.70.2.3 2009/03/18 03:14:18 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -60,6 +60,30 @@ sub handler { $is_course = &Apache::lonnet::is_course($cdom,$cnum); } + my $candisplay = 1; + if (!$is_course) { + if ($action ne 'portfolio') { + $candisplay = &Apache::lonnet::usertools_access($cnum,$cdom,'aboutme'); + if ((!$candisplay) && ($env{'request.course.id'})) { + $candisplay = &aboutme_access($cnum,$cdom); + } + if (!$candisplay) { + if ($target eq 'tex') { + $r->print('\noindent{\large\textbf{'.&mt('No user home page available').'}}\\\\\\\\'); + } else { + $r->print(&Apache::loncommon::start_page("Personal Information")); + $r->print('

'.&mt('No user home page available') .'

'. + &mt('This is a result of one of the following:').''); + $r->print(&Apache::loncommon::end_page()); + } + return OK; + } + } + } + # --------------------------------------------------------- The syllabus fields my %syllabusfields=&Apache::lonlocal::texthash( 'aaa_contactinfo' => 'Contact Information', @@ -74,15 +98,23 @@ sub handler { # ----------------------------------------------- Available Portfolio file display 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); + if ((!$is_course) && (!&Apache::lonnet::usertools_access($cnum,$cdom,'portfolio'))) { + $r->print('

'.&mt('No user portfolio available') .'

'. + &mt('This is a result of one of the following:').''); } else { - $r->print($blocktext); + 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; } - $r->print(&Apache::loncommon::end_page()); - return OK; } if ($is_course) { @@ -281,7 +313,7 @@ sub handler { ('View recent activity by this student', $cnum,$cdom).(' 'x2)); } - $r->print(&Apache::loncommon::noteswrapper('Add Records',$cnum,$cdom)); + $r->print(&Apache::loncommon::noteswrapper(&mt('Add Records'),$cnum,$cdom)); } else { $r->print('\\\\\textbf{'.&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').'}\\\\'.&mt('Shared by course faculty and staff').'\\\\\\\\'); &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom); @@ -675,5 +707,29 @@ sub parse_directory { return $output; } +sub aboutme_access { + my ($uname,$udom) = @_; + my $privcheck = $env{'request.course.id'}; + my $sec; + if ($env{'request.course.sec'} ne '') { + $sec = $env{'request.course.sec'}; + $privcheck .= '/'.$sec; + } + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if (($cdom eq '') || ($cnum eq '')) { + my %coursehash = &coursedescription($env{'request.course.id'}); + $cdom = $coursehash{'domain'}; + $cnum = $coursehash{'cnum'}; + } + if ((&Apache::lonnet::allowed('srm',$privcheck)) || + (&Apache::lonnet::allowed('dff',$privcheck))) { + if (&in_course($uname,$udom,$cnum,$cdom)) { + return 1; + } + } + return; +} + 1; __END__