--- loncom/interface/londocs.pm 2009/07/27 20:35:40 1.382 +++ loncom/interface/londocs.pm 2009/10/16 19:00:44 1.393 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.382 2009/07/27 20:35:40 tempelho Exp $ +# $Id: londocs.pm,v 1.393 2009/10/16 19:00:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,6 +35,7 @@ use Apache::Constants qw(:common :http); use Apache::imsexport; use Apache::lonnet; use Apache::loncommon; +use Apache::lonhtmlcommon; use LONCAPA::map(); use Apache::lonratedt(); use Apache::lonxml; @@ -119,8 +120,8 @@ sub dumpbutton { my $type = &Apache::loncommon::course_type(); if ($home+$other==0) { return ''; } if ($home) { - return ''. + my $link = "".&mt('Dump '.$type.' DOCS to Construction Space').""; + return $link.' '. &Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs').'
'; } else { return '
'. @@ -262,9 +263,7 @@ sub dumpcourse { sub exportbutton { my $type = &Apache::loncommon::course_type(); - return ''. + return "".&mt('IMS Export')."". &Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'
'; } @@ -1033,11 +1032,7 @@ sub breadcrumbs { if ($3) { $isencrypted=1; } if ($4 ne '') { $is_random_order = 1; } if ($folder eq 'supplemental') { - if ($allowed) { - $name = &mt('Supplemental '.$type.' Documents'); - } else { - $name = &mt($type.' Documents'); - } + $name = &mt('Supplemental '.$type.' Documents'); } &Apache::lonhtmlcommon::add_breadcrumb( {'href'=>$url.$cpinfo, @@ -1494,7 +1489,6 @@ sub handle_edit_cmd { sub editor { my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$type)=@_; - my $container= ($env{'form.pagepath'}) ? 'page' : 'sequence'; @@ -1633,16 +1627,20 @@ sub editor { $shown++; } if ($shown) { - $r->print(&Apache::loncommon::start_data_table() - .&Apache::loncommon::start_data_table_header_row() - .''.&mt('Move').'' - .''.&mt('Actions').'' - .''.&mt('Document').'' - .''.&mt('Settings').'' - .&Apache::loncommon::end_data_table_header_row() - .$output - .&Apache::loncommon::end_data_table() - ) + $r->print(&Apache::loncommon::start_data_table()); + if ($allowed) { + $r->print(&Apache::loncommon::start_data_table_header_row() + .''.&mt('Move').'' + .''.&mt('Actions').'' + .''.&mt('Document').''); + if ($folder !~ /^supplemental/) { + $->print(''.&mt('Settings').''); + } + $r->print(&Apache::loncommon::end_data_table_header_row()); + } + $r->print($output + .&Apache::loncommon::end_data_table() + ); } else { $r->print('

