version 1.699, 2008/12/01 15:03:40
|
version 1.786, 2009/04/14 15:32:12
|
Line 271 BEGIN {
|
Line 271 BEGIN {
|
} |
} |
} |
} |
&Apache::lonnet::logthis( |
&Apache::lonnet::logthis( |
"<font color=yellow>INFO: Read file types</font>"); |
"<span style='color:yellow;'>INFO: Read file types</span>"); |
$readit=1; |
$readit=1; |
} # end of unless($readit) |
} # end of unless($readit) |
|
|
Line 406 sub studentbrowser_javascript {
|
Line 406 sub studentbrowser_javascript {
|
|| ($env{'request.role'}=~/^(au|dc|su)/) |
|| ($env{'request.role'}=~/^(au|dc|su)/) |
) { return ''; } |
) { return ''; } |
return (<<'ENDSTDBRW'); |
return (<<'ENDSTDBRW'); |
<script type="text/javascript" language="Javascript" > |
<script type="text/javascript" language="Javascript"> |
var stdeditbrowser; |
var stdeditbrowser; |
function openstdbrowser(formname,uname,udom,roleflag,ignorefilter) { |
function openstdbrowser(formname,uname,udom,roleflag,ignorefilter) { |
var url = '/adm/pickstudent?'; |
var url = '/adm/pickstudent?'; |
Line 452 sub selectstudent_link {
|
Line 452 sub selectstudent_link {
|
|
|
sub authorbrowser_javascript { |
sub authorbrowser_javascript { |
return <<"ENDAUTHORBRW"; |
return <<"ENDAUTHORBRW"; |
<script type="text/javascript"> |
<script type="text/javascript" language="JavaScript"> |
var stdeditbrowser; |
var stdeditbrowser; |
|
|
function openauthorbrowser(formname,udom) { |
function openauthorbrowser(formname,udom) { |
Line 473 sub coursebrowser_javascript {
|
Line 473 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 Group - for which you wish to add/modify a user role'); |
my $output = ' |
my $output = ' |
<script type="text/javascript"> |
<script type="text/javascript" language="JavaScript"> |
var stdeditbrowser;'."\n"; |
var stdeditbrowser;'."\n"; |
$output .= <<"ENDSTDBRW"; |
$output .= <<"ENDSTDBRW"; |
function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) { |
function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) { |
Line 796 sub linked_select_forms {
|
Line 796 sub linked_select_forms {
|
my $first = "document.$formname.$firstselectname"; |
my $first = "document.$formname.$firstselectname"; |
# output the javascript to do the changing |
# output the javascript to do the changing |
my $result = ''; |
my $result = ''; |
$result.="<script type=\"text/javascript\">\n"; |
$result.='<script type="text/javascript" language="JavaScript">'."\n"; |
$result.="var select2data = new Object();\n"; |
$result.="var select2data = new Object();\n"; |
$" = '","'; |
$" = '","'; |
my $debug = ''; |
my $debug = ''; |
Line 923 sub help_open_topic {
|
Line 923 sub help_open_topic {
|
} |
} |
|
|
# Add the text |
# Add the text |
if ($text ne "") { |
if ($text ne "") { |
$template .= |
$template.='<span class="LC_help_open_topic">' |
"<table bgcolor='#3333AA' cellspacing='1' cellpadding='1' border='0'><tr>". |
.'<a target="_top" href="'.$link.'">' |
"<td bgcolor='#5555FF'><span class=\"LC_nobreak\"><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>"; |
.$text.'</a>'; |
} |
} |
|
|
# Add the graphic |
# (Always) Add the graphic |
my $title = &mt('Online Help'); |
my $title = &mt('Online Help'); |
my $helpicon=&lonhttpdurl("/adm/help/help.png"); |
my $helpicon=&lonhttpdurl("/adm/help/help.png"); |
$template .= <<"ENDTEMPLATE"; |
$template.=' <a target="_top" href="'.$link.'" title="'.$title.'">' |
<a target="_top" href="$link" title="$title"><img src="$helpicon" border="0" alt="(Help: $topic)" /></a> |
.'<img src="'.$helpicon.'" border="0"' |
ENDTEMPLATE |
.' alt="'.&mt('Help: [_1]',$topic).'"' |
if ($text ne '') { $template.='</span></td></tr></table>' }; |
.' title="'.$title.'"' |
|
.' /></a>'; |
|
if ($text ne "") { |
|
$template.='</span>'; |
|
} |
return $template; |
return $template; |
|
|
} |
} |
Line 943 ENDTEMPLATE
|
Line 947 ENDTEMPLATE
|
# This is a quicky function for Latex cheatsheet editing, since it |
# This is a quicky function for Latex cheatsheet editing, since it |
# appears in at least four places |
# appears in at least four places |
sub helpLatexCheatsheet { |
sub helpLatexCheatsheet { |
my $other = shift; |
my ($topic,$text,$not_author) = @_; |
|
my $out; |
my $addOther = ''; |
my $addOther = ''; |
if ($other) { |
if ($topic) { |
$addOther = Apache::loncommon::help_open_topic($other, shift, |
$addOther = '<span>'.&Apache::loncommon::help_open_topic($topic,&mt($text), |
undef, undef, 600) . |
undef, undef, 600). |
'</td><td>'; |
'</span> '; |
} |
} |
return '<table><tr><td>'. |
$out = '<span>' # Start cheatsheet |
$addOther . |
.$addOther |
&Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'), |
.'<span>' |
undef,undef,600) |
.&Apache::loncommon::help_open_topic('Greek_Symbols',&mt('Greek Symbols'), |
.'</td><td>'. |
undef,undef,600) |
&Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'), |
.'</span> <span>' |
undef,undef,600) |
.&Apache::loncommon::help_open_topic('Other_Symbols',&mt('Other Symbols'), |
.'</td><td>'. |
undef,undef,600) |
&Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'), |
.'</span>'; |
undef,undef,600) |
unless ($not_author) { |
.'</td></tr></table>'; |
$out .= ' <span>' |
|
.&Apache::loncommon::help_open_topic('Authoring_Output_Tags',&mt('Output Tags'), |
|
undef,undef,600) |
|
.'</span>'; |
|
} |
|
$out .= '</span>'; # End cheatsheet |
|
return $out; |
} |
} |
|
|
sub general_help { |
sub general_help { |
Line 1128 sub help_open_bug {
|
Line 1139 sub help_open_bug {
|
{ |
{ |
$template .= |
$template .= |
"<table bgcolor='#AA3333' cellspacing='1' cellpadding='1' border='0'><tr>". |
"<table bgcolor='#AA3333' cellspacing='1' cellpadding='1' border='0'><tr>". |
"<td bgcolor='#FF5555'><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>"; |
"<td bgcolor='#FF5555'><a target=\"_top\" href=\"$link\"><span style=\"color:#FFFFFF;font-size:10pt;\">$text</span></a>"; |
} |
} |
|
|
# Add the graphic |
# Add the graphic |
Line 1173 sub help_open_faq {
|
Line 1184 sub help_open_faq {
|
{ |
{ |
$template .= |
$template .= |
"<table bgcolor='#337733' cellspacing='1' cellpadding='1' border='0'><tr>". |
"<table bgcolor='#337733' cellspacing='1' cellpadding='1' border='0'><tr>". |
"<td bgcolor='#448844'><a target=\"_top\" href=\"$link\"><font color='#FFFFFF' size='2'>$text</font></a>"; |
"<td bgcolor='#448844'><a target=\"_top\" href=\"$link\"><span style=\"color:#FFFFFF; font-size:10pt;\">$text</span></a>"; |
} |
} |
|
|
# Add the graphic |
# Add the graphic |
Line 1629 sub multiple_select_form {
|
Line 1640 sub multiple_select_form {
|
$size = scalar(keys(%$hash)); |
$size = scalar(keys(%$hash)); |
} |
} |
} |
} |
$output.="\n<select name='$name' size='$size' multiple='1'>"; |
$output.="\n".'<select name="'.$name.'" size="'.$size.'" multiple="multiple">'; |
my @order; |
my @order; |
if (ref($order) eq 'ARRAY') { |
if (ref($order) eq 'ARRAY') { |
@order = @{$order}; |
@order = @{$order}; |
Line 1686 sub select_form {
|
Line 1697 sub select_form {
|
sub display_filter { |
sub display_filter { |
if (!$env{'form.show'}) { $env{'form.show'}=10; } |
if (!$env{'form.show'}) { $env{'form.show'}=10; } |
if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; } |
if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; } |
return '<nobr><label>'.&mt('Records [_1]', |
return '<span class="LC_nobreak"><label>'.&mt('Records [_1]', |
&Apache::lonmeta::selectbox('show',$env{'form.show'},undef, |
&Apache::lonmeta::selectbox('show',$env{'form.show'},undef, |
(&mt('all'),10,20,50,100,1000,10000))). |
(&mt('all'),10,20,50,100,1000,10000))). |
'</label></nobr> <nobr>'. |
'</label></span> <span class="LC_nobreak">'. |
&mt('Filter [_1]', |
&mt('Filter [_1]', |
&select_form($env{'form.displayfilter'}, |
&select_form($env{'form.displayfilter'}, |
'displayfilter', |
'displayfilter', |
('currentfolder' => 'Current folder/page', |
('currentfolder' => 'Current folder/page', |
'containing' => 'Containing phrase', |
'containing' => 'Containing phrase', |
'none' => 'None'))). |
'none' => 'None'))). |
'<input type="text" name="containingphrase" size="30" value="'.&HTML::Entities::encode($env{'form.containingphrase'}).'" /></nobr>'; |
'<input type="text" name="containingphrase" size="30" value="'.&HTML::Entities::encode($env{'form.containingphrase'}).'" /></span>'; |
} |
} |
|
|
sub gradeleveldescription { |
sub gradeleveldescription { |
Line 1740 sub select_level_form {
|
Line 1751 sub select_level_form {
|
|
|
=pod |
=pod |
|
|
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc) |
=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit) |
|
|
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 1749 See loncreateuser.pm for an example invo
|
Line 1760 See loncreateuser.pm for an example invo
|
If the $includeempty flag is set, it also includes an empty choice ("no domain |
If the $includeempty flag is set, it also includes an empty choice ("no domain |
selected"); |
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. |
|
|
=cut |
=cut |
|
|
#------------------------------------------- |
#------------------------------------------- |
sub select_dom_form { |
sub select_dom_form { |
my ($defdom,$name,$includeempty,$showdomdesc) = @_; |
my ($defdom,$name,$includeempty,$showdomdesc,$autosubmit) = @_; |
|
my $onchange; |
|
if ($autosubmit) { |
|
$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); } |
my $selectdomain = "<select name=\"$name\" size=\"1\">\n"; |
my $selectdomain = "<select name=\"$name\" size=\"1\"$onchange>\n"; |
foreach my $dom (@domains) { |
foreach my $dom (@domains) { |
$selectdomain.="<option value=\"$dom\" ". |
$selectdomain.="<option value=\"$dom\" ". |
($dom eq $defdom ? 'selected="selected" ' : '').'>'.$dom; |
($dom eq $defdom ? 'selected="selected" ' : '').'>'.$dom; |
Line 2109 sub authform_kerberos {
|
Line 2126 sub authform_kerberos {
|
$autharg,$jscall); |
$autharg,$jscall); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
if ($in{'kerb_def_auth'} eq 'krb5') { |
if ($in{'kerb_def_auth'} eq 'krb5') { |
$check5 = ' checked="on"'; |
$check5 = ' checked="checked"'; |
} else { |
} else { |
$check4 = ' checked="on"'; |
$check4 = ' checked="checked"'; |
} |
} |
$krbarg = $in{'kerb_def_dom'}; |
$krbarg = $in{'kerb_def_dom'}; |
if (defined($in{'curr_authtype'})) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'krb') { |
if ($in{'curr_authtype'} eq 'krb') { |
$krbcheck = ' checked="on"'; |
$krbcheck = ' checked="checked"'; |
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifyuser') { |
if ($in{'mode'} eq 'modifyuser') { |
$krbcheck = ''; |
$krbcheck = ''; |
Line 2124 sub authform_kerberos {
|
Line 2141 sub authform_kerberos {
|
} |
} |
if (defined($in{'curr_kerb_ver'})) { |
if (defined($in{'curr_kerb_ver'})) { |
if ($in{'curr_krb_ver'} eq '5') { |
if ($in{'curr_krb_ver'} eq '5') { |
$check5 = ' checked="on"'; |
$check5 = ' checked="checked"'; |
$check4 = ''; |
$check4 = ''; |
} else { |
} else { |
$check4 = ' checked="on"'; |
$check4 = ' checked="checked"'; |
$check5 = ''; |
$check5 = ''; |
} |
} |
} |
} |
Line 2148 sub authform_kerberos {
|
Line 2165 sub authform_kerberos {
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="krb">'; |
$authtype = '<input type="hidden" name="login" value="krb" />'; |
} |
} |
} |
} |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
Line 2157 sub authform_kerberos {
|
Line 2174 sub authform_kerberos {
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="krb">'; |
$authtype = '<input type="hidden" name="login" value="krb" />'; |
} |
} |
} |
} |
} |
} |
Line 2218 sub authform_internal{
|
Line 2235 sub authform_internal{
|
if (defined($in{'curr_authtype'})) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'int') { |
if ($in{'curr_authtype'} eq 'int') { |
if ($can_assign{'int'}) { |
if ($can_assign{'int'}) { |
$intcheck = 'checked="on" '; |
$intcheck = 'checked="checked" '; |
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifyuser') { |
if ($in{'mode'} eq 'modifyuser') { |
$intcheck = ''; |
$intcheck = ''; |
Line 2234 sub authform_internal{
|
Line 2251 sub authform_internal{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="int">'; |
$authtype = '<input type="hidden" name="login" value="int" />'; |
} |
} |
} |
} |
if (!$can_assign{'int'}) { |
if (!$can_assign{'int'}) { |
Line 2243 sub authform_internal{
|
Line 2260 sub authform_internal{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="int">'; |
$authtype = '<input type="hidden" name="login" value="int" />'; |
} |
} |
} |
} |
} |
} |
Line 2273 sub authform_local{
|
Line 2290 sub authform_local{
|
if (defined($in{'curr_authtype'})) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'loc') { |
if ($in{'curr_authtype'} eq 'loc') { |
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
$loccheck = 'checked="on" '; |
$loccheck = 'checked="checked" '; |
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifyuser') { |
if ($in{'mode'} eq 'modifyuser') { |
$loccheck = ''; |
$loccheck = ''; |
Line 2289 sub authform_local{
|
Line 2306 sub authform_local{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="loc">'; |
$authtype = '<input type="hidden" name="login" value="loc" />'; |
} |
} |
} |
} |
if (!$can_assign{'loc'}) { |
if (!$can_assign{'loc'}) { |
Line 2298 sub authform_local{
|
Line 2315 sub authform_local{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="loc">'; |
$authtype = '<input type="hidden" name="login" value="loc" />'; |
} |
} |
} |
} |
} |
} |
Line 2327 sub authform_filesystem{
|
Line 2344 sub authform_filesystem{
|
if (defined($in{'curr_authtype'})) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'fsys') { |
if ($in{'curr_authtype'} eq 'fsys') { |
if ($can_assign{'fsys'}) { |
if ($can_assign{'fsys'}) { |
$fsyscheck = 'checked="on" '; |
$fsyscheck = 'checked="checked" '; |
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifyuser') { |
if ($in{'mode'} eq 'modifyuser') { |
$fsyscheck = ''; |
$fsyscheck = ''; |
Line 2340 sub authform_filesystem{
|
Line 2357 sub authform_filesystem{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
$authtype = '<input type="hidden" name="login" value="fsys" />'; |
} |
} |
} |
} |
if (!$can_assign{'fsys'}) { |
if (!$can_assign{'fsys'}) { |
Line 2349 sub authform_filesystem{
|
Line 2366 sub authform_filesystem{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
$authtype = '<input type="hidden" name="login" value="fsys" />'; |
} |
} |
} |
} |
} |
} |
Line 2717 sub flush_email_cache {
|
Line 2734 sub flush_email_cache {
|
&Apache::lonnet::devalidate_cache_new('emailscache',$id); |
&Apache::lonnet::devalidate_cache_new('emailscache',$id); |
} |
} |
|
|
|
# -------------------------------------------------------------------- getlangs |
|
|
|
=pod |
|
|
|
=item * &getlangs($uname,$udom) |
|
|
|
Gets a user's language preference and returns it as a hash with key: |
|
language. |
|
|
|
=cut |
|
|
|
|
|
sub getlangs { |
|
my ($uname,$udom) = @_; |
|
if (!$udom) { $udom =$env{'user.domain'}; } |
|
if (!$uname) { $uname=$env{'user.name'}; } |
|
my $id=$uname.':'.$udom; |
|
my ($langs,$cached)=&Apache::lonnet::is_cached_new('userlangs',$id); |
|
if ($cached) { |
|
return %{$langs}; |
|
} else { |
|
my %loadlangs=&Apache::lonnet::get('environment',['languages'], |
|
$udom,$uname); |
|
&Apache::lonnet::do_cache_new('userlangs',$id,\%loadlangs); |
|
return %loadlangs; |
|
} |
|
} |
|
|
|
sub flush_langs_cache { |
|
my ($uname,$udom)=@_; |
|
if (!$udom) { $udom =$env{'user.domain'}; } |
|
if (!$uname) { $uname=$env{'user.name'}; } |
|
return if ($udom eq 'public' && $uname eq 'public'); |
|
my $id=$uname.':'.$udom; |
|
&Apache::lonnet::devalidate_cache_new('userlangs',$id); |
|
} |
|
|
# ------------------------------------------------------------------ Screenname |
# ------------------------------------------------------------------ Screenname |
|
|
=pod |
=pod |
Line 2761 sub aboutmewrapper {
|
Line 2815 sub aboutmewrapper {
|
return; |
return; |
} |
} |
return '<a href="/adm/'.$domain.'/'.$username.'/aboutme"'. |
return '<a href="/adm/'.$domain.'/'.$username.'/aboutme"'. |
($target?' target="$target"':'').' title="'.&mt("View this user's personal page").'">'.$link.'</a>'; |
($target?' target="$target"':'').' title="'.&mt("View this user's personal information page").'">'.$link.'</a>'; |
} |
} |
|
|
# ------------------------------------------------------------ Syllabus Wrapper |
# ------------------------------------------------------------ Syllabus Wrapper |
|
|
|
|
sub syllabuswrapper { |
sub syllabuswrapper { |
my ($linktext,$coursedir,$domain,$fontcolor)=@_; |
my ($linktext,$coursedir,$domain)=@_; |
if ($fontcolor) { |
|
$linktext='<font color="'.$fontcolor.'">'.$linktext.'</font>'; |
|
} |
|
return qq{<a href="/public/$domain/$coursedir/syllabus">$linktext</a>}; |
return qq{<a href="/public/$domain/$coursedir/syllabus">$linktext</a>}; |
} |
} |
|
|
Line 2796 sub track_student_link {
|
Line 2847 sub track_student_link {
|
&help_open_topic('View_recent_activity'); |
&help_open_topic('View_recent_activity'); |
} |
} |
|
|
|
sub slot_reservations_link { |
|
my ($linktext,$sname,$sdom,$target) = @_; |
|
my $link ="/adm/slotrequest?command=showresv&origin=aboutme"; |
|
my $title = 'View slot reservation history'; |
|
if (defined($sname) && $sname !~ /^\s*$/ && |
|
defined($sdom) && $sdom !~ /^\s*$/) { |
|
$link .= "&uname=$sname&udom=$sdom"; |
|
$title .= ' of this student'; |
|
} |
|
if (defined($target) && $target !~ /^\s*$/) { |
|
$target = qq{target="$target"}; |
|
} else { |
|
$target = ''; |
|
} |
|
$title = &mt($title); |
|
$linktext = &mt($linktext); |
|
return qq{<a href="$link" title="$title" $target>$linktext</a>}; |
|
# FIXME uncomment when help item created: &help_open_topic('Slot_Reservation_History'); |
|
|
|
} |
|
|
# ===================================================== Display a student photo |
# ===================================================== Display a student photo |
|
|
|
|
Line 3033 sub languages {
|
Line 3105 sub languages {
|
return $preferred_possibilities[0]; |
return $preferred_possibilities[0]; |
} |
} |
|
|
|
sub user_lang { |
|
my ($touname,$toudom,$fromcid) = @_; |
|
my @userlangs; |
|
if (($fromcid ne '') && ($env{'course.'.$fromcid.'.languages'} ne '')) { |
|
@userlangs=(@userlangs,split(/\s*(\,|\;|\:)\s*/, |
|
$env{'course.'.$fromcid.'.languages'})); |
|
} else { |
|
my %langhash = &getlangs($touname,$toudom); |
|
if ($langhash{'languages'} ne '') { |
|
@userlangs = split(/\s*(\,|\;|\:)\s*/,$langhash{'languages'}); |
|
} else { |
|
my %domdefs = &Apache::lonnet::get_domain_defaults($toudom); |
|
if ($domdefs{'lang_def'} ne '') { |
|
@userlangs = ($domdefs{'lang_def'}); |
|
} |
|
} |
|
} |
|
my @languages=&Apache::lonlocal::get_genlanguages(@userlangs); |
|
my $user_lh = Apache::localize->get_handle(@languages); |
|
return $user_lh; |
|
} |
|
|
|
|
############################################################### |
############################################################### |
## Student Answer Attempts ## |
## Student Answer Attempts ## |
############################################################### |
############################################################### |
Line 3171 sub relative_to_absolute {
|
Line 3266 sub relative_to_absolute {
|
} |
} |
$thisdir=~s-/[^/]*$--; |
$thisdir=~s-/[^/]*$--; |
foreach my $link (@rlinks) { |
foreach my $link (@rlinks) { |
unless (($link=~/^http:\/\//i) || |
unless (($link=~/^https?\:\/\//i) || |
($link=~/^\//) || |
($link=~/^\//) || |
($link=~/^javascript:/i) || |
($link=~/^javascript:/i) || |
($link=~/^mailto:/i) || |
($link=~/^mailto:/i) || |
Line 3748 sub blocking_status {
|
Line 3843 sub blocking_status {
|
&Apache::lonnet::coursedescription($course); |
&Apache::lonnet::coursedescription($course); |
$coursedesc = $courseinfo{'description'}; |
$coursedesc = $courseinfo{'description'}; |
} |
} |
$category = "Group files in the course '$coursedesc'"; |
$category = "Group portfolio in the course '$coursedesc'"; |
} else { |
} else { |
$category = 'Portfolio files belonging to '; |
$category = 'Portfolio files belonging to '; |
if ($env{'user.name'} eq 'public' && |
if ($env{'user.name'} eq 'public' && |
Line 4177 $realm
|
Line 4272 $realm
|
</td> |
</td> |
ENDROLE |
ENDROLE |
|
|
my $titleinfo = '<span class="LC_title_bar_title">'.$title.'</span>'; |
my $titleinfo = '<h1>'.$title.'</h1>'; |
if ($customtitle) { |
if ($customtitle) { |
$titleinfo = $customtitle; |
$titleinfo = $customtitle; |
} |
} |
Line 4220 ENDROLE
|
Line 4315 ENDROLE
|
.'<b>'.&mt('Construction Space').'</b>: ' |
.'<b>'.&mt('Construction Space').'</b>: ' |
.'<form name="dirs" method="post" action="'.$formaction |
.'<form name="dirs" method="post" action="'.$formaction |
.'" target="_top"><tt><b>' |
.'" target="_top"><tt><b>' |
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<font size=\"+1\">$lastitem</font></b></tt><br />" |
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<span class=\"LC_fontsize_big\">$lastitem</span></b></tt><br />" |
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
.'</form>' |
.'</form>' |
.&Apache::lonmenu::constspaceform(); |
.&Apache::lonmenu::constspaceform(); |
Line 4394 sub standard_css {
|
Line 4489 sub standard_css {
|
my $vlink = &designparm($function.'.vlink', $domain); |
my $vlink = &designparm($function.'.vlink', $domain); |
my $link = &designparm($function.'.link', $domain); |
my $link = &designparm($function.'.link', $domain); |
|
|
|
my $loginbg = &designparm('login.sidebg',$domain); |
|
my $bgcol = &designparm('login.bgcol',$domain); |
|
my $textcol = &designparm('login.textcol',$domain); |
|
|
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 = $tabbg; |
Line 4411 sub standard_css {
|
Line 4510 sub standard_css {
|
my $mail_other_hover = '#669999'; |
my $mail_other_hover = '#669999'; |
my $table_header = '#DDDDDD'; |
my $table_header = '#DDDDDD'; |
my $feedback_link_bg = '#BBBBBB'; |
my $feedback_link_bg = '#BBBBBB'; |
my $lg_border_color = '#D5FF6F'; |
my $lg_border_color = '#C8C8C8'; |
|
|
my $border = ($env{'browser.type'} eq 'explorer' || |
my $border = ($env{'browser.type'} eq 'explorer' || |
$env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px' |
$env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px' |
Line 4422 sub standard_css {
|
Line 4521 sub standard_css {
|
body{ |
body{ |
font-family: $sans; |
font-family: $sans; |
line-height:130%; |
line-height:130%; |
font-size:0.8em; |
font-size:0.83em; |
color:$font; |
color:$font; |
} |
} |
|
a:link, a:visited { font-size:100%; } |
|
|
a:focus { color: red; background: yellow } |
a:focus { color: red; background: yellow } |
table.thinborder, |
table.thinborder, |
table.thinborder tr th { |
table.thinborder tr th { |
border-style: solid; |
border-style: solid; |
Line 4441 table.thinborder tr td {
|
Line 4541 table.thinborder tr td {
|
} |
} |
|
|
form, .inline { display: inline; } |
form, .inline { display: inline; } |
.center { text-align: center; } |
|
.LC_filename {font-family: $mono; white-space:pre;} |
.LC_right {text-align:right;} |
|
.LC_middle {vertical-align:middle;} |
|
|
|
/* just for tests */ |
|
.LC_400Box {width:400px; } |
|
/* end */ |
|
|
|
.LC_filename { |
|
font-family: $mono; |
|
white-space:pre; |
|
} |
|
|
|
.LC_fileicon { |
|
border: none; |
|
height: 1.3em; |
|
vertical-align: text-bottom; |
|
margin-right: 0.3em; |
|
text-decoration:none; |
|
} |
|
|
.LC_error { |
.LC_error { |
color: red; |
color: red; |
font-size: larger; |
font-size: larger; |
Line 4462 form, .inline { display: inline; }
|
Line 4581 form, .inline { display: inline; }
|
} |
} |
|
|
.LC_icon { |
.LC_icon { |
border: 0px; |
border: none; |
} |
} |
|
|
.LC_indexer_icon { |
.LC_indexer_icon { |
border: 0px; |
border: 0px; |
height: 22px; |
height: 22px; |
Line 4471 form, .inline { display: inline; }
|
Line 4591 form, .inline { display: inline; }
|
.LC_docs_spacer { |
.LC_docs_spacer { |
width: 25px; |
width: 25px; |
height: 1px; |
height: 1px; |
border: 0px; |
border: none; |
} |
} |
|
|
.LC_internal_info { |
.LC_internal_info { |
color: #999; |
color: #999999; |
} |
} |
|
|
table.LC_pastsubmission { |
table.LC_pastsubmission { |
Line 4491 table#LC_top_nav, table#LC_menubuttons,t
|
Line 4611 table#LC_top_nav, table#LC_menubuttons,t
|
padding: 0px; |
padding: 0px; |
} |
} |
|
|
table#LC_title_bar, table.LC_breadcrumbs, |
table#LC_title_bar, table.LC_breadcrumbs, |
table#LC_title_bar.LC_with_remote { |
table#LC_title_bar.LC_with_remote { |
width: 100%; |
width: 100%; |
border-color: $pgbg; |
border-color: $pgbg; |
Line 4503 table#LC_title_bar.LC_with_remote {
|
Line 4623 table#LC_title_bar.LC_with_remote {
|
border-collapse: collapse; |
border-collapse: collapse; |
padding: 0px; |
padding: 0px; |
} |
} |
|
|
table.LC_docs_path { |
table.LC_docs_path { |
width: 100%; |
width: 100%; |
border: 0; |
border: 0; |
Line 4516 table.LC_docs_path {
|
Line 4635 table.LC_docs_path {
|
table#LC_title_bar td { |
table#LC_title_bar td { |
background: $tabbg; |
background: $tabbg; |
} |
} |
table#LC_title_bar td.LC_title_bar_who { |
table#LC_title_bar .LC_title_bar_who { |
background: $tabbg; |
background: $tabbg; |
color: $font; |
color: $font; |
font: small $sans; |
font: small $sans; |
text-align: right; |
text-align: right; |
|
margin: 0px; |
|
} |
|
table#LC_title_bar .LC_title_bar_name { |
|
margin: 0px; |
|
} |
|
table#LC_title_bar .LC_title_bar_role { |
|
margin: 0px; |
|
} |
|
table#LC_title_bar .LC_title_bar_realm { |
|
margin: 0px; |
} |
} |
span.LC_metadata { |
span.LC_metadata { |
font-family: $sans; |
font-family: $sans; |
} |
} |
span.LC_title_bar_title { |
|
font: bold x-large $sans; |
|
} |
|
table#LC_title_bar td.LC_title_bar_domain_logo { |
table#LC_title_bar td.LC_title_bar_domain_logo { |
background: $sidebg; |
background: $sidebg; |
text-align: right; |
text-align: right; |
Line 4538 table#LC_title_bar td.LC_title_bar_role_
|
Line 4664 table#LC_title_bar td.LC_title_bar_role_
|
padding: 0px; |
padding: 0px; |
} |
} |
|
|
table#LC_menubuttons_mainmenu { |
table#LC_menubuttons img{ |
width: 100%; |
|
border: 0px; |
|
border-spacing: 1px; |
|
padding: 0px 1px; |
|
margin: 0px; |
|
border-collapse: separate; |
|
} |
|
table#LC_menubuttons img, table#LC_menubuttons_mainmenu img { |
|
border: 0px; |
border: 0px; |
} |
} |
table#LC_top_nav td { |
table#LC_top_nav td { |
background: $tabbg; |
background: $tabbg; |
border: 0px; |
border: 0px; |
font-size: small; |
font-size: small; |
|
vertical-align:top; |
|
padding:2px 5px 2px 5px; |
} |
} |
table#LC_top_nav td a, div#LC_top_nav a { |
table#LC_top_nav td a, div#LC_top_nav a { |
color: $font; |
color: $font; |
Line 4597 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4717 table#LC_mainmenu td.LC_mainmenu_column
|
vertical-align: top; |
vertical-align: top; |
} |
} |
|
|
|
.LC_fontsize_small |
|
{ |
|
font-size: 70%; |
|
} |
|
|
|
.LC_fontsize_medium |
|
{ |
|
font-size: 85%; |
|
} |
|
|
|
.LC_fontsize_large |
|
{ |
|
font-size: 120%; |
|
} |
|
|
.LC_menubuttons_inline_text { |
.LC_menubuttons_inline_text { |
color: $font; |
color: $font; |
font-family: $sans; |
font-family: $sans; |
font-size: 90%; |
font-size: 90%; |
|
padding-left:3px; |
} |
} |
|
|
.LC_menubuttons_link { |
.LC_menubuttons_link { |
Line 4617 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4753 table#LC_mainmenu td.LC_mainmenu_column
|
|
|
td.LC_menubuttons_text { |
td.LC_menubuttons_text { |
color: $font; |
color: $font; |
width: 90%; |
|
} |
|
td.LC_menubuttons_img { |
|
} |
} |
|
|
|
|
|
|
.LC_current_location { |
.LC_current_location { |
font-family: $sans; |
font-family: $sans; |
background: $tabbg; |
background: $tabbg; |
Line 4632 td.LC_menubuttons_img {
|
Line 4767 td.LC_menubuttons_img {
|
font-weight: bold; |
font-weight: bold; |
} |
} |
|
|
.LC_rolesmenu_is { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_rolesmenu_selected { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_rolesmenu_future { |
|
font-family: $sans; |
|
} |
|
|
|
|
|
.LC_rolesmenu_will { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_rolesmenu_will_not { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_rolesmenu_expired { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_rolesinfo { |
|
font-family: $sans; |
|
} |
|
|
|
.LC_dropadd_labeltext { |
.LC_dropadd_labeltext { |
font-family: $sans; |
font-family: $sans; |
Line 4672 td.LC_menubuttons_img {
|
Line 4779 td.LC_menubuttons_img {
|
} |
} |
|
|
.LC_roleslog_note { |
.LC_roleslog_note { |
font-size: smaller; |
font-size: small; |
|
} |
|
|
|
.LC_mail_functions { |
|
font-weight: bold; |
} |
} |
|
|
table.LC_aboutme_port { |
table.LC_aboutme_port { |
Line 4705 table.LC_data_table tr th, table.LC_cale
|
Line 4816 table.LC_data_table tr th, table.LC_cale
|
table.LC_prior_tries tr th { |
table.LC_prior_tries tr th { |
font-weight: bold; |
font-weight: bold; |
background-color: $data_table_head; |
background-color: $data_table_head; |
font-size: smaller; |
font-size:90%; |
} |
} |
table.LC_data_table tr.LC_odd_row > td, |
table.LC_data_table tr.LC_info_row > td { |
|
background-color: #CCCCCC; |
|
font-weight: bold; |
|
text-align: left; |
|
} |
|
table.LC_data_table tr.LC_odd_row > td, |
|
table.LC_pick_box tr > td.LC_odd_row, |
table.LC_aboutme_port tr td { |
table.LC_aboutme_port tr td { |
background-color: $data_table_light; |
background-color: $data_table_light; |
padding: 2px; |
padding: 2px; |
} |
} |
table.LC_data_table tr.LC_even_row > td, |
table.LC_data_table tr.LC_even_row > td, |
|
table.LC_pick_box tr > td.LC_even_row, |
table.LC_aboutme_port tr.LC_even_row td { |
table.LC_aboutme_port tr.LC_even_row td { |
background-color: $data_table_dark; |
background-color: $data_table_dark; |
|
padding: 2px; |
} |
} |
table.LC_data_table tr.LC_data_table_highlight td { |
table.LC_data_table tr.LC_data_table_highlight td { |
background-color: $data_table_darker; |
background-color: $data_table_darker; |
Line 4737 table.LC_nested tr.LC_empty_row td {
|
Line 4856 table.LC_nested tr.LC_empty_row td {
|
table.LC_nested_outer tr th { |
table.LC_nested_outer tr th { |
font-weight: bold; |
font-weight: bold; |
background-color: $data_table_head; |
background-color: $data_table_head; |
font-size: smaller; |
font-size: small; |
border-bottom: 1px solid #000000; |
border-bottom: 1px solid #000000; |
} |
} |
table.LC_nested_outer tr td.LC_subheader { |
table.LC_nested_outer tr td.LC_subheader { |
Line 4748 table.LC_nested_outer tr td.LC_subheader
|
Line 4867 table.LC_nested_outer tr td.LC_subheader
|
text-align: right; |
text-align: right; |
} |
} |
table.LC_nested tr.LC_info_row td { |
table.LC_nested tr.LC_info_row td { |
background-color: #CCC; |
background-color: #CCCCCC; |
font-weight: bold; |
font-weight: bold; |
font-size: small; |
font-size: small; |
text-align: center; |
text-align: center; |
Line 4758 table.LC_nested_outer tr th.LC_left_item
|
Line 4877 table.LC_nested_outer tr th.LC_left_item
|
text-align: left; |
text-align: left; |
} |
} |
table.LC_nested td { |
table.LC_nested td { |
background-color: #FFF; |
background-color: #FFFFFF; |
font-size: small; |
font-size: small; |
} |
} |
table.LC_nested_outer tr th.LC_right_item, |
table.LC_nested_outer tr th.LC_right_item, |
Line 4769 table.LC_nested tr td.LC_right_item {
|
Line 4888 table.LC_nested tr td.LC_right_item {
|
} |
} |
|
|
table.LC_nested tr.LC_odd_row td { |
table.LC_nested tr.LC_odd_row td { |
background-color: #EEE; |
background-color: #EEEEEE; |
} |
} |
|
|
table.LC_createuser { |
table.LC_createuser { |
} |
} |
|
|
table.LC_createuser tr.LC_section_row td { |
table.LC_createuser tr.LC_section_row td { |
font-size: smaller; |
font-size: small; |
} |
} |
|
|
table.LC_createuser tr.LC_info_row td { |
table.LC_createuser tr.LC_info_row td { |
background-color: #CCC; |
background-color: #CCCCCC; |
font-weight: bold; |
font-weight: bold; |
text-align: center; |
text-align: center; |
} |
} |
Line 4802 table.LC_calendar tr td.LC_calendar_day_
|
Line 4921 table.LC_calendar tr td.LC_calendar_day_
|
table.LC_calendar tr td.LC_calendar_day_current { |
table.LC_calendar tr td.LC_calendar_day_current { |
background-color: $data_table_highlight; |
background-color: $data_table_highlight; |
} |
} |
|
|
table.LC_mail_list tr.LC_mail_new { |
table.LC_mail_list tr.LC_mail_new { |
background-color: $mail_new; |
background-color: $mail_new; |
} |
} |
table.LC_mail_list tr.LC_mail_new:hover { |
table.LC_mail_list tr.LC_mail_new:hover { |
background-color: $mail_new_hover; |
background-color: $mail_new_hover; |
} |
} |
|
table.LC_mail_list tr.LC_mail_even{ |
|
} |
|
table.LC_mail_list tr.LC_mail_odd{ |
|
} |
table.LC_mail_list tr.LC_mail_read { |
table.LC_mail_list tr.LC_mail_read { |
background-color: $mail_read; |
background-color: $mail_read; |
} |
} |
Line 4827 table.LC_mail_list tr.LC_mail_other {
|
Line 4949 table.LC_mail_list tr.LC_mail_other {
|
table.LC_mail_list tr.LC_mail_other:hover { |
table.LC_mail_list tr.LC_mail_other:hover { |
background-color: $mail_other_hover; |
background-color: $mail_other_hover; |
} |
} |
table.LC_mail_list tr.LC_mail_even { |
|
} |
|
table.LC_mail_list tr.LC_mail_odd { |
|
} |
|
|
|
table#LC_cstr_controls { |
|
width: 100%; |
|
border-collapse: collapse; |
|
} |
|
table#LC_cstr_controls tr td { |
|
border: 4px solid $pgbg; |
|
padding: 4px; |
|
text-align: center; |
|
background: $tabbg; |
|
} |
|
table#LC_cstr_controls tr th { |
|
border: 4px solid $pgbg; |
|
background: $table_header; |
|
text-align: center; |
|
font-family: $sans; |
|
font-size: smaller; |
|
} |
|
|
|
table.LC_data_table tr > td.LC_browser_file, |
table.LC_data_table tr > td.LC_browser_file, |
table.LC_data_table tr > td.LC_browser_file_published { |
table.LC_data_table tr > td.LC_browser_file_published { |
Line 4869 table.LC_data_table tr.LC_browser_folder
|
Line 4969 table.LC_data_table tr.LC_browser_folder
|
background: #CCCCFF; |
background: #CCCCFF; |
} |
} |
|
|
|
table.LC_data_table tr > td.LC_roles_is { |
|
/* background: #77FF77; */ |
|
} |
|
table.LC_data_table tr > td.LC_roles_future { |
|
background: #FFFF77; |
|
} |
|
table.LC_data_table tr > td.LC_roles_will { |
|
background: #FFAA77; |
|
} |
|
table.LC_data_table tr > td.LC_roles_expired { |
|
background: #FF7777; |
|
} |
|
table.LC_data_table tr > td.LC_roles_will_not { |
|
background: #AAFF77; |
|
} |
|
table.LC_data_table tr > td.LC_roles_selected { |
|
background: #11CC55; |
|
} |
|
|
span.LC_current_location { |
span.LC_current_location { |
font-size: x-large; |
font-size:larger; |
background: $pgbg; |
background: $pgbg; |
} |
} |
|
|
Line 4897 span.LC_parm_folder, span.LC_parm_symb {
|
Line 5016 span.LC_parm_folder, span.LC_parm_symb {
|
} |
} |
|
|
td.LC_parm_overview_level_menu, td.LC_parm_overview_map_menu, |
td.LC_parm_overview_level_menu, td.LC_parm_overview_map_menu, |
td.LC_parm_overview_parm_selectors, td.LC_parm_overview_parm_restrictions { |
td.LC_parm_overview_parm_selectors,td.LC_parm_overview_restrictions { |
border: 1px solid black; |
border: 1px solid black; |
border-collapse: collapse; |
border-collapse: collapse; |
} |
} |
Line 4969 table.LC_pick_box td.LC_pick_box_title {
|
Line 5088 table.LC_pick_box td.LC_pick_box_title {
|
background: $tabbg; |
background: $tabbg; |
font-weight: bold; |
font-weight: bold; |
text-align: right; |
text-align: right; |
|
vertical-align: top; |
width: 184px; |
width: 184px; |
padding: 8px; |
padding: 8px; |
} |
} |
Line 5108 table.LC_descriptive_input td.LC_descrip
|
Line 5228 table.LC_descriptive_input td.LC_descrip
|
div.LC_feedback_link { |
div.LC_feedback_link { |
clear: both; |
clear: both; |
background: white; |
background: white; |
width: 100%; |
width: 100%; |
} |
} |
span.LC_feedback_link { |
span.LC_feedback_link { |
background: $feedback_link_bg; |
background: $feedback_link_bg; |
Line 5139 table.LC_prior_tries td {
|
Line 5259 table.LC_prior_tries td {
|
background: #FFAAAA ! important; |
background: #FFAAAA ! important; |
color: black; |
color: black; |
} |
} |
.LC_answer_not_charged_try, |
.LC_answer_not_charged_try, |
.LC_answer_no_grade, |
.LC_answer_no_grade, |
.LC_answer_late { |
.LC_answer_late { |
background: #FFFFAA; |
background: #FFFFAA; |
Line 5157 table.LC_prior_tries td {
|
Line 5277 table.LC_prior_tries td {
|
background: orange; |
background: orange; |
color: black; |
color: black; |
} |
} |
|
|
|
|
span.LC_prior_numerical, |
span.LC_prior_numerical, |
span.LC_prior_string, |
span.LC_prior_string, |
span.LC_prior_custom, |
span.LC_prior_custom, |
Line 5186 table.LC_prior_match tr td {
|
Line 5304 table.LC_prior_match tr td {
|
border: 1px solid #000000; |
border: 1px solid #000000; |
} |
} |
|
|
|
td.LC_nobreak, |
span.LC_nobreak { |
span.LC_nobreak { |
white-space: nowrap; |
white-space: nowrap; |
} |
} |
Line 5204 table.LC_docs_documents {
|
Line 5323 table.LC_docs_documents {
|
border-width: 0px; |
border-width: 0px; |
border-collapse: collapse; |
border-collapse: collapse; |
} |
} |
|
|
table.LC_docs_documents td.LC_docs_document { |
table.LC_docs_documents td.LC_docs_document { |
border: 2px solid black; |
border: 2px solid black; |
padding: 4px; |
padding: 4px; |
} |
} |
|
|
.LC_docs_course_commands div { |
|
float: left; |
|
border: 4px solid #AAAAAA; |
|
padding: 4px; |
|
background: #DDDDCC; |
|
} |
|
|
|
.LC_docs_entry_move { |
.LC_docs_entry_move { |
border: 0px; |
border: 0px; |
border-collapse: collapse; |
border-collapse: collapse; |
Line 5289 table.LC_double_column tr td.LC_left_col
|
Line 5399 table.LC_double_column tr td.LC_left_col
|
|
|
table.LC_double_column tr td.LC_right_col { |
table.LC_double_column tr td.LC_right_col { |
top: 2px; |
top: 2px; |
right: 2px; |
right: 2px; |
width: 47%; |
width: 47%; |
vertical-align: top; |
vertical-align: top; |
} |
} |
Line 5314 div.LC_clear_float_footer {
|
Line 5424 div.LC_clear_float_footer {
|
} |
} |
|
|
|
|
div.LC_grade_select_mode { |
|
font-family: $sans; |
|
} |
|
div.LC_grade_select_mode div div { |
|
margin: 5px; |
|
} |
|
div.LC_grade_select_mode_selector { |
|
margin: 5px; |
|
float: left; |
|
} |
|
div.LC_grade_select_mode_selector_header { |
|
font: bold medium $sans; |
|
} |
|
div.LC_grade_select_mode_type { |
|
clear: left; |
|
} |
|
|
|
div.LC_grade_show_user { |
div.LC_grade_show_user { |
margin-top: 20px; |
margin-top: 20px; |
border: 1px solid black; |
border: 1px solid black; |
Line 5338 div.LC_grade_show_user {
|
Line 5431 div.LC_grade_show_user {
|
div.LC_grade_user_name { |
div.LC_grade_user_name { |
background: #DDDDEE; |
background: #DDDDEE; |
border-bottom: 1px solid black; |
border-bottom: 1px solid black; |
font: bold large $sans; |
font-weight: bold; |
|
font-size: large; |
} |
} |
div.LC_grade_show_user_odd_row div.LC_grade_user_name { |
div.LC_grade_show_user_odd_row div.LC_grade_user_name { |
background: #DDEEDD; |
background: #DDEEDD; |
Line 5357 div.LC_grade_show_problem_header,
|
Line 5451 div.LC_grade_show_problem_header,
|
div.LC_grade_submissions_header, |
div.LC_grade_submissions_header, |
div.LC_grade_message_center_header, |
div.LC_grade_message_center_header, |
div.LC_grade_assign_header { |
div.LC_grade_assign_header { |
font: bold large $sans; |
font-weight: bold; |
|
font-size: large; |
} |
} |
div.LC_grade_show_problem_problem, |
div.LC_grade_show_problem_problem, |
div.LC_grade_submissions_body, |
div.LC_grade_submissions_body, |
Line 5368 div.LC_grade_assign_body {
|
Line 5463 div.LC_grade_assign_body {
|
background: #FFFFFF; |
background: #FFFFFF; |
} |
} |
span.LC_grade_check_note { |
span.LC_grade_check_note { |
font: normal medium $sans; |
font-weight: normal; |
|
font-size: medium; |
display: inline; |
display: inline; |
position: absolute; |
position: absolute; |
right: 1em; |
right: 1em; |
Line 5381 table.LC_scantron_action tr th {
|
Line 5477 table.LC_scantron_action tr th {
|
font-weight:bold; |
font-weight:bold; |
font-style:normal; |
font-style:normal; |
} |
} |
.LC_edit_problem_header, |
.LC_edit_problem_header, |
div.LC_edit_problem_footer { |
div.LC_edit_problem_footer { |
font: normal medium $sans; |
font-weight: normal; |
|
font-size: medium; |
margin: 2px; |
margin: 2px; |
} |
} |
div.LC_edit_problem_header, |
div.LC_edit_problem_header, |
Line 5400 div.LC_edit_problem_header_edit_row {
|
Line 5497 div.LC_edit_problem_header_edit_row {
|
margin-bottom: 5px; |
margin-bottom: 5px; |
} |
} |
div.LC_edit_problem_header_title { |
div.LC_edit_problem_header_title { |
font: larger bold $sans; |
font-weight: bold; |
|
font-size: larger; |
background: $tabbg; |
background: $tabbg; |
padding: 3px; |
padding: 3px; |
} |
} |
table.LC_edit_problem_header_title { |
table.LC_edit_problem_header_title { |
font: larger bold $sans; |
font-size: larger; |
|
font-weight: bold; |
width: 100%; |
width: 100%; |
border-color: $pgbg; |
border-color: $pgbg; |
border-style: solid; |
border-style: solid; |
Line 5453 table#LC_mainmenu td.LC_mainmenu_col_fie
|
Line 5552 table#LC_mainmenu td.LC_mainmenu_col_fie
|
font-size: small; |
font-size: small; |
font-weight: bold; |
font-weight: bold; |
} |
} |
fieldset#LC_mainmenu_fieldset { |
div.LC_createcourse { |
margin:0px 10px 10px 0px; |
margin: 10px 10px 10px 10px; |
|
|
} |
} |
|
|
/* ---- Remove when done ---- |
/* ---- Remove when done ---- |
# The following styles is part of the redesign of LON-CAPA and are |
# The following styles is part of the redesign of LON-CAPA and are |
# subject to change during this project. |
# subject to change during this project. |
Line 5465 fieldset#LC_mainmenu_fieldset {
|
Line 5564 fieldset#LC_mainmenu_fieldset {
|
# --------------------------*/ |
# --------------------------*/ |
|
|
a:hover, |
a:hover, |
ol.smallMenu a:hover, |
ol.LC_smallMenu a:hover, |
ol#MenuBreadcrumbs a:hover, |
ol#LC_MenuBreadcrumbs a:hover, |
ul#TabMainMenuContent a:hover, |
ol#LC_PathBreadcrumbs a:hover, |
.FormSectionClearButton input:hover{ |
ul#LC_TabMainMenuContent a:hover, |
|
.LC_FormSectionClearButton input:hover |
|
ul.LC_TabContent li:hover a{ |
color:#BF2317; |
color:#BF2317; |
text-decoration:none; |
text-decoration:none; |
} |
} |
|
|
h1 { |
h1 { |
padding:5px 10px 5px 20px; |
padding:5px 10px 5px 20px; |
line-height:130%; |
line-height:130%; |
} |
} |
|
|
h2,h3,h4,h5,h6 |
h2,h3,h4,h5,h6 |
{ |
{ |
margin:5px 0px 5px 0px; |
margin:5px 0px 5px 0px; |
line-height:130%; |
padding:0px; |
|
line-height:130%; |
} |
} |
.hcell{ |
.LC_hcell{ |
padding:3px 15px 3px 15px; |
padding:3px 15px 3px 15px; |
margin:0px; |
margin:0px; |
background: $pgbg; |
background-color:$tabbg; |
border-bottom:solid 1px $lg_border_color; |
border-bottom:solid 1px $lg_border_color; |
} |
|
.right { |
|
text-align: right; |
|
} |
} |
.left { |
.LC_noBorder { |
text-align: left; |
|
} |
|
.noBorder { |
|
border:0px; |
border:0px; |
} |
} |
/* |
|
.bgLightGrey { background:URL(images/TabMenuBG.png) repeat-x left top; } |
|
.bgLightGreyYellow {background-color:#EFECE0;} |
|
*/ |
|
|
|
|
|
/* Main Header with discription of Person, Course, etc. */ |
/* Main Header with discription of Person, Course, etc. */ |
.HeadRight { |
|
text-align: right; |
.LC_Right { |
float: right; |
float: right; |
margin: 0px; |
margin: 0px; |
padding: 0px; |
padding: 0px; |
right:0; |
|
position:absolute; |
|
overflow:hidden; |
|
} |
} |
|
|
p { |
p, .LC_ContentBox { |
padding: 10px; |
padding: 10px; |
|
|
} |
} |
.FormSectionClearButton input { |
.LC_FormSectionClearButton input { |
background-color:transparent; |
background-color:transparent; |
border:0px; |
border:0px; |
cursor:pointer; |
cursor:pointer; |
text-decoration:underline; |
text-decoration:underline; |
} |
} |
|
|
|
.LC_help_open_topic { |
|
color: #FFFFFF; |
|
background-color: #EEEEFF; |
|
margin: 1px; |
|
padding: 4px; |
|
border: 1px solid #000033; |
|
white-space: nowrap; |
|
/* vertical-align: middle; */ |
|
} |
|
|
dl,ul,div,fieldset { |
dl,ul,div,fieldset { |
margin: 10px 10px 10px 0px; |
margin: 10px 10px 10px 0px; |
overflow:hidden; |
overflow:hidden; |
} |
} |
ol.smallMenu { |
ol.LC_smallMenu, ol#LC_PathBreadcrumbs { |
margin: 0px; |
margin: 0px; |
} |
} |
|
|
ol.smallMenu li { |
ol.LC_smallMenu li { |
display: inline; |
display: inline; |
padding: 5px 5px 0px 10px; |
padding: 5px 5px 0px 10px; |
vertical-align: top; |
vertical-align: top; |
} |
} |
|
|
ol.smallMenu li img { |
ol.LC_smallMenu li img { |
vertical-align: bottom; |
vertical-align: bottom; |
} |
} |
|
|
ol.smallMenu a { |
ol.LC_smallMenu a { |
font-size: 90%; |
font-size: 90%; |
color: RGB(80, 80, 80); |
color: RGB(80, 80, 80); |
text-decoration: none; |
text-decoration: none; |
} |
} |
|
ol#LC_TabMainMenuContent, ul.LC_TabContent , |
ol#TabMainMenuContent { |
ul.LC_TabContentBigger { |
|
display:block; |
margin: 0px 0px 10px 0px; |
list-style:none; |
|
margin: 0px; |
padding: 0px; |
padding: 0px; |
} |
} |
|
|
ol#TabMainMenuContent li { |
ol#LC_TabMainMenuContent li, ul.LC_TabContent li, |
|
ul.LC_TabContentBigger li{ |
display: inline; |
display: inline; |
|
border-right: solid 1px $lg_border_color; |
|
float:left; |
|
line-height:140%; |
|
white-space:nowrap; |
|
} |
|
ol#LC_TabMainMenuContent li{ |
vertical-align: bottom; |
vertical-align: bottom; |
border-bottom: solid 1px RGB(175, 175, 175); |
border-bottom: solid 1px RGB(175, 175, 175); |
border-right: solid 1px RGB(175, 175, 175); |
padding: 5px 10px 5px 10px; |
padding: 5px 15px 5px 15px; |
margin-right:5px; |
margin-right:4px; |
margin-bottom:3px; |
line-height: 140%; |
|
font-weight: bold; |
font-weight: bold; |
overflow:hidden; |
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;*/ |
|
} |
} |
|
|
ol#TabMainMenuContent li a{ |
ol#LC_TabMainMenuContent li a{ |
color: RGB(47, 47, 47); |
color: RGB(47, 47, 47); |
text-decoration: none; |
text-decoration: none; |
} |
} |
|
ul.LC_TabContent { |
ol#TabMainMenuContent div.columnSection { |
min-height:1.6em; |
margin-bottom: 0px; |
} |
|
ul.LC_TabContent li{ |
|
vertical-align:middle; |
|
padding:0px 10px 0px 10px; |
|
background-color:$tabbg; |
|
border-bottom:solid 1px $lg_border_color; |
|
} |
|
ul.LC_TabContent li a, ul.LC_TabContent li{ |
|
color:rgb(47,47,47); |
|
text-decoration:none; |
|
font-size:95%; |
|
font-weight:bold; |
|
padding-right: 16px; |
|
} |
|
ul.LC_TabContent li:hover, ul.LC_TabContent li.active{ |
|
background:#FFFFFF url(/adm/lonIcons/open.gif) no-repeat scroll right center; |
|
border-bottom:solid 1px #FFFFFF; |
|
padding-right: 16px; |
|
} |
|
ul.LC_TabContentBigger li{ |
|
vertical-align:bottom; |
|
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 li.active{ |
|
background:url(/adm/lonIcons/lightGreyBG.png) repeat-x right bottom; |
|
} |
|
ul.LC_TabContentBigger li, ul.LC_TabContentBigger li a{ |
|
font-size:110%; |
|
font-weight:bold; |
} |
} |
|
|
ol#MenuBreadcrumbs, ol#PathBreadcrumbs { |
ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs, ul.LC_CourseBreadcrumbs{ |
border-top: solid 1px RGB(255, 255, 255); |
border-top: solid 1px RGB(255, 255, 255); |
height: 20px; |
height: 20px; |
line-height: 20px; |
line-height: 20px; |
Line 5587 ol#MenuBreadcrumbs, ol#PathBreadcrumbs {
|
Line 5723 ol#MenuBreadcrumbs, ol#PathBreadcrumbs {
|
margin: 0px 0px 30px 0px; |
margin: 0px 0px 30px 0px; |
padding-left: 10px; |
padding-left: 10px; |
list-style-position: inside; |
list-style-position: inside; |
/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left |
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
top;*/ |
|
} |
} |
|
|
ol#MenuBreadcrumbs li, ol#PathBreadcrumbs li { |
ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li, ul.LC_CourseBreadcrumbs li { |
/* background: url(images/pfeil_white.png) no-repeat left center;*/ |
/* |
|
background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; |
|
*/ |
display: inline; |
display: inline; |
padding: 0px 0px 0px 10px; |
padding: 0px 0px 0px 10px; |
vertical-align: bottom; |
/* vertical-align: bottom; */ |
overflow:hidden; |
overflow:hidden; |
} |
} |
|
|
ol#MenuBreadcrumbs li a { |
ol#LC_MenuBreadcrumbs li a, ul.LC_CourseBreadcrumbs li a { |
text-decoration: none; |
text-decoration: none; |
font-size:90%; |
font-size:90%; |
} |
} |
ol#PathBreadcrumbs li a{ |
ol#LC_PathBreadcrumbs li a{ |
text-decoration:none; |
text-decoration:none; |
font-size:100%; |
font-size:100%; |
font-weight:bold; |
font-weight:bold; |
} |
} |
|
.LC_BoxPadding |
.ContentBoxSpecial |
{ |
|
padding: 10px; |
|
} |
|
.LC_ContentBoxSpecial |
{ |
{ |
border: solid 1px $lg_border_color; |
border: solid 1px $lg_border_color; |
} |
} |
.ContentBox { |
.LC_ContentBoxSpecialContactInfo |
padding:10px; |
{ |
|
border: solid 1px $lg_border_color; |
|
max-width:25%; |
|
min-width:25%; |
} |
} |
.PopUp |
.LC_AboutMe_Image |
{ |
{ |
padding:10px; |
float:left; |
border-left:solid 1px $lg_border_color; |
margin-right:10px; |
border-top:solid 1px $lg_border_color; |
|
border-bottom:outset 1px $lg_border_color; |
|
border-right:outset 1px $lg_border_color; |
|
display:none; |
|
position:absolute; |
|
right:0; |
|
background-color:white; |
|
z-index:5; |
|
} |
} |
|
.LC_Clear_AboutMe_Image |
dl.ListStyleClean dt { |
{ |
|
clear:left; |
|
} |
|
dl.LC_ListStyleClean dt { |
padding-right: 5px; |
padding-right: 5px; |
display: table-header-group; |
display: table-header-group; |
} |
} |
|
|
dl.ListStyleClean dd { |
dl.LC_ListStyleClean dd { |
display: table-row; |
display: table-row; |
} |
} |
|
|
.ListStyleClean, |
.LC_ListStyleClean, |
.ListStyleSimple, |
.LC_ListStyleSimple, |
.ListStyleNormal, |
.LC_ListStyleNormal, |
.ListStyleNormal_Border, |
.LC_ListStyle_Border, |
.ListStyleSpecial |
.LC_ListStyleSpecial |
{ |
{ |
/*display:block; */ |
/*display:block; */ |
list-style-position: inside; |
list-style-position: inside; |
Line 5652 dl.ListStyleClean dd {
|
Line 5790 dl.ListStyleClean dd {
|
padding: 0px; |
padding: 0px; |
} |
} |
|
|
.ListStyleSimple li, |
.LC_ListStyleSimple li, |
.ListStyleSimple dd, |
.LC_ListStyleSimple dd, |
.ListStyleNormal li, |
.LC_ListStyleNormal li, |
.ListStyleNormal dd, |
.LC_ListStyleNormal dd, |
.ListStyleSpecial li, |
.LC_ListStyleSpecial li, |
.ListStyleSpecial dd |
.LC_ListStyleSpecial dd |
{ |
{ |
margin: 0px; |
margin: 0px; |
padding: 5px 5px 5px 10px; |
padding: 5px 5px 5px 10px; |
clear: both; |
clear: both; |
/*display:block;*/ |
|
} |
} |
|
|
.ListStyleClean li, |
.LC_ListStyleClean li, |
.ListStyleClean dd { |
.LC_ListStyleClean dd { |
padding-top: 0px; |
padding-top: 0px; |
padding-bottom: 0px; |
padding-bottom: 0px; |
} |
} |
|
|
.ListStyleSimple dd, |
.LC_ListStyleSimple dd, |
.ListStyleSimple li{ |
.LC_ListStyleSimple li{ |
border-bottom: solid 1px $lg_border_color; |
border-bottom: solid 1px $lg_border_color; |
} |
} |
|
|
.ListStyleSpecial li, |
.LC_ListStyleSpecial li, |
.ListStyleSpecial dd { |
.LC_ListStyleSpecial dd { |
list-style-type: none; |
list-style-type: none; |
background-color: RGB(220, 220, 220); |
background-color: RGB(220, 220, 220); |
margin-bottom: 4px; |
margin-bottom: 4px; |
} |
} |
|
|
table.SimpleTable { |
table.LC_SimpleTable { |
margin:5px; |
margin:5px; |
border:solid 1px $lg_border_color; |
border:solid 1px $lg_border_color; |
} |
} |
|
|
table.SimpleTable tr { |
table.LC_SimpleTable tr { |
padding:0px; |
padding:0px; |
border:solid 1px $lg_border_color; |
border:solid 1px $lg_border_color; |
} |
} |
table.SimpleTable thead{ |
table.LC_SimpleTable thead{ |
background:rgb(220,220,220); |
background:rgb(220,220,220); |
} |
} |
|
|
div.columnSection { |
div.LC_columnSection { |
display: block; |
display: block; |
clear: both; |
clear: both; |
overflow: hidden; |
overflow: hidden; |
margin:0px; |
margin:0px; |
} |
} |
|
|
div.columnSection>* { |
div.LC_columnSection>* { |
float: left; |
float: left; |
margin: 10px 20px 10px 0px; |
margin: 10px 20px 10px 0px; |
overflow:hidden; |
overflow:hidden; |
} |
} |
div.columnSection > .ContentBox, |
|
div.columnSection > .ContentBoxSpecial |
.ContentBoxSpecialTemplate |
{ |
{ |
width: 400px; |
border: solid 1px $lg_border_color; |
|
} |
|
.ContentBoxTemplate { |
|
padding:10px; |
|
} |
|
|
|
div.LC_columnSection > .ContentBoxTemplate, |
|
div.LC_columnSection > .ContentBoxSpecialTemplate |
|
{ |
|
width: 600px; |
|
} |
|
|
|
.clear{ |
|
clear: both; |
|
line-height: 0px; |
|
font-size: 0px; |
|
height: 0px; |
} |
} |
|
|
.LC_loginpage_container { |
.LC_loginpage_container { |
text-align:left; |
text-align:left; |
margin : 0 auto; |
margin : 0 auto; |
width:65%; |
width:90%; |
padding: 10px; |
padding: 10px; |
height: auto; |
height: auto; |
background-color:#FFFFFF; |
background-color:#FFFFFF; |
Line 5728 div.columnSection > .ContentBoxSpecial
|
Line 5880 div.columnSection > .ContentBoxSpecial
|
|
|
.LC_loginpage_loginContainer { |
.LC_loginpage_loginContainer { |
float:left; |
float:left; |
width:60%; |
width: 182px; |
|
padding: 2px; |
|
border:1px solid #CCCCCC; |
|
background-color:$loginbg; |
|
} |
|
|
|
.LC_loginpage_loginContainer h2{ |
|
margin-top:0; |
|
display:block; |
|
background:$bgcol; |
|
color:$textcol; |
|
padding-left:5px; |
} |
} |
|
|
.LC_loginpage_loginInfo { |
.LC_loginpage_loginInfo { |
margin-top:20px; |
|
margin-left:20px; |
|
float:left; |
float:left; |
width:30%; |
width:182px; |
border:1px solid #CCCCCC; |
border:1px solid #CCCCCC; |
padding:10px; |
padding:2px; |
} |
} |
|
|
.LC_loginpage_space { |
.LC_loginpage_space { |
clear:both; |
clear: both; |
margin-bottom:20px; |
margin-bottom: 20px; |
border-bottom: 1px solid #CCCCCC; |
border-bottom: 1px solid #CCCCCC; |
} |
} |
|
|
.LC_loginpage_fieldset{ |
.LC_loginpage_floatLeft { |
border: 1px solid #CCCCCC; |
float: left; |
margin: 0 auto; |
width: 200px; |
|
margin: 0; |
} |
} |
|
|
.LC_loginpage_legend{ |
table em{ |
padding: 2px; |
font-weight: bold; |
margin: 0px; |
font-style: normal; |
font-size:14px; |
} |
font-weight:bold; |
table.LC_tableBrowseRes, |
|
table.LC_tableOfContent{ |
|
border:none; |
|
border-spacing: 1; |
|
padding: 3px; |
|
background-color: #FFFFFF; |
|
font-size: 90%; |
|
} |
|
table.LC_tableBrowseRes a, |
|
table.LC_tableOfContent a { |
|
background-color: transparent; |
|
text-decoration: none; |
|
} |
|
|
|
table.LC_tableBrowseRes tr.LC_trOdd, |
|
table.LC_tableOfContent tr.LC_trOdd{ |
|
background-color: #EEEEEE; |
|
} |
|
|
|
table.LC_tableOfContent img{ |
|
border: none; |
|
height: 1.3em; |
|
vertical-align: text-bottom; |
|
margin-right: 0.3em; |
|
} |
|
|
|
a#LC_content_toolbar_firsthomework{ |
|
background-image:url(/res/adm/pages/open-first-problem.gif); |
|
} |
|
|
|
a#LC_content_toolbar_launchnav{ |
|
background-image:url(/res/adm/pages/start-navigation.gif); |
|
} |
|
|
|
a#LC_content_toolbar_closenav{ |
|
background-image:url(/res/adm/pages/close-navigation.gif); |
|
} |
|
|
|
a#LC_content_toolbar_everything{ |
|
background-image:url(/res/adm/pages/show-all.gif); |
|
} |
|
|
|
a#LC_content_toolbar_uncompleted{ |
|
background-image:url(/res/adm/pages/show-incomplete-problems.gif); |
|
} |
|
|
|
#LC_content_toolbar_clearbubbles{ |
|
background-image:url(/res/adm/pages/mark-discussionentries-read.gif); |
|
} |
|
|
|
a#LC_content_toolbar_changefolder{ |
|
background : url(/res/adm/pages/close-all-folders.gif) top center ; |
|
} |
|
|
|
a#LC_content_toolbar_changefolder_toggled{ |
|
background-image:url(/res/adm/pages/open-all-folders.gif); |
|
} |
|
|
|
ul#LC_toolbar li a:hover{ |
|
background-position: bottom center; |
} |
} |
|
|
|
ul#LC_toolbar{ |
|
padding:0; |
|
margin: 2px; |
|
list-style:none; |
|
position:relative; |
|
background-color:white; |
|
} |
|
|
|
ul#LC_toolbar li{ |
|
border:1px solid white; |
|
padding:0; |
|
margin: 0; |
|
float: left; |
|
display:inline; |
|
vertical-align:middle; |
|
} |
|
|
|
/* |
|
This style is used for standard function lists, e.g. functions of Personal Information Page. |
|
It produces a horizontally aligned list with a bullet at the beginning of each function item. |
|
*/ |
|
.LC_fieldset_functions li { |
|
float: right; |
|
height: 35px; |
|
background-color: blue; |
|
white-space: nowrap; |
|
margin-left: 10px; |
|
} |
|
|
|
a.LC_toolbarItem{ |
|
display:block; |
|
padding:0; |
|
margin:0; |
|
height: 32px; |
|
width: 32px; |
|
color:white; |
|
border:0 none; |
|
background-repeat:no-repeat; |
|
background-color:transparent; |
|
} |
|
|
|
ul.LC_functionslist li { |
|
float: left; |
|
white-space: nowrap; |
|
height: 35px; /* at least as high as heighest list item */ |
|
margin: 0px 15px 15px 10px; |
|
} |
|
|
|
|
END |
END |
Line 6023 sub start_page {
|
Line 6291 sub start_page {
|
} |
} |
|
|
if ($args->{'js_ready'}) { |
if ($args->{'js_ready'}) { |
$result = &js_ready($result); |
$result = &js_ready($result); |
} |
} |
if ($args->{'html_encode'}) { |
if ($args->{'html_encode'}) { |
$result = &html_encode($result); |
$result = &html_encode($result); |
|
} |
|
|
|
#Breadcrumbs |
|
if (exists($args->{'bread_crumbs'}) or exists($args->{'bread_crumbs_component'})) { |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
#if any br links exists, add them to the breadcrumbs |
|
if (exists($args->{'bread_crumbs'}) and ref($args->{'bread_crumbs'}) eq 'ARRAY') { |
|
foreach my $crumb (@{$args->{'bread_crumbs'}}){ |
|
&Apache::lonhtmlcommon::add_breadcrumb($crumb); |
|
} |
|
} |
|
|
|
#if bread_crumbs_component exists show it as headline else show only the breadcrumbs |
|
if(exists($args->{'bread_crumbs_component'})){ |
|
$result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'}); |
|
}else{ |
|
$result .= &Apache::lonhtmlcommon::breadcrumbs(); |
|
} |
} |
} |
return $result; |
return $result; |
} |
} |
Line 6174 sub simple_error_page {
|
Line 6460 sub simple_error_page {
|
} |
} |
|
|
sub start_data_table_empty_row { |
sub start_data_table_empty_row { |
$row_count[0]++; |
# $row_count[0]++; |
return '<tr class="LC_empty_row" >'."\n";; |
return '<tr class="LC_empty_row" >'."\n";; |
} |
} |
|
|
Line 6776 If the user's status includes multiple t
|
Line 7062 If the user's status includes multiple t
|
the largest default quota which applies to the user determines the |
the largest default quota which applies to the user determines the |
default quota returned. |
default quota returned. |
|
|
|
=back |
|
|
=cut |
=cut |
|
|
############################################### |
############################################### |
Line 6788 sub default_quota {
|
Line 7076 sub default_quota {
|
['quotas'],$udom); |
['quotas'],$udom); |
if (ref($quotahash{'quotas'}) eq 'HASH') { |
if (ref($quotahash{'quotas'}) eq 'HASH') { |
if ($inststatus ne '') { |
if ($inststatus ne '') { |
my @statuses = split(/:/,$inststatus); |
my @statuses = map { &unescape($_); } split(/:/,$inststatus); |
foreach my $item (@statuses) { |
foreach my $item (@statuses) { |
if ($quotahash{'quotas'}{$item} ne '') { |
if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { |
if ($defquota eq '') { |
if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') { |
$defquota = $quotahash{'quotas'}{$item}; |
if ($defquota eq '') { |
$settingstatus = $item; |
$defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; |
} elsif ($quotahash{'quotas'}{$item} > $defquota) { |
$settingstatus = $item; |
$defquota = $quotahash{'quotas'}{$item}; |
} elsif ($quotahash{'quotas'}{'defaultquota'}{$item} > $defquota) { |
$settingstatus = $item; |
$defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; |
|
$settingstatus = $item; |
|
} |
|
} |
|
} else { |
|
if ($quotahash{'quotas'}{$item} ne '') { |
|
if ($defquota eq '') { |
|
$defquota = $quotahash{'quotas'}{$item}; |
|
$settingstatus = $item; |
|
} elsif ($quotahash{'quotas'}{$item} > $defquota) { |
|
$defquota = $quotahash{'quotas'}{$item}; |
|
$settingstatus = $item; |
|
} |
} |
} |
} |
} |
} |
} |
} |
} |
if ($defquota eq '') { |
if ($defquota eq '') { |
$defquota = $quotahash{'quotas'}{'default'}; |
if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { |
|
$defquota = $quotahash{'quotas'}{'defaultquota'}{'default'}; |
|
} else { |
|
$defquota = $quotahash{'quotas'}{'default'}; |
|
} |
$settingstatus = 'default'; |
$settingstatus = 'default'; |
} |
} |
} else { |
} else { |
Line 7238 sub personal_data_fieldtitles {
|
Line 7542 sub personal_data_fieldtitles {
|
middlename => 'Middle Name', |
middlename => 'Middle Name', |
generation => 'Generation', |
generation => 'Generation', |
gen => 'Generation', |
gen => 'Generation', |
|
inststatus => 'Affiliation', |
); |
); |
return %fieldtitles; |
return %fieldtitles; |
} |
} |
Line 7307 sub get_institutional_codes {
|
Line 7612 sub get_institutional_codes {
|
|
|
=pod |
=pod |
|
|
|
=head1 Slot Helpers |
|
|
|
=over 4 |
|
|
|
=item * sorted_slots() |
|
|
|
Sorts an array of slot names in order of slot start time (earliest first). |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
slotsarr - Reference to array of unsorted slot names. |
|
|
|
slots - Reference to hash of hash, where outer hash keys are slot names. |
|
|
|
=back |
|
|
|
Returns: |
|
|
|
=over 4 |
|
|
|
sorted - An array of slot names sorted by the start time of the slot. |
|
|
|
=back |
|
|
=back |
=back |
|
|
|
=cut |
|
|
|
|
|
sub sorted_slots { |
|
my ($slotsarr,$slots) = @_; |
|
my @sorted; |
|
if ((ref($slotsarr) eq 'ARRAY') && (ref($slots) eq 'HASH')) { |
|
@sorted = |
|
sort { |
|
if (ref($slots->{$a}) && ref($slots->{$b})) { |
|
return $slots->{$a}{'starttime'} <=> $slots->{$b}{'starttime'} |
|
} |
|
if (ref($slots->{$a})) { return -1;} |
|
if (ref($slots->{$b})) { return 1;} |
|
return 0; |
|
} @{$slotsarr}; |
|
} |
|
return @sorted; |
|
} |
|
|
|
|
|
=pod |
|
|
=head1 HTTP Helpers |
=head1 HTTP Helpers |
|
|
=over 4 |
=over 4 |
Line 7598 sub upload_embedded {
|
Line 7952 sub upload_embedded {
|
' <a href="'.$url.'">'. |
' <a href="'.$url.'">'. |
$orig_uploaded_filename.'</a><br />'; |
$orig_uploaded_filename.'</a><br />'; |
} else { |
} else { |
$output .= '<font size="+2">'. |
$output .= '<span class=\"LC_fontsize_large\">'. |
&mt('View embedded file: [_1]','<a href="'.$url.'">'. |
&mt('View embedded file: [_1]','<a href="'.$url.'">'. |
$orig_uploaded_filename.'</a>').'</font><br />'; |
$orig_uploaded_filename.'</a>').'</span><br />'; |
} |
} |
} |
} |
close($fh); |
close($fh); |
Line 7859 sub upfile_select_html {
|
Line 8213 sub upfile_select_html {
|
# xml => &mt('HTML/XML'), |
# xml => &mt('HTML/XML'), |
); |
); |
my $Str = '<input type="file" name="upfile" size="50" />'. |
my $Str = '<input type="file" name="upfile" size="50" />'. |
'<br />Type: <select name="upfiletype">'; |
'<br />'.&mt('Type').': <select name="upfiletype">'; |
foreach my $type (sort(keys(%Types))) { |
foreach my $type (sort(keys(%Types))) { |
$Str .= '<option value="'.$type.'" >'.$Types{$type}."</option>\n"; |
$Str .= '<option value="'.$type.'" >'.$Types{$type}."</option>\n"; |
} |
} |
Line 8603 sub restore_settings {
|
Line 8957 sub restore_settings {
|
|
|
=item * &build_recipient_list() |
=item * &build_recipient_list() |
|
|
Build recipient lists for three types of e-mail: |
Build recipient lists for four types of e-mail: |
(a) Error Reports, (b) Package Updates, (c) Help requests, generated by |
(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors |
lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively. |
(d) Help requests, generated by |
|
lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively. |
|
|
Inputs: |
Inputs: |
defmail (scalar - email address of default recipient), |
defmail (scalar - email address of default recipient), |
Line 8629 sub build_recipient_list {
|
Line 8984 sub build_recipient_list {
|
my %domconfig = |
my %domconfig = |
&Apache::lonnet::get_dom('configuration',['contacts'],$defdom); |
&Apache::lonnet::get_dom('configuration',['contacts'],$defdom); |
if (ref($domconfig{'contacts'}) eq 'HASH') { |
if (ref($domconfig{'contacts'}) eq 'HASH') { |
if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') { |
if (exists($domconfig{'contacts'}{$mailing})) { |
my @contacts = ('adminemail','supportemail'); |
if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') { |
foreach my $item (@contacts) { |
my @contacts = ('adminemail','supportemail'); |
if ($domconfig{'contacts'}{$mailing}{$item}) { |
foreach my $item (@contacts) { |
my $addr = $domconfig{'contacts'}{$item}; |
if ($domconfig{'contacts'}{$mailing}{$item}) { |
if (!grep(/^\Q$addr\E$/,@recipients)) { |
my $addr = $domconfig{'contacts'}{$item}; |
push(@recipients,$addr); |
if (!grep(/^\Q$addr\E$/,@recipients)) { |
|
push(@recipients,$addr); |
|
} |
} |
} |
|
$otheremails = $domconfig{'contacts'}{$mailing}{'others'}; |
} |
} |
$otheremails = $domconfig{'contacts'}{$mailing}{'others'}; |
|
} |
} |
|
} elsif ($origmail ne '') { |
|
push(@recipients,$origmail); |
} |
} |
} elsif ($origmail ne '') { |
} elsif ($origmail ne '') { |
push(@recipients,$origmail); |
push(@recipients,$origmail); |
Line 8910 sub assign_categories_table {
|
Line 9269 sub assign_categories_table {
|
my $checked = ''; |
my $checked = ''; |
if (@currcategories > 0) { |
if (@currcategories > 0) { |
if (grep(/^\Q$item\E$/,@currcategories)) { |
if (grep(/^\Q$item\E$/,@currcategories)) { |
$checked = ' checked="checked" '; |
$checked = ' checked="checked"'; |
} |
} |
} |
} |
$output .= '<tr '.$css_class.'><td><span class="LC_nobreak">'. |
$output .= '<tr '.$css_class.'><td><span class="LC_nobreak">'. |
Line 8976 sub assign_category_rows {
|
Line 9335 sub assign_category_rows {
|
if (ref($currcategories) eq 'ARRAY') { |
if (ref($currcategories) eq 'ARRAY') { |
if (@{$currcategories} > 0) { |
if (@{$currcategories} > 0) { |
if (grep(/^\Q$item\E$/,@{$currcategories})) { |
if (grep(/^\Q$item\E$/,@{$currcategories})) { |
$checked = ' checked="checked" '; |
$checked = ' checked="checked"'; |
} |
} |
} |
} |
} |
} |
Line 9283 sub construct_course {
|
Line 9642 sub construct_course {
|
'policy.email', |
'policy.email', |
'comment.email', |
'comment.email', |
'pch.users.denied', |
'pch.users.denied', |
'plc.users.denied'], |
'plc.users.denied', |
|
'hidefromcat', |
|
'categories'], |
$$crsudom,$$crsunum); |
$$crsudom,$$crsunum); |
} |
} |
|
|
Line 9741 sub init_user_environment {
|
Line 10102 sub init_user_environment {
|
} |
} |
} |
} |
|
|
|
foreach my $tool ('aboutme','blog','portfolio') { |
|
$userenv{'availabletools.'.$tool} = |
|
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload'); |
|
} |
|
|
|
foreach my $crstype ('official','unofficial') { |
|
$userenv{'canrequest.'.$crstype} = |
|
&Apache::lonnet::usertools_access($username,$domain,$crstype, |
|
'reload','requestcourses'); |
|
} |
|
|
$env{'user.environment'} = "$lonids/$cookie.id"; |
$env{'user.environment'} = "$lonids/$cookie.id"; |
|
|
if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id", |
if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id", |
Line 9753 sub init_user_environment {
|
Line 10125 sub init_user_environment {
|
} |
} |
untie(%disk_env); |
untie(%disk_env); |
} else { |
} else { |
&Apache::lonnet::logthis("<font color=\"blue\">WARNING: ". |
&Apache::lonnet::logthis("<span style=\"color:blue;\">WARNING: ". |
'Could not create environment storage in lonauth: '.$!.'</font>'); |
'Could not create environment storage in lonauth: '.$!.'</span>'); |
return 'error: '.$!; |
return 'error: '.$!; |
} |
} |
} |
} |
Line 9779 sub _add_to_env {
|
Line 10151 sub _add_to_env {
|
# --- Get the symbolic name of a problem and the url |
# --- Get the symbolic name of a problem and the url |
sub get_symb { |
sub get_symb { |
my ($request,$silent) = @_; |
my ($request,$silent) = @_; |
(my $url=$env{'form.url'}) =~ s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; |
(my $url=$env{'form.url'}) =~ s-^https?\://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; |
my $symb=($env{'form.symb'} ne '' ? $env{'form.symb'} : (&Apache::lonnet::symbread($url))); |
my $symb=($env{'form.symb'} ne '' ? $env{'form.symb'} : (&Apache::lonnet::symbread($url))); |
if ($symb eq '') { |
if ($symb eq '') { |
if (!$silent) { |
if (!$silent) { |
Line 9806 sub get_annotation {
|
Line 10178 sub get_annotation {
|
} |
} |
|
|
sub clean_symb { |
sub clean_symb { |
my ($symb) = @_; |
my ($symb,$delete_enc) = @_; |
|
|
&Apache::lonenc::check_decrypt(\$symb); |
&Apache::lonenc::check_decrypt(\$symb); |
my $enc = $env{'request.enc'}; |
my $enc = $env{'request.enc'}; |
delete($env{'request.enc'}); |
if ($delete_enc) { |
|
delete($env{'request.enc'}); |
|
} |
|
|
return ($symb,$enc); |
return ($symb,$enc); |
} |
} |