');
+ &print_portfiles_link($r,$is_course);
+ $r->print(&Apache::loncommon::end_page());
+ }
+ return OK;
+ }
+
# --------------------------------------------------------------- Force Student
my $forcestudent='';
if ($env{'form.forcestudent'}) { $forcestudent='student'; };
@@ -82,209 +194,334 @@ sub handler {
if ($forcestudent eq '') {
$forceregister = $env{'form.register'};
}
-
-# --------------------------------------- There is such a user, get environment
+
+#------------Get rights
my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
+ my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
+ my $allowed=0;
+ my $privleged=$allowed=(($env{'user.name'} eq $cnum) &&
+ ($env{'user.domain'} eq $cdom));
+ if ($forcestudent or $target eq 'tex') { $allowed=0; }
+
+# --------------------------------------- There is such a user, get environment
+
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).'}}\\\\\\\\');
+ my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom);
+ my $args = {'function' => $forcestudent,
+ 'domain' => $cdom,
+ 'force_register' => $forceregister};
+ if ($env{'form.popup'}) {
+ $args->{'no_nav_bar'} = 1;
+ } else { # Don't show breadcrumbs in popup window
+ $args->{'bread_crumbs'} = [{href=>"/adm/$cdom/$cnum/aboutme",text=>"Personal Information Page"}];
+ }
+ my $start_page = &Apache::loncommon::start_page('Personal Information Page',$rss_link,$args);
+ $r->print($start_page);
+ }
+
+#----------------Print Functions
+ if ($target ne 'tex') {
+ my $functions=&Apache::lonhtmlcommon::start_funclist();
+ if ($allowed) {
+ my $query_string = &build_query_string(
+ {'forcestudent' => '1',
+ 'popup' => $env{'form.popup'}});
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ ''
+ .&mt('Show Public View').''
+ .&Apache::loncommon::help_open_topic(
+ 'Uploaded_Templates_PublicView'));
+ } elsif ($privleged) {
+ my $query_string = &build_query_string(
+ {'forceedit' => '1',
+ 'popup' => $env{'form.popup'}});
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ ''
+ .&mt('Edit').'');
+ }
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ &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'})) {
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ &Apache::loncommon::track_student_link(
+ 'View recent activity by this student',$cnum,$cdom));
+ }
+ if (&Apache::lonnet::allowed('vgr', $env{'request.course.id'}) ||
+ &Apache::lonnet::allowed('vgr', $env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ &Apache::loncommon::slot_reservations_link(
+ 'Slot reservation history',$cnum,$cdom));
+ }
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ &Apache::loncommon::noteswrapper(
+ &mt('Add Records'),$cnum,$cdom));
+ }
+ $functions.=&Apache::lonhtmlcommon::end_funclist();
+ $r->print(&Apache::loncommon::head_subbox($functions));
}
- if ($courseenv{'nickname'}) {
- $r->print(
- '
"'.$courseenv{'nickname'}.
- '"
');
+
+# Print Privacy Note
+ if ($target ne 'tex') {
+ #Print Privacy Note
+ 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.')
+ .'
'
+ );
+ }
}
+
+#Print last modified
+
if ($target ne 'tex') {
- $r->print('
'.$Apache::lonnet::domaindescription{$cdom}.'
'.
- '
'.&Apache::loncommon::messagewrapper('Send me a message',$cnum,$cdom).'
');
+ }
+ }
+#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('
'.&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; }
-
- if ($allowed) {
- my $query_string = &build_query_string({'forcestudent' => '1',});
- $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','Help with filling in text boxes').'
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'}) &&
+
+ 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::userfileupload('uploaddoc',undef,'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 (keys %syllabusfields) {
- my $field=$env{'form.'.$_};
- $field=~s/\s+$//s;
- $field=&Apache::lonfeedback::clear_out_html($field,
- $env{'user.adv'});
- $syllabus{$_}=$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 $image;
# ---------------------------------------------------------------- Get syllabus
if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
- 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(
- ''.
- '');
- }
- if ($target ne 'tex') {$r->print(' ');} else {$r->print('\\\\');}
+ 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---
+
+ $image=qq{};
+
+ if ($target eq 'tex') {
+ $image=&Apache::lonxml::xmlparse($r,'tex',$image);
+ }
+
+ }
+
+ 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 {
- $r->print('
'.&mt('No personal information provided').'.
');
+ $r->print('
'.&mt('No personal information provided').'.
');
}
- if ($target ne 'tex') {
- &print_portfiles_link($r);
- }
+ 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_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('