--- loncom/interface/lonaboutme.pm 2008/12/08 23:13:52 1.77
+++ loncom/interface/lonaboutme.pm 2009/04/21 17:58:17 1.127
@@ -1,7 +1,7 @@
# The LearningOnline Network
-# "About Me" Personal Information
+# Personal Information Page
#
-# $Id: lonaboutme.pm,v 1.77 2008/12/08 23:13:52 raeburn Exp $
+# $Id: lonaboutme.pm,v 1.127 2009/04/21 17:58:17 neumanie Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -86,6 +86,7 @@ use Apache::lonlocal;
use Apache::lonmsgdisplay();
use Apache::lontemplate;
use HTML::Entities();
+use Image::Magick;
sub handler {
my $r = shift;
@@ -94,7 +95,7 @@ sub handler {
return OK if $r->header_only;
my $target=$env{'form.grade_target'};
# ------------------------------------------------------------ Print the screen
- if ($target eq 'tex') {
+ if ($target eq 'tex') {
$r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));
}
my (undef,undef,$cdom,$cnum,undef,$action)=split(/\//,$r->uri);
@@ -110,30 +111,32 @@ sub handler {
my $candisplay = 1;
if (!$is_course) {
- $candisplay = &Apache::lonnet::usertools_access($cnum,$cdom,'aboutme');
- if ((!$candisplay) && ($env{'request.course.id'})) {
- $candisplay = &aboutme_access($cnum,$cdom);
- }
- if (!$candisplay) {
- if ($target eq 'tex') {
- $r->print('\noindent{\large\textbf{'.&mt('No user home page available').'}}\\\\\\\\');
- } else {
- $r->print(&Apache::loncommon::start_page("Personal Information"));
- $r->print('
');
+ $r->print(&mt('Last updated').': '.$lastmod . '');
+ $r->print('
');
}
- my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
- my $allowed=0;
+}
+#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(
+ '');
+ $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; }
-
- if ($allowed) {
- my $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.').
- '
'.
- &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')).'
'.&mt('Show Public View').''.
- &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'
');
- } elsif ($privleged && $target ne 'tex') {
- my $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) {
@@ -236,7 +304,7 @@ sub handler {
&Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'});
}
$syllabus{'uploaded.photourl'}=
- &Apache::lonnet::userfileupload('uploaddoc',undef,'aboutme');
+ &Apache::lonnet::userphotoupload('uploaddoc','aboutme');
}
$syllabus{'uploaded.lastmodified'}=time;
&Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);
@@ -260,54 +328,66 @@ 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); #Old Last Modifi Pos
if ($syllabus{'uploaded.photourl'}) {
&Apache::lonnet::allowuploaded('/adm/aboutme',
$syllabus{'uploaded.photourl'});
- $image=
- qq{

};
+
+ #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);
}
- # $r->print($image); #Print old Image
+
}
+
if ($allowed) {
$r->print(
- '
'.
'
');
+ if ($syllabus{'uploaded.photourl'}) {
+ $r->print('
')
+ }
+ $r->print('
');
}
- &Apache::lontemplate::print_content_template($r,$allowed,$target,\%syllabusfields,\%syllabus);
- if($target ne 'tex')
- {
-
- &print_portfiles_link($r,$is_course);
- $r->print('
');
- $r->print($image);
- $r->print('
');
- $r->print('
');
- $r->print('
');
-
- $r->print('Kontakt');
- $r->print(&Apache::loncommon::messagewrapper(&mt('Send me a message'),$cnum,$cdom).'
'.&Apache::lonrss::advertisefeeds($cnum,$cdom));
+ if($allowed) {
+ $r->print('
');
}
if ($target ne 'tex') {$r->print('
');} else {$r->print('\\\\');}
- } else {
+ } else {
$r->print('
'.&mt('No personal information provided').'.
');
- }
-
- if ($target ne 'tex') {
- # &print_portfiles_link($r,$is_course); #old Print files
-
- }
+ }
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('
'.
- &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);
- $r->print('
');
- if (&Apache::lonnet::allowed('vsa',
- $env{'request.course.id'}) ||
- &Apache::lonnet::allowed('vsa',
- $env{'request.course.id'}.'/'.
- $env{'request.course.sec'})) {
- $r->print(&Apache::loncommon::track_student_link
- ('View recent activity by this student',
- $cnum,$cdom).(' 'x2));
- }
- $r->print(&Apache::loncommon::noteswrapper('Add Records',$cnum,$cdom));
+ $r->print('
');
+ &Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_ContentBoxSpecial');
+ $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);
+ $r->print('
');
+ &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);
}
- }
+ }
if ($target ne 'tex') {
+ $r->print('
');
+ $r->print('');
if ($env{'form.popup'}) {
$r->print('';
- $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'
';
-
+ $output = '
';
+ $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'
';
}
$r->print($output);
return;
@@ -455,11 +522,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'));
}
@@ -492,7 +559,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,});
@@ -505,10 +572,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.'));
}
@@ -521,10 +589,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'})) {
@@ -571,7 +640,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') {
@@ -588,7 +657,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;
@@ -612,7 +681,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));
}
@@ -620,7 +689,7 @@ sub portfolio_files {
return $filecounts;
}
-{
+{
my $count=0;
sub portfolio_table_start {
$count=0;
@@ -709,7 +778,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 {
@@ -720,7 +789,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};
}
@@ -740,7 +809,7 @@ sub parse_directory {
' '.$showname.'';
$output.='
';
if ($have_meta) {
- $output.= ' ';
}
@@ -765,7 +834,8 @@ sub aboutme_access {
$cdom = $coursehash{'domain'};
$cnum = $coursehash{'cnum'};
}
- if ((&allowed('srm',$privcheck)) || (&allowed('dff',$privcheck))) {
+ if ((&Apache::lonnet::allowed('srm',$privcheck)) ||
+ (&Apache::lonnet::allowed('dff',$privcheck))) {
if (&in_course($uname,$udom,$cnum,$cdom)) {
return 1;
}
|