version 1.148, 2011/10/17 12:41:30
|
version 1.151, 2012/11/09 17:27:10
|
Line 50 described at http://www.lon-capa.org.
|
Line 50 described at http://www.lon-capa.org.
|
|
|
=item handler() |
=item handler() |
|
|
=item in_course() |
|
|
|
=item aboutme_info() |
=item aboutme_info() |
|
|
=item print_portfiles_link() |
=item print_portfiles_link() |
Line 121 sub handler {
|
Line 119 sub handler {
|
$r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\'); |
$r->print('\noindent{\large\textbf{'.&mt('No user personal information page available').'}}\\\\\\\\'); |
} else { |
} else { |
$r->print(&Apache::loncommon::start_page("Personal Information Page")); |
$r->print(&Apache::loncommon::start_page("Personal Information Page")); |
$r->print('<h2>'.&mt('No user personal information page available') .'</h2>'. |
$r->print('<p class="_LC_info">'.&mt('No user personal information page available') .'</p>'. |
&mt('This is a result of one of the following:').'<ul>'. |
&mt('This is a result of one of the following:').'<ul>'. |
'<li>'.&mt('The administrator of this domain has disabled personal information page functionality for this specific user.').'</li>'. |
'<li>'.&mt('The administrator of this domain has disabled personal information page functionality for this specific user.').'</li>'. |
'<li>'.&mt('The domain has been configured to disable, by default, personal information page functionality for all users in the domain.').'</li>'. |
'<li>'.&mt('The domain has been configured to disable, by default, personal information page functionality for all users in the domain.').'</li>'. |
Line 168 sub handler {
|
Line 166 sub handler {
|
|
|
if ($is_course) { |
if ($is_course) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
my $args = {'function' => $env{'forcestudent'}, |
my $args = {'function' => undef, |
'domain' => $cdom}; |
'domain' => $cdom}; |
if ($env{'form.register'}) { |
if ($env{'form.register'}) { |
$args->{'force_register'} = $env{'form.register'}; |
$args->{'force_register'} = $env{'form.register'}; |
Line 192 sub handler {
|
Line 190 sub handler {
|
return OK; |
return OK; |
} |
} |
|
|
# --------------------------------------------------------------- Force Student |
|
my $forcestudent=''; |
|
if ($env{'form.forcestudent'}) { $forcestudent='student'; }; |
|
|
|
#------------Get rights |
#------------Get rights |
my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum); |
my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum); |
my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum); |
my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum); |
my $allowed=0; |
my ($allowed,$coursedomain,$coursenum); |
my $privleged=$allowed=(($env{'user.name'} eq $cnum) && |
if ($env{'request.course.id'}) { |
($env{'user.domain'} eq $cdom)); |
$coursedomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
if ($forcestudent or $target eq 'tex') { $allowed=0; } |
$coursenum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
} |
|
my ($cfile) = |
|
&Apache::lonnet::can_edit_resource($env{'request.noversionuri'}, |
|
$coursenum,$coursedomain, |
|
$env{'request.noversionuri'}, |
|
$env{'request.symb'}); |
|
if ($cfile ne '') { |
|
$allowed = 1; |
|
} |
|
|
|
if (!$env{'form.forceedit'} or $target eq 'tex') { $allowed=0; } |
|
|
# --------------------------------------- There is such a user, get environment |
# --------------------------------------- There is such a user, get environment |
|
|
Line 222 sub handler {
|
Line 227 sub handler {
|
$r->print($start_page); |
$r->print($start_page); |
} |
} |
|
|
#----------------Print Functions |
#----------------Print Privacy note (edit mode) or last modified date. |
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( |
|
'<a href="'.$r->uri.$query_string.'">' |
|
.&mt('Show Public View').'</a>' |
|
.&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( |
|
'<a href="'.$r->uri.$query_string.'">' |
|
.&mt('Edit').'</a>'); |
|
} |
|
$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)); |
|
} |
|
|
|
# Print Privacy Note |
|
if ($target ne 'tex') { |
if ($target ne 'tex') { |
#Print Privacy Note |
#Print Privacy Note |
if ($allowed) { |
if ($allowed) { |
Line 277 sub handler {
|
Line 237 sub handler {
|
.&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('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.') |
.'</div>' |
.'</div>' |
); |
); |
} |
} elsif ($syllabus{'uploaded.lastmodified'}) { |
} |
#Print last modified |
|
my $lastmod=$syllabus{'uploaded.lastmodified'}; |
#Print last modified |
|
|
|
if ($target ne 'tex') { |
|
my $lastmod; |
|
if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) { |
|
$lastmod=$syllabus{'uploaded.lastmodified'}; |
|
$lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never')); |
$lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never')); |
$r->print('<div class="LC_info">'); |
$r->print('<div class="LC_info">'); |
$r->print(&mt('Last updated').': '.$lastmod . ''); |
$r->print(&mt('Last updated').': '.$lastmod . ''); |
$r->print('</div>'); |
$r->print('</div>'); |
} |
} |
} |
} |
#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 Headtitle |
#------Print Headtitle |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$r->print('<div class="LC_Box">'); |
$r->print('<div class="LC_Box">'. |
$r->print('<h2 class="LC_hcell">'.&Apache::loncommon::plainname($cnum,$cdom).'</h2>'); |
'<h2 class="LC_hcell">'.&Apache::loncommon::plainname($cnum,$cdom).'</h2>'); |
if ($courseenv{'nickname'}) { |
if ($allowed) { |
$r->print('<h2>"'.$courseenv{'nickname'}.'"</h2>'); |
$r->print('<div style="margin: 0; float:left;">'); |
} |
if ($courseenv{'nickname'}) { |
$r->print('<h3>'.&Apache::lonnet::domain($cdom,'description').'</h3>'); |
$r->print('<h2>"'.$courseenv{'nickname'}.'"</h2>'); |
|
} |
|
$r->print('<h3>'.&Apache::lonnet::domain($cdom,'description').'</h3></div>'); |
|
#Print Help Text |
|
$r->print('<div style="margin: 0; float:right;">'. |
|
&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')). |
|
'</div><br clear="all" />'); |
|
} else { |
|
if ($courseenv{'nickname'}) { |
|
$r->print('<h2>"'.$courseenv{'nickname'}.'"</h2>'); |
|
} |
|
$r->print('<h3>'.&Apache::lonnet::domain($cdom,'description').'</h3>'); |
|
} |
} else { |
} else { |
$r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\'); |
$r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\'); |
$r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\'); |
$r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\'); |
Line 409 sub handler {
|
Line 369 sub handler {
|
} |
} |
if ($target ne 'tex') {$r->print('<br />');} else {$r->print('\\\\');} |
if ($target ne 'tex') {$r->print('<br />');} else {$r->print('\\\\');} |
} else { |
} else { |
$r->print('<p>'.&mt('No personal information provided').'.</p>'); |
$r->print('<p class="LC_info">'.&mt('No personal information provided').'.</p>'); |
} |
} |
|
|
if ($env{'request.course.id'} |
if ($env{'request.course.id'} |
&& &Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
&& &Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
&& &in_course($cdom,$cnum)) { |
&& &Apache::lonnet::in_course($cdom,$cnum,$coursedomain,$coursenum,undef,1)) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
$r->print('<a name="coursecomment" />'); |
$r->print('<a name="coursecomment" />'); |
&Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_Box'); |
&Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_Box'); |
Line 444 sub handler {
|
Line 404 sub handler {
|
return OK; |
return OK; |
} |
} |
|
|
sub in_course { |
|
my ($udom,$uname,$cdom,$cnum,$type) = @_; |
|
$type ||= 'any'; |
|
if (!defined($cdom) || !defined($cnum)) { |
|
my $cid = $env{'request.course.id'}; |
|
$cdom = $env{'course.'.$cid.'.domain'}; |
|
$cnum = $env{'course.'.$cid.'.num'}; |
|
} |
|
my $typesref; |
|
if ($type eq 'all') { |
|
$typesref = ['active','previous','future']; |
|
} elsif ($type eq 'previous' || $type eq 'future') { |
|
$typesref = [$type]; |
|
} |
|
my %roles = &Apache::lonnet::get_my_roles($uname,$udom,'userroles', |
|
$typesref,undef,[$cdom]); |
|
my ($tmp) = keys(%roles); |
|
return 0 if ($tmp =~ /^(con_lost|error|no_such_host)/i); |
|
my @course_roles = grep(/^\Q$cnum\E:\Q$cdom\E:/, keys(%roles)); |
|
if (@course_roles > 0) { |
|
return 1; |
|
} |
|
return 0; |
|
} |
|
|
|
sub aboutme_info { |
sub aboutme_info { |
my ($r,$is_course) = @_; |
my ($r,$is_course) = @_; |
my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri); |
my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri); |
Line 852 sub aboutme_access {
|
Line 787 sub aboutme_access {
|
} |
} |
if ((&Apache::lonnet::allowed('srm',$privcheck)) || |
if ((&Apache::lonnet::allowed('srm',$privcheck)) || |
(&Apache::lonnet::allowed('dff',$privcheck))) { |
(&Apache::lonnet::allowed('dff',$privcheck))) { |
if (&in_course($uname,$udom,$cnum,$cdom)) { |
if (&Apache::lonnet::in_course($uname,$udom,$cnum,$cdom,undef,1)) { |
return 1; |
return 1; |
} |
} |
} |
} |