--- loncom/interface/lonaboutme.pm 2008/12/02 23:35:21 1.76 +++ loncom/interface/lonaboutme.pm 2008/12/09 11:31:56 1.79 @@ -1,7 +1,7 @@ # The LearningOnline Network # "About Me" Personal Information # -# $Id: lonaboutme.pm,v 1.76 2008/12/02 23:35:21 harmsja Exp $ +# $Id: lonaboutme.pm,v 1.79 2008/12/09 11:31:56 amueller Exp $ # # Copyright Michigan State University Board of Trustees # @@ -108,6 +108,28 @@ sub handler { $is_course = &Apache::lonnet::is_course($cdom,$cnum); } + my $candisplay = 1; + if (!$is_course) { + $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', @@ -214,7 +236,7 @@ sub handler { &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'}); } $syllabus{'uploaded.photourl'}= - &Apache::lonnet::userfileupload('uploaddoc',undef,'aboutme'); + &Apache::lonnet::userphotoupload('uploaddoc','aboutme'); } $syllabus{'uploaded.lastmodified'}=time; &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); @@ -248,8 +270,7 @@ my $image; if ($syllabus{'uploaded.photourl'}) { &Apache::lonnet::allowuploaded('/adm/aboutme', $syllabus{'uploaded.photourl'}); - $image= - qq{}; + $image=qq{}; if ($target eq 'tex') { $image=&Apache::lonxml::xmlparse($r,'tex',$image); @@ -269,14 +290,12 @@ my $image; '
'); } + &Apache::lontemplate::start_columnSection($r); &Apache::lontemplate::print_content_template($r,$allowed,$target,\%syllabusfields,\%syllabus); if($target ne 'tex') { - + &Apache::lontemplate::print_image($r,$image); &print_portfiles_link($r,$is_course); - $r->print('
'); - $r->print($image); - $r->print('
'); $r->print(''); $r->print('

'); @@ -336,7 +355,7 @@ my $image; $r->print('

'.&mt('Close window').''); } $r->print('
'.&mt('Last updated').': '.$lastmod); - + &Apache::lontemplate::end_columnSection($r); $r->print(&Apache::loncommon::end_page()); } else { $r->print('\end{document}'); @@ -728,5 +747,28 @@ 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 ((&allowed('srm',$privcheck)) || (&allowed('dff',$privcheck))) { + if (&in_course($uname,$udom,$cnum,$cdom)) { + return 1; + } + } + return; +} + 1; __END__