--- loncom/interface/lonaboutme.pm 2002/08/27 20:29:54 1.2
+++ loncom/interface/lonaboutme.pm 2007/05/23 21:44:11 1.63
@@ -1,7 +1,7 @@
# The LearningOnline Network
# "About Me" Personal Information
#
-# $Id: lonaboutme.pm,v 1.2 2002/08/27 20:29:54 www Exp $
+# $Id: lonaboutme.pm,v 1.63 2007/05/23 21:44:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -33,73 +33,156 @@ use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonnet;
use Apache::lontexconvert;
+use Apache::lonfeedback;
+use Apache::lonrss();
+use Apache::lonlocal;
+use Apache::lonmsgdisplay();
+use HTML::Entities();
sub handler {
my $r = shift;
- $r->content_type('text/html');
+ &Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
return OK if $r->header_only;
-
+ my $target=$env{'form.grade_target'};
# ------------------------------------------------------------ Print the screen
- $r->print(< '.&Apache::loncommon::messagewrapper('Send me a message',$cnum,$cdom).' '.&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.').
+ ''.&mt('Group files').'
');
+ &print_portfiles_link($r,$is_course);
+ $r->print(&Apache::loncommon::end_page());
+ }
+ return OK;
+ }
# --------------------------------------------------------------- Force Student
- &Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'},['forcestudent']);
my $forcestudent='';
- if ($ENV{'form.forcestudent'}) { $forcestudent='student'; };
+ if ($env{'form.forcestudent'}) { $forcestudent='student'; };
+
+ my $forceregister = '';
+ if ($forcestudent eq '') {
+ $forceregister = $env{'form.register'};
+ }
# --------------------------------------- There is such a user, get environment
my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
- $r->print(&Apache::loncommon::bodytag
- ("Personal Information",$forcestudent,'','',$cdom));
- $r->print(''.&Apache::loncommon::plainname($cnum,$cdom).'
'.
- $Apache::lonnet::domaindescription{$cdom}.'
');
+ if ($target ne 'tex') {
+ my $start_page =
+ &Apache::loncommon::start_page("Personal Information",undef,
+ {'function' => $forcestudent,
+ 'domain' => $cdom,
+ 'force_register' =>
+ $forceregister,});
+ $r->print($start_page);
+ $r->print(''.&Apache::loncommon::plainname($cnum,$cdom).'
');
+ } else {
+ $r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\');
+ }
+ if ($courseenv{'nickname'}) {
+ $r->print(
+ '"'.$courseenv{'nickname'}.
+ '"
');
+ }
+ if ($target ne 'tex') {
+ $r->print(''.&Apache::lonnet::domain($cdom,'description').'
'.
+ '
Show Public View'. + &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
'); + } elsif ($privleged && $target ne 'tex') { + my $query_string = &build_query_string({'forceedit' => '1',}); + $r->print(''); + } + 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::userfileupload('uploaddoc',undef,'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=~s/\\<\;/g; - $field=~s/\>/\>\;/g; - if ($field) { - $syllabus{$_}=$field; - } else { - delete $syllabus{$_}; - } + $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); @@ -107,37 +190,477 @@ ENDDOCUMENT # ---------------------------------------------------------------- Get syllabus if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { - $r->print('Last updated:'. - localtime($syllabus{'uploaded.lastmodified'})); + my $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'}); + my $image= + qq{}; + if ($target eq 'tex') { + $image=&Apache::lonxml::xmlparse($r,'tex',$image); + } + $r->print($image); + } if ($allowed) { - $r->print(''. + ''); } - $r->print(''); + if ($target ne 'tex') {$r->print(''.&mt('No personal information provided').'.
'); + } + + if ($target ne 'tex') { + &print_portfiles_link($r,$is_course); + } + + 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('No syllabus information provided.
'); + $r->print('\end{document}'); } - $r->print('