' .&mt('Currently no documents.') @@ -1719,7 +1717,7 @@ sub process_file_upload { return 'failed'; } else { if ($parseaction eq 'parse') { - my $total_embedded = keys(%{$allfiles}); + my $total_embedded = scalar(keys(%{$allfiles})); if ($total_embedded > 0) { my $num = 0; my $state = ' @@ -1793,7 +1791,6 @@ sub parse_supplemental_title { sub entryline { my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_; - my ($foldertitle,$pagetitle,$renametitle); if (&is_supplemental_title($title)) { ($title,$foldertitle,$renametitle) = &parse_supplemental_title($title); @@ -2702,6 +2699,26 @@ sub handler { $allowed=0; } +# subroutine to list form elements +sub create_list_elements { + my @formarr = @_; + my $list = ''; + for my $button (@formarr){ + for my $picture(keys %$button) { + #my $link = Apache::lonhtmlcommon::htmltag('a' ,$button->{$picture}, {href => "test"}); + $list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); + } + } + return $list; +} + +# subroutine to create ul from list elements +sub create_form_ul { + my $list = shift; + my $ul = Apache::lonhtmlcommon::htmltag('ul',$list, {class => 'LC_ListStyleNormal'}); + return $ul; +} + # get course data my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'}; my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; @@ -2724,11 +2741,28 @@ sub handler { .$script."\n" .'// ]]>'."\n" .''."\n"; - my $brcrum = [{href=>"/adm/createuser",text=>"$type Documents"}]; - $r->print(&Apache::loncommon::start_page("$type Documents", $script, - {'force_register' => $showdoc, - 'bread_crumbs' => $brcrum}). - &Apache::loncommon::help_open_menu('','',273,'RAT')); + + # Breadcrumbs + &Apache::lonhtmlcommon::clear_breadcrumbs(); + if ($allowed) { + &Apache::lonhtmlcommon::add_breadcrumb({ + href=>"/adm/coursedocs",text=>"$type Editor"}); + + $r->print(&Apache::loncommon::start_page("$type Editor", $script, + {'force_register' => $showdoc,}) + .&Apache::loncommon::help_open_menu('','',273,'RAT') + .&Apache::lonhtmlcommon::breadcrumbs( + 'Editing the Table of Contents for your '.$type, + 'Docs_Adding_Course_Doc') + ); + } else { + my $lc_type = lc($type); + &Apache::lonhtmlcommon::add_breadcrumb({ + href=>"/adm/coursedocs",text=>"Supplemental $lc_type documents"}); + + $r->print(&Apache::loncommon::start_page("Supplemental documents"). + &Apache::lonhtmlcommon::breadcrumbs()); + } my %allfiles = (); my %codebase = (); @@ -2871,6 +2905,9 @@ FIUP CHBO + my @fileuploada = ( + { 'pic01' => " $help{'Uploading_From_Harddrive'}" }, + ); my $fileuploadform=(< @@ -2884,27 +2921,23 @@ CHBO $checkbox -
-
- - - $help{'Uploading_From_Harddrive'} - +FUFORM + $fileuploadform .= create_form_ul(create_list_elements(@fileuploada)); + $fileuploadform .= (< FUFORM my $simpleeditdefaultform=(< - $uploadtag - -
- - - $help{'Importing_LON-CAPA_Resource'} - -
- +SEDFFORM + my @simpleeditdefaultforma = ( + { 'pic03' => "$uploadtag$lt{'srch'}" }, + { 'pic04' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" }, + { 'pic05' => "$lt{'book'}" }, + ); + $simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma)); + $simpleeditdefaultform .=(<

$lt{'copm'}
@@ -2921,10 +2954,7 @@ SEDFFORM

$uploadtag - - $help{'Adding_External_Resource'} - + $lt{'extr'}$help{'Adding_External_Resource'}
ERFORM @@ -2964,8 +2994,10 @@ ERFORM HIDDENFORM } # --------------------------------------------------------- Main tab structure + my $activeClass = 1; my $active = ''; + $r->print('
'); (($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { $env{'form.folderpath'} = 'supplemental&'. &escape(&mt('Supplemental '.$type.' Documents')); - }else{ + } elsif ($allowed) { $env{'form.folderpath'} = $savefolderpath; } $env{'form.pagepath'} = ''; @@ -3268,8 +3296,11 @@ $r->print(''); my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); + my @supupdocform = ( + {'pic27'=>"$help{'Uploading_From_Harddrive'}"}, + ); my $supupdocform=(< +
$fileupload
@@ -3279,42 +3310,30 @@ $r->print('');

$lt{'comment'}:
- +
- - - $help{'Uploading_From_Harddrive'} - -
SUPDOCFORM + $supupdocform .= create_form_ul(create_list_elements(@supupdocform)).""; my $supnewfolderform=(< - - $help{'Adding_Folders'} - + $lt{'newf'} + $help{'Adding_Folders'} SNFFORM - + my $supnewextform=(< - - $help{'Adding_External_Resource'} - + $lt{'extr'} $help{'Adding_External_Resource'} SNEFORM @@ -3324,45 +3343,53 @@ SNEFORM - - + $lt{'syll'} $help{'Syllabus'} - SNSFORM my $supnewaboutmeform=(< +
- - + $lt{'mypi'} $help{'My Personal Information Page'} -
SNAMFORM - +my @specialdocs = ( + {'pic29'=>$supnewextform}, + {'pic30'=>$supnewsylform}, + {'pic31'=>$supnewaboutmeform}, + ); my %suporderhash = ( - 'ee' => ['Upload Document',$supupdocform.'
'.$supnewfolderform], - 'ff' => ['Special Documents',$supnewextform.'
'.$supnewsylform.'
'.$supnewaboutmeform], - 'zz' => ['Hide'], + '00' => ['Supnewfolder', $supnewfolderform], + 'ee' => ['Upload Document',$supupdocform], + 'ff' => ['Special Documents',create_form_ul(create_list_elements(@specialdocs))] ); -my $tid='2'; -my $varscd = 'Supplemental Course Documents'; + my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); + if ($error) { + $r->print('

'.$error.'

'); + } + my $tid='2'; + my $varscd = 'Supplemental Course Documents'; + $r->print(&generate_edit_table($tid,$varscd,\%suporderhash)); + } else { + my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); + if ($error) { + $r->print('

'.$error.'

'); + } + } + -$r->print(&generate_edit_table($tid,$varscd,\%suporderhash)); -my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); - if ($error) { - $r->print('

'.$error.'

'); - } -$r->print(''); - } $r->print(''); +$r->print(''); + + if ($allowed) { $r->print('
@@ -3398,17 +3425,18 @@ sub generate_admin_options { my %env = %{$env_ref}; my $dumpbut=&dumpbutton(); my $exportbut=&exportbutton(); - return (< - $help{'Verify_Content'}
- $help{'Check_Resource_Versions'}
- $dumpbut - $exportbut - -
- - -ENDOPTIONFORM + my @list = ( + {'pic21'=>"$lt{'vc'}$help{'Verify_Content'}"}, + {'pic22'=>"$lt{'cv'}$help{'Check_Resource_Versions'}"}, + ); + if($dumpbut ne ''){ + push @list, {'pic23'=>$dumpbut}; + } + push @list, ({'pic24'=>$exportbut}, + {'pic25'=>"$lt{'ls'}"}, + {'pic26'=>"$lt{'sl'}"}, + ); + return '
'.create_form_ul(create_list_elements(@list)).'
'; } @@ -3425,26 +3453,22 @@ sub generate_edit_table { $form = '
'; $form .= ''; $form .= '
'; foreach my $field (keys(%orderhash)){ - if($field ne 'zz'){ + if($field ne '00'){ if($activetab eq '' || $activetab ne $field){ $active = 'style="display: none;"'; }elsif($activetab eq $field){ @@ -3691,8 +3715,8 @@ for (i = 0; i < currentDivs.length; i++) function openTabs(pageId) { tabnav = document.getElementById(pageId).getElementsByTagName('UL'); - if(tabnav.length > 0 ){ - currentNav = document.getElementById(tabnav[0].id); + if(tabnav.length > 2 ){ + currentNav = document.getElementById(tabnav[1].id); currentLis = currentNav.getElementsByTagName('LI'); for(i = 0; i< currentLis.length; i++){ if(currentLis[i].className == 'active') { @@ -3715,6 +3739,13 @@ function showPage(current, pageId, nav, return false; } +function injectData(current, hiddenField, name, value) { + currentElement = document.getElementById(hiddenField); + currentElement.name = name; + currentElement.value = value; + current.submit(); +} + ENDNEWSCRIPT } 1;