version 1.256.2.6.2.1, 2012/02/08 00:22:15
|
version 1.260, 2011/02/24 23:29:10
|
Line 141 use Apache::loncoursequeueadmin;
|
Line 141 use Apache::loncoursequeueadmin;
|
use GDBM_File; |
use GDBM_File; |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
use HTML::Entities; |
use HTML::Entities; |
|
|
|
|
sub redirect_user { |
sub redirect_user { |
my ($r,$title,$url,$msg,$launch_nav) = @_; |
my ($r,$title,$url,$msg) = @_; |
$msg = $title if (! defined($msg)); |
$msg = $title if (! defined($msg)); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::no_cache($r); |
&Apache::loncommon::no_cache($r); |
$r->send_http_header; |
$r->send_http_header; |
my $swinfo=&Apache::lonmenu::rawconfig(); |
|
my $navwindow; |
|
if ($launch_nav eq 'on') { |
|
$navwindow.=&Apache::lonnavdisplay::launch_win('now',undef,undef, |
|
($url =~ m-^/adm/whatsnew-)); |
|
} else { |
|
$navwindow.=&Apache::lonnavmaps::close(); |
|
} |
|
|
|
# Breadcrumbs |
# Breadcrumbs |
my $brcrum = [{'href' => $url, |
my $brcrum = [{'href' => $url, |
Line 171 sub redirect_user {
|
Line 163 sub redirect_user {
|
$url=~s/ /\%20/g; |
$url=~s/ /\%20/g; |
$r->print(<<ENDREDIR); |
$r->print(<<ENDREDIR); |
$start_page |
$start_page |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
$swinfo |
|
// ]]> |
|
</script> |
|
$navwindow |
|
<p>$msg</p> |
<p>$msg</p> |
$end_page |
$end_page |
ENDREDIR |
ENDREDIR |
Line 235 sub handler {
|
Line 221 sub handler {
|
} else { |
} else { |
$checkingtxt = &mt('Checking for new roles ...'); |
$checkingtxt = &mt('Checking for new roles ...'); |
} |
} |
$updateresult = '<span class="LC_info">'.$checkingtxt.'</span>'; |
$updateresult = '<div class="LC_info">'.$checkingtxt.'</div>'; |
$updateresult .= &update_session_roles(); |
$updateresult .= &update_session_roles(); |
&Apache::lonnet::appenv({'user.update.time' => $now}); |
&Apache::lonnet::appenv({'user.update.time' => $now}); |
$update = $now; |
$update = $now; |
Line 577 ENDENTERKEY
|
Line 563 ENDENTERKEY
|
} |
} |
&redirect_user($r, &mt('Entering [_1]', |
&redirect_user($r, &mt('Entering [_1]', |
$env{'course.'.$courseid.'.description'}), |
$env{'course.'.$courseid.'.description'}), |
$dest, $msg, |
$dest, $msg); |
$env{'environment.remotenavmap'}); |
|
return OK; |
return OK; |
} |
} |
if (&Apache::lonnet::allowed('whn', |
if (&Apache::lonnet::allowed('whn', |
Line 591 ENDENTERKEY
|
Line 576 ENDENTERKEY
|
unless ($startpage eq 'firstres') { |
unless ($startpage eq 'firstres') { |
$msg = &mt('Entering [_1] ...', |
$msg = &mt('Entering [_1] ...', |
$env{'course.'.$courseid.'.description'}); |
$env{'course.'.$courseid.'.description'}); |
&redirect_user($r,&mt('New in course'), |
&redirect_user($r, &mt('New in course'), |
'/adm/whatsnew?refpage=start',$msg, |
'/adm/whatsnew?refpage=start', $msg); |
$env{'environment.remotenavmap'}); |
|
return OK; |
return OK; |
} |
} |
} |
} |
} |
} |
# Are we allowed to look at the first resource? |
# Are we allowed to look at the first resource? |
if (($furl !~ m|^/adm/|) || |
if ($furl !~ m|^/adm/|) { |
(($env{'environment.remotenavmap'} eq 'on') && |
|
($furl =~ m{^/adm/navmaps}))) { |
|
# Guess not ... |
# Guess not ... |
$furl=&Apache::lonpageflip::first_accessible_resource(); |
$furl=&Apache::lonpageflip::first_accessible_resource(); |
} |
} |
$msg = &mt('Entering [_1] ...', |
$msg = &mt('Entering [_1] ...', |
$env{'course.'.$courseid.'.description'}); |
$env{'course.'.$courseid.'.description'}); |
&redirect_user($r,&mt('Entering [_1]', |
&redirect_user($r, &mt('Entering [_1]', |
$env{'course.'.$courseid.'.description'}), |
$env{'course.'.$courseid.'.description'}), |
$furl,$msg, |
$furl, $msg); |
$env{'environment.remotenavmap'}); |
|
} |
} |
return OK; |
return OK; |
} |
} |
Line 693 function enterrole (thisform,rolecode,bu
|
Line 674 function enterrole (thisform,rolecode,bu
|
thisform.submit(); |
thisform.submit(); |
} else { |
} else { |
alert('$standby'); |
alert('$standby'); |
} |
} |
} |
} |
|
|
function setToUpdate(thisform) { |
function setToUpdate(thisform) { |
Line 762 ENDHEADER
|
Line 743 ENDHEADER
|
} |
} |
} |
} |
} |
} |
# -------------------------------------------------------- Choice or no choice? |
|
if ($nochoose) { |
if ($nochoose) { |
$r->print("<h2>".&mt('Sorry ...')."</h2>\n<span class='LC_error'>". |
$r->print("<h2>".&mt('Sorry ...')."</h2>\n<span class='LC_error'>". |
&mt('This action is currently not authorized.').'</span>'. |
&mt('This action is currently not authorized.').'</span>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} else { |
} else { |
$r->print($updateresult); |
$r->print($updateresult); |
if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) { |
if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) { |
$fn.='?'.$ENV{'REDIRECT_QUERY_STRING'}; |
$fn.='?'.$ENV{'REDIRECT_QUERY_STRING'}; |
} |
} |
$r->print('<form method="post" name="rolechoice" action="'.(($fn)?$fn:$r->uri).'">'); |
$r->print('<form method="post" name="rolechoice" action="'.(($fn)?$fn:$r->uri).'">'); |
$r->print('<input type="hidden" name="orgurl" value="'.$fn.'" />'); |
$r->print('<input type="hidden" name="orgurl" value="'.$fn.'" />'); |
Line 781 ENDHEADER
|
Line 761 ENDHEADER
|
$r->rflush(); |
$r->rflush(); |
|
|
my (%roletext,%sortrole,%roleclass,%futureroles,%timezones); |
my (%roletext,%sortrole,%roleclass,%futureroles,%timezones); |
my ($countactive,$countfuture,$inrole,$possiblerole) = |
my ($countactive,$countfuture,$inrole,$possiblerole) = |
&gather_roles($update,$refresh,$now,$reinit,$nochoose,\%roletext,\%sortrole,\%roleclass, |
&gather_roles($update,$refresh,$now,$reinit,$nochoose,\%roletext,\%sortrole,\%roleclass, |
\%futureroles,\%timezones,$loncaparev); |
\%futureroles,\%timezones,$loncaparev); |
$refresh = $now; |
$refresh = $now; |
Line 799 ENDHEADER
|
Line 779 ENDHEADER
|
} |
} |
if ($env{'user.adv'}) { |
if ($env{'user.adv'}) { |
my $showall = '<label><input type="checkbox" name="showall"'; |
my $showall = '<label><input type="checkbox" name="showall"'; |
if ($env{'form.showall'}) { |
if ($env{'form.showall'}) { |
$showall .= ' checked="checked" '; |
$showall .= ' checked="checked" '; |
} |
} |
$showall .= ' />'.&mt('Show all roles').'</label> '. |
$showall .= ' />'.&mt('Show all roles').'</label>'. |
'<input type="submit" value="'.&mt('Update display').'" />'; |
'<input type="submit" value="'.&mt('Update display').'" />'; |
if ($do_update) { |
if ($do_update) { |
$r->print('<div class="LC_left_float"><fieldset>'. |
$r->print('<div class="LC_left_float"><fieldset>'. |
Line 819 ENDHEADER
|
Line 799 ENDHEADER
|
if ($countactive > 0) { |
if ($countactive > 0) { |
$r->print(&Apache::loncoursequeueadmin::queued_selfenrollment()); |
$r->print(&Apache::loncoursequeueadmin::queued_selfenrollment()); |
my $domdesc = &Apache::lonnet::domain($env{'user.domain'},'description'); |
my $domdesc = &Apache::lonnet::domain($env{'user.domain'},'description'); |
my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&'); |
my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&'); |
$r->print( |
$r->print( |
'<p>' |
'<p>' |
.&mt('[_1]Visit the [_2]Course/Community Catalog[_3]' |
.&mt('[_1]Visit the [_2]Course/Community Catalog[_3]' |
Line 1821 sub display_cc_role {
|
Line 1801 sub display_cc_role {
|
my %newhash=&Apache::lonnet::coursedescription($tcourseid); |
my %newhash=&Apache::lonnet::coursedescription($tcourseid); |
if (%newhash) { |
if (%newhash) { |
$twhere=$newhash{'description'}. |
$twhere=$newhash{'description'}. |
' <span class="LC_fontsize_small">'. |
' <span style="LC_fontsize_small">'. |
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom). |
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom). |
'</span>'; |
'</span>'; |
$ttype = $newhash{'type'}; |
$ttype = $newhash{'type'}; |
Line 1892 sub update_session_roles {
|
Line 1872 sub update_session_roles {
|
['active','future','previous'], |
['active','future','previous'], |
undef,undef,1); |
undef,undef,1); |
my ($msg,@newsec,$oldsec,$currrole_expired,@changed_roles, |
my ($msg,@newsec,$oldsec,$currrole_expired,@changed_roles, |
%changed_groups,%dbroles,%deletedroles,%allroles,%allgroups, |
%changed_groups,%dbroles, %deletedroles,%allroles,%allgroups, |
%userroles,%checkedgroup,%crprivs,$hasgroups,%rolechange, |
%userroles,%checkedgroup,%crprivs,$hasgroups,%rolechange, |
%groupchange,%newrole,%newgroup,%customprivchg,%groups_roles, |
%groupchange,%newrole,%newgroup,%customprivchg,%groups_roles, |
@rolecodes); |
@rolecodes); |
Line 2129 sub update_session_roles {
|
Line 2109 sub update_session_roles {
|
foreach my $priv (@privs) { |
foreach my $priv (@privs) { |
my ($blank,@prv) = split(/:/,$priv); |
my ($blank,@prv) = split(/:/,$priv); |
@prv = map { $_ .= (/\&\w+$/ ? '':'&F') } @prv; |
@prv = map { $_ .= (/\&\w+$/ ? '':'&F') } @prv; |
if (@prv) { |
$priv = ':'.join(':',sort(@prv)); |
$priv = ':'.join(':',sort(@prv)); |
|
} |
|
$crprivs{$rest}{$scopes[$i]} = $priv; |
$crprivs{$rest}{$scopes[$i]} = $priv; |
$i++; |
$i++; |
} |
} |
Line 2235 sub update_session_roles {
|
Line 2213 sub update_session_roles {
|
$msg .= '<br />'.&mt('However you can continue to use this role until you logout, click the "Re-Select" button, or your session has been idle for more than 24 hours.').'</div>'; |
$msg .= '<br />'.&mt('However you can continue to use this role until you logout, click the "Re-Select" button, or your session has been idle for more than 24 hours.').'</div>'; |
} |
} |
if (!@changed_roles || !(keys(%changed_groups))) { |
if (!@changed_roles || !(keys(%changed_groups))) { |
my ($rolesmsg,$groupsmsg); |
$msg .= '<ul>'; |
if (!@changed_roles) { |
if (!@changed_roles) { |
|
$msg .= '<li>'; |
if (&Apache::loncommon::show_course()) { |
if (&Apache::loncommon::show_course()) { |
$rolesmsg = &mt('No new courses or communities'); |
$msg .= &mt('No new courses or communities'); |
} else { |
} else { |
$rolesmsg = &mt('No role changes'); |
$msg .= &mt('No role changes'); |
} |
} |
|
$msg .= '</li>'; |
} |
} |
if ($hasgroups && !(keys(%changed_groups)) && !(grep(/gr/,@changed_roles))) { |
if ($hasgroups && !(keys(%changed_groups)) && !(grep(/gr/,@changed_roles))) { |
$groupsmsg = &mt('No changes in course/community groups'); |
$msg .= '<li>'.&mt('No changes in course/community groups').'</li>'; |
} |
} |
|
$msg .= '</ul>'; |
if (!@changed_roles && !(keys(%changed_groups))) { |
if (!@changed_roles && !(keys(%changed_groups))) { |
if (($msg ne '') || ($groupsmsg ne '')) { |
|
$msg .= '<ul>'; |
|
if ($rolesmsg) { |
|
$msg .= '<li>'.$rolesmsg.'</li>'; |
|
} |
|
if ($groupsmsg) { |
|
$msg .= '<li>'.$groupsmsg.'</li>'; |
|
} |
|
$msg .= '</ul>'; |
|
} else { |
|
$msg = ' <span class="LC_cusr_emph">'.$rolesmsg.'</span><br />'; |
|
} |
|
return $msg; |
return $msg; |
} |
} |
} |
} |
Line 2477 sub gather_roleprivs {
|
Line 2446 sub gather_roleprivs {
|
my $spec=$role.'.'.$area; |
my $spec=$role.'.'.$area; |
$userroles->{'user.role.'.$spec} = $tstart.'.'.$tend; |
$userroles->{'user.role.'.$spec} = $tstart.'.'.$tend; |
my ($tdummy,$tdomain,$trest)=split(/\//,$area); |
my ($tdummy,$tdomain,$trest)=split(/\//,$area); |
if ($status eq 'active') { |
if ($status eq 'active') { |
if ($role =~ /^cr\//) { |
if ($role =~ /^cr\//) { |
&Apache::lonnet::custom_roleprivs($allroles,$role,$tdomain,$trest,$spec,$area); |
&Apache::lonnet::custom_roleprivs($allroles,$role,$tdomain,$trest,$spec,$area); |
} elsif ($role eq 'gr') { |
} elsif ($role eq 'gr') { |