--- loncom/interface/lonaboutme.pm 2009/04/21 17:58:17 1.127 +++ loncom/interface/lonaboutme.pm 2022/10/27 20:33:31 1.162 @@ -1,7 +1,7 @@ # The LearningOnline Network # Personal Information Page # -# $Id: lonaboutme.pm,v 1.127 2009/04/21 17:58:17 neumanie Exp $ +# $Id: lonaboutme.pm,v 1.162 2022/10/27 20:33:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,8 +50,6 @@ described at http://www.lon-capa.org. =item handler() -=item in_course() - =item aboutme_info() =item print_portfiles_link() @@ -80,11 +78,13 @@ use Apache::Constants qw(:common); use Apache::loncommon; use Apache::lonnet; use Apache::lontexconvert; -use Apache::lonfeedback; +use Apache::lonhtmlgateway; use Apache::lonrss(); use Apache::lonlocal; use Apache::lonmsgdisplay(); use Apache::lontemplate; +use Apache::longroup; +use Apache::lonhtmlcommon(); use HTML::Entities(); use Image::Magick; @@ -95,20 +95,21 @@ sub handler { return OK if $r->header_only; my $target=$env{'form.grade_target'}; # ------------------------------------------------------------ Print the screen - if ($target eq 'tex') { - $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'})); + if ($target eq 'tex') { + $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'})); } 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'); + &Apache::loncommon::simple_error_page($r,'No info', + 'No user information available'); return OK; } else { $is_course = &Apache::lonnet::is_course($cdom,$cnum); } + my $clientip = &Apache::lonnet::get_requestor_ip($r); my $candisplay = 1; if (!$is_course) { if ($action ne 'portfolio') { @@ -121,11 +122,11 @@ sub handler { $r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\'); } else { $r->print(&Apache::loncommon::start_page("Personal Information Page")); - $r->print('
'.&mt('No user personal information page available') .'
'. + &mt('This is a result of one of the following:').''); - } + if ($target eq 'tex') { + $image=&Apache::lonxml::xmlparse($r,'tex',$image); + } + } - if($allowed) { - $r->print('
'); - } - if ($target ne 'tex') {$r->print(''.&mt('No personal information provided').'.
'); - } + if ($allowed) { + $r->print( + ''); + if ($syllabus{'uploaded.photourl'}) { + $r->print('') + } + $r->print(''); + } + + if($allowed) { + $r->print(''); + } + if ($target ne 'tex') {$r->print(''.&mt('No personal information provided').'.
'); + } if ($env{'request.course.id'} - && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) - && &in_course($cdom,$cnum)) { - if ($target ne 'tex') { - $r->print(''); - &Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_ContentBoxSpecial'); - $r->print(''); - $r->print(&mt('Shared by course faculty and staff').&Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message")); - $r->print(''); - &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom); - $r->print('
'); - &Apache::lontemplate::print_end_template($r); - - } 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); - } - } + && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) + && &Apache::lonnet::in_course($cdom,$cnum,$coursedomain,$coursenum,undef,1)) { + if ($target ne 'tex') { + $r->print(''); + &Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_Box'); + $r->print(''); + $r->print(&mt('Shared by course faculty and staff').&Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message")); + $r->print(''); + &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom); + &Apache::lontemplate::print_end_template($r); + + } 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,$target); + } + } if ($target ne 'tex') { - $r->print(''.&mt('Close window').''); + $r->print('
'); } - $r->print(&Apache::loncommon::end_page()); + $r->print(&Apache::loncommon::end_page()); } else { - $r->print('\end{document}'); + $r->print('\end{document}'); } @@ -435,33 +433,6 @@ my $image; return OK; } -sub in_course { - my ($udom,$uname,$cdom,$cnum,$type) = @_; - $type ||= 'any'; - if (!defined($cdom) || !defined($cnum)) { - my $cid = $env{'request.course.id'}; - $cdom = $env{'course.'.$cid.'.domain'}; - $cnum = $env{'course.'.$cid.'.num'}; - } - my %roles = &Apache::lonnet::dump('roles',$udom,$uname); - my @course_roles = grep(m{^/\Q$cdom\E/\Q$cnum\E[/_]}, keys(%roles)); - return 0 if (!@course_roles); - return 1 if ($type eq 'any'); - my $now = time(); - foreach my $role (@course_roles) { - my (undef,$role_end,$role_start)=split(/\_/,$roles{$role}); - my $status = 'active'; - if ($role_start > 0 && $now < $role_start) { - $status = 'future'; - } - if ($role_end > 0 && $now > $role_end) { - $status = 'previous'; - } - return 1 if ($status eq $type); - } - return 0; -} - sub aboutme_info { my ($r,$is_course) = @_; my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri); @@ -485,13 +456,13 @@ sub print_portfiles_link { 'difl' => 'Display file listing', ); if ($filecounts->{'both'} > 0) { - $output = 'The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.