version 1.1272, 2017/01/28 02:31:51
|
version 1.1276, 2017/03/13 18:48:44
|
Line 5075 sub blockcheck {
|
Line 5075 sub blockcheck {
|
$tdom,$spec,$trest,$area); |
$tdom,$spec,$trest,$area); |
} |
} |
} |
} |
my ($author,$adv) = &Apache::lonnet::set_userprivs(\%userroles,\%allroles); |
my ($author,$adv,$rar) = &Apache::lonnet::set_userprivs(\%userroles,\%allroles); |
if ($userroles{'user.priv.'.$checkrole} =~ /evb\&([^\:]*)/) { |
if ($userroles{'user.priv.'.$checkrole} =~ /evb\&([^\:]*)/) { |
if ($1) { |
if ($1) { |
$no_userblock = 1; |
$no_userblock = 1; |
Line 5809 Inputs:
|
Line 5809 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 |
|
use_absolute -> for external resource or syllabus, this will |
|
contain https://<hostname> if server uses |
|
https (as per hosts.tab), but request is for http |
|
hostname -> hostname, from $r->hostname(). |
|
|
=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 5834 sub bodytag {
|
Line 5838 sub bodytag {
|
} |
} |
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
my $httphost = $args->{'use_absolute'}; |
my $httphost = $args->{'use_absolute'}; |
|
my $hostname = $args->{'hostname'}; |
|
|
$function = &get_users_function() if (!$function); |
$function = &get_users_function() if (!$function); |
my $img = &designparm($function.'.img',$domain); |
my $img = &designparm($function.'.img',$domain); |
Line 5962 sub bodytag {
|
Line 5967 sub bodytag {
|
$bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); |
$bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); |
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$bodytag .= &Apache::lonmenu::innerregister($forcereg, |
$bodytag .= &Apache::lonmenu::innerregister($forcereg, |
$args->{'bread_crumbs'}); |
$args->{'bread_crumbs'},'','',$hostname); |
} elsif ($forcereg) { |
} elsif ($forcereg) { |
$bodytag .= &Apache::lonmenu::innerregister($forcereg,undef, |
$bodytag .= &Apache::lonmenu::innerregister($forcereg,undef, |
$args->{'group'}, |
$args->{'group'}, |
$args->{'hide_buttons'}); |
$args->{'hide_buttons'}, |
|
$hostname); |
} else { |
} else { |
$bodytag .= |
$bodytag .= |
&Apache::lonmenu::prepare_functions($env{'request.noversionuri'}, |
&Apache::lonmenu::prepare_functions($env{'request.noversionuri'}, |
$forcereg,$args->{'group'}, |
$forcereg,$args->{'group'}, |
$args->{'bread_crumbs'}, |
$args->{'bread_crumbs'}, |
$advtoolsref); |
$advtoolsref,'',$hostname); |
} |
} |
}else{ |
}else{ |
# this is to seperate menu from content when there's no secondary |
# this is to seperate menu from content when there's no secondary |
Line 8533 $args - additional optional args support
|
Line 8539 $args - additional optional args support
|
bread_crumbs_nomenu -> if true will pass false as the value of $menulink |
bread_crumbs_nomenu -> if true will pass false as the value of $menulink |
to lonhtmlcommon::breadcrumbs |
to lonhtmlcommon::breadcrumbs |
group -> includes the current group, if page is for a |
group -> includes the current group, if page is for a |
specific group |
specific group |
|
use_absolute -> for request for external resource or syllabus, this |
|
will contain https://<hostname> if server uses |
|
https (as per hosts.tab), but request is for http |
|
hostname -> hostname, originally from $r->hostname(), (optional). |
|
|
=back |
=back |
|
|
Line 16005 sub init_user_environment {
|
Line 16015 sub init_user_environment {
|
|
|
my $public=($username eq 'public' && $domain eq 'public'); |
my $public=($username eq 'public' && $domain eq 'public'); |
|
|
# See if old ID present, if so, remove |
|
|
|
my ($filename,$cookie,$userroles,$firstaccenv,$timerintenv); |
my ($filename,$cookie,$userroles,$firstaccenv,$timerintenv); |
my $now=time; |
my $now=time; |
|
|
Line 16028 sub init_user_environment {
|
Line 16036 sub init_user_environment {
|
} |
} |
if (!$cookie) { $cookie="publicuser_$oldest"; } |
if (!$cookie) { $cookie="publicuser_$oldest"; } |
} else { |
} else { |
# if this isn't a robot, kill any existing non-robot sessions |
# See if old ID present, if so, remove if this isn't a robot, |
|
# killing any existing non-robot sessions |
if (!$args->{'robot'}) { |
if (!$args->{'robot'}) { |
opendir(DIR,$lonids); |
opendir(DIR,$lonids); |
while ($filename=readdir(DIR)) { |
while ($filename=readdir(DIR)) { |
Line 16068 sub init_user_environment {
|
Line 16077 sub init_user_environment {
|
|
|
my %userenv = &Apache::lonnet::dump('environment',$domain,$username); |
my %userenv = &Apache::lonnet::dump('environment',$domain,$username); |
my ($tmp) = keys(%userenv); |
my ($tmp) = keys(%userenv); |
if ($tmp !~ /^(con_lost|error|no_such_host)/i) { |
if ($tmp =~ /^(con_lost|error|no_such_host)/i) { |
} else { |
|
undef(%userenv); |
undef(%userenv); |
} |
} |
if (($userenv{'interface'}) && (!$form->{'interface'})) { |
if (($userenv{'interface'}) && (!$form->{'interface'})) { |
Line 16130 sub init_user_environment {
|
Line 16138 sub init_user_environment {
|
} |
} |
} |
} |
|
|
my %is_adv = ( is_adv => $env{'user.adv'} ); |
|
my %domdef; |
|
unless ($domain eq 'public') { |
unless ($domain eq 'public') { |
%domdef = &Apache::lonnet::get_domain_defaults($domain); |
my %is_adv = ( is_adv => $env{'user.adv'} ); |
} |
my %domdef = &Apache::lonnet::get_domain_defaults($domain); |
|
|
foreach my $tool ('aboutme','blog','webdav','portfolio') { |
foreach my $tool ('aboutme','blog','webdav','portfolio') { |
$userenv{'availabletools.'.$tool} = |
$userenv{'availabletools.'.$tool} = |
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload', |
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload', |
undef,\%userenv,\%domdef,\%is_adv); |
undef,\%userenv,\%domdef,\%is_adv); |
} |
} |
|
|
foreach my $crstype ('official','unofficial','community','textbook','placement') { |
foreach my $crstype ('official','unofficial','community','textbook','placement') { |
$userenv{'canrequest.'.$crstype} = |
$userenv{'canrequest.'.$crstype} = |
&Apache::lonnet::usertools_access($username,$domain,$crstype, |
&Apache::lonnet::usertools_access($username,$domain,$crstype, |
'reload','requestcourses', |
'reload','requestcourses', |
\%userenv,\%domdef,\%is_adv); |
\%userenv,\%domdef,\%is_adv); |
} |
} |
|
|
$userenv{'canrequest.author'} = |
$userenv{'canrequest.author'} = |
&Apache::lonnet::usertools_access($username,$domain,'requestauthor', |
&Apache::lonnet::usertools_access($username,$domain,'requestauthor', |
'reload','requestauthor', |
'reload','requestauthor', |
\%userenv,\%domdef,\%is_adv); |
\%userenv,\%domdef,\%is_adv); |
my %reqauthor = &Apache::lonnet::get('requestauthor',['author_status','author'], |
my %reqauthor = &Apache::lonnet::get('requestauthor',['author_status','author'], |
$domain,$username); |
$domain,$username); |
my $reqstatus = $reqauthor{'author_status'}; |
my $reqstatus = $reqauthor{'author_status'}; |
if ($reqstatus eq 'approval' || $reqstatus eq 'approved') { |
if ($reqstatus eq 'approval' || $reqstatus eq 'approved') { |
if (ref($reqauthor{'author'}) eq 'HASH') { |
if (ref($reqauthor{'author'}) eq 'HASH') { |
$userenv{'requestauthorqueued'} = $reqstatus.':'. |
$userenv{'requestauthorqueued'} = $reqstatus.':'. |
$reqauthor{'author'}{'timestamp'}; |
$reqauthor{'author'}{'timestamp'}; |
|
} |
} |
} |
} |
} |
|
|