--- loncom/interface/loncommon.pm 2012/03/11 00:48:54 1.1058 +++ loncom/interface/loncommon.pm 2012/03/17 20:11:26 1.1059 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1058 2012/03/11 00:48:54 raeburn Exp $ +# $Id: loncommon.pm,v 1.1059 2012/03/17 20:11:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -10005,12 +10005,12 @@ sub archive_row { my ($is_dir,$item,$currdir,$depth,$count) = @_; my ($name) = ($item =~ m{([^/]+)$}); my %choices = &Apache::lonlocal::texthash ( - 'display' => 'Add as File', + 'display' => 'Add as file', 'dependency' => 'Include as dependency', 'discard' => 'Discard', ); if ($is_dir) { - $choices{'display'} = &mt('Add as Folder'); + $choices{'display'} = &mt('Add as folder'); } my $output = &start_data_table_row().''.$count.''."\n"; my $offset = 0; @@ -10023,7 +10023,7 @@ sub archive_row { if ($is_dir) { $output .= ' onclick="javascript:propagateCheck(this.form,'."'$count'".');"'; if ($action eq 'display') { - $text = &mt('Add as Folder'); + $text = &mt('Add as folder'); } } else { $output .= ' onclick="javascript:dependencyCheck(this.form,'."$count,$offset".');"'; @@ -10037,6 +10037,10 @@ sub archive_row { ''."\n". ''."\n". ''; + } elsif ($action eq 'display') { + $output .= ''; } $output .= ''; } @@ -10065,9 +10069,9 @@ sub archive_options_form { '

'. '
'. ''.&mt('Content actions for all').''. - ''. - '  '. '  '. @@ -10084,6 +10088,7 @@ sub archive_options_form { sub archive_javascript { my ($startcount,$numitems,$titles,$children) = @_; return unless ((ref($titles) eq 'HASH') && (ref($children) eq 'HASH')); + my $maintitle = $env{'form.comment'}; my $scripttag = < // 0) { - var startelement = $startcount + ((count-1) * 6); - for (var j=1; j<5; j++) { - if (j != 3) { + var startelement = $startcount + ((count-1) * 7); + for (var j=1; j<6; j++) { + if ((j != 2) && (j != 4)) { var item = startelement + j; if (form.elements[item].type == 'radio') { if (form.elements[item].checked) { @@ -10129,6 +10134,7 @@ var parents = new Array(numitems); for (var i=0; i 0) { dependencyCheck(form,count,offset); - var item = (offset+$startcount)+6*(count-1); + var item = (offset+$startcount)+7*(count-1); form.elements[item].checked = true; if(Object.prototype.toString.call(parents[count]) === '[object Array]') { if (parents[count].length > 0) { @@ -10162,17 +10168,17 @@ function containerCheck(form,count,offse function dependencyCheck(form,count,offset) { if (count > 0) { - var chosen = (offset+$startcount)+6*(count-1); - var depitem = $startcount + ((count-1) * 6) + 3; + var chosen = (offset+$startcount)+7*(count-1); + var depitem = $startcount + ((count-1) * 7) + 4; var currtype = form.elements[depitem].type; if (form.elements[chosen].value == 'dependency') { document.getElementById('arc_depon_'+count).style.display='block'; form.elements[depitem].options.length = 0; form.elements[depitem].options[0] = new Option('Select','',true,true); for (var i=1; i 0) { - var item = (1+offset+$startcount)+6*(count-1); + var item = (2+offset+$startcount)+7*(count-1); var picked = form.elements[item].options[form.elements[item].selectedIndex].value; if (Object.prototype.toString.call(parents[count]) === '[object Array]') { if (parents[count].length > 0) { @@ -10209,7 +10216,7 @@ function propagateSelect(form,count,offs function containerSelect(form,count,offset,picked) { if (count > 0) { - var item = (offset+$startcount)+6*(count-1); + var item = (1+offset+$startcount)+7*(count-1); if (form.elements[item].type == 'radio') { if (form.elements[item].value == 'dependency') { if (form.elements[item+1].type == 'select-one') { @@ -10232,6 +10239,26 @@ function containerSelect(form,count,offs } } +function titleCheck(form,count,offset) { + if (count > 0) { + var chosen = (offset+$startcount)+7*(count-1); + var depitem = $startcount + ((count-1) * 7) + 2; + var currtype = form.elements[depitem].type; + if (form.elements[chosen].value == 'display') { + document.getElementById('arc_title_'+count).style.display='block'; + if ((count==1) && ((parents[count].length > 0) || (numitems == 1))) { + document.getElementById('archive_title_'+count).value=maintitle; + } + } else { + document.getElementById('arc_title_'+count).style.display='none'; + if (currtype == 'text') { + document.getElementById('archive_title_'+count).value=''; + } + } + } + return; +} + // ]]> END @@ -10298,8 +10325,12 @@ sub process_extracted_files { } } } elsif ($env{'form.archive_'.$i} eq 'display') { - my ($title,$url,$outer); + my ($docstitle,$title,$url,$outer); ($title) = ($path =~ m{/([^/]+)$}); + $docstitle = $env{'form.archive_title_'.$i}; + if ($docstitle eq '') { + $docstitle = $title; + } $outer = 0; if (ref($dirorder{$i}) eq 'ARRAY') { if (@{$dirorder{$i}} > 0) { @@ -10325,7 +10356,7 @@ sub process_extracted_files { $folders{$i}.'.'.$containers{$i}; my $newidx = &LONCAPA::map::getresidx(); $LONCAPA::map::resources[$newidx]= - $title.':'.$url.':false:normal:res'; + $docstitle.':'.$url.':false:normal:res'; push(@LONCAPA::map::order,$newidx); my ($outtext,$errtext) = &LONCAPA::map::storemap('/uploaded/'.$docudom.'/'. @@ -10350,7 +10381,7 @@ sub process_extracted_files { $newdest{$i} = "$prefix$dir/$docstype/$mapinner{$outer}/$newidx"; } $LONCAPA::map::resources[$newidx]= - $title.':'.$url.':false:normal:res'; + $docstitle.':'.$url.':false:normal:res'; push(@LONCAPA::map::order, $newidx); my ($outtext,$errtext)= &LONCAPA::map::storemap('/uploaded/'.$docudom.'/'.