--- loncom/interface/loncommon.pm 2008/12/23 19:22:13 1.728
+++ loncom/interface/loncommon.pm 2009/02/07 20:45:27 1.743
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.728 2008/12/23 19:22:13 raeburn Exp $
+# $Id: loncommon.pm,v 1.743 2009/02/07 20:45:27 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -943,24 +943,30 @@ ENDTEMPLATE
# This is a quicky function for Latex cheatsheet editing, since it
# appears in at least four places
sub helpLatexCheatsheet {
- my $other = shift;
+ my ($topic,$text,$not_author) = @_;
+ my $out;
my $addOther = '';
- if ($other) {
- $addOther = Apache::loncommon::help_open_topic($other, shift,
- undef, undef, 600) .
+ if ($topic) {
+ $addOther = &Apache::loncommon::help_open_topic($topic,$text,
+ undef, undef, 600).
'
';
}
- return ''.
- $addOther .
- &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'),
- undef,undef,600)
- .' '.
- &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'),
- undef,undef,600)
- .' '.
- &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'),
- undef,undef,600)
- .'
';
+ $out = ''.
+ $addOther .
+ &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'),
+ undef,undef,600).
+ ' '.
+ &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'),
+ undef,undef,600).
+ ' ';
+ unless ($not_author) {
+ $out .= ''.
+ &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'),
+ undef,undef,600).
+ ' ';
+ }
+ $out .= '
';
+ return $out;
}
sub general_help {
@@ -1629,7 +1635,7 @@ sub multiple_select_form {
$size = scalar(keys(%$hash));
}
}
- $output.="\n";
+ $output.="\n".'';
my @order;
if (ref($order) eq 'ARRAY') {
@order = @{$order};
@@ -1740,7 +1746,7 @@ sub select_level_form {
=pod
-=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc)
+=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit)
Returns a string containing a form to
allow a user to select the domain to preform an operation in.
@@ -1749,16 +1755,22 @@ See loncreateuser.pm for an example invo
If the $includeempty flag is set, it also includes an empty choice ("no domain
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
#-------------------------------------------
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());
if ($includeempty) { @domains=('',@domains); }
- my $selectdomain = "\n";
+ my $selectdomain = "\n";
foreach my $dom (@domains) {
$selectdomain.="'.$dom;
@@ -3067,6 +3079,29 @@ sub languages {
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 ##
###############################################################
@@ -4493,6 +4528,7 @@ form, .inline { display: inline; }
.LC_200Box {width:200px; }
.LC_500Box {width:500px; }
.LC_600Box {width:600px; }
+.LC_800Box {width:800px;}
/* end */
.LC_filename {font-family: $mono; white-space:pre;}
@@ -4502,7 +4538,7 @@ form, .inline { display: inline; }
}
.LC_warning,
.LC_diff_removed {
-
+ color: red;
}
.LC_info,
@@ -4528,7 +4564,7 @@ form, .inline { display: inline; }
}
.LC_internal_info {
- color: #999;
+ color: #999999;
}
table.LC_pastsubmission {
@@ -4750,7 +4786,7 @@ table.LC_prior_tries tr th {
font-size:90%;
}
table.LC_data_table tr.LC_info_row > td {
- background-color: #CCC;
+ background-color: #CCCCCC;
font-weight: bold;
text-align: left;
}
@@ -4798,7 +4834,7 @@ table.LC_nested_outer tr td.LC_subheader
text-align: right;
}
table.LC_nested tr.LC_info_row td {
- background-color: #CCC;
+ background-color: #CCCCCC;
font-weight: bold;
font-size: small;
text-align: center;
@@ -4808,7 +4844,7 @@ table.LC_nested_outer tr th.LC_left_item
text-align: left;
}
table.LC_nested td {
- background-color: #FFF;
+ background-color: #FFFFFF;
font-size: small;
}
table.LC_nested_outer tr th.LC_right_item,
@@ -4819,7 +4855,7 @@ table.LC_nested tr td.LC_right_item {
}
table.LC_nested tr.LC_odd_row td {
- background-color: #EEE;
+ background-color: #EEEEEE;
}
table.LC_createuser {
@@ -4830,7 +4866,7 @@ table.LC_createuser tr.LC_section_row td
}
table.LC_createuser tr.LC_info_row td {
- background-color: #CCC;
+ background-color: #CCCCCC;
font-weight: bold;
text-align: center;
}
@@ -5020,6 +5056,7 @@ table.LC_pick_box td.LC_pick_box_title {
background: $tabbg;
font-weight: bold;
text-align: right;
+ vertical-align: top;
width: 184px;
padding: 8px;
}
@@ -5261,13 +5298,6 @@ table.LC_docs_documents td.LC_docs_docum
padding: 4px;
}
-.LC_docs_course_commands div {
- float: left;
- border: 4px solid #AAAAAA;
- padding: 4px;
- background: #DDDDCC;
-}
-
.LC_docs_entry_move {
border: 0px;
border-collapse: collapse;
@@ -5538,12 +5568,10 @@ h2,h3,h4,h5,h6
}
.LC_bgLightGrey{
- background:URL(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
-}
-.LC_bgLightGreyYellow {
- background-color:#EFECE0;
+ background:URL(/adm/lonIcons/lightGreyBG.png) repeat-x left bottom;
}
+
/* Main Header with discription of Person, Course, etc. */
.LC_HeadRight {
text-align: right;
@@ -5560,7 +5588,7 @@ p, .LC_ContentBox {
}
.LC_FormSectionClearButton input {
-
+ background-color:transparent;
border:0px;
cursor:pointer;
text-decoration:underline;
@@ -5590,24 +5618,29 @@ ol.LC_smallMenu a {
color: RGB(80, 80, 80);
text-decoration: none;
}
-
-ol#LC_TabMainMenuContent {
+ol#LC_TabMainMenueContent, ul.LC_TabContent,
+ul.LC_TabContentBigger {
display:block;
list-style:none;
- margin: 0px 0px 10px 0px;
+ margin: 0px;
padding: 0px;
}
-ol#LC_TabMainMenuContent li {
+ol#LC_TabMainMenuContent li, ul.LC_TabContent,
+ul.LC_TabContentBigger li{
display: inline;
+ border-right: solid 1px $lg_border_color;
+ float:left;
+ line-height:140%;
+ white-space:nowrap;
+}
+ol#LC_TabMainMenuContent li{
vertical-align: bottom;
border-bottom: solid 1px RGB(175, 175, 175);
- border-right: solid 1px RGB(175, 175, 175);
padding: 5px 10px 5px 10px;
- margin-right:3px;
- line-height: 140%;
+ margin-right:5px;
+ margin-bottom:3px;
font-weight: bold;
- white-space:nowrap;
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
}
@@ -5616,28 +5649,36 @@ ol#LC_TabMainMenuContent li a{
text-decoration: none;
}
ul.LC_TabContent {
- margin:0px;
- padding:0px;
- display:block;
- list-style:none;
- min-height:1.5em;
+ min-height:1.6em;
+ border-bottom:solid 1px $lg_border_color;
}
ul.LC_TabContent li{
- display:inline;
- vertical-align:top;
- border-bottom:solid 1px $lg_border_color;
- border-right:solid 1px $lg_border_color;
- padding:5px 10px 5px 10px;
- margin-right:2px;
- background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+ vertical-align:middle;
+ padding:0px 10px 0px 10px;
}
ul.LC_TabContent li a, ul.LC_TabContent li{
color:rgb(47,47,47);
text-decoration:none;
font-size:95%;
font-weight:bold;
- white-space:nowrap;
}
+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, ul.LC_TabContentBigger li a{
+ font-size:110%;
+ font-weight:bold;
+}
+#LC_CourseDocuments, #LC_SupplementalCourseDocuments
+{
+ margin:0px;
+}
+
.LC_hideThis
{
display:none;
@@ -5656,7 +5697,9 @@ ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcr
}
ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li {
+/*
background: url(/adm/lonIcons/arrow_white.png) no-repeat left center;
+*/
display: inline;
padding: 0px 0px 0px 10px;
vertical-align: bottom;
@@ -5676,19 +5719,6 @@ ol#LC_PathBreadcrumbs li a{
{
border: solid 1px $lg_border_color;
}
-.LC_PopUp
-{
- padding:10px;
- border-left:solid 1px $lg_border_color;
- 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;
-}
dl.LC_ListStyleClean dt {
padding-right: 5px;
@@ -5841,19 +5871,6 @@ div.LC_columnSection > .ContentBoxSpecia
border-bottom: 1px solid #CCCCCC;
}
-.LC_loginpage_fieldset{
- border: 1px solid #CCCCCC;
- margin: 0 auto;
-}
-
-.LC_loginpage_legend{
- padding: 2px;
- margin: 0px;
- font-size:14px;
- font-weight:bold;
-}
-
-
END
}
@@ -8068,7 +8085,7 @@ sub csv_print_select_table {
&end_data_table_header_row()."\n");
foreach my $array_ref (@$d) {
my ($value,$display,$defaultcol)=@{ $array_ref };
- $r->print(&start_data_table_row().''.$display.' ');
+ $r->print(&start_data_table_row().''.$display.' ');
$r->print('');
@@ -9934,11 +9951,13 @@ sub get_annotation {
}
sub clean_symb {
- my ($symb) = @_;
+ my ($symb,$delete_enc) = @_;
&Apache::lonenc::check_decrypt(\$symb);
my $enc = $env{'request.enc'};
- delete($env{'request.enc'});
+ if ($delete_enc) {
+ delete($env{'request.enc'});
+ }
return ($symb,$enc);
}