'.
+ return ' '.
''.
&mt('(More ...)').' '.
''.$dc_info.'
';
@@ -4811,22 +4720,8 @@ sub make_attr_string {
delete($attr_ref->{$key});
}
}
- $attr_ref->{'onload'} =
- &Apache::lonmenu::loadevents(). $on_load;
- $attr_ref->{'onunload'}=
- &Apache::lonmenu::unloadevents().$on_unload;
- }
-
-# Accessibility font enhance
- if ($env{'browser.fontenhance'} eq 'on') {
- my $style;
- foreach my $key (keys(%{$attr_ref})) {
- if (lc($key) eq 'style') {
- $style.=$attr_ref->{$key}.';';
- delete($attr_ref->{$key});
- }
- }
- $attr_ref->{'style'}=$style.'; font-size: x-large;';
+ $attr_ref->{'onload'} = $on_load;
+ $attr_ref->{'onunload'}= $on_unload;
}
my $attr_string;
@@ -4900,6 +4795,10 @@ sub standard_css {
my $vlink = &designparm($function.'.vlink', $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 $mono = 'monospace';
my $data_table_head = $sidebg;
@@ -4924,6 +4823,7 @@ sub standard_css {
$env{'browser.type'} eq 'safari' ) ? '0 2px 0 2px'
: '0 3px 0 4px';
+
return < legend {
#LC_nav_bar {
float: left;
- margin: 0 0 2px 0;
+ margin: 0;
}
#LC_realm {
@@ -6159,21 +6044,11 @@ fieldset > legend {
font-style: normal;
}
-/* Preliminary fix to hide nav_bar inside bookmarks window */
-#LC_bookmarks #LC_nav_bar {
- display:none;
-}
-
ol.LC_primary_menu {
float: right;
margin: 0;
}
-span.LC_new_message{
- font-weight:bold;
- color: darkred;
-}
-
ol#LC_PathBreadcrumbs {
margin: 0;
}
@@ -6194,28 +6069,9 @@ ol.LC_primary_menu a {
text-decoration: none;
}
-ol.LC_docs_parameters {
- margin-left: 0;
- padding: 0;
- list-style: none;
-}
-
-ol.LC_docs_parameters li {
- margin: 0;
- padding-right: 20px;
- display: inline;
-}
-
-ol.LC_docs_parameters li:before {
- content: "\\002022 \\0020";
-}
-
-li.LC_docs_parameters_title {
- font-weight: bold;
-}
-
-ol.LC_docs_parameters li.LC_docs_parameters_title:before {
- content: "";
+ol.LC_primary_menu a.LC_new_message {
+ font-weight:bold;
+ color: darkred;
}
ul#LC_secondary_menu {
@@ -6262,7 +6118,7 @@ ul.LC_TabContent {
ul.LC_TabContent li {
vertical-align:middle;
- padding: 0 16px 0 10px;
+ padding: 0 10px 0 10px;
background-color:$tabbg;
border-bottom:solid 1px $lg_border_color;
border-right: solid 1px $font;
@@ -6278,14 +6134,12 @@ ul.LC_TabContent li {
text-decoration:none;
font-size:95%;
font-weight:bold;
+ padding-right: 16px;
min-height:20px;
}
-ul.LC_TabContent li a:hover,
-ul.LC_TabContent li a:focus {
+ul.LC_TabContent li a:hover {
color: $button_hover;
- background:none;
- outline:none;
}
ul.LC_TabContent li:hover {
@@ -6300,11 +6154,6 @@ ul.LC_TabContent li.active {
cursor: default;
}
-ul.LC_TabContent li.active a {
- color:$font;
- background:#FFFFFF;
- outline: none;
-}
#maincoursedoc {
clear:both;
}
@@ -6323,10 +6172,6 @@ ul.LC_TabContentBigger li {
color: #737373;
}
-ul.LC_TabContentBigger li.active {
- position: relative;
- top: 1px;
-}
ul.LC_TabContentBigger li a {
background:url('/adm/lonIcons/tabbgleft.gif') left bottom no-repeat;
@@ -6335,33 +6180,31 @@ ul.LC_TabContentBigger li a {
text-align: center;
display: block;
text-decoration: none;
- outline: none;
}
+ul.LC_TabContentBigger li:hover a,
ul.LC_TabContentBigger li.active a {
background:url('/adm/lonIcons/tabbgleft.gif') left top no-repeat;
color:$font;
+ text-decoration: underline;
}
+
ul.LC_TabContentBigger li b {
background: url('/adm/lonIcons/tabbgright.gif') no-repeat right bottom;
display: block;
float: left;
padding: 0 30px;
- border-bottom: 1px solid $lg_border_color;
-}
-
-ul.LC_TabContentBigger li:hover b {
- color:$button_hover;
}
+ul.LC_TabContentBigger li:hover b,
ul.LC_TabContentBigger li.active b {
background:url('/adm/lonIcons/tabbgright.gif') right top no-repeat;
color:$font;
- border: 0;
- cursor:default;
+ border-bottom: 1px solid #FFFFFF;
}
+
ul.LC_CourseBreadcrumbs {
background: $sidebg;
line-height: 32px;
@@ -6391,14 +6234,6 @@ ul.LC_CourseBreadcrumbs li a {
font-size:90%;
}
-ol#LC_MenuBreadcrumbs h1 {
- display: inline;
- font-size: 90%;
- line-height: 2.5em;
- margin: 0;
- padding: 0;
-}
-
ol#LC_PathBreadcrumbs li a {
text-decoration:none;
font-size:100%;
@@ -6495,6 +6330,52 @@ div.LC_columnSection>* {
overflow:hidden;
}
+.LC_loginpage_container {
+ text-align:left;
+ margin : 0 auto;
+ width:90%;
+ padding: 10px;
+ height: auto;
+ background-color:#FFFFFF;
+ border:1px solid #CCCCCC;
+}
+
+
+.LC_loginpage_loginContainer {
+ float:left;
+ 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 {
+ float:left;
+ width:182px;
+ border:1px solid #CCCCCC;
+ padding:2px;
+}
+
+.LC_loginpage_space {
+ clear: both;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #CCCCCC;
+}
+
+.LC_loginpage_floatLeft {
+ float: left;
+ width: 200px;
+ margin: 0;
+}
+
table em {
font-weight: bold;
font-style: normal;
@@ -6530,14 +6411,6 @@ 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);
}
@@ -6680,7 +6553,7 @@ sub headtag {
$result .= &Apache::lonhtmlcommon::htmlareaheaders();
}
if ($args->{'force_register'}) {
- $result .= &Apache::lonmenu::registerurl(1);
+ $result .= &Apache::lonmenu::registerurl();
}
if (!$args->{'no_nav_bar'}
&& !$args->{'only_body'}
@@ -6741,6 +6614,10 @@ Inputs: none
sub xml_begin {
my $output='';
+ if ($env{'internal.start_page'}==1) {
+ &Apache::lonhtmlcommon::init_htmlareafields();
+ }
+
if ($env{'browser.mathml'}) {
$output=''
#.''."\n"
@@ -6833,14 +6710,14 @@ $args - additional optional args support
skip_phases -> hash ref of
head -> skip the generation
body -> skip all generation
- no_inline_link -> if true and in remote mode, don't show the
- 'Switch To Inline Menu' link
+#RC no_inline_link -> if true and in remote mode, don't show the
+#RC 'Switch To Inline Menu' link
no_auto_mt_title -> prevent &mt()ing the title arg
inherit_jsmath -> when creating popup window in a page,
should it have jsmath forced on by the
current page
bread_crumbs -> Array containing breadcrumbs
- bread_crumbs_component -> if exists show it as headline else show only the breadcrumbs
+ bread_crumbs_components -> if exists show it as headline else show only the breadcrumbs
=back
@@ -6900,7 +6777,8 @@ sub start_page {
return $result if $args->{'only_body'};
#Breadcrumbs for Construction Space provided by &bodytag.
- if (($env{'environment.remote'} eq 'off') && ($env{'request.state'} eq 'construct')) {
+ if (
+ $env{'request.state'} eq 'construct') {
return $result;
}
@@ -7035,26 +6913,15 @@ sub simple_error_page {
{
my @row_count;
-
- sub start_data_table_count {
- unshift(@row_count, 0);
- return;
- }
-
- sub end_data_table_count {
- shift(@row_count);
- return;
- }
-
sub start_data_table {
my ($add_class) = @_;
my $css_class = (join(' ','LC_data_table',$add_class));
- &start_data_table_count();
+ unshift(@row_count,0);
return ''."\n";
}
sub end_data_table {
- &end_data_table_count();
+ shift(@row_count);
return '
'."\n";;
}
@@ -7233,8 +7100,7 @@ role status: active, previous or future.
sub check_user_status {
my ($udom,$uname,$cdom,$crs,$role,$sec) = @_;
- my $extra = &Apache::lonnet::freeze_escape({'skipcheck' => 1});
- my %userinfo = &Apache::lonnet::dump('roles',$udom,$uname,'.',undef,$extra);
+ my %userinfo = &Apache::lonnet::dump('roles',$udom,$uname);
my @uroles = keys %userinfo;
my $srchstr;
my $active_chk = 'none';
@@ -8273,10 +8139,6 @@ sub get_institutional_codes {
return;
}
-sub get_standard_codeitems {
- return ('Year','Semester','Department','Number','Section');
-}
-
=pod
=head1 Slot Helpers
@@ -8468,83 +8330,14 @@ sub get_env_multiple {
sub ask_for_embedded_content {
my ($actionurl,$state,$allfiles,$codebase,$args)=@_;
- my (%subdependencies,%dependencies,%newfiles);
+ my $upload_output = '
+ ';
- }
+ $upload_output .= &Apache::loncommon::end_data_table().'
+
+
+ '.&mt('(only files for which a location has been provided will be uploaded)').'
+ ';
return $upload_output;
}
@@ -8621,7 +8407,8 @@ sub upload_embedded {
$dir_root,$port_path,$disk_quota,
$current_disk_usage,$uname,$udom);
if ($state eq 'will_exceed_quota'
- || $state eq 'file_locked') {
+ || $state eq 'file_locked'
+ || $state eq 'file_exists' ) {
$output .= $msg;
next;
}
@@ -8648,25 +8435,18 @@ sub upload_embedded {
$env{'form.embedded_item_'.$i.'.filename'}=$fname;
if ($context eq 'portfolio') {
- my $result;
- if ($state eq 'existingfile') {
- $result=
- &Apache::lonnet::userfileupload('embedded_item_'.$i,'existingfile',
- $dirpath.$path,);
+ my $result=
+ &Apache::lonnet::userfileupload('embedded_item_'.$i,'',
+ $dirpath.$path);
+ if ($result !~ m|^/uploaded/|) {
+ $output .= ''
+ .&mt('An error occurred ([_1]) while trying to upload [_2] for embedded element [_3].'
+ ,$result,$orig_uploaded_filename,$env{'form.embedded_orig_'.$i})
+ .' ';
+ next;
} else {
- $result=
- &Apache::lonnet::userfileupload('embedded_item_'.$i,'',
- $dirpath.$path);
- if ($result !~ m|^/uploaded/|) {
- $output .= ''
- .&mt('An error occurred ([_1]) while trying to upload [_2] for embedded element [_3].'
- ,$result,$orig_uploaded_filename,$env{'form.embedded_orig_'.$i})
- .' ';
- next;
- } else {
- $output .= ''.&mt('Uploaded [_1]',''.
- $path.$fname.' ').'
';
- }
+ $output .= ''.&mt('Uploaded [_1]',''.
+ $path.$fname.' ').'
';
}
} else {
# Save the file
@@ -8732,24 +8512,14 @@ sub check_for_existing {
sub check_for_upload {
my ($path,$fname,$group,$element,$portfolio_root,$port_path,
$disk_quota,$current_disk_usage,$uname,$udom) = @_;
- my $filesize = length($env{'form.'.$element});
- if (!$filesize) {
- my $msg = ''.
- &mt('Unable to upload [_1]. (size = [_2] bytes)',
- ''.$fname.' ',
- $filesize).' '.
- &mt('Either the file you uploaded was empty, or your web browser was unable to read its contents.').' ';
- ' ';
- return ('zero_bytes',$msg);
- }
- $filesize = $filesize/1000; #express in k (1024?)
+ my $filesize = (length($env{'form.'.$element})) / 1000; #express in k (1024?)
my $getpropath = 1;
my @dir_list = &Apache::lonnet::dirlist($portfolio_root.$path,$udom,$uname,
$getpropath);
my $found_file = 0;
my $locked_file = 0;
foreach my $line (@dir_list) {
- my ($file_name,$rest)=split(/\&/,$line,2);
+ my ($file_name)=split(/\&/,$line,2);
if ($file_name eq $fname){
$file_name = $path.$file_name;
if ($group ne '') {
@@ -8758,20 +8528,6 @@ sub check_for_upload {
$found_file = 1;
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') {
$locked_file = 1;
- } else {
- my @info = split(/\&/,$rest);
- my $currsize = $info[6]/1000;
- if ($currsize < $filesize) {
- my $extra = $filesize - $currsize;
- if (($current_disk_usage + $extra) > $disk_quota) {
- my $msg = ''.
- &mt('Unable to upload [_1]. (size = [_2] kilobytes). Disk quota will be exceeded if existing (smaller) file with same name (size = [_3] kilobytes) is replaced.',
- ''.$fname.' ',$filesize,$currsize).' '.
- ' '.&mt('Disk quota is [_1] kilobytes. Your current disk usage is [_2] kilobytes.',
- $disk_quota,$current_disk_usage);
- return ('will_exceed_quota',$msg);
- }
- }
}
}
}
@@ -8789,9 +8545,11 @@ sub check_for_upload {
return ('file_locked',$msg);
} else {
my $msg = '';
- $msg .= &mt(' A file by that name: [_1] was found in [_2].',''.$fname.' ',$port_path.$env{'form.currentpath'});
+ $msg .= &mt('Unable to upload [_1]. A file by that name was found in [_2].',''.$fname.' ',$port_path.$env{'form.currentpath'});
$msg .= ' ';
- return ('existingfile',$msg);
+ $msg .= ' ';
+ $msg .= &mt('To upload, rename or delete existing [_1] in [_2].',''.$fname.' ', $port_path.$env{'form.currentpath'});
+ return ('file_exists',$msg);
}
}
}
@@ -10701,7 +10459,7 @@ sub construct_course {
$title=&mt('Syllabus');
$url='/public/'.$$crsudom.'/'.$$crsunum.'/syllabus';
} else {
- $title=&mt('Table of Contents');
+ $title=&mt('Navigate Contents');
$url='/adm/navmaps';
}
@@ -10718,6 +10476,8 @@ sub construct_course {
############################################################
############################################################
+#SD
+# only Community and Course, or anything else?
sub course_type {
my ($cid) = @_;
if (!defined($cid)) {
@@ -10883,15 +10643,12 @@ sub init_user_environment {
my %userenv = &Apache::lonnet::dump('environment',$domain,$username);
my ($tmp) = keys(%userenv);
if ($tmp !~ /^(con_lost|error|no_such_host)/i) {
- # default remote control to off
- if ($userenv{'remote'} ne 'on') { $userenv{'remote'} = 'off'; }
} else {
undef(%userenv);
}
if (($userenv{'interface'}) && (!$form->{'interface'})) {
$form->{'interface'}=$userenv{'interface'};
}
- $env{'environment.remote'}=$userenv{'remote'};
if ($userenv{'texengine'} eq 'ttm') { $clientmathml=1; }
# --------------- Do not trust query string to be put directly into environment
@@ -10923,28 +10680,21 @@ sub init_user_environment {
$initial_env{"browser.localres"} = $form->{'localres'};
}
- if ($public) {
- $initial_env{"environment.remote"} = "off";
- }
if ($form->{'interface'}) {
$form->{'interface'}=~s/\W//gs;
$initial_env{"browser.interface"} = $form->{'interface'};
$env{'browser.interface'}=$form->{'interface'};
}
- my %is_adv = ( is_adv => $env{'user.adv'} );
- my %domdef = &Apache::lonnet::get_domain_defaults($domain);
foreach my $tool ('aboutme','blog','portfolio') {
$userenv{'availabletools.'.$tool} =
- &Apache::lonnet::usertools_access($username,$domain,$tool,'reload',
- undef,\%userenv,\%domdef,\%is_adv);
+ &Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
}
foreach my $crstype ('official','unofficial','community') {
$userenv{'canrequest.'.$crstype} =
&Apache::lonnet::usertools_access($username,$domain,$crstype,
- 'reload','requestcourses',
- \%userenv,\%domdef,\%is_adv);
+ 'reload','requestcourses');
}
$env{'user.environment'} = "$lonids/$cookie.id";
@@ -11023,36 +10773,6 @@ sub clean_symb {
return ($symb,$enc);
}
-sub build_release_hashes {
- my ($checkparms,$checkresponsetypes,$checkcrstypes,$anonsurvey,$randomizetry) = @_;
- return unless((ref($checkparms) eq 'HASH') && (ref($checkresponsetypes) eq 'HASH') &&
- (ref($checkcrstypes) eq 'HASH') && (ref($anonsurvey) eq 'HASH') &&
- (ref($randomizetry) eq 'HASH'));
- foreach my $key (keys(%Apache::lonnet::needsrelease)) {
- my ($item,$name,$value) = split(/:/,$key);
- if ($item eq 'parameter') {
- if (ref($checkparms->{$name}) eq 'ARRAY') {
- unless(grep(/^\Q$name\E$/,@{$checkparms->{$name}})) {
- push(@{$checkparms->{$name}},$value);
- }
- } else {
- push(@{$checkparms->{$name}},$value);
- }
- } elsif ($item eq 'resourcetag') {
- if ($name eq 'responsetype') {
- $checkresponsetypes->{$value} = $Apache::lonnet::needsrelease{$key}
- }
- } elsif ($item eq 'course') {
- if ($name eq 'crstype') {
- $checkcrstypes->{$value} = $Apache::lonnet::needsrelease{$key};
- }
- }
- }
- ($anonsurvey->{major},$anonsurvey->{minor}) = split(/\./,$Apache::lonnet::needsrelease{'parameter:type:anonsurvey'});
- ($randomizetry->{major},$randomizetry->{minor}) = split(/\./,$Apache::lonnet::needsrelease{'parameter:type:randomizetry'});
- return;
-}
-
=pod
=back