--- loncom/interface/lonaboutme.pm 2002/08/27 20:29:54 1.2 +++ loncom/interface/lonaboutme.pm 2003/04/12 15:57:30 1.16 @@ -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.16 2003/04/12 15:57:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,6 +33,7 @@ use Apache::Constants qw(:common); use Apache::loncommon; use Apache::lonnet; use Apache::lontexconvert; +use Apache::lonfeedback; sub handler { my $r = shift; @@ -45,37 +46,47 @@ sub handler { The LearningOnline Network with CAPA - ENDDOCUMENT my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri); # Is this even a user? if (&Apache::lonnet::homeserver($cnum,$cdom) eq 'no_host') { - $r->print('No user information available'); + $r->print('No user information available'); return OK; } # --------------------------------------------------------- The syllabus fields my %syllabusfields=( - 'aaa_instructorinfo' => 'Instructor Information', - 'bbb_description' => 'Course Description', - 'ccc_prereq' => 'Prerequisites', - 'ddd_officehours' => 'Office Hours', - 'eee_helproom' => 'Helproom Hours', - 'fff_examinfo' => 'Exam Information', - 'ggg_grading' => 'Grading Information', - 'hhh_readings' => 'Readings'); + 'aaa_contactinfo' => 'Contact Information', + 'bbb_aboutme' => 'About Me', + 'ccc_webreferences' => 'Web References'); -# --------------------------------------------------------------- Force Student +# ------------------------------------------------------------ Get Query String &Apache::loncommon::get_unprocessed_cgi - ($ENV{'QUERY_STRING'},['forcestudent']); + ($ENV{'QUERY_STRING'},['forcestudent','register']); +# ----------------------------------------------------- Force menu registration + my $addentries=''; + if ($ENV{'form.register'}) { + $addentries=' onLoad="'.&Apache::lonmenu::loadevents(). + '" onUnload="'.&Apache::lonmenu::unloadevents().'"'; + $r->print(&Apache::lonmenu::registerurl(1)); + } +# --------------------------------------------------------------- Force Student my $forcestudent=''; if ($ENV{'form.forcestudent'}) { $forcestudent='student'; }; # --------------------------------------- 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}.'

'); + $r->print(''.&Apache::loncommon::bodytag + ("Personal Information",$forcestudent,$addentries,'',$cdom, + $ENV{'form.register'})); + $r->print('

'.&Apache::loncommon::plainname($cnum,$cdom).'

'); + if ($courseenv{'nickname'}) { + $r->print( + '

"'.$courseenv{'nickname'}. + '"

'); + } + $r->print('

'.$Apache::lonnet::domaindescription{$cdom}.'

'. + '

'.&Apache::loncommon::messagewrapper('Send me a message',$cnum,$cdom). + '

'); my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum); my $allowed=0; @@ -86,20 +97,26 @@ ENDDOCUMENT if ($forcestudent) { $allowed=0; } if ($allowed) { - $r->print( - '

Show Student View

'); + $r->print('

Privacy Note: 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','Help with filling in text boxes').'

Show Public View'. + &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'

'); } + if (($ENV{'form.uploaddoc.filename'}) && + ($ENV{'form.storeupl'}) && ($allowed)) { + if ($ENV{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) { + $syllabus{'uploaded.photourl'}= + &Apache::lonnet::userfileupload('uploaddoc'); + } + $syllabus{'uploaded.lastmodified'}=time; + &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); + } if (($allowed) && ($ENV{'form.storesyl'})) { foreach (keys %syllabusfields) { my $field=$ENV{'form.'.$_}; $field=~s/\s+$//s; - $field=~s/\/\>\;/g; - if ($field) { - $syllabus{$_}=$field; - } else { - delete $syllabus{$_}; - } + $field=&Apache::lonfeedback::clear_out_html($field, + $ENV{'user.adv'}); + $syllabus{$_}=$field; } $syllabus{'uploaded.lastmodified'}=time; &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum); @@ -107,10 +124,21 @@ ENDDOCUMENT # ---------------------------------------------------------------- Get syllabus if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { - $r->print('Last updated:'. - localtime($syllabus{'uploaded.lastmodified'})); + my $lastmod=$syllabus{'uploaded.lastmodified'}; + $lastmod=($lastmod?localtime($lastmod):'never'); + $r->print('Last updated: '.$lastmod); + if ($syllabus{'uploaded.photourl'}) { + $r->print(''); + } if ($allowed) { - $r->print('
'); + $r->print( + ''. + '

Upload a Photo

'. + ''. + ''. + '
'); } foreach (sort keys %syllabusfields) { if (($syllabus{$_}) || ($allowed)) { @@ -133,7 +161,14 @@ ENDDOCUMENT } $r->print('

'); } else { - $r->print('

No syllabus information provided.

'); + $r->print('

No personal information provided.

'); + } + if ($ENV{'request.course.id'}) { + if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { + $r->print('

User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course

Shared by course faculty and staff
'); + &Apache::lonmsg::disfacetoface($r,$cnum,$cdom); + $r->print(&Apache::loncommon::noteswrapper('Add Records',$cnum,$cdom)); + } } $r->print(''); return OK;