version 1.827, 2009/05/27 14:59:49
|
version 1.873, 2009/07/31 03:14:20
|
Line 483 ENDAUTHORBRW
|
Line 483 ENDAUTHORBRW
|
|
|
sub coursebrowser_javascript { |
sub coursebrowser_javascript { |
my ($domainfilter,$sec_element,$formname)=@_; |
my ($domainfilter,$sec_element,$formname)=@_; |
my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Group - for which you wish to add/modify a user role'); |
my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role'); |
my $output = ' |
my $output = ' |
<script type="text/javascript" language="JavaScript"> |
<script type="text/javascript" language="JavaScript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 529 sub coursebrowser_javascript {
|
Line 529 sub coursebrowser_javascript {
|
} |
} |
} |
} |
} |
} |
|
if (formname == 'ccrs') { |
|
var ownername = document.forms[formid].ccuname.value; |
|
var ownerdom = document.forms[formid].ccdomain.options[document.forms[formid].ccdomain.selectedIndex].value; |
|
url += '&cloner='+ownername+':'+ownerdom; |
|
} |
if (multflag !=null && multflag != '') { |
if (multflag !=null && multflag != '') { |
url += '&multiple='+multflag; |
url += '&multiple='+multflag; |
} |
} |
if (crstype == 'Course/Group') { |
if (crstype == 'Course/Community') { |
if (formname == 'cu') { |
if (formname == 'cu') { |
crstype = document.cu.crstype.options[document.cu.crstype.selectedIndex].value; |
crstype = document.cu.crstype.options[document.cu.crstype.selectedIndex].value; |
if (crstype == "") { |
if (crstype == "") { |
Line 620 function setSect(sectionlist) {
|
Line 625 function setSect(sectionlist) {
|
|
|
sub selectcourse_link { |
sub selectcourse_link { |
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_; |
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_; |
|
my $linktext = &mt('Select Course'); |
|
if ($selecttype eq 'Community') { |
|
$linktext = &mt('Select Community'); |
|
} |
return '<span class="LC_nobreak">' |
return '<span class="LC_nobreak">' |
."<a href='" |
."<a href='" |
.'javascript:opencrsbrowser("'.$form.'","'.$unameele |
.'javascript:opencrsbrowser("'.$form.'","'.$unameele |
.'","'.$udomele.'","'.$desc.'","'.$extra_element |
.'","'.$udomele.'","'.$desc.'","'.$extra_element |
.'","'.$multflag.'","'.$selecttype.'");' |
.'","'.$multflag.'","'.$selecttype.'");' |
."'>".&mt('Select Course').'</a>' |
."'>".$linktext.'</a>' |
.'</span>'; |
.'</span>'; |
} |
} |
|
|
Line 1787 sub select_level_form {
|
Line 1796 sub select_level_form {
|
|
|
=pod |
=pod |
|
|
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit) |
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$onchange) |
|
|
Returns a string containing a <select name='$name' size='1'> form to |
Returns a string containing a <select name='$name' size='1'> form to |
allow a user to select the domain to preform an operation in. |
allow a user to select the domain to preform an operation in. |
Line 1798 selected");
|
Line 1807 selected");
|
|
|
If the $showdomdesc flag is set, the domain name is followed by the domain description. |
If the $showdomdesc flag is set, the domain name is followed by the domain description. |
|
|
If the $autosubmit flag is set, the form containing the domain selector will be auto-submitted by an onchange action. |
The optional $onchange argumnet specifies what should occur if the domain selector is changed, e.g., 'this.form.submit()' if the form is to be automatically submitted. |
|
|
=cut |
=cut |
|
|
#------------------------------------------- |
#------------------------------------------- |
sub select_dom_form { |
sub select_dom_form { |
my ($defdom,$name,$includeempty,$showdomdesc,$autosubmit) = @_; |
my ($defdom,$name,$includeempty,$showdomdesc,$onchange) = @_; |
my $onchange; |
if ($onchange) { |
if ($autosubmit) { |
' onchange="'.$onchange.'"'; |
$onchange = ' onchange="this.form.submit()"'; |
|
} |
} |
my @domains = sort {lc($a) cmp lc($b)} (&Apache::lonnet::all_domains()); |
my @domains = sort {lc($a) cmp lc($b)} (&Apache::lonnet::all_domains()); |
if ($includeempty) { @domains=('',@domains); } |
if ($includeempty) { @domains=('',@domains); } |
Line 3766 sub blockcheck {
|
Line 3774 sub blockcheck {
|
($env{'request.role'} !~ m{^st\./\Q$cdom\E/\Q$cnum\E})); |
($env{'request.role'} !~ m{^st\./\Q$cdom\E/\Q$cnum\E})); |
next if ($no_userblock); |
next if ($no_userblock); |
|
|
# Retrieve blocking times and identity of blocker for course |
# Retrieve blocking times and identity of locker for course |
# of specified user, unless user has 'evb' privilege. |
# of specified user, unless user has 'evb' privilege. |
|
|
my ($start,$end)=&get_blocks($setters,$activity,$cdom,$cnum); |
my ($start,$end)=&get_blocks($setters,$activity,$cdom,$cnum); |
Line 3831 sub parse_block_record {
|
Line 3839 sub parse_block_record {
|
return ($setuname,$setudom,$title,$blocks); |
return ($setuname,$setudom,$title,$blocks); |
} |
} |
|
|
sub build_block_table { |
|
my ($startblock,$endblock,$setters) = @_; |
|
my %lt = &Apache::lonlocal::texthash( |
|
'cacb' => 'Currently active communication blocks', |
|
'cour' => 'Course', |
|
'dura' => 'Duration', |
|
'blse' => 'Block set by' |
|
); |
|
my $output; |
|
$output = '<br />'.$lt{'cacb'}.':<br />'; |
|
$output .= &start_data_table(); |
|
$output .= ' |
|
<tr> |
|
<th>'.$lt{'cour'}.'</th> |
|
<th>'.$lt{'dura'}.'</th> |
|
<th>'.$lt{'blse'}.'</th> |
|
</tr> |
|
'; |
|
foreach my $course (keys(%{$setters})) { |
|
my %courseinfo=&Apache::lonnet::coursedescription($course); |
|
for (my $i=0; $i<@{$$setters{$course}{staff}}; $i++) { |
|
my ($uname,$udom) = @{$$setters{$course}{staff}[$i]}; |
|
my $fullname = &plainname($uname,$udom); |
|
if (defined($env{'user.name'}) && defined($env{'user.domain'}) |
|
&& $env{'user.name'} ne 'public' |
|
&& $env{'user.domain'} ne 'public') { |
|
$fullname = &aboutmewrapper($fullname,$uname,$udom); |
|
} |
|
my ($openblock,$closeblock) = @{$$setters{$course}{times}[$i]}; |
|
$openblock = &Apache::lonlocal::locallocaltime($openblock); |
|
$closeblock= &Apache::lonlocal::locallocaltime($closeblock); |
|
$output .= &Apache::loncommon::start_data_table_row(). |
|
'<td>'.$courseinfo{'description'}.'</td>'. |
|
'<td>'.$openblock.' to '.$closeblock.'</td>'. |
|
'<td>'.$fullname.'</td>'. |
|
&Apache::loncommon::end_data_table_row(); |
|
} |
|
} |
|
$output .= &end_data_table(); |
|
} |
|
|
|
sub blocking_status { |
sub blocking_status { |
my ($activity,$uname,$udom) = @_; |
my $blocked; |
my %setters; |
my ($activity,$uname,$udom) = @_; |
my ($blocked,$output,$ownitem,$is_course); |
my %setters; |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
if ($startblock && $endblock) { |
if ($startblock && $endblock) { |
$blocked = 1; |
$blocked = 1; |
if (wantarray) { |
} |
my $category; |
if(!wantarray) { |
if ($activity eq 'boards') { |
return $blocked; |
$category = 'Discussion posts in this course'; |
} |
} elsif ($activity eq 'blogs') { |
my $output; |
$category = 'Blogs'; |
my $querystring; |
} elsif ($activity eq 'port') { |
$querystring = "?activity=$activity"; |
if (defined($uname) && defined($udom)) { |
|
if ($uname eq $env{'user.name'} && |
$output .= <<"END_MYBLOCK"; |
$udom eq $env{'user.domain'}) { |
<script type="text/javascript"> |
$ownitem = 1; |
// <![CDATA[ |
} |
function openWindow(url, wdwName, w, h, toolbar,scrollbar) { |
} |
var options = "width=" + w + ",height=" + h + ","; |
$is_course = &Apache::lonnet::is_course($udom,$uname); |
options += "resizable=yes,scrollbars="+scrollbar+",status=no,"; |
if ($ownitem) { |
options += "menubar=no,toolbar="+toolbar+",location=no,directories=no"; |
$category = 'Your portfolio files'; |
var newWin = window.open(url, wdwName, options); |
} elsif ($is_course) { |
newWin.focus(); |
my $coursedesc; |
|
foreach my $course (keys(%setters)) { |
|
my %courseinfo = |
|
&Apache::lonnet::coursedescription($course); |
|
$coursedesc = $courseinfo{'description'}; |
|
} |
|
$category = "Group portfolio in the course '$coursedesc'"; |
|
} else { |
|
$category = 'Portfolio files belonging to '; |
|
if ($env{'user.name'} eq 'public' && |
|
$env{'user.domain'} eq 'public') { |
|
$category .= &plainname($uname,$udom); |
|
} else { |
|
$category .= &aboutmewrapper(&plainname($uname,$udom),$uname,$udom); |
|
} |
|
} |
|
} elsif ($activity eq 'groups') { |
|
$category = 'Groups in this course'; |
|
} |
|
my $showstart = &Apache::lonlocal::locallocaltime($startblock); |
|
my $showend = &Apache::lonlocal::locallocaltime($endblock); |
|
$output = '<br />'.&mt('[_1] will be inaccessible between [_2] and [_3] because communication is being blocked.',$category,$showstart,$showend).'<br />'; |
|
if (!($activity eq 'port' && !($ownitem) && !($is_course))) { |
|
$output .= &build_block_table($startblock,$endblock,\%setters); |
|
} |
|
} |
|
} |
|
if (wantarray) { |
|
return ($blocked,$output); |
|
} else { |
|
return $blocked; |
|
} |
} |
|
|
|
// ]]> |
|
</script> |
|
END_MYBLOCK |
|
my $popupUrl = "/adm/blockingstatus/$querystring"; |
|
$output .= <<"END_BLOCK"; |
|
<div class='LC_comblock'> |
|
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
|
title='Communication Blocked'> |
|
<img class='LC_noBorder LC_middle' title='Communication Blocked' src='/res/adm/pages/comblock.png' alt='Communication Blocked'/></a> |
|
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
|
title='Communication Blocked'>Communication Blocked</a> |
|
</div> |
|
|
|
END_BLOCK |
|
|
|
return ($blocked, $output); |
} |
} |
|
|
############################################### |
############################################### |
Line 4183 sub designparm {
|
Line 4136 sub designparm {
|
############################################## |
############################################## |
=pod |
=pod |
|
|
|
=item * &authorspace() |
|
|
|
Inputs: ./. |
|
|
|
Returns: Path to the Construction Space of the current user's |
|
accessed author space |
|
The author space will be that of the current user |
|
when accessing the own author space |
|
and that of the co-author/assistent co-author |
|
when accessing the co-author's/assistent co-author's |
|
space |
|
|
|
=cut |
|
|
|
sub authorspace { |
|
my $caname = ''; |
|
if ($env{'request.role'} =~ /^ca|^aa/) { |
|
(undef,$caname) = |
|
($env{'request.role'}=~/($match_domain)\/($match_username)$/); |
|
} else { |
|
$caname = $env{'user.name'}; |
|
} |
|
return '/priv/'.$caname.'/'; |
|
} |
|
|
|
############################################## |
|
=pod |
|
|
=item * &head_subbox() |
=item * &head_subbox() |
|
|
Inputs: $content (contains HTML code with page functions, etc.) |
Inputs: $content (contains HTML code with page functions, etc.) |
Line 4195 Returns: HTML div with $content
|
Line 4176 Returns: HTML div with $content
|
sub head_subbox { |
sub head_subbox { |
my ($content)=@_; |
my ($content)=@_; |
my $output = |
my $output = |
'<div id="LC_head_subbox2">' #FIXME: solve conflicts with lonhtmlcommon:breadcrumbs LC_head_subbox |
'<div id="LC_head_subbox">' |
.$content |
.$content |
.'</div>' |
.'</div>' |
} |
} |
Line 4274 Inputs:
|
Line 4255 Inputs:
|
=item * $forcereg, if page should register as content page (relevant for |
=item * $forcereg, if page should register as content page (relevant for |
text interface only) |
text interface only) |
|
|
=item * $customtitle, alternate text to use instead of $title |
|
in the title box that appears, this text |
|
is not auto translated like the $title is |
|
|
|
=item * $no_nav_bar, if true, keep the 'what is this' info but remove the |
=item * $no_nav_bar, if true, keep the 'what is this' info but remove the |
navigational links |
navigational links |
|
|
Line 4302 other decorations will be returned.
|
Line 4279 other decorations will be returned.
|
=cut |
=cut |
|
|
sub bodytag { |
sub bodytag { |
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle, |
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg, |
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_; |
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_; |
|
|
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
Line 4357 sub bodytag {
|
Line 4334 sub bodytag {
|
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}); |
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}); |
} |
} |
|
|
my $roleinfo=(<<ENDROLE); |
|
<td class="LC_title_bar_who"> |
|
<div class="LC_title_bar_name"> |
|
$name |
|
|
|
</div> |
|
<div class="LC_title_bar_role"> |
|
$role |
|
</div> |
|
<div class="LC_title_bar_realm"> |
|
$realm |
|
</div> |
|
</td> |
|
ENDROLE |
|
|
|
my $titleinfo = '<h1>'.$title.'</h1>'; |
my $titleinfo = '<h1>'.$title.'</h1>'; |
if ($customtitle) { |
|
$titleinfo = $customtitle; |
|
} |
|
# |
# |
# Extra info if you are the DC |
# Extra info if you are the DC |
my $dc_info = ''; |
my $dc_info = ''; |
Line 4388 ENDROLE
|
Line 4347 ENDROLE
|
$dc_info = '('.$dc_info.')'; |
$dc_info = '('.$dc_info.')'; |
} |
} |
|
|
if (($env{'environment.remote'} eq 'off') || ($args->{'suppress_header_logos'})) { |
$role = "($role)" if $role; |
|
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']); |
|
|
|
if ($env{'environment.remote'} eq 'off') { |
# No Remote |
# No Remote |
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$forcereg=1; |
$forcereg=1; |
} |
} |
|
|
if (!$customtitle && $env{'request.state'} eq 'construct') { |
# if ($env{'request.state'} eq 'construct') { |
$titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls |
# $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls |
} |
# } |
|
|
my $titletable = '<table id="LC_title_bar">' |
my $titletable = '<table id="LC_title_bar">' |
."<tr><td> $titleinfo $dc_info</td>".$roleinfo |
."<tr><td> $titleinfo $dc_info</td>" |
.'</tr></table>'; |
.'</tr></table>'; |
|
|
if ($no_nav_bar) { |
if ($no_nav_bar) { |
$bodytag .= $titletable; |
$bodytag .= $titletable; |
} else { |
} else { |
$bodytag .= qq|<div id="LC_nav_bar">$name ($role)<br /> |
$bodytag .= qq|<div id="LC_nav_bar">$name $role<br /> |
<em>$realm</em> $dc_info</div>|; |
<em>$realm</em> $dc_info</div>| unless $env{'form.inhibitmenu'}; |
|
|
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
$bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg, |
$bodytag .= &Apache::lonmenu::menubuttons($forcereg,$titletable); |
$titletable); |
|
} else { |
} else { |
$bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg). |
$bodytag .= &Apache::lonmenu::menubuttons($forcereg).$titletable; |
$titletable; |
|
} |
} |
} |
} |
return $bodytag; |
return $bodytag; |
Line 4430 ENDROLE
|
Line 4391 ENDROLE
|
|
|
# Explicit link to get inline menu |
# Explicit link to get inline menu |
my $menu= ($no_inline_link?'' |
my $menu= ($no_inline_link?'' |
:'<br /><a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a>'); |
:'<a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a>'); |
|
$bodytag .= qq|<div id="LC_nav_bar">$name $role |
|
<em>$realm</em> $dc_info </div> |
|
<ol class="LC_smallMenu LC_right"> |
|
<li>$menu</li> |
|
</ol>| unless $env{'form.inhibitmenu'}; |
# |
# |
return(<<ENDBODY); |
return(<<ENDBODY); |
$bodytag |
$bodytag |
Line 4439 $bodytag
|
Line 4405 $bodytag
|
<td>$messages </td> |
<td>$messages </td> |
</tr> |
</tr> |
<tr><td>$titleinfo $dc_info $menu</td> |
<tr><td>$titleinfo $dc_info $menu</td> |
$roleinfo |
|
</tr> |
</tr> |
</table> |
</table> |
ENDBODY |
ENDBODY |
Line 4561 sub standard_css {
|
Line 4526 sub standard_css {
|
|
|
my $sans = 'Verdana,Arial,Helvetica,sans-serif'; |
my $sans = 'Verdana,Arial,Helvetica,sans-serif'; |
my $mono = 'monospace'; |
my $mono = 'monospace'; |
my $data_table_head = $tabbg; |
my $data_table_head = $sidebg; |
my $data_table_light = '#EEEEEE'; |
my $data_table_light = '#FAFAFA'; |
my $data_table_dark = '#DDDDDD'; |
my $data_table_dark = '#F0F0F0'; |
my $data_table_darker = '#CCCCCC'; |
my $data_table_darker = '#CCCCCC'; |
my $data_table_highlight = '#FFFF00'; |
my $data_table_highlight = '#FFFF00'; |
my $mail_new = '#FFBB77'; |
my $mail_new = '#FFBB77'; |
Line 4600 a:focus {
|
Line 4565 a:focus {
|
background: yellow |
background: yellow |
} |
} |
|
|
|
hr { |
|
clear: both; |
|
color: $tabbg; |
|
background-color: $tabbg; |
|
height: 3px; |
|
border: none; |
|
} |
|
|
form, .inline { |
form, .inline { |
display: inline; |
display: inline; |
} |
} |
Line 4722 table#LC_nav_location {
|
Line 4695 table#LC_nav_location {
|
table#LC_title_bar a { |
table#LC_title_bar a { |
color: $fontmenu; |
color: $fontmenu; |
} |
} |
|
|
table#LC_title_bar { |
table#LC_title_bar { |
clear: both; |
clear: both; |
/*display: none;*/ |
display: none; |
} |
} |
|
|
table#LC_title_bar, |
table#LC_title_bar, |
Line 4742 table#LC_title_bar.LC_with_remote {
|
Line 4715 table#LC_title_bar.LC_with_remote {
|
margin: 0; |
margin: 0; |
} |
} |
|
|
table.LC_docs_path { |
|
width: 100%; |
|
border: 0; |
|
background: $pgbg; |
|
border-collapse: collapse; |
|
padding: 0; |
|
} |
|
|
|
table#LC_title_bar td { |
table#LC_title_bar td { |
background: $tabbg; |
background: $tabbg; |
} |
} |
|
|
table#LC_title_bar .LC_title_bar_who { |
|
background: $tabbg; |
|
color: $fontmenu; |
|
font: small; |
|
text-align: right; |
|
margin: 0; |
|
} |
|
|
|
table#LC_title_bar div.LC_title_bar_name { |
|
margin: 0; |
|
} |
|
|
|
table#LC_title_bar div.LC_title_bar_role { |
|
margin: 0; |
|
} |
|
|
|
table#LC_title_bar div.LC_title_bar_realm { |
|
margin: 0; |
|
} |
|
|
|
table#LC_menubuttons img{ |
table#LC_menubuttons img{ |
border: none; |
border: none; |
} |
} |
Line 4813 table#LC_top_nav td.LC_top_nav_login {
|
Line 4758 table#LC_top_nav td.LC_top_nav_login {
|
text-align: center; |
text-align: center; |
} |
} |
|
|
table.LC_breadcrumbs td, |
.LC_breadcrumbs_component { |
table.LC_docs_path td { |
float: right; |
background: $tabbg; |
margin: 0 1em; |
color: $fontmenu; |
|
font-size: smaller; |
|
} |
} |
|
.LC_breadcrumbs_component img { |
table.LC_breadcrumbs td.LC_breadcrumbs_component, |
vertical-align: middle; |
table.LC_docs_path td.LC_docs_path_component { |
|
background: $tabbg; |
|
color: $fontmenu; |
|
font-size: larger; |
|
text-align: right; |
|
} |
} |
|
|
td.LC_table_cell_checkbox { |
td.LC_table_cell_checkbox { |
Line 4840 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4778 table#LC_mainmenu td.LC_mainmenu_column
|
font-size: 70%; |
font-size: 70%; |
} |
} |
|
|
#LC_head_subbox { |
#LC_breadcrumbs { |
clear:both; |
clear:both; |
background: $sidebg; |
background: $sidebg; |
border-bottom: 1px solid $lg_border_color; |
border-bottom: 1px solid $lg_border_color; |
height: 32px; |
|
line-height: 32px; |
line-height: 32px; |
margin: 0; |
margin: 0; |
padding: 0; |
padding: 0; |
} |
} |
|
|
#LC_head_subbox2 { /* FIXME: replace by LC_head_subbox once lonhtmlcommon::breadcrumbs has been fixed */ |
/* Preliminary fix to hide breadcrumbs inside remote control window */ |
|
#LC_remote #LC_breadcrumbs { |
|
display:none; |
|
} |
|
|
|
#LC_head_subbox { |
clear:both; |
clear:both; |
background: #F8F8F8; /* $sidebg; */ |
background: #F8F8F8; /* $sidebg; */ |
border-bottom: 1px solid $lg_border_color; |
border-bottom: 1px solid $lg_border_color; |
Line 4896 td.LC_menubuttons_text {
|
Line 4838 td.LC_menubuttons_text {
|
font-weight: bold; |
font-weight: bold; |
} |
} |
|
|
.LC_preferences_labeltext { |
|
text-align: right; |
|
} |
|
|
|
.LC_roleslog_note { |
.LC_roleslog_note { |
font-size: small; |
font-size: small; |
} |
} |
|
|
.LC_mail_functions { |
|
font-weight: bold; |
|
} |
|
|
|
table.LC_data_table, |
table.LC_data_table, |
table.LC_mail_list { |
table.LC_mail_list { |
border: 1px solid #000000; |
border: 1px solid #000000; |
Line 5209 table#LC_helpmenu {
|
Line 5143 table#LC_helpmenu {
|
|
|
table#LC_helpmenu fieldset legend { |
table#LC_helpmenu fieldset legend { |
font-size: larger; |
font-size: larger; |
font-weight: bold; |
|
} |
} |
|
|
table#LC_helpmenu_links { |
table#LC_helpmenu_links { |
Line 5262 table.LC_pick_box {
|
Line 5195 table.LC_pick_box {
|
} |
} |
|
|
table.LC_pick_box td.LC_pick_box_title { |
table.LC_pick_box td.LC_pick_box_title { |
background: $tabbg; |
background: $sidebg; |
font-weight: bold; |
font-weight: bold; |
text-align: right; |
text-align: right; |
vertical-align: top; |
vertical-align: top; |
Line 5270 table.LC_pick_box td.LC_pick_box_title {
|
Line 5203 table.LC_pick_box td.LC_pick_box_title {
|
padding: 8px; |
padding: 8px; |
} |
} |
|
|
table.LC_pick_box td.LC_selfenroll_pick_box_title { |
|
background: $tabbg; |
|
font-weight: bold; |
|
text-align: right; |
|
width: 350px; |
|
padding: 8px; |
|
} |
|
|
|
table.LC_pick_box td.LC_pick_box_value { |
table.LC_pick_box td.LC_pick_box_value { |
text-align: left; |
text-align: left; |
padding: 8px; |
padding: 8px; |
Line 5425 table.LC_status_selector td {
|
Line 5350 table.LC_status_selector td {
|
|
|
div.LC_feedback_link { |
div.LC_feedback_link { |
clear: both; |
clear: both; |
background: white; |
background: $sidebg; |
width: 100%; |
width: 100%; |
|
padding-bottom: 10px; |
|
border: 1px $tabbg solid; |
|
height: 22px; |
|
line-height: 22px; |
|
padding-top: 5px; |
|
} |
|
|
|
div.LC_feedback_link img { |
|
height: 22px; |
|
vertical-align:middle; |
|
} |
|
|
|
div.LC_feedback_link a{ |
|
text-decoration: none; |
|
} |
|
|
|
div.LC_comblock { |
|
display:inline; |
|
color:$font; |
|
font-size:90%; |
|
} |
|
|
|
div.LC_feedback_link div.LC_comblock { |
|
padding-left:5px; |
|
} |
|
|
|
div.LC_feedback_link div.LC_comblock a { |
|
color:$font; |
} |
} |
|
|
span.LC_feedback_link { |
span.LC_feedback_link { |
background: $feedback_link_bg; |
/* background: $feedback_link_bg; */ |
font-size: larger; |
font-size: larger; |
} |
} |
|
|
span.LC_message_link { |
span.LC_message_link { |
background: $feedback_link_bg; |
/* background: $feedback_link_bg; */ |
font-size: larger; |
font-size: larger; |
position: absolute; |
position: absolute; |
right: 1em; |
right: 1em; |
Line 5519 table.LC_prior_match tr td {
|
Line 5472 table.LC_prior_match tr td {
|
border: 1px solid #000000; |
border: 1px solid #000000; |
} |
} |
|
|
td.LC_nobreak, |
.LC_nobreak { |
span.LC_nobreak { |
|
white-space: nowrap; |
white-space: nowrap; |
} |
} |
|
|
Line 5544 table.LC_docs_documents td.LC_docs_docum
|
Line 5496 table.LC_docs_documents td.LC_docs_docum
|
padding: 4px; |
padding: 4px; |
} |
} |
|
|
.LC_docs_entry_move { |
div.LC_docs_entry_move { |
border: none; |
border: 1px solid #BBBBBB; |
border-collapse: collapse; |
|
} |
|
|
|
.LC_docs_entry_move td { |
|
border: 2px solid #BBBBBB; |
|
background: #DDDDDD; |
background: #DDDDDD; |
|
width: 22px; |
|
padding: 1px; |
|
margin: 0; |
} |
} |
|
|
.LC_docs_editor td.LC_docs_entry_commands { |
table.LC_data_table tr > td.LC_docs_entry_commands, |
|
table.LC_data_table tr > td.LC_docs_entry_parameter { |
background: #DDDDDD; |
background: #DDDDDD; |
font-size: x-small; |
font-size: x-small; |
} |
} |
|
|
|
.LC_docs_entry_parameter { |
|
white-space: nowrap; |
|
} |
|
|
.LC_docs_copy { |
.LC_docs_copy { |
color: #000099; |
color: #000099; |
} |
} |
Line 5580 table.LC_docs_documents td.LC_docs_docum
|
Line 5535 table.LC_docs_documents td.LC_docs_docum
|
font-size: x-small; |
font-size: x-small; |
} |
} |
|
|
.LC_docs_editor td.LC_docs_entry_title, |
|
.LC_docs_editor td.LC_docs_entry_icon { |
|
background: #FFFFBB; |
|
} |
|
|
|
.LC_docs_editor td.LC_docs_entry_parameter { |
|
background: #BBBBFF; |
|
font-size: x-small; |
|
white-space: nowrap; |
|
} |
|
|
|
table.LC_docs_adddocs td, |
table.LC_docs_adddocs td, |
table.LC_docs_adddocs th { |
table.LC_docs_adddocs th { |
border: 1px solid #BBBBBB; |
border: 1px solid #BBBBBB; |
Line 5722 div.LC_edit_problem_editxml_header div {
|
Line 5666 div.LC_edit_problem_editxml_header div {
|
margin-top: 5px; |
margin-top: 5px; |
} |
} |
|
|
div.LC_edit_problem_header_edit_row { |
|
background: $tabbg; |
|
padding: 3px; |
|
margin-bottom: 5px; |
|
} |
|
|
|
div.LC_edit_problem_header_title { |
div.LC_edit_problem_header_title { |
font-weight: bold; |
font-weight: bold; |
font-size: larger; |
font-size: larger; |
Line 5757 div.LC_edit_problem_saves {
|
Line 5695 div.LC_edit_problem_saves {
|
padding-bottom: 5px; |
padding-bottom: 5px; |
} |
} |
|
|
hr.LC_edit_problem_divide { |
|
clear: both; |
|
color: $tabbg; |
|
background-color: $tabbg; |
|
height: 3px; |
|
border: none; |
|
} |
|
|
|
img.stift{ |
img.stift{ |
border-width: 0; |
border-width: 0; |
vertical-align: middle; |
vertical-align: middle; |
Line 5828 h2,h3,h4,h5,h6 {
|
Line 5758 h2,h3,h4,h5,h6 {
|
border-bottom:solid 1px $lg_border_color; |
border-bottom:solid 1px $lg_border_color; |
} |
} |
|
|
|
.LC_Box > .LC_hcell { |
|
margin: 0 -10px 10px -10px; |
|
} |
|
|
.LC_noBorder { |
.LC_noBorder { |
border: 0; |
border: 0; |
} |
} |
|
|
|
|
/* Main Header with discription of Person, Course, etc. */ |
|
|
|
.LC_Right { |
.LC_Right { |
float: right; |
float: right; |
margin: 0; |
margin: 0; |
Line 5863 dl,ul,div,fieldset {
|
Line 5794 dl,ul,div,fieldset {
|
/* overflow: hidden; */ |
/* overflow: hidden; */ |
} |
} |
|
|
|
fieldset > legend { |
|
font-weight: bold; |
|
padding: 0 5px 0 5px; |
|
} |
|
|
#LC_nav_bar { |
#LC_nav_bar { |
float: left; |
float: left; |
margin: 0; |
margin: 0.2em 0 0 0; |
} |
} |
|
|
#LC_nav_bar em{ |
#LC_nav_bar em{ |
Line 5875 dl,ul,div,fieldset {
|
Line 5811 dl,ul,div,fieldset {
|
|
|
ol.LC_smallMenu { |
ol.LC_smallMenu { |
float: right; |
float: right; |
|
margin: 0.2em 0 0 0; |
} |
} |
|
|
ol.LC_smallMenu, ol#LC_PathBreadcrumbs { |
ol#LC_PathBreadcrumbs { |
margin: 0; |
margin: 0; |
} |
} |
|
|
Line 5904 ul#LC_TabMainMenuContent {
|
Line 5841 ul#LC_TabMainMenuContent {
|
list-style: none; |
list-style: none; |
padding: 0; |
padding: 0; |
margin: 0; |
margin: 0; |
float:left; |
|
width: 100%; |
width: 100%; |
} |
} |
|
|
ul#LC_TabMainMenuContent li { |
ul#LC_TabMainMenuContent li { |
float: left; |
|
font-weight: bold; |
font-weight: bold; |
line-height: 1.8em; |
line-height: 1.8em; |
padding: 0 0.8em; |
padding: 0 0.8em; |
Line 5918 ul#LC_TabMainMenuContent li {
|
Line 5853 ul#LC_TabMainMenuContent li {
|
vertical-align: middle; |
vertical-align: middle; |
} |
} |
|
|
ul.LC_TabContent , |
ul.LC_TabContent { |
ul.LC_TabContentBigger { |
|
display:block; |
display:block; |
|
background: $sidebg; |
|
border-bottom: solid 1px $lg_border_color; |
list-style:none; |
list-style:none; |
margin: 0; |
margin: 0 -10px; |
padding: 0; |
padding: 0; |
} |
} |
|
|
ul.LC_TabContent li, |
ul.LC_TabContent li, |
ul.LC_TabContentBigger li { |
ul.LC_TabContentBigger li { |
display: inline; |
|
border-right: solid 1px $lg_border_color; |
|
float:left; |
float:left; |
line-height:140%; |
|
white-space:nowrap; |
|
} |
} |
|
|
ul#LC_TabMainMenuContent li a { |
ul#LC_TabMainMenuContent li a { |
Line 5941 ul#LC_TabMainMenuContent li a {
|
Line 5873 ul#LC_TabMainMenuContent li a {
|
} |
} |
|
|
ul.LC_TabContent { |
ul.LC_TabContent { |
min-height:1.6em; |
min-height:1.5em; |
} |
} |
|
|
ul.LC_TabContent li { |
ul.LC_TabContent li { |
Line 5951 ul.LC_TabContent li {
|
Line 5883 ul.LC_TabContent li {
|
border-bottom:solid 1px $lg_border_color; |
border-bottom:solid 1px $lg_border_color; |
} |
} |
|
|
|
ul.LC_TabContent .right { |
|
float:right; |
|
} |
|
|
ul.LC_TabContent li a, ul.LC_TabContent li { |
ul.LC_TabContent li a, ul.LC_TabContent li { |
color:rgb(47,47,47); |
color:rgb(47,47,47); |
text-decoration:none; |
text-decoration:none; |
Line 5961 ul.LC_TabContent li a, ul.LC_TabContent
|
Line 5897 ul.LC_TabContent li a, ul.LC_TabContent
|
|
|
ul.LC_TabContent li:hover, ul.LC_TabContent li.active { |
ul.LC_TabContent li:hover, ul.LC_TabContent li.active { |
background:#FFFFFF url(/adm/lonIcons/open.gif) no-repeat scroll right center; |
background:#FFFFFF url(/adm/lonIcons/open.gif) no-repeat scroll right center; |
border-bottom:solid 1px #FFFFFF; |
border-bottom:solid 2px #FFFFFF; |
padding-right: 16px; |
padding-right: 16px; |
} |
} |
|
|
ul.LC_TabContentBigger li { |
#maincoursedoc { |
vertical-align:bottom; |
clear:both; |
border-top:solid 1px $lg_border_color; |
|
border-left:solid 1px $lg_border_color; |
|
padding:5px 10px 5px 10px; |
|
margin-left:2px; |
|
background:url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
|
} |
} |
|
|
ul.LC_TabContentBigger li:hover, |
ul.LC_TabContentBigger { |
ul.LC_TabContentBigger li.active { |
display:block; |
background:url(/adm/lonIcons/lightGreyBG.png) repeat-x right bottom; |
list-style:none; |
|
padding: 0; |
} |
} |
|
|
ul.LC_TabContentBigger li, |
ul.LC_TabContentBigger li { |
|
vertical-align:bottom; |
|
height: 30px; |
|
font-size:110%; |
|
font-weight:bold; |
|
color: #737373; |
|
} |
|
|
|
|
ul.LC_TabContentBigger li a { |
ul.LC_TabContentBigger li a { |
font-size:110%; |
background:url('/adm/lonIcons/tabbgleft.gif') left bottom no-repeat; |
font-weight:bold; |
height: 30px; |
|
line-height: 30px; |
|
text-align: center; |
|
display: block; |
|
text-decoration: none; |
|
} |
|
|
|
ul.LC_TabContentBigger li:hover a, |
|
ul.LC_TabContentBigger li.active a { |
|
background:url('/adm/lonIcons/tabbgleft.gif') left top no-repeat; |
|
color:$font; |
|
text-decoration: underline; |
|
} |
|
|
|
|
|
ul.LC_TabContentBigger li b { |
|
background: url('/adm/lonIcons/tabbgright.gif') no-repeat right bottom; |
|
display: block; |
|
float: left; |
|
padding: 0 30px; |
|
} |
|
|
|
ul.LC_TabContentBigger li:hover b, |
|
ul.LC_TabContentBigger li.active b { |
|
background:url('/adm/lonIcons/tabbgright.gif') right top no-repeat; |
|
color:$font; |
|
border-bottom: 1px solid #FFFFFF; |
|
} |
|
|
|
|
|
ul.LC_CourseBreadcrumbs { |
|
background: $sidebg; |
|
line-height: 32px; |
|
padding-left: 10px; |
|
margin: 0 0 10px 0; |
|
list-style-position: inside; |
|
|
} |
} |
|
|
ol#LC_MenuBreadcrumbs, |
ol#LC_MenuBreadcrumbs, |
ol#LC_PathBreadcrumbs, |
ol#LC_PathBreadcrumbs { |
ul#LC_CourseBreadcrumbs { |
|
padding-left: 10px; |
padding-left: 10px; |
margin: 0; |
margin: 0; |
list-style-position: inside; |
list-style-position: inside; |
Line 5995 ul#LC_CourseBreadcrumbs {
|
Line 5970 ul#LC_CourseBreadcrumbs {
|
|
|
ol#LC_MenuBreadcrumbs li, |
ol#LC_MenuBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ul#LC_CourseBreadcrumbs li { |
ul.LC_CourseBreadcrumbs li { |
display: inline; |
display: inline; |
padding: 0 0 0 10px; |
white-space: nowrap; |
overflow:hidden; |
|
} |
} |
|
|
ol#LC_MenuBreadcrumbs li a, |
ol#LC_MenuBreadcrumbs li a, |
ul#LC_CourseBreadcrumbs li a { |
ul.LC_CourseBreadcrumbs li a { |
text-decoration: none; |
text-decoration: none; |
font-size:90%; |
font-size:90%; |
} |
} |
Line 6013 ol#LC_PathBreadcrumbs li a {
|
Line 5987 ol#LC_PathBreadcrumbs li a {
|
font-weight:bold; |
font-weight:bold; |
} |
} |
|
|
.LC_BoxPadding { |
.LC_Box { |
padding: 10px; |
border: solid 1px $lg_border_color; |
} |
padding: 0 10px 10px 10px; |
|
|
.LC_ContentBoxSpecial { |
|
border: solid 1px $lg_border_color; |
|
} |
|
|
|
.LC_ContentBoxSpecialContactInfo { |
|
border: solid 1px $lg_border_color; |
|
max-width:25%; |
|
min-width:25%; |
|
} |
} |
|
|
.LC_AboutMe_Image { |
.LC_AboutMe_Image { |
Line 6113 div.LC_columnSection>* {
|
Line 6078 div.LC_columnSection>* {
|
overflow:hidden; |
overflow:hidden; |
} |
} |
|
|
.ContentBoxSpecialTemplate { |
|
border: solid 1px $lg_border_color; |
|
} |
|
|
|
.ContentBoxTemplate { |
|
padding:10px; |
|
} |
|
|
|
div.LC_columnSection > .ContentBoxTemplate, |
|
div.LC_columnSection > .ContentBoxSpecialTemplate { |
|
width: 600px; |
|
} |
|
|
|
.clear { |
|
clear: both; |
|
line-height: 0; |
|
font-size: 0; |
|
height: 0; |
|
} |
|
|
|
.LC_loginpage_container { |
.LC_loginpage_container { |
text-align:left; |
text-align:left; |
margin : 0 auto; |
margin : 0 auto; |
Line 6187 table em {
|
Line 6132 table em {
|
table.LC_tableBrowseRes, |
table.LC_tableBrowseRes, |
table.LC_tableOfContent { |
table.LC_tableOfContent { |
border:none; |
border:none; |
border-spacing: 1; |
border-spacing: 1px; |
padding: 3px; |
padding: 3px; |
background-color: #FFFFFF; |
background-color: #FFFFFF; |
font-size: 90%; |
font-size: 90%; |
Line 6281 a.LC_toolbarItem {
|
Line 6226 a.LC_toolbarItem {
|
background-color:transparent; |
background-color:transparent; |
} |
} |
|
|
ul.LC_functionslist li { |
ul.LC_funclist li { |
float: left; |
float: left; |
white-space: nowrap; |
white-space: nowrap; |
height: 35px; /* at least as high as heighest list item */ |
height: 35px; /* at least as high as heighest list item */ |
Line 6416 sub xml_begin {
|
Line 6361 sub xml_begin {
|
.'<html xmlns:math="http://www.w3.org/1998/Math/MathML" ' |
.'<html xmlns:math="http://www.w3.org/1998/Math/MathML" ' |
.'xmlns="http://www.w3.org/1999/xhtml">'; |
.'xmlns="http://www.w3.org/1999/xhtml">'; |
} else { |
} else { |
$output='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>'; |
$output='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' |
|
.'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'; |
} |
} |
return $output; |
return $output; |
} |
} |
Line 6492 $args - additional optional args support
|
Line 6438 $args - additional optional args support
|
a html attribute |
a html attribute |
force_register -> if is true will turn on the &bodytag() |
force_register -> if is true will turn on the &bodytag() |
$forcereg arg |
$forcereg arg |
body_title -> alternate text to use instead of $title |
|
in the title box that appears, this text |
|
is not auto translated like the $title is |
|
frameset -> if true will start with a <frameset> |
frameset -> if true will start with a <frameset> |
rather than <body> |
rather than <body> |
skip_phases -> hash ref of |
skip_phases -> hash ref of |
Line 6506 $args - additional optional args support
|
Line 6449 $args - additional optional args support
|
inherit_jsmath -> when creating popup window in a page, |
inherit_jsmath -> when creating popup window in a page, |
should it have jsmath forced on by the |
should it have jsmath forced on by the |
current page |
current page |
|
bread_crumbs -> Array containing breadcrumbs |
|
bread_crumbs_components -> if exists show it as headline else show only the breadcrumbs |
|
|
=back |
=back |
|
|
Line 6538 sub start_page {
|
Line 6483 sub start_page {
|
my $attr_string = &make_attr_string($args->{'force_register'}, |
my $attr_string = &make_attr_string($args->{'force_register'}, |
$args->{'add_entries'}); |
$args->{'add_entries'}); |
$result .= "\n<frameset $attr_string>\n"; |
$result .= "\n<frameset $attr_string>\n"; |
} else { |
} else { |
$result .= |
$result .= |
&bodytag($title, |
&bodytag($title, |
$args->{'function'}, $args->{'add_entries'}, |
$args->{'function'}, $args->{'add_entries'}, |
$args->{'only_body'}, $args->{'domain'}, |
$args->{'only_body'}, $args->{'domain'}, |
$args->{'force_register'}, $args->{'body_title'}, |
$args->{'force_register'}, $args->{'no_nav_bar'}, |
$args->{'no_nav_bar'}, $args->{'bgcolor'}, |
$args->{'bgcolor'}, $args->{'no_inline_link'}, |
$args->{'no_inline_link'}, |
$args); |
$args); |
} |
} |
|
} |
} |
|
|
if ($args->{'js_ready'}) { |
if ($args->{'js_ready'}) { |
Line 8569 sub csv_print_samples {
|
Line 8513 sub csv_print_samples {
|
$r->print(&mt('Samples').'<br />'.&start_data_table(). |
$r->print(&mt('Samples').'<br />'.&start_data_table(). |
&start_data_table_header_row()); |
&start_data_table_header_row()); |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) { |
$r->print('<th>'.&mt('Column [_1]',($sample+1)).'</th>'); } |
$r->print('<th>'.&mt('Column [_1]',($sample+1)).'</th>'); } |
$r->print(&end_data_table_header_row()); |
$r->print(&end_data_table_header_row()); |
foreach my $hash (@$samples) { |
foreach my $hash (@$samples) { |
$r->print(&start_data_table_row()); |
$r->print(&start_data_table_row()); |
Line 10218 sub group_term {
|
Line 10162 sub group_term {
|
my $crstype = &course_type(); |
my $crstype = &course_type(); |
my %names = ( |
my %names = ( |
'Course' => 'group', |
'Course' => 'group', |
'Group' => 'team', |
'Community' => 'group', |
); |
); |
return $names{$crstype}; |
return $names{$crstype}; |
} |
} |
Line 10411 sub init_user_environment {
|
Line 10355 sub init_user_environment {
|
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload'); |
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload'); |
} |
} |
|
|
foreach my $crstype ('official','unofficial') { |
foreach my $crstype ('official','unofficial','community') { |
$userenv{'canrequest.'.$crstype} = |
$userenv{'canrequest.'.$crstype} = |
&Apache::lonnet::usertools_access($username,$domain,$crstype, |
&Apache::lonnet::usertools_access($username,$domain,$crstype, |
'reload','requestcourses'); |
'reload','requestcourses'); |