--- loncom/interface/lonaboutme.pm 2009/02/12 21:15:47 1.92
+++ loncom/interface/lonaboutme.pm 2009/04/15 10:49:30 1.125
@@ -1,7 +1,7 @@
# The LearningOnline Network
-# "About Me" Personal Information
+# Personal Information Page
#
-# $Id: lonaboutme.pm,v 1.92 2009/02/12 21:15:47 schafran Exp $
+# $Id: lonaboutme.pm,v 1.125 2009/04/15 10:49:30 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -118,13 +118,13 @@ 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"));
- $r->print('
'.&mt('No user home page available') .'
'.
+ $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:').''.
- '- '.&mt('The administrator of this domain has disabled home page functionality for this specific user.').'
'.
- '- '.&mt('The domain has been configured to disable, by default, home page functionality for all users in the domain.').'
'.
+ '- '.&mt('The administrator of this domain has disabled personal information page functionality for this specific user.').'
'.
+ '- '.&mt('The domain has been configured to disable, by default, personal information page functionality for all users in the domain.').'
'.
'
');
$r->print(&Apache::loncommon::end_page());
}
@@ -136,7 +136,7 @@ sub handler {
# --------------------------------------------------------- The syllabus fields
my %syllabusfields=&Apache::lonlocal::texthash(
'aaa_contactinfo' => 'Contact Information',
- 'bbb_aboutme' => 'About Me',
+ 'bbb_aboutme' => 'Personal Information',
'ccc_webreferences' => 'Web References');
# ------------------------------------------------------------ Get Query String
@@ -144,7 +144,7 @@ sub handler {
['forceedit','forcestudent',
'register','popup']);
-# ----------------------------------------------- Available Portfolio file display
+# ----------------------------------------------- Available Portfolio file display
if (($target ne 'tex') && ($action eq 'portfolio')) {
&display_portfolio_header($r,$is_course);
if ((!$is_course) && (!&Apache::lonnet::usertools_access($cnum,$cdom,'portfolio'))) {
@@ -154,7 +154,7 @@ sub handler {
''.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').''.
'');
} else {
- my ($blocked,$blocktext) =
+ my ($blocked,$blocktext) =
&Apache::loncommon::blocking_status('port',$cnum,$cdom);
if (!$blocked) {
&display_portfolio_files($r,$is_course);
@@ -179,7 +179,7 @@ sub handler {
'force_register' => $env{'forceregister'},
'bread_crumbs' => $brcrum});
$r->print($start_page);
- $r->print(''.&mt('Group files').'
');
+ $r->print(''.&mt('Group Portfolio').'
');
&print_portfiles_link($r,$is_course);
$r->print(&Apache::loncommon::end_page());
}
@@ -194,9 +194,18 @@ sub handler {
if ($forcestudent eq '') {
$forceregister = $env{'form.register'};
}
-
+
+#------------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
- my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
+
if ($target ne 'tex') {
my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom);
my $args = {'function' => $forcestudent,
@@ -205,45 +214,91 @@ sub handler {
if ($env{'form.popup'}) {
$args->{'no_nav_bar'} = 1;
}
- $args->{'bread_crumbs'} = [{href=>"/adm/fhwfdev/$cnum/aboutme",text=>"Personal Information"}];
- my $start_page =
- &Apache::loncommon::start_page("Personal Information",$rss_link,$args);
+ $args->{'bread_crumbs'} = [{href=>"/adm/fhwfdev/$cnum/aboutme",text=>"Personal Information Page"}];
+ my $start_page =
+ &Apache::loncommon::start_page("Personal Data",$rss_link,$args);
$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').'
');#OLD SendMessage POS
- } else {
- $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\');
+
}
- my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
- my $allowed=0;
+#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
+
+ 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')));
+ }
+ }
+
+#----------------Print Functions
+ if ($target ne 'tex'){
+ $r->print(&Apache::lontemplate::start_functionslist());
+ if($allowed){
+ my $query_string = &build_query_string({'forcestudent' => '1','popup' => $env{'form.popup'}});
+ $r->print(&Apache::lontemplate::item_functionslist(
+ ''.&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'}});
+ $r->print(&Apache::lontemplate::item_functionslist(
+ ''. &mt('Edit').''));
+ }
+ $r->print(&Apache::lontemplate::item_functionslist(
+ &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'})) {
+ $r->print(&Apache::lontemplate::item_functionslist(
+ &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'})) {
+ $r->print(&Apache::lontemplate::item_functionslist(
+ &Apache::loncommon::slot_reservations_link('Slot reservation history',$cnum,$cdom)));
+ }
+ $r->print(&Apache::lontemplate::item_functionslist(
+ &Apache::loncommon::noteswrapper(&mt('Add Records'),$cnum,$cdom)));
+ }
+ $r->print(&Apache::lontemplate::end_functionslist());
+ }
+#------Print Headtitle
+ if ($target ne 'tex') {
+ $r->print('');
+ $r->print('
'.&Apache::loncommon::plainname($cnum,$cdom).'
');
+ $r->print('
');
+ 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) {
- $query_string = &build_query_string({'forcestudent' => '1','popup' => $env{'form.popup'}});
- $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.').
- '
'.&mt('Show Public View').''.
- &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
'.
- &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).'');
- } elsif ($privleged && $target ne 'tex') {
- $query_string = &build_query_string({'forceedit' => '1','popup' => $env{'form.popup'}});
- $r->print(''.
- &mt('Edit').'
');
- }
+
+ my $query_string;
+
if (($env{'form.uploaddoc.filename'}) &&
($env{'form.storeupl'}) && ($allowed)) {
if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) {
@@ -275,29 +330,25 @@ sub handler {
&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'});
-
- #This call is to resize all "about me" images in the LonCapa System. When its done, you can remove this line.
+
+ #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---
-#--End Resize---
+ $image=qq{};
- $image=qq{};
-
if ($target eq 'tex') {
$image=&Apache::lonxml::xmlparse($r,'tex',$image);
}
- # $r->print($image); #Print old Image
+
}
+
if ($allowed) {
$r->print(
'
-');
-
+ '');
+ if ($syllabus{'uploaded.photourl'}) {
+ $r->print('')
+ }
+ $r->print('');
}
if($allowed) {
$r->print('
');
+ $r->print('
');
if ($target ne 'tex') {
if ($env{'form.popup'}) {
$r->print(''.&mt('Close window').'');
@@ -394,8 +437,8 @@ my $image;
$r->print('\end{document}');
}
-
-
+
+
return OK;
}
@@ -444,14 +487,14 @@ 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 = '
';
- $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'
';
-
+ $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'
';
+ $output .='
';
}
$r->print($output);
return;
@@ -486,11 +529,11 @@ sub print_portfiles_link {
sub build_query_string {
my ($new_items) = @_;
my $query_string;
- my @formelements = ('register');
+ my @formelements = ('register');
my $new = 0;
if (ref($new_items) eq 'HASH') {
$new = 1;
- if (!defined($new_items->{'forceedit'}) &&
+ if (!defined($new_items->{'forceedit'}) &&
!defined($new_items->{'forcestudent'})) {
push(@formelements,('forceedit','forcestudent'));
}
@@ -523,7 +566,7 @@ sub display_portfolio_header {
my $output;
if ($is_course) {
- $output =
+ $output =
&Apache::loncommon::start_page('Viewable group portfolio files',undef,
{'function' => $forcestudent,
'domain' => $cdom,});
@@ -536,10 +579,11 @@ sub display_portfolio_header {
if (!($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public')) {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/$cdom/$cnum/aboutme".$query_string,
- text=>"Personal information - $name",
- title=>"Go to personal information page for $name"}, {href=>"/adm/$cdom/$cnum/aboutme/portfolio",
- text=>"Viewable files - $name",
- title=>"Viewable portfolio files for $name"}
+ text=>&mt('Personal Information Page - [_1]',$name),
+ title=>&mt('Go to personal information page for [_1]', $name)},
+ {href=>"/adm/$cdom/$cnum/aboutme/portfolio",
+ text=>&mt('Viewable files - [_1]', $name),
+ title=>&mt('Viewable portfolio files for [_1]', $name)}
);
$output .= &Apache::lonhtmlcommon::breadcrumbs(&mt('Viewable portfolio files.'));
}
@@ -552,10 +596,11 @@ sub display_portfolio_header {
sub display_portfolio_files {
my ($r,$is_course) = @_;
my ($cdom,$cnum,$name) = &aboutme_info($r,$is_course);
- my %lt = ( withoutpass => 'passphrase not required',
- withpass => 'passphrase protected',
- both => 'all access types ',);
- %lt = &Apache::lonlocal::texthash(%lt);
+ my %lt = &Apache::lonlocal::texthash(
+ 'withoutpass' => 'passphrase not required',
+ 'withpass' => 'passphrase protected',
+ 'both' => 'all access types ',
+ );
my $portaccess = 'withoutpass';
if (exists($env{'form.portaccess'})) {
@@ -602,7 +647,7 @@ sub portfolio_files {
};
my $current_permissions =
&Apache::lonnet::get_portfile_permissions($cdom,$cnum);
- my %access_controls =
+ my %access_controls =
&Apache::lonnet::get_access_controls($current_permissions);
my $portaccess;
if ($mode eq 'showlink') {
@@ -619,7 +664,7 @@ sub portfolio_files {
my %files_by_group;
foreach my $filename (sort(keys(%access_controls))) {
my ($group,$path) = split('/',$filename,2);
- $files_by_group{$group}{$path} = $access_controls{$filename};
+ $files_by_group{$group}{$path} = $access_controls{$filename};
}
foreach my $group (sort(keys(%files_by_group))) {
my %fileshash;
@@ -643,7 +688,7 @@ sub portfolio_files {
} else {
my $access_text;
if (ref($lt) eq 'HASH') {
- $access_text = $lt->{$portaccess};
+ $access_text = $lt->{$portaccess};
}
$r->print(&mt('There are no available files of the specified access type: [_1]',$access_text));
}
@@ -651,7 +696,7 @@ sub portfolio_files {
return $filecounts;
}
-{
+{
my $count=0;
sub portfolio_table_start {
$count=0;
@@ -740,7 +785,7 @@ sub parse_directory {
$output .= &parse_directory($r,$depth,$currhash->{$item},
$path.'/'.$item,$is_course,$group);
} else {
- my $file_name;
+ my $file_name;
if ($currhash->{$item} =~ m|/([^/]+)$|) {
$file_name = $1;
} else {
@@ -751,7 +796,7 @@ sub parse_directory {
if ($is_course) {
$url = '/uploaded/'.$cdom.'/'.$cnum.'/groups/'.$group.
'/portfolio/'.$currhash->{$item};
- } else {
+ } else {
$url = '/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'.
$currhash->{$item};
}
@@ -796,7 +841,7 @@ sub aboutme_access {
$cdom = $coursehash{'domain'};
$cnum = $coursehash{'cnum'};
}
- if ((&Apache::lonnet::allowed('srm',$privcheck)) ||
+ if ((&Apache::lonnet::allowed('srm',$privcheck)) ||
(&Apache::lonnet::allowed('dff',$privcheck))) {
if (&in_course($uname,$udom,$cnum,$cdom)) {
return 1;