--- loncom/interface/londocs.pm 2003/01/20 17:30:31 1.45 +++ loncom/interface/londocs.pm 2003/05/21 00:48:27 1.56 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.45 2003/01/20 17:30:31 www Exp $ +# $Id: londocs.pm,v 1.56 2003/05/21 00:48:27 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'; } @@ -174,6 +179,20 @@ sub editor { # Store the changed version &storemap($coursenum,$coursedom,$folder.'.sequence'); } +# Loading a complete map + if (($ENV{'form.importmap'}) && ($ENV{'form.loadmap'})) { + foreach +(&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) { + my $idx=$#Apache::lonratedt::resources; + $idx++; + $Apache::lonratedt::resources[$idx]=$_; + $Apache::lonratedt::order + [$#Apache::lonratedt::order+1]=$idx; + } + +# Store the changed version + &storemap($coursenum,$coursedom,$folder.'.sequence'); + } } # ---------------------------------------------------------------- End commands # ---------------------------------------------------------------- Print screen @@ -183,7 +202,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 +212,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)),'\"\<\>\&\''); @@ -213,16 +232,18 @@ sub entryline { # Edit commands if ($allowed) { $line.=(< -
+ + - -
+ UP
+
+ DOWN
- -Remove +
+ +Remove -Rename +Rename END } # Figure out what kind of a resource this is @@ -244,7 +265,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.=''. @@ -340,7 +372,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 +498,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 +517,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)); + &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(< @@ -587,18 +656,28 @@ ENDCOURSEVERIFY # --------------------------------------------------------- Standard documents $r->print(''); if (($standard) && ($allowed) && (!$forcesupplement)) { - $r->print(' @@ -616,14 +695,21 @@ Title:
- + $help{'Uploading_From_Harddrive'}

Main Course Documents

'); + $r->print('

Main Course Documents'. + ($allowed?' '.$help{'Main_Course_Documents'}:'').'

'); my $folder=$ENV{'form.folder'}; unless ($folder=~/^default/) { $folder='default'; } + my $postexec=''; + if ($folder eq 'default') { + $r->print(''); + } else { + $postexec='self.close();'; + } $hadchanges=0; &editor($r,$coursenum,$coursedom,$folder,$allowed); if ($hadchanges) { - $r->print('
'. -'

Changes will become active for your current session after , or the next time you log in.

'); + $r->print( +''. +'
'. +'

Changes will become active for your current session after , or the next time you log in.

'); } my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. '.sequence'; + $r->print(<
Upload a new main course document
+ + +$help{'Importing_LON-CAPA_Resource'}
+ +
@@ -632,35 +718,43 @@ Title:
+value="New Folder" /> $help{'Adding_Folders'}
+value="External Resource" /> $help{'Adding_External_Resource'}
- -
+ + $help{'Creating_From_Template'}
+$help{'Navigate_Content'}
+onClick="javascript:makesmppage();" /> $help{'Creating_From_Template'} +
+
+ + + + $help{'Creating_From_Template'}
@@ -668,14 +762,14 @@ onClick="javascript:makesmppage();" /> -
+$help{'Creating_From_Template'}
-
+$help{'Creating_From_Template'}
ENDFORM @@ -684,7 +778,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); @@ -709,15 +804,22 @@ ENDFORM - + $help{'Uploading_From_Harddrive'}
+ + +"javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import">$help{'Importing_LON-CAPA_Resource'} +
+ +
@@ -726,7 +828,7 @@ ENDFORM +value="New Folder" /> $help{'Adding_Folders'}
@@ -734,7 +836,7 @@ value="New Folder" /> +value="External Resource" /> $help{'Adding_External_Resource'}
@@ -742,14 +844,14 @@ value="External Resource" /> -
+$help{'Creating_From_Template'}
-
+$help{'Creating_From_Template'} ENDSUPFORM