version 1.369.2.5, 2012/05/23 00:29:22
|
version 1.369.2.21, 2012/08/07 13:15:29
|
Line 115 entries from mydesk.tab
|
Line 115 entries from mydesk.tab
|
|
|
Same as primary_menu() but operates on @secondary_menu. |
Same as primary_menu() but operates on @secondary_menu. |
|
|
|
=item create_submenu() |
|
|
|
Creates XHTML for unordered list of sub-menu items which belong to a |
|
particular top-level menu item. Uses hover pseudo class in css to display |
|
dropdown list when mouse hovers over top-level item. Support for IE6 |
|
(no hover psuedo class) via LC_hoverable class for <li> tag for top- |
|
level item, which employs jQuery to handle behavior on mouseover. |
|
|
|
Inputs: 4 - (a) link and (b) target for anchor href in top level item, |
|
(c) title for text wrapped by anchor tag in top level item. |
|
(d) reference to array of arrays of sub-menu items. |
|
|
=item innerregister() |
=item innerregister() |
|
|
This gets called in order to register a URL in the body of the document |
This gets called in order to register a URL in the body of the document |
|
|
|
=item loadevents() |
|
|
|
=item unloadevents() |
|
|
|
=item startupremote() |
|
|
|
=item setflags() |
|
|
|
=item maincall() |
|
|
|
=item load_remote_msg() |
|
|
|
=item get_menu_name() |
|
|
|
=item reopenmenu() |
|
|
|
=item open() |
|
|
|
Open the menu |
|
|
=item clear() |
=item clear() |
|
|
=item switch() |
=item switch() |
Line 137 The javascript is usually similar to "go
|
Line 169 The javascript is usually similar to "go
|
|
|
=item utilityfunctions() |
=item utilityfunctions() |
|
|
|
Output from this routine is a number of javascript functions called by |
|
items in the inline menu, and in some cases items in the Main Menu page. |
|
|
=item serverform() |
=item serverform() |
|
|
=item constspaceform() |
=item constspaceform() |
Line 164 use Apache::lonlocal;
|
Line 199 use Apache::lonlocal;
|
use Apache::lonmsg(); |
use Apache::lonmsg(); |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
use HTML::Entities(); |
use HTML::Entities(); |
|
use Apache::lonwishlist(); |
|
|
use vars qw(@desklines %category_names %category_members %category_positions |
use vars qw(@desklines %category_names %category_members %category_positions |
$readdesk @primary_menu %primary_submenu @secondary_menu %secondary_submenu); |
$readdesk @primary_menu %primary_submenu @secondary_menu %secondary_submenu); |
Line 221 sub primary_menu {
|
Line 257 sub primary_menu {
|
|
|
my $title = $menuitem->[3]; |
my $title = $menuitem->[3]; |
if (defined($primary_submenu{$title})) { |
if (defined($primary_submenu{$title})) { |
my ($link,$target,$numsub); |
my ($link,$target); |
if ($menuitem->[0] ne '') { |
if ($menuitem->[0] ne '') { |
$link = $menuitem->[0]; |
$link = $menuitem->[0]; |
$target = '_top'; |
$target = '_top'; |
} else { |
} else { |
$link = '#'; |
$link = '#'; |
} |
} |
|
my @primsub; |
if (ref($primary_submenu{$title}) eq 'ARRAY') { |
if (ref($primary_submenu{$title}) eq 'ARRAY') { |
$numsub = @{$primary_submenu{$title}}; |
foreach my $item (@{$primary_submenu{$title}}) { |
if ($numsub) { |
next if (($item->[2] eq 'wishlist') && (!$env{'user.adv'})); |
$title = |
next if (($item->[2] eq 'reqcrs') && (!&check_for_rcrs())); |
'<span class="LC_nobreak">'.$title. |
next if ((($item->[2] eq 'portfolio') || |
'<span class="LC_fontsize_small">'. |
($item->[2] eq 'blog')) && |
' ▼</span></span>'; |
(!&Apache::lonnet::usertools_access('','',$item->[2], |
|
undef,'tools'))); |
|
push(@primsub,$item); |
|
} |
|
if (@primsub > 0) { |
|
$menu .= &create_submenu($link,$target,$title,\@primsub); |
|
} elsif ($link) { |
|
$menu .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>'; |
} |
} |
} |
} |
$menu .= '<li class="LC_hoverable">'. |
|
'<a href="'.$link.'" target="'.$target.'">'.$title.'</a>'; |
|
if ($numsub) { |
|
$menu .= '<ul>'; |
|
foreach my $item (@{$primary_submenu{$menuitem->[3]}}) { |
|
if (ref($item) eq 'ARRAY') { |
|
if ($item->[2] eq 'wishlist') { |
|
next unless ((&Apache::lonnet::allowed('bre',"/res/$env{'user.domain'}/")) || |
|
(&Apache::lonnet::allowed('bro',"/res/$env{'user.domain'}/"))); |
|
} elsif ($item->[2] eq 'reqcrs') { |
|
next unless(&check_for_rcrs()); |
|
} elsif (($item->[2] eq 'portfolio') || |
|
($item->[2] eq 'blog')) { |
|
if (!&Apache::lonnet::usertools_access( |
|
$env{'user.name'}, |
|
$env{'user.domain'}, |
|
$item->[2],undef,'tools')) { |
|
next; |
|
} |
|
} |
|
$menu .= '<li style="margin:0;padding:0">'. |
|
'<a href="'.$item->[0]. |
|
'" style="padding:0 0 0 10px">'. |
|
$item->[1].'</a></li>'; |
|
} |
|
} |
|
$menu .= '</ul>'; |
|
} |
|
$menu .= '</li>'; |
|
} elsif ($$menuitem[3] eq 'Help') { # special treatment for helplink |
} elsif ($$menuitem[3] eq 'Help') { # special treatment for helplink |
if ($public) { |
if ($public) { |
my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'}; |
my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'}; |
Line 371 sub secondary_menu {
|
Line 386 sub secondary_menu {
|
|
|
my $title = $menuitem->[3]; |
my $title = $menuitem->[3]; |
if (defined($secondary_submenu{$title})) { |
if (defined($secondary_submenu{$title})) { |
my ($link,$target,$numsub); |
my ($link,$target); |
if ($menuitem->[0] ne '') { |
if ($menuitem->[0] ne '') { |
$link = $menuitem->[0]; |
$link = $menuitem->[0]; |
$target = '_top'; |
$target = '_top'; |
} else { |
} else { |
$link = '#'; |
$link = '#'; |
} |
} |
|
|
my @scndsub; |
my @scndsub; |
if (ref($secondary_submenu{$title}) eq 'ARRAY') { |
if (ref($secondary_submenu{$title}) eq 'ARRAY') { |
$numsub = 0; |
|
foreach my $item (@{$secondary_submenu{$title}}) { |
foreach my $item (@{$secondary_submenu{$title}}) { |
if (ref($item) eq 'ARRAY') { |
if (ref($item) eq 'ARRAY') { |
next if ($item->[2] eq 'vgr' && !$canvgr); |
next if ($item->[2] eq 'vgr' && !$canvgr); |
Line 390 sub secondary_menu {
|
Line 403 sub secondary_menu {
|
next if ($item->[2] eq 'mgr' && !$canmgr); |
next if ($item->[2] eq 'mgr' && !$canmgr); |
next if ($item->[2] eq 'vcg' && !$canviewgrps); |
next if ($item->[2] eq 'vcg' && !$canviewgrps); |
push(@scndsub,$item); |
push(@scndsub,$item); |
$numsub ++; |
|
} |
} |
} |
} |
if ($numsub) { |
if (@scndsub > 0) { |
$title = |
$menu .= &create_submenu($link,$target,$title,\@scndsub); |
'<span class="LC_nobreak">'.$title. |
} elsif ($link) { |
'<span class="LC_fontsize_small" style="font-weight:normal">'. |
$menu .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>'; |
' ▼</span></span>'; |
|
} |
} |
} |
} |
$menu .= '<li class="LC_hoverable">'. |
|
'<a href="'.$link.'" target="'.$target.'">'.$title.'</a>'; |
|
if ($numsub) { |
|
$menu .= '<ul>'; |
|
my $count = 0; |
|
foreach my $item (@scndsub) { |
|
$count ++; |
|
if (ref($item) eq 'ARRAY') { |
|
my $borderbot; |
|
my ($padtop,$padbot) = (0,0); |
|
if ($count == 1) { |
|
$padtop = '5px'; |
|
} |
|
if ($count == $numsub) { |
|
$padbot = '5px'; |
|
$borderbot = 'border-bottom:1px solid black;'; |
|
} |
|
$menu .= '<li style="margin:0;padding-left:0;padding-right:0;'. |
|
'padding-top:'.$padtop.';padding-bottom:'.$padbot.';'. |
|
$borderbot.'"><a href="'.$item->[0]. |
|
'" style="padding: 0 5px 0 10px">'. |
|
$item->[1].'</a></li>'; |
|
} |
|
} |
|
$menu .= '</ul>'; |
|
} |
|
$menu .= '</li>'; |
|
} elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) { |
} elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) { |
# special treatment for role selector |
# special treatment for role selector |
my $roles_selector = &roles_selector( |
my $roles_selector = &roles_selector( |
Line 463 sub secondary_menu {
|
Line 447 sub secondary_menu {
|
return "<ul id=\"LC_secondary_menu\">$menu</ul>"; |
return "<ul id=\"LC_secondary_menu\">$menu</ul>"; |
} |
} |
|
|
|
sub create_submenu { |
|
my ($link,$target,$title,$submenu) = @_; |
|
return unless (ref($submenu) eq 'ARRAY'); |
|
my $disptarget; |
|
if ($target ne '') { |
|
$disptarget = ' target="'.$target.'"'; |
|
} |
|
my $menu = '<li class="LC_hoverable">'. |
|
'<a href="'.$link.'"'.$disptarget.'>'. |
|
'<span class="LC_nobreak">'.&mt($title). |
|
'<span class="LC_fontsize_small" style="font-weight:normal;">'. |
|
' ▼</span></span></a>'. |
|
'<ul>'; |
|
my $count = 0; |
|
my $numsub = scalar(@{$submenu}); |
|
foreach my $item (@{$submenu}) { |
|
$count ++; |
|
if (ref($item) eq 'ARRAY') { |
|
my $borderbot; |
|
if ($count == $numsub) { |
|
$borderbot = 'border-bottom:1px solid black;'; |
|
} |
|
$menu .= '<li style="margin:0;padding:0;'. |
|
$borderbot.'"><a href="'.$item->[0].'">'. |
|
&mt($item->[1]).'</a></li>'; |
|
} |
|
} |
|
$menu .= '</ul></li>'; |
|
return $menu; |
|
} |
|
|
|
sub registerurl { |
|
my ($forcereg) = @_; |
|
my $result = ''; |
|
if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { return ''; } |
|
my $force_title=''; |
|
if ($env{'request.state'} eq 'construct') { |
|
$force_title=&Apache::lonxml::display_title(); |
|
} |
|
if (($env{'environment.remote'} eq 'off') || |
|
((($env{'request.publicaccess'}) || |
|
(!&Apache::lonnet::is_on_map( |
|
&unescape($env{'request.noversionuri'})))) && |
|
(!$forcereg))) { |
|
return |
|
$result |
|
.'<script type="text/javascript">'."\n" |
|
.'// <![CDATA['."\n" |
|
.'function LONCAPAreg(){;} function LONCAPAstale(){}'."\n" |
|
.'// ]]>'."\n" |
|
.'</script>' |
|
.$force_title; |
|
} |
|
# Graphical display after login only |
|
if ($env{'request.registered'} && !$forcereg) { return ''; } |
|
$result.=&innerregister($forcereg); |
|
return $result.$force_title; |
|
} |
|
|
sub innerregister { |
sub innerregister { |
my ($forcereg,$bread_crumbs) = @_; |
my ($forcereg,$bread_crumbs) = @_; |
my $const_space = ($env{'request.state'} eq 'construct'); |
my $const_space = ($env{'request.state'} eq 'construct'); |
Line 472 sub innerregister {
|
Line 515 sub innerregister {
|
|
|
$env{'request.registered'} = 1; |
$env{'request.registered'} = 1; |
|
|
|
my $noremote = ($env{'environment.remote'} eq 'off'); |
|
|
undef(@inlineremote); |
undef(@inlineremote); |
|
|
|
my $reopen=&Apache::lonmenu::reopenmenu(); |
|
|
|
my $newmail=''; |
|
|
|
if (&Apache::lonmsg::newmail() && !$noremote) { |
|
# We have new mail and remote is up |
|
$newmail= 'swmenu.setstatus("you have","messages");'; |
|
} |
|
|
my $resurl; |
my $resurl; |
if ( $env{'request.symb'} && $env{'request.course.id'} ) { |
if ( $env{'request.symb'} && $env{'request.course.id'} ) { |
|
|
Line 512 sub innerregister {
|
Line 566 sub innerregister {
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::add_breadcrumb({text => 'View Resource'}); |
&Apache::lonhtmlcommon::add_breadcrumb({text => 'View Resource'}); |
} |
} |
|
my $timesync = ( $noremote ? '' : 'swmenu.syncclock(1000*'.time.');' ); |
# ============================================================================= |
# ============================================================================= |
# ============================ This is for URLs that actually can be registered |
# ============================ This is for URLs that actually can be registered |
return '' unless ( ($env{'request.noversionuri'}!~m{^/(res/)*adm/}) |
if ( ($env{'request.noversionuri'}!~m{^/(res/)*adm/}) |
|| $forcereg ); |
|| ($forcereg)) { |
|
|
# -- This applies to homework problems for users with grading privileges |
# -- This applies to homework problems for users with grading privileges |
my $crs='/'.$env{'request.course.id'}; |
my $crs='/'.$env{'request.course.id'}; |
if ($env{'request.course.sec'}) { |
if ($env{'request.course.sec'}) { |
Line 524 sub innerregister {
|
Line 578 sub innerregister {
|
} |
} |
$crs=~s/\_/\//g; |
$crs=~s/\_/\//g; |
|
|
|
my %swtext; |
|
if ($noremote) { |
|
%swtext = &get_inline_text(); |
|
} else { |
|
%swtext = &get_rc_text(); |
|
} |
my $hwkadd=''; |
my $hwkadd=''; |
if ($env{'request.symb'} ne '' && |
if ($env{'request.symb'} ne '' && |
$env{'request.filename'}=~/$LONCAPA::assess_re/) { |
$env{'request.filename'}=~/$LONCAPA::assess_re/) { |
if (&Apache::lonnet::allowed('mgr',$crs)) { |
if (&Apache::lonnet::allowed('mgr',$crs)) { |
$hwkadd.=&switch('','',7,2,'pgrd.png','Content Grades','grades[_4]', |
$hwkadd.=&switch('','',7,2,'pgrd.png',$swtext{'pgrd'},'grades[_4]', |
"gocmd('/adm/grades','gradingmenu')", |
"gocmd('/adm/grades','gradingmenu')", |
'Content Grades'); |
'Content Grades'); |
} elsif (&Apache::lonnet::allowed('vgr',$crs)) { |
} elsif (&Apache::lonnet::allowed('vgr',$crs)) { |
$hwkadd.=&switch('','',7,2,'subm.png','Content Submissions','missions[_1]', |
$hwkadd.=&switch('','',7,2,'subm.png',$swtext{'subm'},'missions[_1]', |
"gocmd('/adm/grades','submission')", |
"gocmd('/adm/grades','submission')", |
'Content Submissions'); |
'Content Submissions'); |
} |
} |
} |
} |
if ($env{'request.symb'} ne '' && |
if ($env{'request.symb'} ne '' && |
&Apache::lonnet::allowed('opa',$crs)) { |
&Apache::lonnet::allowed('opa',$crs)) { |
$hwkadd.=&switch('','',7,3,'pparm.png','Content Settings','parms[_2]', |
$hwkadd.=&switch('','',7,3,'pparm.png',$swtext{'pparm'},'parms[_2]', |
"gocmd('/adm/parmset','set')", |
"gocmd('/adm/parmset','set')", |
'Content Settings'); |
'Content Settings'); |
} |
} |
if ($env{'request.symb'}=~/^uploaded/ && |
if ($noremote) { |
&Apache::lonnet::allowed('mdc',$crs)) { |
if ($env{'request.symb'}=~/^uploaded/ && |
$hwkadd.=&switch('','',7,4,'docs.png','Folder/Page Content','parms[_2]', |
&Apache::lonnet::allowed('mdc',$crs)) { |
"gocmd('/adm/coursedocs','direct')", |
$hwkadd.=&switch('','',7,4,'docs.png',$swtext{'docs'},'parms[_2]', |
'Folder/Page Content'); |
"gocmd('/adm/coursedocs','direct')", |
|
'Folder/Page Content'); |
|
} |
} |
} |
# -- End Homework |
# -- End Homework |
### |
### |
Line 590 sub innerregister {
|
Line 652 sub innerregister {
|
my @ids=&Apache::lonnet::current_machine_ids(); |
my @ids=&Apache::lonnet::current_machine_ids(); |
foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } } |
foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } } |
if (!$allowed) { |
if (!$allowed) { |
$editbutton=&switch('','',6,1,$top,,$bottom,$action,$desc); |
$editbutton=&switch('','',6,1,,$top,$bottom,$action,$desc); |
$noeditbutton = 0; |
$noeditbutton = 0; |
} |
} |
} |
} |
Line 657 sub innerregister {
|
Line 719 sub innerregister {
|
} |
} |
} |
} |
$editbutton=&switch |
$editbutton=&switch |
('','',6,1,'pcstr.png','Edit','resource[_2]', |
('','',6,1,'pcstr.png',$swtext{'pcstr'},'resource[_2]', |
$bot,"Edit this resource"); |
$bot,"Edit this resource"); |
$noeditbutton = 0; |
$noeditbutton = 0; |
} |
} |
Line 673 sub innerregister {
|
Line 735 sub innerregister {
|
my $cfile = &edit_course_upload($file,$cnum,$cdom); |
my $cfile = &edit_course_upload($file,$cnum,$cdom); |
if ($cfile) { |
if ($cfile) { |
$editbutton=&switch |
$editbutton=&switch |
('','',6,1,'pcstr.png','Edit', |
('','',6,1,'pcstr.png',$swtext{'pcstr'}, |
'resource[_2]',"go('".$cfile."');", |
'resource[_2]',"go('".$cfile."');", |
'Edit this resource'); |
'Edit this resource'); |
} |
} |
Line 685 sub innerregister {
|
Line 747 sub innerregister {
|
if ($resurl eq "public/$cdom/$cnum/syllabus") { |
if ($resurl eq "public/$cdom/$cnum/syllabus") { |
if ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ /\w/) { |
if ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ /\w/) { |
if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { |
if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { |
$editbutton=&switch('','',6,1,'pcstr.png','Edit', |
$editbutton=&switch('','',6,1,'pcstr.png',$swtext{'pcstr'}, |
'resource[_2]', |
'resource[_2]', |
"go('/adm/courseprefs?phase=display&actions=courseinfo')", |
"go('/adm/courseprefs?phase=display&actions=courseinfo')", |
'Edit this resource'); |
'Edit this resource'); |
Line 696 sub innerregister {
|
Line 758 sub innerregister {
|
### |
### |
### |
### |
# Prepare the rest of the buttons |
# Prepare the rest of the buttons |
my $menuitems; |
my ($menuitems,$got_prt,$got_wishlist,$cstritems); |
if ($const_space) { |
if ($const_space) { |
# |
# |
# We are in construction space |
# We are in construction space |
Line 722 s&6&3&pub.png&Publish&resource[_3]&gocst
|
Line 784 s&6&3&pub.png&Publish&resource[_3]&gocst
|
s&7&1&del.png&Delete&resource[_2]&gocstr('/adm/cfile?action=delete','/priv/$udom/$uname/$cleandisfn')&Delete this resource |
s&7&1&del.png&Delete&resource[_2]&gocstr('/adm/cfile?action=delete','/priv/$udom/$uname/$cleandisfn')&Delete this resource |
s&7&2&prt.png&Print&printout[_1]&gocstr('/adm/printout','/priv/$udom/$uname/$cleandisfn')&Prepare a printable document |
s&7&2&prt.png&Print&printout[_1]&gocstr('/adm/printout','/priv/$udom/$uname/$cleandisfn')&Prepare a printable document |
ENDMENUITEMS |
ENDMENUITEMS |
|
unless ($noremote) { |
|
$cstritems = $menuitems; |
|
undef($menuitems); |
|
} |
} |
} |
if (ref($bread_crumbs) eq 'ARRAY') { |
if (ref($bread_crumbs) eq 'ARRAY') { |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
Line 732 ENDMENUITEMS
|
Line 798 ENDMENUITEMS
|
} elsif ( defined($env{'request.course.id'}) && |
} elsif ( defined($env{'request.course.id'}) && |
$env{'request.symb'} ne '' ) { |
$env{'request.symb'} ne '' ) { |
# |
# |
# We are in a course and looking at a registred URL |
# We are in a course and looking at a registered URL |
# Should probably be in mydesk.tab |
# Should probably be in mydesk.tab |
# |
# |
|
|
$menuitems=(<<ENDMENUITEMS); |
$menuitems=(<<ENDMENUITEMS); |
c&3&1 |
c&3&1 |
s&2&1&back.png&&&gopost('/adm/flip','back:'+currentURL)&Previous content resource&&1 |
s&2&1&back.png&$swtext{'back'}&&gopost('/adm/flip','back:'+currentURL)&Previous content resource&&1 |
s&2&3&forw.png&&&gopost('/adm/flip','forward:'+currentURL)&Next content resource&&3 |
s&2&3&forw.png&$swtext{'forw'}&&gopost('/adm/flip','forward:'+currentURL)&Next content resource&&3 |
c&6&3 |
c&6&3 |
c&8&1 |
c&8&1 |
c&8&2 |
c&8&2 |
s&8&3&prt.png&Print&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document |
s&8&3&prt.png&$swtext{'prt'}&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document |
s&9&1&sbkm.png&Bookmark&set[_1]bookmark[_2]&set_bookmark()&Set a bookmark for this resource&&1 |
|
|
|
ENDMENUITEMS |
ENDMENUITEMS |
|
$got_prt = 1; |
|
if (($env{'user.adv'}) && ($env{'request.uri'} =~ /^\/res/) |
|
&& (!$env{'request.enc'})) { |
|
# wishlist is only available for users with access to resource-pool |
|
# and links can only be set for resources within the resource-pool |
|
$menuitems .= (<<ENDMENUITEMS); |
|
s&9&1&alnk.png&$swtext{'alnk'}&linkstor[_1]&set_wishlistlink()&Save a link for this resource in your personal Stored Links repository&&1 |
|
ENDMENUITEMS |
|
$got_wishlist = 1; |
|
} |
|
|
my $currentURL = &Apache::loncommon::get_symb(); |
my $currentURL = &Apache::loncommon::get_symb(); |
my ($symb_old,$symb_old_enc) = &Apache::loncommon::clean_symb($currentURL); |
my ($symb_old,$symb_old_enc) = &Apache::loncommon::clean_symb($currentURL); |
Line 756 if(length($annotation) > 0){
|
Line 831 if(length($annotation) > 0){
|
}else{ |
}else{ |
$menuitems.="anot.png"; |
$menuitems.="anot.png"; |
} |
} |
$menuitems.="&Notes&&annotate()&"; |
$menuitems.="&$swtext{'anot'}&tations[_1]&annotate()&"; |
$menuitems.="Make notes and annotations about this resource&&1\n"; |
$menuitems.="Make notes and annotations about this resource&&1\n"; |
|
|
unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) { |
unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) { |
if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/})) { |
if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/}) && ($env{'request.noversionuri'} !~ m{^/uploaded/$match_domain/$match_courseid/docs/})) { |
$menuitems.=(<<ENDREALRES); |
$menuitems.=(<<ENDREALRES); |
s&6&3&catalog.png&Info&info[_1]&catalog_info()&Show Metadata |
s&6&3&catalog.png&$swtext{'catalog'}&info[_1]&catalog_info()&Show Metadata |
ENDREALRES |
ENDREALRES |
} |
} |
$menuitems.=(<<ENDREALRES); |
unless ($env{'request.noversionuri'} =~ m{^/uploaded/$match_domain/$match_courseid/docs/}) { |
s&8&1&eval.png&Evaluate&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource |
$menuitems.=(<<ENDREALRES); |
s&8&2&fdbk.png&Communicate&discuss[_1]&gopost('/adm/feedback',currentURL,1)&Provide feedback messages or contribute to the course discussion about this resource |
s&8&1&eval.png&$swtext{'eval'}&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource |
|
ENDREALRES |
|
} |
|
$menuitems.=(<<ENDREALRES); |
|
s&8&2&fdbk.png&$swtext{'fdbk'}&discuss[_1]&gopost('/adm/feedback',currentURL,1)&Provide feedback messages or contribute to the course discussion about this resource |
ENDREALRES |
ENDREALRES |
} |
} |
} |
} |
if ($env{'request.uri'} =~ /^\/res/) { |
if ($env{'request.uri'} =~ /^\/res/) { |
$menuitems .= (<<ENDMENUITEMS); |
unless ($got_prt) { |
s&8&3&prt.png&Print&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document |
$menuitems .= (<<ENDMENUITEMS); |
|
s&8&3&prt.png&$swtext{'prt'}&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document |
ENDMENUITEMS |
ENDMENUITEMS |
|
$got_prt = 1; |
|
} |
|
unless ($got_wishlist) { |
|
if (($env{'user.adv'}) && (!$env{'request.enc'})) { |
|
# wishlist is only available for users with access to resource-pool |
|
$menuitems .= (<<ENDMENUITEMS); |
|
s&9&1&alnk.png&$swtext{'alnk'}&linkstor[_1]&set_wishlistlink()&Save a link for this resource in your personal Stored Links repository&&1 |
|
ENDMENUITEMS |
|
$got_wishlist = 1; |
|
} |
|
} |
} |
} |
|
unless ($got_prt) { |
|
$menuitems .= (<<ENDMENUITEMS); |
|
c&8&3 |
|
ENDMENUITEMS |
|
} |
|
unless ($got_wishlist) { |
|
$menuitems .= (<<ENDMENUITEMS); |
|
c&9&1 |
|
ENDMENUITEMS |
|
} |
my $buttons=''; |
my $buttons=''; |
foreach (split(/\n/,$menuitems)) { |
foreach (split(/\n/,$menuitems)) { |
my ($command,@rest)=split(/\&/,$_); |
my ($command,@rest)=split(/\&/,$_); |
Line 794 ENDMENUITEMS
|
Line 895 ENDMENUITEMS
|
} |
} |
} |
} |
} |
} |
|
if ($noremote) { |
my $addremote=0; |
my $addremote=0; |
foreach (@inlineremote) { if ($_ ne '') { $addremote=1; last;} } |
foreach (@inlineremote) { if ($_ ne '') { $addremote=1; last;} } |
if ($addremote) { |
if ($addremote) { |
|
|
&Apache::lonhtmlcommon::clear_breadcrumb_tools(); |
&Apache::lonhtmlcommon::clear_breadcrumb_tools(); |
|
|
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
'navigation', @inlineremote[21,23]); |
'navigation', @inlineremote[21,23]); |
|
|
if(hidden_button_check() ne 'yes') { |
my $countdown = &countdown_timer(); |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
if (&hidden_button_check() eq 'yes') { |
'tools', @inlineremote[93,91,81,82,83]); |
if ($countdown) { |
|
&Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$countdown); |
|
} |
|
} else { |
|
my @tools = @inlineremote[93,91,81,82,83]; |
|
if ($countdown) { |
|
unshift(@tools,$countdown); |
|
} |
|
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
|
'tools',@tools); |
|
|
#publish button in construction space |
#publish button in construction space |
if ($env{'request.state'} eq 'construct'){ |
if ($env{'request.state'} eq 'construct'){ |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
'advtools', $inlineremote[63]); |
'advtools', $inlineremote[63]); |
} else { |
} else { |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
'tools', $inlineremote[63]); |
'tools', $inlineremote[63]); |
} |
} |
|
unless ($env{'request.noversionuri'}=~ m{^/adm/(navmaps|viewclasslist)(\?|$)}) { |
unless ($env{'request.noversionuri'}=~ m{^/adm/(navmaps|viewclasslist)(\?|$)}) { |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
'advtools', @inlineremote[61,71,72,73,74,92]); |
'advtools', @inlineremote[61,71,72,73,74,92]); |
} |
|
} |
} |
} |
|
return &Apache::lonhtmlcommon::scripttag('', 'start') |
|
. &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0) |
|
. &Apache::lonhtmlcommon::scripttag('', 'end'); |
|
|
|
} else { |
|
my $cstrcrumbs; |
|
if ($const_space) { |
|
foreach (split(/\n/,$cstritems)) { |
|
my ($command,@rest)=split(/\&/,$_); |
|
my $idx=10*$rest[0]+$rest[1]; |
|
&switch('','',@rest); |
|
} |
|
&Apache::lonhtmlcommon::add_breadcrumb_tool('advtools', |
|
@inlineremote[63,61,71,72]); |
|
|
|
$cstrcrumbs = &Apache::lonhtmlcommon::scripttag('', 'start') |
|
.&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0) |
|
.&Apache::lonhtmlcommon::scripttag('', 'end'); |
|
} |
|
my $requri=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0])); |
|
$requri=&Apache::lonenc::check_encrypt(&unescape($requri)); |
|
my $cursymb=&Apache::lonenc::check_encrypt($env{'request.symb'}); |
|
my $navstatus=&get_nav_status(); |
|
my $clearcstr; |
|
|
|
if ($env{'user.adv'}) { $clearcstr='clearbut(6,1)'; } |
|
return <<ENDREGTHIS; |
|
|
|
<script type="text/javascript"> |
|
// <![CDATA[ |
|
// BEGIN LON-CAPA Internal |
|
var swmenu=null; |
|
|
|
function LONCAPAreg() { |
|
swmenu=$reopen; |
|
swmenu.clearTimeout(swmenu.menucltim); |
|
$timesync |
|
$newmail |
|
$buttons |
|
swmenu.currentURL="$requri"; |
|
swmenu.reloadURL=swmenu.currentURL+window.location.search; |
|
swmenu.currentSymb="$cursymb"; |
|
swmenu.reloadSymb="$cursymb"; |
|
swmenu.currentStale=0; |
|
$navstatus |
|
$hwkadd |
|
$editbutton |
|
} |
|
|
|
function LONCAPAstale() { |
|
swmenu=$reopen |
|
swmenu.currentStale=1; |
|
if (swmenu.reloadURL!='' && swmenu.reloadURL!= null) { |
|
swmenu.switchbutton |
|
(3,1,'reload.gif','return','location','go(reloadURL)','Return to the last known location in the course sequence'); |
|
} |
|
swmenu.clearbut(7,2); |
|
swmenu.clearbut(7,3); |
|
swmenu.menucltim=swmenu.setTimeout( |
|
'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+ |
|
'clearbut(9,1);clearbut(9,3);clearbut(6,3);$clearcstr', |
|
2000); |
|
} |
|
|
|
// END LON-CAPA Internal |
|
// ]]> |
|
</script> |
|
|
|
$cstrcrumbs |
|
ENDREGTHIS |
} |
} |
|
} else { |
|
unless ($noremote) { |
|
# Not registered, graphical |
|
return (<<ENDDONOTREGTHIS); |
|
|
|
<script type="text/javascript"> |
|
// <![CDATA[ |
|
// BEGIN LON-CAPA Internal |
|
var swmenu=null; |
|
|
|
function LONCAPAreg() { |
|
swmenu=$reopen |
|
$timesync |
|
swmenu.currentStale=1; |
|
swmenu.clearbut(2,1); |
|
swmenu.clearbut(2,3); |
|
swmenu.clearbut(8,1); |
|
swmenu.clearbut(8,2); |
|
swmenu.clearbut(8,3); |
|
swmenu.clearbut(9,1); |
|
if (swmenu.currentURL) { |
|
swmenu.switchbutton |
|
(3,1,'reload.gif','return','location','go(currentURL)'); |
|
} else { |
|
swmenu.clearbut(3,1); |
|
} |
} |
} |
|
|
return &Apache::lonhtmlcommon::scripttag('', 'start') |
function LONCAPAstale() { |
. &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0) |
} |
. &Apache::lonhtmlcommon::scripttag('', 'end'); |
|
|
// END LON-CAPA Internal |
|
// ]]> |
|
</script> |
|
ENDDONOTREGTHIS |
|
|
|
} |
|
return ''; |
|
} |
|
} |
|
|
|
sub get_inline_text { |
|
my %text = ( |
|
pgrd => 'Content Grades', |
|
subm => 'Content Submissions', |
|
pparm => 'Content Settings', |
|
docs => 'Folder/Page Content', |
|
pcstr => 'Edit', |
|
prt => 'Print', |
|
alnk => 'Stored Links', |
|
anot => 'Notes', |
|
catalog => 'Info', |
|
eval => 'Evaluate', |
|
fdbk => 'Feedback', |
|
); |
|
return %text; |
|
} |
|
|
|
sub get_rc_text { |
|
my %text = ( |
|
pgrd => 'problem[_1]', |
|
subm => 'view sub-[_1]', |
|
pparm => 'problem[_2]', |
|
pcstr => 'edit[_1]', |
|
prt => 'prepare[_1]', |
|
back => 'backward[_1]', |
|
forw => 'forward[_1]', |
|
alnk => 'add to[_1]', |
|
anot => 'anno-[_1]', |
|
catalog => 'catalog[_2]', |
|
eval => 'evaluate[_1]', |
|
fdbk => 'feedback[_1]', |
|
); |
|
return %text; |
} |
} |
|
|
sub is_course_upload { |
sub is_course_upload { |
Line 865 sub edit_course_upload {
|
Line 1115 sub edit_course_upload {
|
return $cfile; |
return $cfile; |
} |
} |
|
|
|
sub loadevents() { |
|
if ($env{'request.state'} eq 'construct' || |
|
$env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { return ''; } |
|
return 'LONCAPAreg();'; |
|
} |
|
|
|
sub unloadevents() { |
|
if ($env{'request.state'} eq 'construct' || |
|
$env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { return ''; } |
|
return 'LONCAPAstale();'; |
|
} |
|
|
sub startupremote { |
sub startupremote { |
my ($lowerurl)=@_; |
my ($lowerurl)=@_; |
if ($env{'environment.remote'} eq 'off') { |
unless ($env{'environment.remote'} eq 'on') { |
return ('<meta HTTP-EQUIV="Refresh" CONTENT="0.5; url='.$lowerurl.'" />'); |
return ('<meta HTTP-EQUIV="Refresh" CONTENT="0.5; url='.$lowerurl.'" />'); |
} |
} |
# |
# |
# The Remote actually gets launched! |
# The Remote actually gets launched! |
Line 946 ENDSETFLAGS
|
Line 1208 ENDSETFLAGS
|
} |
} |
|
|
sub maincall() { |
sub maincall() { |
if ($env{'environment.remote'} eq 'off') { return ''; } |
unless ($env{'environment.remote'} eq 'on') { return ''; } |
return(<<ENDMAINCALL); |
return(<<ENDMAINCALL); |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 959 ENDMAINCALL
|
Line 1221 ENDMAINCALL
|
sub load_remote_msg { |
sub load_remote_msg { |
my ($lowerurl)=@_; |
my ($lowerurl)=@_; |
|
|
if ($env{'environment.remote'} eq 'off') { return ''; } |
unless ($env{'environment.remote'} eq 'on') { return ''; } |
|
|
my $esclowerurl=&escape($lowerurl); |
my $esclowerurl=&escape($lowerurl); |
my $link=&mt('[_1]Continue[_2] on in Inline Menu mode' |
my $link=&mt('[_1]Continue[_2] on in Inline Menu mode' |
Line 983 sub get_menu_name {
|
Line 1245 sub get_menu_name {
|
|
|
|
|
sub reopenmenu { |
sub reopenmenu { |
if ($env{'environment.remote'} eq 'off') { return ''; } |
unless ($env{'environment.remote'} eq 'on') { return ''; } |
my $menuname = &get_menu_name(); |
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 992 sub reopenmenu {
|
Line 1254 sub reopenmenu {
|
|
|
sub open { |
sub open { |
my $returnval=''; |
my $returnval=''; |
if ($env{'environment.remote'} eq 'off') { |
unless ($env{'environment.remote'} eq 'on') { |
return |
return |
'<script type="text/javascript">'."\n" |
'<script type="text/javascript">'."\n" |
.'// <![CDATA['."\n" |
.'// <![CDATA['."\n" |
Line 1027 ENDOPEN
|
Line 1289 ENDOPEN
|
|
|
sub clear { |
sub clear { |
my ($row,$col)=@_; |
my ($row,$col)=@_; |
$inlineremote[10*$row+$col]=''; |
if ($env{'environment.remote'} eq 'on') { |
return ''; |
if (($row<1) || ($row>13)) { return ''; } |
|
return "\n".qq(window.status+='.';swmenu.clearbut($row,$col);); |
|
} else { |
|
$inlineremote[10*$row+$col]=''; |
|
return ''; |
|
} |
} |
} |
|
|
# ============================================ Switch a button or create a link |
# ============================================ Switch a button or create a link |
Line 1045 sub switch {
|
Line 1312 sub switch {
|
my $idx=10*$row+$col; |
my $idx=10*$row+$col; |
$category_members{$cat}.=':'.$idx; |
$category_members{$cat}.=':'.$idx; |
|
|
|
if ($env{'environment.remote'} eq 'on') { |
|
if (($row<1) || ($row>13)) { return ''; } |
|
if ($env{'request.state'} eq 'construct') { |
|
my $text = $top.' '.$bot; |
|
$text=~s/\s*\-\s*//gs; |
|
my $pic = '<img alt="'.$text.'" src="'. |
|
&Apache::loncommon::lonhttpdurl('/res/adm/pages/'.$img). |
|
'" align="'.($nobreak==3?'right':'left').'" class="LC_icon" />'; |
|
$inlineremote[$idx] = |
|
'<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'. |
|
$pic.'<span class="LC_menubuttons_inline_text">'.$top.' </span></a>'; |
|
} |
|
# Remote |
|
$img=~s/\.png$/\.gif/; |
|
return "\n". |
|
qq(window.status+='.';swmenu.switchbutton($row,$col,"$img","$top","$bot","$act","$desc");); |
|
} |
|
|
# Inline Menu |
# Inline Menu |
if ($nobreak==2) { return ''; } |
if ($nobreak==2) { return ''; } |
my $text=$top.' '.$bot; |
my $text=$top.' '.$bot; |
Line 1075 sub switch {
|
Line 1360 sub switch {
|
} |
} |
} else { |
} else { |
# Inline Menu |
# Inline Menu |
$inlineremote[$idx]= |
my @tools = (93,91,81,82,83); |
|
unless ($env{'request.state'} eq 'construct') { |
|
push(@tools,63); |
|
} |
|
if (($env{'environment.icons'} eq 'iconsonly') && |
|
(grep(/^$idx$/,@tools))) { |
|
$inlineremote[$idx] = |
|
'<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'.$pic.'</a>'; |
|
} else { |
|
$inlineremote[$idx] = |
'<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'.$pic. |
'<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'.$pic. |
'<span class="LC_menubuttons_inline_text">'.$top.' </span></a>'; |
'<span class="LC_menubuttons_inline_text">'.$top.' </span></a>'; |
|
} |
} |
} |
return ''; |
return ''; |
} |
} |
Line 1096 sub secondlevel {
|
Line 1391 sub secondlevel {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub openmenu { |
|
my $menuname = &get_menu_name(); |
|
unless ($env{'environment.remote'} eq 'on') { return ''; } |
|
my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); |
|
return "window.open(".$nothing.",'".$menuname."');"; |
|
} |
|
|
sub inlinemenu { |
sub inlinemenu { |
undef(@inlineremote); |
undef(@inlineremote); |
undef(%category_members); |
undef(%category_members); |
Line 1138 sub rawconfig {
|
Line 1440 sub rawconfig {
|
# |
# |
my $textualoverride=shift; |
my $textualoverride=shift; |
my $output=''; |
my $output=''; |
return '' unless $textualoverride; |
if ($env{'environment.remote'} eq 'on') { |
|
$output.= |
|
"window.status='Opening Remote Control';var swmenu=".&openmenu(). |
|
"\nwindow.status='Configuring Remote Control ';"; |
|
} else { |
|
unless ($textualoverride) { return ''; } |
|
} |
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'}; |
Line 1313 sub rawconfig {
|
Line 1621 sub rawconfig {
|
$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); |
} |
} |
} |
} |
|
if ($env{'environment.remote'} eq 'on') { |
|
$output.="\nwindow.status='Synchronizing Time';swmenu.syncclock(1000*".time.");\nwindow.status='Remote Control Configured.';"; |
|
if (&Apache::lonmsg::newmail()) { |
|
$output.='swmenu.setstatus("you have","messages");'; |
|
} |
|
} |
return $output; |
return $output; |
} |
} |
|
|
Line 1341 sub check_for_rcrs {
|
Line 1655 sub check_for_rcrs {
|
# ======================================================================= Close |
# ======================================================================= Close |
|
|
sub close { |
sub close { |
if ($env{'environment.remote'} eq 'off') { return ''; } |
unless ($env{'environment.remote'} eq 'on') { return ''; } |
my $menuname = &get_menu_name(); |
my $menuname = &get_menu_name(); |
return(<<ENDCLOSE); |
return(<<ENDCLOSE); |
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 1385 END
|
Line 1699 END
|
|
|
} |
} |
|
|
|
sub countdown_toggle_js { |
|
return <<"END"; |
|
|
|
function toggleCountdown() { |
|
var countdownid = document.getElementById('duedatecountdown'); |
|
var currstyle = countdownid.style.display; |
|
if (currstyle == 'inline') { |
|
countdownid.style.display = 'none'; |
|
document.getElementById('ddcountcollapse').innerHTML=''; |
|
document.getElementById('ddcountexpand').innerHTML='◄ '; |
|
} else { |
|
countdownid.style.display = 'inline'; |
|
document.getElementById('ddcountcollapse').innerHTML='► '; |
|
document.getElementById('ddcountexpand').innerHTML=''; |
|
} |
|
return; |
|
} |
|
|
|
END |
|
} |
|
|
sub utilityfunctions { |
sub utilityfunctions { |
my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0])); |
my $currenturl=&Apache::lonnet::clutter(&Apache::lonnet::fixversion((split(/\?/,$env{'request.noversionuri'}))[0])); |
if ($currenturl =~ m{^/adm/wrapper/ext/} |
if ($currenturl =~ m{^/adm/wrapper/ext/} |
Line 1413 sub utilityfunctions {
|
Line 1748 sub utilityfunctions {
|
my $end_page_annotate = |
my $end_page_annotate = |
&Apache::loncommon::end_page({'js_ready' => 1}); |
&Apache::loncommon::end_page({'js_ready' => 1}); |
|
|
my $start_page_bookmark = |
|
&Apache::loncommon::start_page('Bookmarks',undef, |
|
{'only_body' => 1, |
|
'js_ready' => 1, |
|
'bgcolor' => '#BBBBBB',}); |
|
|
|
my $end_page_bookmark = |
|
&Apache::loncommon::end_page({'js_ready' => 1}); |
|
|
|
my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'. |
my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'. |
&mt('Switch server?'); |
&mt('Switch server?'); |
|
|
my $esc_url=&escape($currenturl); |
my $esc_url=&escape($currenturl); |
my $esc_symb=&escape($currentsymb); |
my $esc_symb=&escape($currentsymb); |
|
|
|
my $countdown = &countdown_toggle_js(); |
|
|
return (<<ENDUTILITY) |
return (<<ENDUTILITY) |
|
|
var currentURL=unescape("$esc_url"); |
var currentURL=unescape("$esc_url"); |
Line 1538 function group_chat(group) {
|
Line 1866 function group_chat(group) {
|
grpchat=window.open(url,winName,'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no'); |
grpchat=window.open(url,winName,'height=320,width=280,resizable=yes,location=no,menubar=no,toolbar=no'); |
} |
} |
|
|
function edit_bookmarks() { |
|
go(''); |
|
w_BookmarkPal_flag=1; |
|
bookmarkpal=window.open("/adm/bookmarks", |
|
"BookmarkPal", "width=500,height=505,scrollbars=0"); |
|
} |
|
|
|
function annotate() { |
function annotate() { |
w_Annotator_flag=1; |
w_Annotator_flag=1; |
annotator=window.open('','Annotator','width=365,height=265,scrollbars=0'); |
annotator=window.open('','Annotator','width=365,height=265,scrollbars=0'); |
Line 1558 function annotate() {
|
Line 1879 function annotate() {
|
annotator.document.close(); |
annotator.document.close(); |
} |
} |
|
|
|
function open_StoredLinks_Import(rat) { |
|
var newWin; |
|
if (rat) { |
|
newWin = window.open('/adm/wishlist?inhibitmenu=yes&mode=import&rat='+rat, |
|
'wishlistImport','scrollbars=1,resizable=1,menubar=0'); |
|
} |
|
else { |
|
newWin = window.open('/adm/wishlist?inhibitmenu=yes&mode=import', |
|
'wishlistImport','scrollbars=1,resizable=1,menubar=0'); |
|
} |
|
newWin.focus(); |
|
} |
|
|
(function (\$) { |
(function (\$) { |
\$(document).ready(function () { |
\$(document).ready(function () { |
\$.single=function(a){return function(b){a[0]=b;return a}}(\$([1])); |
\$.single=function(a){return function(b){a[0]=b;return a}}(\$([1])); |
Line 1572 function annotate() {
|
Line 1906 function annotate() {
|
}); |
}); |
}(jQuery)); |
}(jQuery)); |
|
|
function set_bookmark() { |
$countdown |
go(''); |
|
clienttitle=document.title; |
|
clienthref=location.pathname; |
|
w_bmquery_flag=1; |
|
bmquery=window.open('','bmquery','width=365,height=165,scrollbars=0'); |
|
bmquery.document.write( |
|
'$start_page_bookmark' |
|
+'<center><form method="post"' |
|
+' name="newlink" action="/adm/bookmarks" target="bmquery" ' |
|
+'> <table width="340" height="150" ' |
|
+'bgcolor="#FFFFFF" align="center"><tr><td>Link Name:<br /><input ' |
|
+'type="text" name="title" size="45" value="'+clienttitle+'" />' |
|
+'<br />Address:<br /><input type="text" name="address" size="45" ' |
|
+'value="'+clienthref+'" /><br /><center><input type="submit" ' |
|
+'value="Save" /> <input type="button" value="Close" ' |
|
+'onclick="javascript:window.close();" /></center></td>' |
|
+'</tr></table></form></center>' |
|
+'$end_page_bookmark' ); |
|
bmquery.document.close(); |
|
} |
|
|
|
ENDUTILITY |
ENDUTILITY |
} |
} |
Line 1626 sub constspaceform {
|
Line 1940 sub constspaceform {
|
ENDCONSTSPACEFORM |
ENDCONSTSPACEFORM |
} |
} |
|
|
|
sub get_nav_status { |
|
my $navstatus="swmenu.w_loncapanav_flag="; |
|
if ($env{'environment.remotenavmap'} eq 'on') { |
|
$navstatus.="1"; |
|
} else { |
|
$navstatus.="-1"; |
|
} |
|
return $navstatus; |
|
} |
|
|
sub hidden_button_check { |
sub hidden_button_check { |
if ( $env{'request.course.id'} eq '' |
if ( $env{'request.course.id'} eq '' |
|| $env{'request.role.adv'} ) { |
|| $env{'request.role.adv'} ) { |
Line 1992 sub required_privs {
|
Line 2316 sub required_privs {
|
return $privs; |
return $privs; |
} |
} |
|
|
|
sub countdown_timer { |
|
if (($env{'request.course.id'}) && ($env{'request.symb'} ne '') && |
|
($env{'request.filename'}=~/$LONCAPA::assess_re/) && |
|
($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { |
|
my $duedate = &Apache::lonnet::EXT("resource.0.duedate"); |
|
my @interval=&Apache::lonnet::EXT("resource.0.interval"); |
|
my $hastimeleft; |
|
if (@interval > 1) { |
|
my $first_access=&Apache::lonnet::get_first_access($interval[1]); |
|
if ($first_access > 0) { |
|
if ($first_access+$interval[0] > time) { |
|
$hastimeleft = 1; |
|
} |
|
} |
|
} |
|
if (($duedate && $duedate > time) || |
|
(!$duedate && $hastimeleft)) { |
|
my ($collapse,$expand,$alttxt,$title,$currdisp); |
|
if (@interval > 1 && $hastimeleft) { |
|
$currdisp = 'inline'; |
|
$collapse = '► '; |
|
} else { |
|
$currdisp = 'none'; |
|
$expand = '◄ '; |
|
} |
|
unless ($env{'environment.icons'} eq 'iconsonly') { |
|
$alttxt = &mt('Timer'); |
|
$title = $alttxt.' '; |
|
} |
|
my $desc = &mt('Countdown to due date/time'); |
|
return <<END; |
|
|
|
<a href="javascript:toggleCountdown();" class="LC_menubuttons_link"> |
|
<span id="ddcountcollapse" class="LC_menubuttons_inline_text"> |
|
$collapse |
|
</span></a> |
|
<span id="duedatecountdown" class="LC_menubuttons_inline_text" style="display: $currdisp;"></span> |
|
<a href="javascript:toggleCountdown();" class="LC_menubuttons_link"> |
|
<span id="ddcountexpand" class="LC_menubuttons_inline_text" >$expand</span> |
|
<img src="/res/adm/pages/timer.png" title="$desc" class="LC_icon" alt="$alttxt" /><span class="LC_menubuttons_inline_text">$title</span></a> |
|
END |
|
} |
|
} |
|
return; |
|
} |
|
|
# ================================================================ Main Program |
# ================================================================ Main Program |
|
|
BEGIN { |
BEGIN { |