version 1.229, 2007/10/11 22:52:53
|
version 1.234, 2008/02/03 05:07:58
|
Line 54 my @inlineremote;
|
Line 54 my @inlineremote;
|
|
|
|
|
# ================================================================ Little texts |
# ================================================================ Little texts |
|
sub show_course { |
|
my $course = !$env{'user.adv'}; |
|
if (!$env{'user.adv'}) { |
|
foreach my $env (keys(%env)) { |
|
next if ($env !~ m/^user\.priv\./); |
|
if ($env !~ m/^user\.priv\.(?:st|cm)/) { |
|
$course = 0; |
|
last; |
|
} |
|
} |
|
} |
|
return $course; |
|
} |
|
|
sub initlittle { |
sub initlittle { |
return &Apache::lonlocal::texthash('ret' => 'Return to Last Location', |
return &Apache::lonlocal::texthash('ret' => 'Return to Last Location', |
'nav' => 'Navigate Contents', |
'nav' => 'Navigate Contents', |
'main' => 'Main Menu', |
'main' => 'Main Menu', |
'roles' => ($env{'user.adv'}? |
'roles' => (&show_course()? |
'Roles':'Courses'), |
'Courses':'Roles'), |
'docs' => 'Edit Course', |
'docs' => 'Edit Course', |
'exit' => 'Exit', |
'exit' => 'Exit', |
'login' => 'Log In', |
'login' => 'Log In', |
Line 336 sub innerregister {
|
Line 349 sub innerregister {
|
} else { |
} else { |
$newmail= 'swmenu.setstatus("you have","messages");'; |
$newmail= 'swmenu.setstatus("you have","messages");'; |
} |
} |
} elsif (($textual) |
} |
|
if (($textual) |
&& ($env{'request.symb'}) |
&& ($env{'request.symb'}) |
&& ($env{'request.course.id'})) { |
&& ($env{'request.course.id'})) { |
$newmail.= '<td class="LC_current_location">'; |
$newmail.= '<td class="LC_current_location">'; |
my ($mapurl,$rid,$resurl)= |
my ($mapurl,$rid,$resurl)= |
&Apache::lonnet::decode_symb(&Apache::lonnet::symbread()); |
&Apache::lonnet::decode_symb(&Apache::lonnet::symbread()); |
$newmail.=$env{'course.'.$env{'request.course.id'}.'.description'}; |
my $coursetitle=$env{'course.'.$env{'request.course.id'}.'.description'}; |
|
$newmail.=$coursetitle; |
my $maptitle=&Apache::lonnet::gettitle($mapurl); |
my $maptitle=&Apache::lonnet::gettitle($mapurl); |
my $restitle=&Apache::lonnet::gettitle(&Apache::lonnet::symbread()); |
my $restitle=&Apache::lonnet::gettitle(&Apache::lonnet::symbread()); |
if ($maptitle && $maptitle ne 'default.sequence') { |
if ($maptitle && ($maptitle ne 'default.sequence') && ($maptitle ne $coursetitle)) { |
$newmail.=', '.$maptitle; |
$newmail.=', '.$maptitle; |
} |
} |
if ($restitle) { |
if ($restitle) { |
Line 400 sub innerregister {
|
Line 415 sub innerregister {
|
### |
### |
my $editbutton = ''; |
my $editbutton = ''; |
if ($env{'user.author'}) { |
if ($env{'user.author'}) { |
if ($env{'request.role'}=~/^(ca|au)/) { |
if ($env{'request.role'}=~/^(aa|ca|au)/) { |
# Set defaults for authors |
# Set defaults for authors |
my ($top,$bottom) = ('con-','struct'); |
my ($top,$bottom) = ('con-','struct'); |
my $action = "go('/priv/".$env{'user.name'}."');"; |
my $action = "go('/priv/".$env{'user.name'}."');"; |
Line 413 sub innerregister {
|
Line 428 sub innerregister {
|
($top,$bottom) = ('co con-','struct'); |
($top,$bottom) = ('co con-','struct'); |
$action = "go('/priv/".$caname."');"; |
$action = "go('/priv/".$caname."');"; |
$desc = "Enter construction space as co-author"; |
$desc = "Enter construction space as co-author"; |
|
} elsif ($env{'request.role'} =~ /^aa/) { |
|
($cadom,$caname)=($env{'request.role'}=~/($match_domain)\/($match_username)$/); |
|
($top,$bottom) = ('co con-','struct'); |
|
$action = "go('/priv/".$caname."');"; |
|
$desc = "Enter construction space as assistant co-author"; |
} |
} |
# Check that we are on the correct machine |
# Check that we are on the correct machine |
my $home = &Apache::lonnet::homeserver($caname,$cadom); |
my $home = &Apache::lonnet::homeserver($caname,$cadom); |
Line 795 sub load_remote_msg {
|
Line 815 sub load_remote_msg {
|
<p>$link</p> |
<p>$link</p> |
ENDREMOTEFORM |
ENDREMOTEFORM |
} |
} |
|
|
|
sub get_menu_name { |
|
my $hostid = $Apache::lonnet::perlvar{'lonHostID'}; |
|
$hostid =~ s/\W//g; |
|
return 'LCmenu'.$hostid; |
|
} |
|
|
# ================================================================= Reopen menu |
# ================================================================= Reopen menu |
|
|
sub reopenmenu { |
sub reopenmenu { |
if (($env{'browser.interface'} eq 'textual') || |
if (($env{'browser.interface'} eq 'textual') || |
($env{'environment.remote'} eq 'off')) { return ''; } |
($env{'environment.remote'} eq 'off')) { return ''; } |
my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; |
my $menuname = &get_menu_name(); |
my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); |
my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); |
return('window.open('.$nothing.',"'.$menuname.'","",false);'); |
return('window.open('.$nothing.',"'.$menuname.'","",false);'); |
} |
} |
Line 813 sub open {
|
Line 840 sub open {
|
($env{'environment.remote'} eq 'off')) { |
($env{'environment.remote'} eq 'off')) { |
return '<script type="text/javascript">self.name="loncapaclient";</script>'; |
return '<script type="text/javascript">self.name="loncapaclient";</script>'; |
} |
} |
my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; |
my $menuname = &get_menu_name(); |
|
|
# unless (shift eq 'unix') { |
# unless (shift eq 'unix') { |
# resizing does not work on linux because of virtual desktop sizes |
# resizing does not work on linux because of virtual desktop sizes |
Line 941 sub secondlevel {
|
Line 968 sub secondlevel {
|
} |
} |
|
|
sub openmenu { |
sub openmenu { |
my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; |
my $menuname = &get_menu_name(); |
if (($env{'browser.interface'} eq 'textual') || |
if (($env{'browser.interface'} eq 'textual') || |
($env{'environment.remote'} eq 'off')) { return ''; } |
($env{'environment.remote'} eq 'off')) { return ''; } |
my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); |
my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); |
Line 991 sub rawconfig {
|
Line 1018 sub rawconfig {
|
my $uname=$env{'user.name'}; |
my $uname=$env{'user.name'}; |
my $udom=$env{'user.domain'}; |
my $udom=$env{'user.domain'}; |
my $adv=$env{'user.adv'}; |
my $adv=$env{'user.adv'}; |
|
my $show_course=&show_course(); |
my $author=$env{'user.author'}; |
my $author=$env{'user.author'}; |
my $crs=''; |
my $crs=''; |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
Line 1030 sub rawconfig {
|
Line 1058 sub rawconfig {
|
$output.=&secondlevel( |
$output.=&secondlevel( |
$uname,$udom,$rol,$crs,$pub,$con,$row,$col,$prt,$img,$top,$bot,$act,$desc,$cat); |
$uname,$udom,$rol,$crs,$pub,$con,$row,$col,$prt,$img,$top,$bot,$act,$desc,$cat); |
} |
} |
|
} elsif ($pro eq 'shc') { |
|
if ($show_course) { |
|
$output.=&secondlevel( |
|
$uname,$udom,$rol,$crs,$pub,$con,$row,$col,$prt,$img,$top,$bot,$act,$desc,$cat); |
|
} |
|
} elsif ($pro eq 'nsc') { |
|
if (!$show_course) { |
|
$output.=&secondlevel( |
|
$uname,$udom,$rol,$crs,$pub,$con,$row,$col,$prt,$img,$top,$bot,$act,$desc,$cat); |
|
} |
} elsif (($pro=~/^p(\w+)/) && ($prt)) { |
} elsif (($pro=~/^p(\w+)/) && ($prt)) { |
if (&Apache::lonnet::allowed($1,$prt)) { |
if (&Apache::lonnet::allowed($1,$prt)) { |
$output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat); |
$output.=&switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat); |
Line 1054 sub rawconfig {
|
Line 1092 sub rawconfig {
|
} elsif ($pro eq 'author') { |
} elsif ($pro eq 'author') { |
if ($author) { |
if ($author) { |
if ((($prt eq 'rca') && ($env{'request.role'}=~/^ca/)) || |
if ((($prt eq 'rca') && ($env{'request.role'}=~/^ca/)) || |
|
(($prt eq 'raa') && ($env{'request.role'}=~/^aa/)) || |
(($prt eq 'rau') && ($env{'request.role'}=~/^au/))) { |
(($prt eq 'rau') && ($env{'request.role'}=~/^au/))) { |
# Check that we are on the correct machine |
# Check that we are on the correct machine |
my $cadom=$requested_domain; |
my $cadom=$requested_domain; |
my $caname=$env{'user.name'}; |
my $caname=$env{'user.name'}; |
if ($prt eq 'rca') { |
if (($prt eq 'rca') || ($prt eq 'raa')) { |
($cadom,$caname)= |
($cadom,$caname)= |
($env{'request.role'}=~/($match_domain)\/($match_username)$/); |
($env{'request.role'}=~/($match_domain)\/($match_username)$/); |
} |
} |
Line 1091 sub rawconfig {
|
Line 1130 sub rawconfig {
|
sub close { |
sub close { |
if (($env{'browser.interface'} eq 'textual') || |
if (($env{'browser.interface'} eq 'textual') || |
($env{'environment.remote'} eq 'off')) { return ''; } |
($env{'environment.remote'} eq 'off')) { return ''; } |
my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'}; |
my $menuname = &get_menu_name(); |
return(<<ENDCLOSE); |
return(<<ENDCLOSE); |
<script type="text/javascript"> |
<script type="text/javascript"> |
window.status='Accessing Remote Control'; |
window.status='Accessing Remote Control'; |
Line 1367 sub hidden_button_check {
|
Line 1406 sub hidden_button_check {
|
if ($env{'request.role.adv'}) { |
if ($env{'request.role.adv'}) { |
return; |
return; |
} |
} |
return &Apache::lonnet::EXT('resource.0.buttonshide'); |
my $buttonshide = &Apache::lonnet::EXT('resource.0.buttonshide'); |
|
return $buttonshide; |
} |
} |
|
|
# ================================================================ Main Program |
# ================================================================ Main Program |