--- loncom/interface/loncommon.pm 2009/03/04 12:43:31 1.762
+++ loncom/interface/loncommon.pm 2009/03/21 21:41:14 1.775
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.762 2009/03/04 12:43:31 bisitz Exp $
+# $Id: loncommon.pm,v 1.775 2009/03/21 21:41:14 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -924,16 +924,22 @@ sub help_open_topic {
# Add the text
if ($text ne "") {
- $template.="$text";
+ $template.=''
+ .''
+ .$text.'';
}
- # Add the graphic
+ # (Always) Add the graphic
my $title = &mt('Online Help');
my $helpicon=&lonhttpdurl("/adm/help/help.png");
- $template .= <<"ENDTEMPLATE";
-
-ENDTEMPLATE
-
+ $template.=' '
+ .'';
+ if ($text ne "") {
+ $template.='';
+ }
return $template;
}
@@ -945,25 +951,26 @@ sub helpLatexCheatsheet {
my $out;
my $addOther = '';
if ($topic) {
- $addOther = &Apache::loncommon::help_open_topic($topic,$text,
- 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).
- ' | ';
+ $addOther = ''.&Apache::loncommon::help_open_topic($topic,&mt($text),
+ undef, undef, 600).
+ ' ';
+ }
+ $out = '' # Start cheatsheet
+ .$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 .= ' '
+ .&Apache::loncommon::help_open_topic('Authoring_Output_Tags',&mt('Output Tags'),
+ undef,undef,600)
+ .'';
}
- $out .= ' ';
+ $out .= ''; # End cheatsheet
return $out;
}
@@ -2119,14 +2126,14 @@ sub authform_kerberos {
$autharg,$jscall);
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'});
if ($in{'kerb_def_auth'} eq 'krb5') {
- $check5 = ' checked="on"';
+ $check5 = ' checked="checked"';
} else {
- $check4 = ' checked="on"';
+ $check4 = ' checked="checked"';
}
$krbarg = $in{'kerb_def_dom'};
if (defined($in{'curr_authtype'})) {
if ($in{'curr_authtype'} eq 'krb') {
- $krbcheck = ' checked="on"';
+ $krbcheck = ' checked="checked"';
if (defined($in{'mode'})) {
if ($in{'mode'} eq 'modifyuser') {
$krbcheck = '';
@@ -2134,10 +2141,10 @@ sub authform_kerberos {
}
if (defined($in{'curr_kerb_ver'})) {
if ($in{'curr_krb_ver'} eq '5') {
- $check5 = ' checked="on"';
+ $check5 = ' checked="checked"';
$check4 = '';
} else {
- $check4 = ' checked="on"';
+ $check4 = ' checked="checked"';
$check5 = '';
}
}
@@ -2228,7 +2235,7 @@ sub authform_internal{
if (defined($in{'curr_authtype'})) {
if ($in{'curr_authtype'} eq 'int') {
if ($can_assign{'int'}) {
- $intcheck = 'checked="on" ';
+ $intcheck = 'checked="checked" ';
if (defined($in{'mode'})) {
if ($in{'mode'} eq 'modifyuser') {
$intcheck = '';
@@ -2283,7 +2290,7 @@ sub authform_local{
if (defined($in{'curr_authtype'})) {
if ($in{'curr_authtype'} eq 'loc') {
if ($can_assign{'loc'}) {
- $loccheck = 'checked="on" ';
+ $loccheck = 'checked="checked" ';
if (defined($in{'mode'})) {
if ($in{'mode'} eq 'modifyuser') {
$loccheck = '';
@@ -2337,7 +2344,7 @@ sub authform_filesystem{
if (defined($in{'curr_authtype'})) {
if ($in{'curr_authtype'} eq 'fsys') {
if ($can_assign{'fsys'}) {
- $fsyscheck = 'checked="on" ';
+ $fsyscheck = 'checked="checked" ';
if (defined($in{'mode'})) {
if ($in{'mode'} eq 'modifyuser') {
$fsyscheck = '';
@@ -3815,7 +3822,7 @@ sub blocking_status {
&Apache::lonnet::coursedescription($course);
$coursedesc = $courseinfo{'description'};
}
- $category = "Group files in the course '$coursedesc'";
+ $category = "Group portfolio in the course '$coursedesc'";
} else {
$category = 'Portfolio files belonging to ';
if ($env{'user.name'} eq 'public' &&
@@ -4514,19 +4521,11 @@ table.thinborder tr td {
form, .inline { display: inline; }
-.LC_center { text-align: center; }
-.LC_left { text-align:left; }
.LC_right {text-align:right;}
.LC_middle {vertical-align:middle;}
-.LC_top {vertical-align:top;}
-.LC_bottom {vertical-align:bottom;}
/* just for tests */
-.LC_300Box { width:300px; }
.LC_400Box {width:400px; }
-.LC_500Box {width:500px; }
-.LC_600Box {width:600px; }
-.LC_800Box {width:800px;}
/* end */
.LC_filename {font-family: $mono; white-space:pre;}
@@ -4549,8 +4548,9 @@ form, .inline { display: inline; }
}
.LC_icon {
- border: 0px;
+ border: none;
}
+
.LC_indexer_icon {
border: 0px;
height: 22px;
@@ -4558,7 +4558,7 @@ form, .inline { display: inline; }
.LC_docs_spacer {
width: 25px;
height: 1px;
- border: 0px;
+ border: none;
}
.LC_internal_info {
@@ -4602,11 +4602,21 @@ table.LC_docs_path {
table#LC_title_bar td {
background: $tabbg;
}
-table#LC_title_bar td.LC_title_bar_who {
+table#LC_title_bar .LC_title_bar_who {
background: $tabbg;
color: $font;
font: small $sans;
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 {
font-family: $sans;
@@ -4645,10 +4655,6 @@ table#LC_top_nav td.LC_top_nav_logo img
border: 0px;
vertical-align: bottom;
}
-table#LC_top_nav td.LC_top_nav_exit,
-table#LC_top_nav td.LC_top_nav_help {
- width: 2.0em;
-}
table#LC_top_nav td.LC_top_nav_login {
width: 4.0em;
text-align: center;
@@ -4659,20 +4665,9 @@ table.LC_breadcrumbs td, table.LC_docs_p
font-family: $sans;
font-size: smaller;
}
-table.LC_breadcrumbs td.LC_breadcrumbs_component,
-table.LC_docs_path td.LC_docs_path_component {
- background: $tabbg;
- color: $font;
- font-family: $sans;
- font-size: larger;
- text-align: right;
-}
td.LC_table_cell_checkbox {
text-align: center;
}
-table#LC_mainmenu td.LC_mainmenu_column {
- vertical-align: top;
-}
.LC_fontsize_small
{
@@ -4689,11 +4684,6 @@ table#LC_mainmenu td.LC_mainmenu_column
font-size: 120%;
}
-.LC_fontcolor_red
-{
- color: #FF0000;
-}
-
.LC_menubuttons_inline_text {
color: $font;
font-family: $sans;
@@ -4880,9 +4870,6 @@ table.LC_calendar tr td {
table.LC_calendar tr td.LC_calendar_day_empty {
background-color: $data_table_dark;
}
-table.LC_calendar tr td.LC_calendar_day_current {
- background-color: $data_table_highlight;
-}
table.LC_mail_list tr.LC_mail_new {
background-color: $mail_new;
@@ -4908,26 +4895,13 @@ table.LC_mail_list tr.LC_mail_other {
table.LC_mail_list tr.LC_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_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 {
background: #CCFF88;
}
-table.LC_data_table tr > td.LC_browser_file_locked,
-table.LC_data_table tr > td.LC_browser_file_unpublished {
+table.LC_data_table tr > td.LC_browser_file_locked {
background: #FFAA99;
}
-table.LC_data_table tr > td.LC_browser_file_obsolete {
- background: #AAAAAA;
-}
-table.LC_data_table tr > td.LC_browser_file_modified,
-table.LC_data_table tr > td.LC_browser_file_metamodified {
- background: #FFFF77;
-}
table.LC_data_table tr.LC_browser_folder > td {
background: #CCCCFF;
}
@@ -4979,7 +4953,7 @@ span.LC_parm_folder, span.LC_parm_symb {
}
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 {
border: 1px solid black;
border-collapse: collapse;
}
@@ -5232,14 +5206,6 @@ table.LC_prior_tries td {
background: #AAAAFF;
color: black;
}
-.LC_answer_no_message {
- background: #FFFFFF;
- color: black;
-}
-.LC_answer_unknown {
- background: orange;
- color: black;
-}
span.LC_prior_numerical,
@@ -5269,6 +5235,7 @@ table.LC_prior_match tr td {
border: 1px solid #000000;
}
+td.LC_nobreak,
span.LC_nobreak {
white-space: nowrap;
}
@@ -5288,11 +5255,6 @@ table.LC_docs_documents {
border-collapse: collapse;
}
-table.LC_docs_documents td.LC_docs_document {
- border: 2px solid black;
- padding: 4px;
-}
-
.LC_docs_entry_move {
border: 0px;
border-collapse: collapse;
@@ -5511,13 +5473,6 @@ table#LC_mainmenu td.LC_mainmenu_col_fie
vertical-align: top;
width: 45%;
}
-.LC_mainmenu_fieldset_category {
- color: $font;
- background: $pgbg;
- font-family: $sans;
- font-size: small;
- font-weight: bold;
-}
div.LC_createcourse {
margin: 10px 10px 10px 10px;
@@ -5562,21 +5517,8 @@ h2,h3,h4,h5,h6
border:0px;
}
-.LC_bgLightGrey{
- background:URL(/adm/lonIcons/lightGreyBG.png) repeat-x left bottom;
-}
-
/* Main Header with discription of Person, Course, etc. */
-.LC_HeadRight {
- text-align: right;
- float: right;
- margin: 0px;
- padding: 0px;
- right:0;
- position:absolute;
- overflow:hidden;
-}
.LC_Right {
float: right;
@@ -5594,13 +5536,14 @@ p, .LC_ContentBox {
cursor:pointer;
text-decoration:underline;
}
-.LC_helptextbgcolor
-{
- background-color:#5555FF;
-}
-.LC_helptextfontcolor
-{
- color:#FFFFFF;
+
+.LC_help_open_topic {
+ color: #FFFFFF;
+ background-color: #EEEEFF;
+ margin: 1px;
+ padding: 4px;
+ border: 1px solid #000033;
+ white-space: nowrap;
}
dl,ul,div,fieldset {
@@ -5692,16 +5635,6 @@ ul.LC_TabContentBigger li, ul.LC_TabCont
font-size:110%;
font-weight:bold;
}
-#LC_CourseDocuments, #LC_SupplementalCourseDocuments
-{
- margin:0px;
-}
-
-.LC_hideThis
-{
- display:none;
- visibility:hidden;
-}
ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs {
border-top: solid 1px RGB(255, 255, 255);
@@ -5764,7 +5697,6 @@ dl.LC_ListStyleClean dd {
.LC_ListStyleClean,
.LC_ListStyleSimple,
.LC_ListStyleNormal,
-.LC_ListStyleNormal_Border,
.LC_ListStyleSpecial
{
/*display:block; */
@@ -5901,24 +5833,26 @@ table em{
font-weight: bold;
font-style: normal;
}
-
-table#LC_tableOfContent{
- border-collapse: collapse;
- border-spacing: 0;
+table.LC_tableBrowseRes,
+table.LC_tableOfContent{
+ border:none;
+ border-spacing: 1;
padding: 3px;
- border: 0;
background-color: #FFFFFF;
font-size: 90%;
}
-table#LC_tableOfContent a {
+table.LC_tableBrowseRes a,
+table.LC_tableOfContent a {
+ background-color: transparent;
text-decoration: none;
}
-table#LC_tableOfContent tr.LC_trOdd{
+table.LC_tableBrowseRes tr.LC_trOdd,
+table.LC_tableOfContent tr.LC_trOdd{
background-color: #EEEEEE;
}
-table#LC_tableOfContent img{
+table.LC_tableOfContent img{
border: none;
height: 1.3em;
vertical-align: text-bottom;
@@ -5929,7 +5863,7 @@ a#LC_content_toolbar_firsthomework{
background-image:url(/res/adm/pages/open-first-problem.gif);
}
-a#LC_content_toolbar_launchnav{
+a#LC_content_toolbar_launchnav{
background-image:url(/res/adm/pages/start-navigation.gif);
}
@@ -5973,12 +5907,13 @@ ul#LC_toolbar li{
border:1px solid white;
padding:0;
margin: 0;
- display:inline-block;
+ float: left;
+ display:inline;
vertical-align:middle;
}
a.LC_toolbarItem{
- display:inline-block;
+ display:block;
padding:0;
margin:0;
height: 32px;
@@ -7036,7 +6971,7 @@ sub default_quota {
['quotas'],$udom);
if (ref($quotahash{'quotas'}) eq 'HASH') {
if ($inststatus ne '') {
- my @statuses = split(/:/,$inststatus);
+ my @statuses = map { &unescape($_); } split(/:/,$inststatus);
foreach my $item (@statuses) {
if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') {
@@ -7502,6 +7437,7 @@ sub personal_data_fieldtitles {
middlename => 'Middle Name',
generation => 'Generation',
gen => 'Generation',
+ inststatus => 'Affiliation',
);
return %fieldtitles;
}
@@ -8867,9 +8803,10 @@ sub restore_settings {
=item * &build_recipient_list()
-Build recipient lists for three types of e-mail:
-(a) Error Reports, (b) Package Updates, (c) Help requests, generated by
-lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively.
+Build recipient lists for four types of e-mail:
+(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors
+(d) Help requests, generated by
+lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively.
Inputs:
defmail (scalar - email address of default recipient),
@@ -8893,17 +8830,21 @@ sub build_recipient_list {
my %domconfig =
&Apache::lonnet::get_dom('configuration',['contacts'],$defdom);
if (ref($domconfig{'contacts'}) eq 'HASH') {
- if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') {
- my @contacts = ('adminemail','supportemail');
- foreach my $item (@contacts) {
- if ($domconfig{'contacts'}{$mailing}{$item}) {
- my $addr = $domconfig{'contacts'}{$item};
- if (!grep(/^\Q$addr\E$/,@recipients)) {
- push(@recipients,$addr);
+ if (exists($domconfig{'contacts'}{$mailing})) {
+ if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') {
+ my @contacts = ('adminemail','supportemail');
+ foreach my $item (@contacts) {
+ if ($domconfig{'contacts'}{$mailing}{$item}) {
+ my $addr = $domconfig{'contacts'}{$item};
+ 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 '') {
push(@recipients,$origmail);
@@ -9174,7 +9115,7 @@ sub assign_categories_table {
my $checked = '';
if (@currcategories > 0) {
if (grep(/^\Q$item\E$/,@currcategories)) {
- $checked = ' checked="checked" ';
+ $checked = ' checked="checked"';
}
}
$output .= ' | '.
@@ -9240,7 +9181,7 @@ sub assign_category_rows {
if (ref($currcategories) eq 'ARRAY') {
if (@{$currcategories} > 0) {
if (grep(/^\Q$item\E$/,@{$currcategories})) {
- $checked = ' checked="checked" ';
+ $checked = ' checked="checked"';
}
}
}
@@ -10012,6 +9953,12 @@ sub init_user_environment {
&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";
if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id",
|