--- loncom/interface/lonaboutme.pm 2009/02/24 20:43:57 1.103 +++ loncom/interface/lonaboutme.pm 2009/10/13 16:37:57 1.140 @@ -1,7 +1,7 @@ # The LearningOnline Network # Personal Information Page # -# $Id: lonaboutme.pm,v 1.103 2009/02/24 20:43:57 weissno Exp $ +# $Id: lonaboutme.pm,v 1.140 2009/10/13 16:37:57 amueller Exp $ # # Copyright Michigan State University Board of Trustees # @@ -96,14 +96,14 @@ sub handler { my $target=$env{'form.grade_target'}; # ------------------------------------------------------------ Print the screen if ($target eq 'tex') { - $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'})); + $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); @@ -118,14 +118,14 @@ sub handler { } if (!$candisplay) { if ($target eq 'tex') { - $r->print('\noindent{\large\textbf{'.&mt('No user home page available').'}}\\\\\\\\'); + $r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\'); } else { $r->print(&Apache::loncommon::start_page("Personal Information Page")); - $r->print('
'); - $r->print(''); - $r->print(''.&Apache::lonnet::domain($cdom,'description').'
'); - } else { - $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\'); + my $lastmod; + if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { + $lastmod=$syllabus{'uploaded.lastmodified'}; + $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never')); + $r->print(''); + $r->print(&mt('Last updated').': '.$lastmod . ''); + $r->print(''); + } + } +#Print Help Text + if ($target ne 'tex') { + if($allowed){ + $r->print(&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes'))); + } } - my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum); - my $allowed=0; +#------Print Headtitle + if ($target ne 'tex') { + $r->print(''); + $r->print(''); - } if ($env{'request.course.id'} - && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) - && &in_course($cdom,$cnum)) { - if ($target ne 'tex') { - $r->print(''); - $r->print(''.&Apache::loncommon::plainname($cnum,$cdom).'
'); + if ($courseenv{'nickname'}) { + $r->print('"'.$courseenv{'nickname'}.'"
'); + } + $r->print(''.&Apache::lonnet::domain($cdom,'description').'
'); + } else { + $r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\'); + $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\'); + } # does this user have privileges to post, etc? - my $privleged=$allowed=(($env{'user.name'} eq $cnum) && - ($env{'user.domain'} eq $cdom)); - if ($forcestudent or $target eq 'tex') { $allowed=0; } - my $query_string; - - if ($allowed) { - - $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',&mt('Help with filling in text boxes')).'
'); - } - - if (($env{'form.uploaddoc.filename'}) && + + my $query_string; + + if (($env{'form.uploaddoc.filename'}) && ($env{'form.storeupl'}) && ($allowed)) { - if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) { - if ($syllabus{'uploaded.photourl'}) { - &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'}); - } - $syllabus{'uploaded.photourl'}= - &Apache::lonnet::userphotoupload('uploaddoc','aboutme'); - } - $syllabus{'uploaded.lastmodified'}=time; - &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); - } + if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) { + if ($syllabus{'uploaded.photourl'}) { + &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'}); + } + $syllabus{'uploaded.photourl'}= + &Apache::lonnet::userphotoupload('uploaddoc','aboutme'); + } + $syllabus{'uploaded.lastmodified'}=time; + &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); + } if ($allowed && $env{'form.delupl'}) { - if ($syllabus{'uploaded.photourl'}) { - &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'}); - delete($syllabus{'uploaded.photourl'}); - &Apache::lonnet::del('aboutme',['uploaded.photourl'],$cdom,$cnum); - } - } - if (($allowed) && ($env{'form.storesyl'})) { - 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{$syl_field}=$field; - } - $syllabus{'uploaded.lastmodified'}=time; - &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); - } + if ($syllabus{'uploaded.photourl'}) { + &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'}); + delete($syllabus{'uploaded.photourl'}); + &Apache::lonnet::del('aboutme',['uploaded.photourl'],$cdom,$cnum); + } + } + if (($allowed) && ($env{'form.storesyl'})) { + 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{$syl_field}=$field; + } + $syllabus{'uploaded.lastmodified'}=time; + &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); + } -my $lastmod; -my $image; + my $image; # ---------------------------------------------------------------- Get syllabus if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { - $lastmod=$syllabus{'uploaded.lastmodified'}; - $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never')); - $r->print('
'.&mt('Last updated').': '.$lastmod); + if ($syllabus{'uploaded.photourl'}) { + &Apache::lonnet::allowuploaded('/adm/aboutme',$syllabus{'uploaded.photourl'}); - - if ($syllabus{'uploaded.photourl'}) { - &Apache::lonnet::allowuploaded('/adm/aboutme', - $syllabus{'uploaded.photourl'}); - #This call is to resize all "Personal Information" images in the LonCapa System. When its done, you can remove this line. - &Apache::lonnet::resizeImage(&Apache::lonnet::filelocation('',$syllabus{'uploaded.photourl'})); - #---End Resize--- + &Apache::lonnet::resizeImage(&Apache::lonnet::filelocation('',$syllabus{'uploaded.photourl'})); + #---End Resize--- + + $image=qq||; + + if ($target eq 'tex') { + $image=&Apache::lonxml::xmlparse($r,'tex',$image); + } + + } - $image=qq{}; - - if ($target eq 'tex') { - $image=&Apache::lonxml::xmlparse($r,'tex',$image); - } - - } - #---Print Functions - if( $target ne 'tex'){ - &Apache::lontemplate::print_start_page_functions($r); - if($allowed){ - $query_string = &build_query_string({'forcestudent' => '1','popup' => $env{'form.popup'}}); - &Apache::lontemplate::print_functions_content($r,''.&mt('Show Public View').''.&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView')); - }elsif($privleged){ - $query_string = &build_query_string({'forceedit' => '1','popup' => $env{'form.popup'}}); - &Apache::lontemplate::print_functions_content($r,''. &mt('Edit').''); - } - &Apache::lontemplate::print_functions_content($r,&Apache::lontemplate::send_message($r,$cnum,$cdom)); - - if ($env{'request.course.id'} && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) && &in_course($cdom,$cnum)) { - if (&Apache::lonnet::allowed('vsa', $env{'request.course.id'}) || &Apache::lonnet::allowed('vsa', $env{'request.course.id'}.'/'. - $env{'request.course.sec'})) { - &Apache::lontemplate::print_functions_content($r,&Apache::loncommon::track_student_link('View recent activity by this student', - $cnum,$cdom).(' 'x2)); - } - &Apache::lontemplate::print_functions_content($r,&Apache::loncommon::noteswrapper(&mt('Add Records'),$cnum,$cdom)); - } - &Apache::lontemplate::print_end_page_functions($r); - } - if ($allowed) { - $r->print( - '-'); - - } - - if($allowed) { - $r->print('
'); - } - if ($target ne 'tex') {$r->print('
');} else {$r->print('\\\\');} + if ($allowed) { + $r->print( + ''); + if ($syllabus{'uploaded.photourl'}) { + $r->print('') + } + $r->print(''); + } + + if($allowed) { + $r->print(''); + } + if ($target ne 'tex') {$r->print('
');} else {$r->print('\\\\');} } else { - # &Apache::lontemplate::send_message($r,$cnum,$cdom); - $r->print(''.&mt('No personal information provided').'.
'); + $r->print(''.&mt('No personal information provided').'.
'); } - if($target ne 'tex'){ - #$r->print(''); - #$r->print(''. - &mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').'
'. - &mt('Shared by course faculty and staff'). - &Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message"). - '
'); - &Apache::lonmsgdisplay::disfacetoface($r,$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); - } + && &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_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, 'tex'); + } } - $r->print('
'.&mt('Close window').''); } - $r->print(&Apache::loncommon::end_page()); + $r->print(&Apache::loncommon::end_page()); } else { - $r->print('\end{document}'); + $r->print('\end{document}'); } - - + + return OK; } @@ -411,9 +454,9 @@ 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 $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)); @@ -421,15 +464,15 @@ sub in_course { 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); + 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; } @@ -452,18 +495,18 @@ sub print_portfiles_link { my $query_string = &build_query_string(); my $output; my %lt = &Apache::lonlocal::texthash( - vpfi => 'Viewable portfolio files', - vgpf => 'Viewable group portfolio files', - difl => 'Display file listing', - ); + 'vpfi' => 'Viewable portfolio files', + 'vgpf' => 'Viewable group portfolio files', + '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.