');
@@ -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
{ '' => "$help{'Importing_LON-CAPA_Resource'}" },
{ '' => "" },
);
- $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 = (
{''=>$extresourcesform},
{''=>$imspform},);
- $fileuploadform = create_form_ul(create_list_elements(@importdoc)) . '
' . $fileuploadform;
+ $fileuploadform = &create_form_ul(&create_list_elements(@importdoc)) . '
' . $fileuploadform;
push @specialdocumentsforma, ({''=>$newnavform},
{''=>$newsmppageform},
@@ -3254,7 +3258,7 @@ NGFFORM
{''=>$newaboutsomeoneform},
{''=>$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'}) {
{''=>$newsmpproblemform},
{''=>$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('