--- loncom/interface/londocs.pm 2010/12/07 01:15:39 1.442 +++ loncom/interface/londocs.pm 2010/12/08 02:08:21 1.445 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.442 2010/12/07 01:15:39 www Exp $ +# $Id: londocs.pm,v 1.445 2010/12/08 02:08:21 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2636,33 +2636,18 @@ sub startContentScreen { $r->print('    '.&mt('Content Overview').'    '); my $active = ''; -# does this user have privileges to modify docs +# does this user have privileges to modify docs? my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); my $onclick; my $href; if ($allowed) { - if (($mode eq 'navmaps') || ($mode eq 'tools')) { - $href="/adm/coursedocs"; - $onclick=''; - } else { - $href='#'; - $onclick=' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"'; - } - $r->print('
  •       '.&mt('Content Editor').'      
  • '); - } - if (($mode eq 'navmaps') || ($mode eq 'tools')) { - $href="/adm/coursedocs"; - $onclick=''; - } else { - $href='#'; - $onclick=' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"'; + $r->print('
  •       '.&mt('Content Editor').'      
  • '); } - - $r->print('
  • '.&mt('Supplemental Documents').'
  • '); + $r->print('
  • '.&mt('Supplemental Documents').'
  • '); $r->print(''); $r->print('
    ' .'
    '); @@ -2685,7 +2670,7 @@ sub handler { return OK if $r->header_only; my $crstype = &Apache::loncommon::course_type(); - +# # --------------------------------------------- Initialize help topics for this foreach my $topic ('Adding_Course_Doc','Main_Course_Documents', 'Adding_External_Resource','Navigate_Content', @@ -2730,23 +2715,48 @@ sub handler { &init_breadcrumbs('exportcourse','IMS Export'); &exportcourse($r); } else { -# is this a standard course? +# +# Done catching special calls +# The whole rest is for course and supplemental documents +# Get the parameters that may be needed +# + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['folderpath','pagepath', + 'pagesymb','forcesupplement','forcestandard']); + +# standard=1: this is a "new-style" course with an uploaded map as top level +# standard=2: this is a "old-style" course, and there is nothing we can do my $standard=($env{'request.course.uri'}=~/^\/uploaded\//); - my $forcestandard = 0; - my $forcesupplement; + +# Decide whether this should display supplemental or main content +# supplementalflag=1: show supplemental documents +# supplementalflag=0: show standard documents + + + my $supplementalflag=($env{'form.folderpath'}=~/^supplemental/); + if (($env{'form.folderpath'}=~/^default/) || $env{'form.folderpath'} eq "" || ($env{'form.pagepath'})) { + $supplementalflag=0; + } + if ($env{'form.forcesupplement'}) { $supplementalflag=1; } + if ($env{'form.forcestandard'}) { $supplementalflag=0; } + unless ($allowed) { $supplementalflag=1; } + unless ($standard) { $supplementalflag=1; } + my $script=''; my $showdoc=0; my $containertag; my $uploadtag; - - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['folderpath','pagepath', - 'pagesymb']); +# Where do we store these for when we come back? + my $stored_folderpath='docs_folderpath'; + if ($supplementalflag) { + $stored_folderpath='docs_sup_folderpath'; + } + # No folderpath, no pagepath, see if we have something stored if ((!$env{'form.folderpath'}) && (!$env{'form.pagepath'})) { - &Apache::loncommon::restore_course_settings('docs_folderpath', + &Apache::loncommon::restore_course_settings($stored_folderpath, {'folderpath' => 'scalar'}); } if (!$allowed) { @@ -2755,7 +2765,7 @@ sub handler { } } if (!$env{'form.folderpath'} && $allowed) { - &Apache::loncommon::restore_course_settings('docs_folderpath', + &Apache::loncommon::restore_course_settings($stored_folderpath, {'pagepath' => 'scalar'}); } if ($env{'form.pagepath'}) { @@ -2766,9 +2776,12 @@ sub handler { &escape(&mt('Supplemental '.$crstype.' Documents')).'&'. $env{'form.folderpath'}; } - &Apache::loncommon::store_course_settings('docs_folderpath', +# Store this + if ($allowed) { + &Apache::loncommon::store_course_settings($stored_folderpath, {'pagepath' => 'scalar', 'folderpath' => 'scalar'}); + } if ($env{'form.folderpath'}) { my (@folderpath)=split('&',$env{'form.folderpath'}); $env{'form.foldername'}=&unescape(pop(@folderpath)); @@ -2802,12 +2815,6 @@ sub handler { if ($showdoc) { # got called in sequence from course $allowed=0; } else { - if (($env{'form.folder'}=~/^(?:group|default)_/) || - ($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) { - $forcestandard = 1; - } - $forcesupplement=($env{'form.folder'}=~/^supplemental_/); - if ($allowed) { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']); $script=&Apache::lonratedt::editscript('simple'); @@ -2977,12 +2984,7 @@ CHBO $checkbox FUFORM - #$list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); - #$fileuploadform .= create_form_ul(create_list_elements(@fileuploada)); - $fileuploadform .= create_form_ul(Apache::lonhtmlcommon::htmltag('li',$fileuploada,{class => 'LC_menubuttons_inline_text'})); - $fileuploadform .= (< -FUFORM + $fileuploadform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$fileuploada,{class => 'LC_menubuttons_inline_text'})).''; my $simpleeditdefaultform=(< @@ -2993,7 +2995,7 @@ SEDFFORM { ''.$lt{impo}.'' => "$lt{'impo'}$help{'Importing_LON-CAPA_Resource'}" }, { ''.$lt{wish}.'' => "$lt{'wish'}" }, ); - $simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma)); + $simpleeditdefaultform .= &create_form_ul(&create_list_elements(@simpleeditdefaultforma)); $simpleeditdefaultform .=(<

    @@ -3041,14 +3043,16 @@ HIDDENFORM } # Generate the tabs - &startContentScreen($r,'docs'); + &startContentScreen($r,($supplementalflag?'supdocs':'docs')); + + # my $savefolderpath; if ($allowed) { my $folder=$env{'form.folder'}; - if ($folder eq '' || $folder=~/^supplemental/) { + if ($folder eq '' || $supplementalflag) { $folder='default'; $savefolderpath = $env{'form.folderpath'}; $env{'form.folderpath'}='default&'.&escape(&mt('Content')); @@ -3242,7 +3246,7 @@ NGFFORM my @importdoc = ( {''.$lt{extr}.''=>$extresourcesform}, {''.$lt{imsf}.''=>$imspform},); - $fileuploadform = create_form_ul(create_list_elements(@importdoc)) . '


    ' . $fileuploadform; + $fileuploadform = &create_form_ul(&create_list_elements(@importdoc)) . '
    ' . $fileuploadform; push @specialdocumentsforma, ({''.$lt{navc}.''=>$newnavform}, {''.$lt{sipa}.''=>$newsmppageform}, @@ -3254,7 +3258,7 @@ NGFFORM {''.$lt{abou}.''=>$newaboutsomeoneform}, {''.$lt{rost}.''=>$newrosterform},); - $specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma)); + $specialdocumentsform = &create_form_ul(&create_list_elements(@specialdocumentsforma)); } if($env{'form.pagepath'}) { @@ -3263,7 +3267,7 @@ if($env{'form.pagepath'}) { {''.&mt('Simple Problem').''=>$newsmpproblemform}, {''.&mt('Score Upload Form').''=>$newexuploadform} ); - $specialdocumentsform= create_form_ul(create_list_elements(@specialdocumentsforma)); + $specialdocumentsform= &create_form_ul(&create_list_elements(@specialdocumentsforma)); } my @tools = ( @@ -3276,30 +3280,32 @@ my %orderhash = ( 'aa' => ['Import Documents',$fileuploadform], 'bb' => ['Published Resources',$simpleeditdefaultform], 'cc' => ['Special Documents',$specialdocumentsform], - 'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options(\%help,\%env)], + 'dd' => ['Tools', &create_form_ul(&create_list_elements(@tools)).&generate_admin_options(\%help,\%env)], ); unless($env{'form.pagepath'}) { $orderhash{'00'} = ['Newfolder',$newfolderform]; } -my $tid='1'; $hadchanges=0; - my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); - if ($error) { - $r->print('

    '.$error.'

    '); - } - if ($hadchanges) { - &mark_hash_old(); - } + unless ($supplementalflag) { + my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); + if ($error) { + $r->print('

    '.$error.'

    '); + } + if ($hadchanges) { + &mark_hash_old(); + } - &changewarning($r,''); -$r->print(&generate_edit_table($tid,\%orderhash)); + &changewarning($r,''); + $r->print(&generate_edit_table('1',\%orderhash)); + } -$r->print('
    '); } +# Supplemental documents start here + my $folder=$env{'form.folder'}; - unless ($folder=~/^supplemental/) { + unless ($supplementalflag) { $folder='supplemental'; } if ($folder =~ /^supplemental$/ && @@ -3334,7 +3340,7 @@ $r->print('
    '); SUPDOCFORM - $supupdocform .= create_form_ul(Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'})).""; + $supupdocform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'})).""; my $supnewfolderform=(< @@ -3389,20 +3395,20 @@ my @supimportdoc = ( {''.$lt{extr}.'' =>$supnewextform}, ); -$supupdocform = create_form_ul(create_list_elements(@supimportdoc)) . '
    ' . $supupdocform; +$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)) . '
    ' . $supupdocform; my %suporderhash = ( '00' => ['Supnewfolder', $supnewfolderform], 'ee' => ['Import Documents',$supupdocform], - 'ff' => ['Special Documents',create_form_ul(create_list_elements(@specialdocs))] + 'ff' => ['Special Documents',&create_form_ul(&create_list_elements(@specialdocs))] ); - - my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); - if ($error) { - $r->print('

    '.$error.'

    '); + if ($supplementalflag) { + my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); + if ($error) { + $r->print('

    '.$error.'

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

    '.$error.'

    '); @@ -3500,7 +3506,7 @@ sub generate_admin_options { {''.$lt{sl}.'' =>"$lt{'sl'}"}, ); - return '
    '.create_form_ul(create_list_elements(@list)).'
    '; + return '
    '.&create_form_ul(&create_list_elements(@list)).'
    '; }