version 1.1075.2.98, 2016/08/04 17:50:16
|
version 1.1075.2.101, 2016/08/05 22:24:31
|
Line 583 sub coursebrowser_javascript {
|
Line 583 sub coursebrowser_javascript {
|
if (formname == 'ccrs') { |
if (formname == 'ccrs') { |
var ownername = document.forms[formid].ccuname.value; |
var ownername = document.forms[formid].ccuname.value; |
var ownerdom = document.forms[formid].ccdomain.options[document.forms[formid].ccdomain.selectedIndex].value; |
var ownerdom = document.forms[formid].ccdomain.options[document.forms[formid].ccdomain.selectedIndex].value; |
url += '&cloner='+ownername+':'+ownerdom+'&crscode='+document.forms[formid].crscode.value; |
url += '&cloner='+ownername+':'+ownerdom; |
|
if (type == 'Course') { |
|
url += '&crscode='+document.forms[formid].crscode.value; |
|
} |
} |
} |
if (formname == 'requestcrs') { |
if (formname == 'requestcrs') { |
url += '&crsdom=$domainfilter&crscode=$instcode'; |
url += '&crsdom=$domainfilter&crscode=$instcode'; |
Line 5126 Inputs:
|
Line 5129 Inputs:
|
|
|
=item * $args, optional argument valid values are |
=item * $args, optional argument valid values are |
no_auto_mt_title -> prevents &mt()ing the title arg |
no_auto_mt_title -> prevents &mt()ing the title arg |
inherit_jsmath -> when creating popup window in a page, |
|
should it have jsmath forced on by the |
|
current page |
|
|
|
=item * $advtoolsref, optional argument, ref to an array containing |
=item * $advtoolsref, optional argument, ref to an array containing |
inlineremote items to be added in "Functions" menu below |
inlineremote items to be added in "Functions" menu below |
Line 5196 sub bodytag {
|
Line 5196 sub bodytag {
|
|
|
# construct main body tag |
# construct main body tag |
my $bodytag = "<body $extra_body_attr>". |
my $bodytag = "<body $extra_body_attr>". |
&Apache::lontexconvert::init_math_support($args->{'inherit_jsmath'}); |
&Apache::lontexconvert::init_math_support(); |
|
|
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']); |
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']); |
|
|
Line 5423 sub endbodytag {
|
Line 5423 sub endbodytag {
|
unless ((ref($args) eq 'HASH') && ($args->{'notbody'})) { |
unless ((ref($args) eq 'HASH') && ($args->{'notbody'})) { |
$endbodytag='</body>'; |
$endbodytag='</body>'; |
} |
} |
$endbodytag=&Apache::lontexconvert::jsMath_process()."\n".$endbodytag; |
|
if ( exists( $env{'internal.head.redirect'} ) ) { |
if ( exists( $env{'internal.head.redirect'} ) ) { |
if (!(ref($args) eq 'HASH' && $args->{'noredirectlink'})) { |
if (!(ref($args) eq 'HASH' && $args->{'noredirectlink'})) { |
$endbodytag= |
$endbodytag= |
Line 7714 $args - additional optional args support
|
Line 7713 $args - additional optional args support
|
no_inline_link -> if true and in remote mode, don't show the |
no_inline_link -> if true and in remote mode, don't show the |
'Switch To Inline Menu' link |
'Switch To Inline Menu' link |
no_auto_mt_title -> prevent &mt()ing the title arg |
no_auto_mt_title -> prevent &mt()ing the title arg |
inherit_jsmath -> when creating popup window in a page, |
|
should it have jsmath forced on by the |
|
current page |
|
bread_crumbs -> Array containing breadcrumbs |
bread_crumbs -> Array containing breadcrumbs |
bread_crumbs_component -> if exists show it as headline else show only the breadcrumbs |
bread_crumbs_component -> if exists show it as headline else show only the breadcrumbs |
group -> includes the current group, if page is for a |
group -> includes the current group, if page is for a |
Line 9454 END_BLOCK
|
Line 9450 END_BLOCK
|
|
|
sub user_rule_check { |
sub user_rule_check { |
my ($usershash,$checks,$alerts,$rulematch,$inst_results,$curr_rules,$got_rules) = @_; |
my ($usershash,$checks,$alerts,$rulematch,$inst_results,$curr_rules,$got_rules) = @_; |
my $response; |
my ($response,%inst_response); |
if (ref($usershash) eq 'HASH') { |
if (ref($usershash) eq 'HASH') { |
foreach my $user (keys(%{$usershash})) { |
if (keys(%{$usershash}) > 1) { |
my ($uname,$udom) = split(/:/,$user); |
my (%by_username,%by_id,%userdoms); |
next if ($udom eq '' || $uname eq ''); |
my $checkid; |
my ($id,$newuser); |
|
if (ref($usershash->{$user}) eq 'HASH') { |
|
$newuser = $usershash->{$user}->{'newuser'}; |
|
$id = $usershash->{$user}->{'id'}; |
|
} |
|
my $inst_response; |
|
if (ref($checks) eq 'HASH') { |
if (ref($checks) eq 'HASH') { |
if (defined($checks->{'username'})) { |
if ((!defined($checks->{'username'})) && (defined($checks->{'id'}))) { |
($inst_response,%{$inst_results->{$user}}) = |
$checkid = 1; |
&Apache::lonnet::get_instuser($udom,$uname); |
} |
} elsif (defined($checks->{'id'})) { |
} |
($inst_response,%{$inst_results->{$user}}) = |
foreach my $user (keys(%{$usershash})) { |
&Apache::lonnet::get_instuser($udom,undef,$id); |
my ($uname,$udom) = split(/:/,$user); |
|
if ($checkid) { |
|
if (ref($usershash->{$user}) eq 'HASH') { |
|
if ($usershash->{$user}->{'id'} ne '') { |
|
$by_id{$udom}{$usershash->{$user}->{'id'}} = $uname; |
|
$userdoms{$udom} = 1; |
|
if (ref($inst_results) eq 'HASH') { |
|
$inst_results->{$uname.':'.$udom} = {}; |
|
} |
|
} |
|
} |
|
} else { |
|
$by_username{$udom}{$uname} = 1; |
|
$userdoms{$udom} = 1; |
|
if (ref($inst_results) eq 'HASH') { |
|
$inst_results->{$uname.':'.$udom} = {}; |
|
} |
|
} |
|
} |
|
foreach my $udom (keys(%userdoms)) { |
|
if (!$got_rules->{$udom}) { |
|
my %domconfig = &Apache::lonnet::get_dom('configuration', |
|
['usercreation'],$udom); |
|
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
|
foreach my $item ('username','id') { |
|
if (ref($domconfig{'usercreation'}{$item.'_rule'}) eq 'ARRAY') { |
|
$$curr_rules{$udom}{$item} = |
|
$domconfig{'usercreation'}{$item.'_rule'}; |
|
} |
|
} |
|
} |
|
$got_rules->{$udom} = 1; |
|
} |
|
} |
|
if ($checkid) { |
|
foreach my $udom (keys(%by_id)) { |
|
my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_id{$udom},'id'); |
|
if ($outcome eq 'ok') { |
|
foreach my $id (keys(%{$by_id{$udom}})) { |
|
my $uname = $by_id{$udom}{$id}; |
|
$inst_response{$uname.':'.$udom} = $outcome; |
|
} |
|
if (ref($results) eq 'HASH') { |
|
foreach my $uname (keys(%{$results})) { |
|
if (exists($inst_response{$uname.':'.$udom})) { |
|
$inst_response{$uname.':'.$udom} = $outcome; |
|
$inst_results->{$uname.':'.$udom} = $results->{$uname}; |
|
} |
|
} |
|
} |
|
} |
} |
} |
} else { |
} else { |
($inst_response,%{$inst_results->{$user}}) = |
foreach my $udom (keys(%by_username)) { |
&Apache::lonnet::get_instuser($udom,$uname); |
my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_username{$udom}); |
return; |
if ($outcome eq 'ok') { |
|
foreach my $uname (keys(%{$by_username{$udom}})) { |
|
$inst_response{$uname.':'.$udom} = $outcome; |
|
} |
|
if (ref($results) eq 'HASH') { |
|
foreach my $uname (keys(%{$results})) { |
|
$inst_results->{$uname.':'.$udom} = $results->{$uname}; |
|
} |
|
} |
|
} |
|
} |
} |
} |
if (!$got_rules->{$udom}) { |
} elsif (keys(%{$usershash}) == 1) { |
my %domconfig = &Apache::lonnet::get_dom('configuration', |
my $user = (keys(%{$usershash}))[0]; |
['usercreation'],$udom); |
my ($uname,$udom) = split(/:/,$user); |
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
if (($udom ne '') && ($uname ne '')) { |
foreach my $item ('username','id') { |
if (ref($usershash->{$user}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{$item.'_rule'}) eq 'ARRAY') { |
if (ref($checks) eq 'HASH') { |
$$curr_rules{$udom}{$item} = |
if (defined($checks->{'username'})) { |
$domconfig{'usercreation'}{$item.'_rule'}; |
($inst_response{$user},%{$inst_results->{$user}}) = |
|
&Apache::lonnet::get_instuser($udom,$uname); |
|
} elsif (defined($checks->{'id'})) { |
|
if ($usershash->{$user}->{'id'} ne '') { |
|
($inst_response{$user},%{$inst_results->{$user}}) = |
|
&Apache::lonnet::get_instuser($udom,undef, |
|
$usershash->{$user}->{'id'}); |
|
} else { |
|
($inst_response{$user},%{$inst_results->{$user}}) = |
|
&Apache::lonnet::get_instuser($udom,$uname); |
|
} |
|
} |
|
} else { |
|
($inst_response{$user},%{$inst_results->{$user}}) = |
|
&Apache::lonnet::get_instuser($udom,$uname); |
|
return; |
|
} |
|
if (!$got_rules->{$udom}) { |
|
my %domconfig = &Apache::lonnet::get_dom('configuration', |
|
['usercreation'],$udom); |
|
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
|
foreach my $item ('username','id') { |
|
if (ref($domconfig{'usercreation'}{$item.'_rule'}) eq 'ARRAY') { |
|
$$curr_rules{$udom}{$item} = |
|
$domconfig{'usercreation'}{$item.'_rule'}; |
|
} |
|
} |
} |
} |
|
$got_rules->{$udom} = 1; |
} |
} |
} |
} |
$got_rules->{$udom} = 1; |
} else { |
|
return; |
|
} |
|
} else { |
|
return; |
|
} |
|
foreach my $user (keys(%{$usershash})) { |
|
my ($uname,$udom) = split(/:/,$user); |
|
next if (($udom eq '') || ($uname eq '')); |
|
my $id; |
|
if (ref($inst_results) eq 'HASH') { |
|
if (ref($inst_results->{$user}) eq 'HASH') { |
|
$id = $inst_results->{$user}->{'id'}; |
|
} |
|
} |
|
if ($id eq '') { |
|
if (ref($usershash->{$user})) { |
|
$id = $usershash->{$user}->{'id'}; |
|
} |
} |
} |
foreach my $item (keys(%{$checks})) { |
foreach my $item (keys(%{$checks})) { |
if (ref($$curr_rules{$udom}) eq 'HASH') { |
if (ref($$curr_rules{$udom}) eq 'HASH') { |
if (ref($$curr_rules{$udom}{$item}) eq 'ARRAY') { |
if (ref($$curr_rules{$udom}{$item}) eq 'ARRAY') { |
if (@{$$curr_rules{$udom}{$item}} > 0) { |
if (@{$$curr_rules{$udom}{$item}} > 0) { |
my %rule_check = &Apache::lonnet::inst_rulecheck($udom,$uname,$id,$item,$$curr_rules{$udom}{$item}); |
my %rule_check = &Apache::lonnet::inst_rulecheck($udom,$uname,$id,$item, |
|
$$curr_rules{$udom}{$item}); |
foreach my $rule (@{$$curr_rules{$udom}{$item}}) { |
foreach my $rule (@{$$curr_rules{$udom}{$item}}) { |
if ($rule_check{$rule}) { |
if ($rule_check{$rule}) { |
$$rulematch{$user}{$item} = $rule; |
$$rulematch{$user}{$item} = $rule; |
if ($inst_response eq 'ok') { |
if ($inst_response{$user} eq 'ok') { |
if (ref($inst_results) eq 'HASH') { |
if (ref($inst_results) eq 'HASH') { |
if (ref($inst_results->{$user}) eq 'HASH') { |
if (ref($inst_results->{$user}) eq 'HASH') { |
if (keys(%{$inst_results->{$user}}) == 0) { |
if (keys(%{$inst_results->{$user}}) == 0) { |
$$alerts{$item}{$udom}{$uname} = 1; |
$$alerts{$item}{$udom}{$uname} = 1; |
|
} elsif ($item eq 'id') { |
|
if ($inst_results->{$user}->{'id'} eq '') { |
|
$$alerts{$item}{$udom}{$uname} = 1; |
|
} |
} |
} |
} |
} |
} |
} |