--- loncom/interface/lonaboutme.pm 2008/12/09 22:16:23 1.80
+++ loncom/interface/lonaboutme.pm 2009/05/13 14:27:52 1.131
@@ -1,7 +1,7 @@
# The LearningOnline Network
-# "About Me" Personal Information
+# Personal Information Page
#
-# $Id: lonaboutme.pm,v 1.80 2008/12/09 22:16:23 raeburn Exp $
+# $Id: lonaboutme.pm,v 1.131 2009/05/13 14:27:52 bisitz 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;
@@ -117,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('
');
+ $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) {
@@ -270,51 +328,65 @@ 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::start_columnSection($r);
- &Apache::lontemplate::print_content_template($r,$allowed,$target,\%syllabusfields,\%syllabus);
- if($target ne 'tex')
- {
- &Apache::lontemplate::print_image($r,$image);
- &print_portfiles_link($r,$is_course);
- $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('
');
+ $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;
@@ -462,11 +521,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'));
}
@@ -499,7 +558,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,});
@@ -512,10 +571,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.'));
}
@@ -528,10 +588,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'})) {
@@ -578,7 +639,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') {
@@ -595,7 +656,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;
@@ -619,7 +680,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));
}
@@ -627,20 +688,6 @@ sub portfolio_files {
return $filecounts;
}
-{
- my $count=0;
- sub portfolio_table_start {
- $count=0;
- return '
';
- }
- sub portfolio_row_start {
- $count++;
- my $class = ($count%2)?'LC_odd_row'
- :'LC_even_row';
- return '';
- }
-}
-
sub build_hierarchy {
my ($r,$cdom,$cnum,$portaccess,$is_course,$filecounts,$mode,$access_info,
$allfileshash,$group) = @_;
@@ -685,10 +732,10 @@ sub build_hierarchy {
my $output;
if ($mode eq 'listfiles') {
if ($filecounts->{'both'} > 0) {
- $output = &portfolio_table_start();
+ $output = &Apache::loncommon::start_data_table();
$output .= &parse_directory($r,0,$allfileshash,'',$is_course,
$group);
- $output .= '
';
+ $output .= &Apache::loncommon::end_data_table();
}
}
return $output;
@@ -707,16 +754,17 @@ sub parse_directory {
((split('&',$_,2))[0],1)
} &Apache::lonnet::dirlist($portfolio_root.$path,$cdom,$cnum,$getpropath);
foreach my $item (sort(keys(%{$currhash}))) {
- $output .= &portfolio_row_start();
+ $output .= &Apache::loncommon::start_data_table_row();
$output .= '
';
if (ref($currhash->{$item}) eq 'HASH') {
my $title=&HTML::Entities::encode($item,'<>&"');
$output .= ' '.$title;
- $output .= ' | | ';
+ $output .= '
| '
+ .&Apache::loncommon::end_data_table_row();
$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 {
@@ -727,7 +775,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};
}
@@ -747,11 +795,12 @@ sub parse_directory {
' '.$showname.'';
$output.='
';
if ($have_meta) {
- $output.= '';
}
- $output .= ' | ';
+ $output .= ''
+ .&Apache::loncommon::end_data_table_row();
}
}
return $output;
@@ -772,7 +821,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;
}