--- loncom/interface/londocs.pm 2009/07/14 17:33:43 1.381 +++ loncom/interface/londocs.pm 2009/10/16 00:38:10 1.391 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.381 2009/07/14 17:33:43 bisitz Exp $ +# $Id: londocs.pm,v 1.391 2009/10/16 00:38:10 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').'
'; } @@ -1643,7 +1642,8 @@ sub editor { .$output .&Apache::loncommon::end_data_table() ) - } else { + } + unless($shown) { $r->print('

' .&mt('Currently no documents.') .'

' @@ -1719,7 +1719,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 = ' @@ -2702,6 +2702,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 +2744,19 @@ 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(); + &Apache::lonhtmlcommon::add_breadcrumb({ + href=>"/adm/createuser",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') + ); my %allfiles = (); my %codebase = (); @@ -2871,6 +2899,9 @@ FIUP CHBO + my @fileuploada = ( + { 'pic01' => " $help{'Uploading_From_Harddrive'}" }, + ); my $fileuploadform=(< @@ -2884,27 +2915,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 +2948,7 @@ SEDFFORM

$uploadtag - - $help{'Adding_External_Resource'} - + $lt{'extr'}$help{'Adding_External_Resource'}
ERFORM @@ -2964,8 +2988,10 @@ ERFORM HIDDENFORM } # --------------------------------------------------------- Main tab structure + my $activeClass = 1; my $active = ''; + $r->print('' .'
' .'
'); @@ -2990,6 +3018,7 @@ HIDDENFORM if($activeClass == 0){ $active = 'style="display: block;"'; } + if($env{'request.role'}=~/^cc/){ $r->print('
'); my $folder=$env{'form.folder'}; if ($folder eq '' || $folder=~/^supplemental/) { @@ -3024,14 +3053,14 @@ HIDDENFORM my $recoverform=(< - + $lt{'reco'} RFORM my $imspform=(< - + $lt{'imsf'} IMSPFORM @@ -3041,10 +3070,8 @@ IMSPFORM $uploadtag - - + $lt{'navc'} $help{'Navigate_Content'} - NNFORM my $newsmppageform=(< $uploadtag - - $help{'Simple Page'} - + $lt{'sipa'} + $help{'Simple Page'} NSPFORM @@ -3064,10 +3089,8 @@ NSPFORM $uploadtag - - $help{'Simple Problem'} - + $lt{'sipr'} + $help{'Simple Problem'} NSPROBFORM @@ -3077,10 +3100,7 @@ NSPROBFORM $uploadtag - - - + $lt{'drbx'} NDBFORM @@ -3089,11 +3109,8 @@ NDBFORM $uploadtag - - + $lt{'scuf'} $help{'Score_Upload_Form'} - NEXUFORM @@ -3102,11 +3119,8 @@ NEXUFORM $uploadtag - - + $lt{'bull'} $help{'Bulletin Board'} - NBFORM @@ -3116,10 +3130,8 @@ NBFORM $uploadtag - - + $lt{'mypi'} $help{'My Personal Information Page'} - NAMFORM @@ -3128,10 +3140,7 @@ NAMFORM $uploadtag - - - + $lt{'abou'} NASOFORM @@ -3142,42 +3151,36 @@ NASOFORM $uploadtag - - + $lt{'rost'} $help{'Course Roster'} - NROSTFORM my $specialdocumentsform; +my @specialdocumentsforma; my $newfolderform; +my $newfolderb; unless ($env{'form.pagepath'}) { my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); - + my $newpageform=(< - - $help{'Adding_Pages'} - + $lt{'newp'} + $help{'Adding_Pages'} NPFORM + $newfolderform=(< - - $help{'Adding_Folders'} - + $lt{'newf'}$help{'Adding_Folders'} NFFORM @@ -3187,10 +3190,9 @@ NFFORM $uploadtag - - + $lt{'syll'} $help{'Syllabus'} - + NSYLFORM @@ -3200,34 +3202,53 @@ NSYLFORM $uploadtag - - + $lt{'grpo'} $help{'Group Portfolio'} - NGFFORM - - $specialdocumentsform="
$newpageform
$newsylform
$newgroupfileform"; + @specialdocumentsforma=( + {'pic06'=>$newpageform}, + {'pic07'=>$newsylform}, + {'pic08'=>$newgroupfileform}, + ); + } - $specialdocumentsform.="
$newnavform
$newsmppageform -
$newsmpproblemform
$newdropboxform -
$newexuploadform
$newbulform -
$newaboutmeform
$newaboutsomeoneform -
$newrosterform"; + push @specialdocumentsforma, ({'pic09'=>$newnavform}, + {'pic10'=>$newsmppageform}, + {'pic11'=>$newsmpproblemform}, + {'pic12'=>$newdropboxform}, + {'pic13'=>$newexuploadform}, + {'pic14'=>$newbulform}, + {'pic15'=>$newaboutmeform}, + {'pic16'=>$newaboutsomeoneform}, + {'pic17'=>$newrosterform},); + + $specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma)); + if($env{'form.pagepath'}) { - $specialdocumentsform="
$newsmpproblemform
$newexuploadform"; + + @specialdocumentsforma=( + {'pic32'=>$newsmpproblemform}, + {'pic33'=>$newexuploadform} + ); + $specialdocumentsform= create_form_ul(create_list_elements(@specialdocumentsforma)); } +my @tools = ( + {'pic18'=>$extresourcesform}, + {'pic19'=>$imspform}, + {'pic20'=>$recoverform}, + ); + my %orderhash = ( - 'aa' => ['Upload Document',$fileuploadform.'
'.$newfolderform], + '00' => ['Newfolder',$newfolderform], + 'aa' => ['Upload Document',$fileuploadform], 'bb' => ['Published Resources',$simpleeditdefaultform], 'cc' => ['Special Documents',$specialdocumentsform], - 'dd' => ['Tools',$extresourcesform.'
'.$imspform.'
'.$recoverform.'
'.&generate_admin_options($containertag,$uploadtag,\%help,\%env)], - 'zz' => ['Hide'], + 'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options($containertag,$uploadtag,\%help,\%env)], ); my $tid='1'; my $varcd = 'Main Course Documents'; -$r->print(&generate_edit_table($tid,$varcd,\%orderhash)); $hadchanges=0; my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); if ($error) { @@ -3238,9 +3259,10 @@ $r->print(&generate_edit_table($tid,$var } &changewarning($r,''); - $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc', - &mt('Editing the Table of Contents for your '.$type))); +$r->print(&generate_edit_table($tid,$varcd,\%orderhash)); + $r->print('
'); + } if ($env{'form.pagepath'}) { } # ----------------------------------------------------- Supplemental documents @@ -3268,8 +3290,11 @@ $r->print('
'); my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); + my @supupdocform = ( + {'pic27'=>"$help{'Uploading_From_Harddrive'}"}, + ); my $supupdocform=(< +
$fileupload
@@ -3279,42 +3304,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 +3337,48 @@ 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'; - -$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(&generate_edit_table($tid,$varscd,\%suporderhash)); +} + + $r->print(''); +$r->print(''); + + if ($allowed) { $r->print('
@@ -3398,17 +3414,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)).'
'; } @@ -3422,29 +3439,25 @@ sub generate_edit_table { if($env{'form.active'} ne ''){ $activetab = $env{'form.active'}; } - $form = '

'.&mt($varcd).'

'; + $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 +3704,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 +3728,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;