--- loncom/interface/londocs.pm 2002/12/09 22:27:20 1.40
+++ loncom/interface/londocs.pm 2003/02/25 19:30:51 1.50
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.40 2002/12/09 22:27:20 www Exp $
+# $Id: londocs.pm,v 1.50 2003/02/25 19:30:51 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -47,6 +47,10 @@ my %alreadyseen=();
my $hadchanges;
+# Available help topics
+
+my %help=();
+
# Mapread read maps into lonratedt::global arrays
# @order and @resources, determines status
# sets @order - pointer to resources in right order
@@ -166,6 +170,7 @@ sub editor {
my $ext='false';
if ($url=~/^http\:\/\//) { $ext='true'; }
$url=~s/\:/\:/g;
+ $name=~s/\:/\:/g;
$Apache::lonratedt::resources[$idx]=
$name.':'.$url.':'.$ext.':normal:res';
}
@@ -183,7 +188,7 @@ sub editor {
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]);
unless ($name) { $name=(split(/\//,$url))[-1]; }
unless ($name) { $name='NO RESOURCE'; $url='/adm/notfound.html'; }
- $r->print(&entryline($idx,$name,$url,$folder,$allowed));
+ $r->print(&entryline($idx,$name,$url,$folder,$allowed,$_));
$idx++;
}
$r->print('');
@@ -193,7 +198,7 @@ sub editor {
# --------------------------------------------------------------- An entry line
sub entryline {
- my ($index,$title,$url,$folder,$allowed)=@_;
+ my ($index,$title,$url,$folder,$allowed,$residx)=@_;
$title=~s/\&colon\;/\:/g;
$title=&HTML::Entities::encode(&HTML::Entities::decode(
&Apache::lonnet::unescape($title)),'\"\<\>\&\'');
@@ -244,7 +249,18 @@ END
}
}
$url=~s/^http\&colon\;\/\//\/adm\/wrapper\/ext\//;
- if ($isfolder) { $url.='&foldername='.$foldertitle; }
+ if ($residx) {
+ $url.=(($url=~/\?/)?'&':'?').'symb='.
+ &Apache::lonnet::escape(&Apache::lonnet::symbclean(
+ &Apache::lonnet::declutter('uploaded/'.
+ $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.'/'.
+ $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.'/'.$folder.
+ '.sequence').
+ '___'.$residx.'___'.
+ &Apache::lonnet::declutter($url)));
+ }
+ if ($isfolder) { $url.='&foldername='.
+ &Apache::lonnet::escape($foldertitle); }
$line.='
 | '.
@@ -275,7 +291,7 @@ sub checkonthis {
my ($r,$url,$level,$title)=@_;
$alreadyseen{$url}=1;
$r->rflush();
- if ($url) {
+ if (($url) && ($url!~/^\/uploaded\//) && ($url!~/\*$/)) {
$r->print('
');
for (my $i=0;$i<=$level*5;$i++) {
$r->print(' ');
@@ -340,7 +356,15 @@ sub handler {
$r->send_http_header;
return OK if $r->header_only;
-
+# --------------------------------------------- Initialize help topics for this
+ foreach ('Adding_Course_Doc','Main_Course_Documents',
+ 'Adding_External_Resource','Navigate_Content',
+ 'Adding_Folders','Docs_Overview',
+ 'Creating_From_Template','Supplemental',
+ 'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') {
+ $help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_);
+ }
+
if ($ENV{'form.verify'}) {
my $loaderror=&Apache::lonnet::overloaderror($r);
@@ -458,6 +482,7 @@ ENDHEADERS
my $script='';
my $allowed;
my $events='';
+ my $buttons='';
my $showdoc=0;
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['folder','foldername']);
@@ -476,9 +501,10 @@ ENDHEADERS
}
} else { # got called in sequence from course
$allowed=0;
- $script=''.&Apache::lonxml::registerurl(1,undef).''.&Apache::lonmenu::registerurl(1,undef).'
+
+ENDNEWSCRIPT
+ }
+# -------------------------------------------------------------------- Body tag
+ $r->print(''.
+ &Apache::loncommon::bodytag('Course Documents','',$events).
+ $buttons);
+ unless ($showdoc) {
+ if ($allowed) {
+ $r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc',
+ 'Editing the Table of Contents for your Course'));
+ $r->print(<
@@ -569,15 +607,6 @@ function changename(folder,index,oldtitl
-
-ENDNEWSCRIPT
- }
-# -------------------------------------------------------------------- Body tag
- $r->print(''.
- &Apache::loncommon::bodytag('Course Documents','',$events));
- unless ($showdoc) {
- if ($allowed) {
- $r->print(<
@@ -585,20 +614,24 @@ ENDNEWSCRIPT
ENDCOURSEVERIFY
}
# --------------------------------------------------------- Standard documents
- $r->print('');
+ $r->print('');
if (($standard) && ($allowed) && (!$forcesupplement)) {
- $r->print('Main Course Documents');
+ $r->print(' |
Main Course Documents'.
+ ($allowed?' '.$help{'Main_Course_Documents'}:'').'');
my $folder=$ENV{'form.folder'};
unless ($folder=~/^default/) { $folder='default'; }
$hadchanges=0;
&editor($r,$coursenum,$coursedom,$folder,$allowed);
if ($hadchanges) {
- $r->print('Changes will become active after re-initializing course or at next login.');
+ $r->print('');
}
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time.
'.sequence';
+
$r->print(<
+
ENDFORM
@@ -682,7 +716,8 @@ ENDFORM
# ----------------------------------------------------- Supplemental documents
if (!$forcestandard) {
$r->print(
- ' Supplemental Course Documents');
+ ' | Supplemental Course Documents'.
+ ($allowed?' '.$help{'Supplemental'}:'').'');
my $folder=$ENV{'form.folder'};
unless ($folder=~/supplemental/) { $folder='supplemental'; }
&editor($r,$coursenum,$coursedom,$folder,$allowed);
@@ -692,7 +727,7 @@ ENDFORM
'.sequence';
$r->print(<
+
ENDSUPFORM
| |