version 1.41, 2002/12/12 18:14:32
|
version 1.50, 2003/02/25 19:30:51
|
Line 47 my %alreadyseen=();
|
Line 47 my %alreadyseen=();
|
|
|
my $hadchanges; |
my $hadchanges; |
|
|
|
# Available help topics |
|
|
|
my %help=(); |
|
|
# Mapread read maps into lonratedt::global arrays |
# Mapread read maps into lonratedt::global arrays |
# @order and @resources, determines status |
# @order and @resources, determines status |
# sets @order - pointer to resources in right order |
# sets @order - pointer to resources in right order |
Line 166 sub editor {
|
Line 170 sub editor {
|
my $ext='false'; |
my $ext='false'; |
if ($url=~/^http\:\/\//) { $ext='true'; } |
if ($url=~/^http\:\/\//) { $ext='true'; } |
$url=~s/\:/\:/g; |
$url=~s/\:/\:/g; |
|
$name=~s/\:/\:/g; |
$Apache::lonratedt::resources[$idx]= |
$Apache::lonratedt::resources[$idx]= |
$name.':'.$url.':'.$ext.':normal:res'; |
$name.':'.$url.':'.$ext.':normal:res'; |
} |
} |
Line 183 sub editor {
|
Line 188 sub editor {
|
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]); |
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]); |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name='NO RESOURCE'; $url='/adm/notfound.html'; } |
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++; |
$idx++; |
} |
} |
$r->print('</table>'); |
$r->print('</table>'); |
Line 193 sub editor {
|
Line 198 sub editor {
|
# --------------------------------------------------------------- An entry line |
# --------------------------------------------------------------- An entry line |
|
|
sub entryline { |
sub entryline { |
my ($index,$title,$url,$folder,$allowed)=@_; |
my ($index,$title,$url,$folder,$allowed,$residx)=@_; |
$title=~s/\&colon\;/\:/g; |
$title=~s/\&colon\;/\:/g; |
$title=&HTML::Entities::encode(&HTML::Entities::decode( |
$title=&HTML::Entities::encode(&HTML::Entities::decode( |
&Apache::lonnet::unescape($title)),'\"\<\>\&\''); |
&Apache::lonnet::unescape($title)),'\"\<\>\&\''); |
Line 244 END
|
Line 249 END
|
} |
} |
} |
} |
$url=~s/^http\&colon\;\/\//\/adm\/wrapper\/ext\//; |
$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.='<td bgcolor="#FFFFBB"><a href="'.$url.'" target="cat_'.$folder. |
$line.='<td bgcolor="#FFFFBB"><a href="'.$url.'" target="cat_'.$folder. |
'"><img src="/adm/lonIcons/'. |
'"><img src="/adm/lonIcons/'. |
$icon.'.gif" border="0"></a></td>'. |
$icon.'.gif" border="0"></a></td>'. |
Line 340 sub handler {
|
Line 356 sub handler {
|
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
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'}) { |
if ($ENV{'form.verify'}) { |
|
|
my $loaderror=&Apache::lonnet::overloaderror($r); |
my $loaderror=&Apache::lonnet::overloaderror($r); |
Line 458 ENDHEADERS
|
Line 482 ENDHEADERS
|
my $script=''; |
my $script=''; |
my $allowed; |
my $allowed; |
my $events=''; |
my $events=''; |
|
my $buttons=''; |
my $showdoc=0; |
my $showdoc=0; |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['folder','foldername']); |
['folder','foldername']); |
Line 476 ENDHEADERS
|
Line 501 ENDHEADERS
|
} |
} |
} else { # got called in sequence from course |
} else { # got called in sequence from course |
$allowed=0; |
$allowed=0; |
$script='</script>'.&Apache::lonxml::registerurl(1,undef).'<script>'; |
$script='</script>'.&Apache::lonmenu::registerurl(1,undef).'<script>'; |
$events='onLoad="'.&Apache::lonxml::loadevents. |
$events='onLoad="'.&Apache::lonmenu::loadevents. |
'" onUnload="'.&Apache::lonxml::unloadevents.'"'; |
'" onUnload="'.&Apache::lonmenu::unloadevents.'"'; |
|
$buttons=&Apache::lonmenu::menubuttons(1,undef); |
} |
} |
|
|
# get course data |
# get course data |
Line 560 function changename(folder,index,oldtitl
|
Line 586 function changename(folder,index,oldtitl
|
} |
} |
} |
} |
</script> |
</script> |
|
|
|
ENDNEWSCRIPT |
|
} |
|
# -------------------------------------------------------------------- Body tag |
|
$r->print('</head>'. |
|
&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(<<ENDCOURSEVERIFY); |
<form name="renameform" method="post" action="/adm/coursedocs"> |
<form name="renameform" method="post" action="/adm/coursedocs"> |
<input type="hidden" name="title" /> |
<input type="hidden" name="title" /> |
<input type="hidden" name="cmd" /> |
<input type="hidden" name="cmd" /> |
Line 569 function changename(folder,index,oldtitl
|
Line 607 function changename(folder,index,oldtitl
|
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input type="hidden" name="folder" /> |
<input type="hidden" name="folder" /> |
</form> |
</form> |
|
|
ENDNEWSCRIPT |
|
} |
|
# -------------------------------------------------------------------- Body tag |
|
$r->print('</head>'. |
|
&Apache::loncommon::bodytag('Course Documents','',$events)); |
|
unless ($showdoc) { |
|
if ($allowed) { |
|
$r->print(<<ENDCOURSEVERIFY); |
|
<form action="/adm/coursedocs" method="post" name="courseverify"> |
<form action="/adm/coursedocs" method="post" name="courseverify"> |
<input type="submit" name="verify" value="Verify Content" /> |
<input type="submit" name="verify" value="Verify Content" /> |
<input type="submit" name="versions" value="Check Resource Versions" /> |
<input type="submit" name="versions" value="Check Resource Versions" /> |
Line 585 ENDNEWSCRIPT
|
Line 614 ENDNEWSCRIPT
|
ENDCOURSEVERIFY |
ENDCOURSEVERIFY |
} |
} |
# --------------------------------------------------------- Standard documents |
# --------------------------------------------------------- Standard documents |
$r->print('<table>'); |
$r->print('<table border=2 cellspacing=4 cellpadding=4>'); |
if (($standard) && ($allowed) && (!$forcesupplement)) { |
if (($standard) && ($allowed) && (!$forcesupplement)) { |
$r->print('<tr><td bgcolor="#FFFFBB"><h2>Main Course Documents</h2>'); |
$r->print('<tr><td bgcolor="#BBBBBB"><h2>Main Course Documents'. |
|
($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>'); |
my $folder=$ENV{'form.folder'}; |
my $folder=$ENV{'form.folder'}; |
unless ($folder=~/^default/) { $folder='default'; } |
unless ($folder=~/^default/) { $folder='default'; } |
$hadchanges=0; |
$hadchanges=0; |
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
if ($hadchanges) { |
if ($hadchanges) { |
$r->print('<h3><font color="red">Changes will become active after <a href="/adm/roles">re-initializing course</a> or at next login.</font></h3>'); |
$r->print('<form method="post" action="/adm/roles">'. |
|
'<input type=hidden name=orgurl value="/adm/coursedocs" /><input type=hidden name=selectrole value=1 /><h3><font color="red">Changes will become active for your current session after <input type="submit" name="'. |
|
$ENV{'request.role'}.'" value="re-initializing course" />, or the next time you log in.</font></h3></form>'); |
} |
} |
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
'.sequence'; |
'.sequence'; |
|
|
$r->print(<<ENDFORM); |
$r->print(<<ENDFORM); |
<table cellspacing=2><tr> |
<table cellspacing=4 cellpadding=4><tr> |
<th bgcolor="#DDDDDD">Upload a new main course document</th> |
<th bgcolor="#DDDDDD">Upload a new main course document</th> |
<th bgcolor="#DDDDDD">Import a published document</th> |
<th bgcolor="#DDDDDD">Import a published document</th> |
<th bgcolor="#DDDDDD">Special documents</th> |
<th bgcolor="#DDDDDD">Special documents</th> |
Line 614 Title:<br />
|
Line 647 Title:<br />
|
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="cmd" value="upload_default"> |
<input type="hidden" name="cmd" value="upload_default"> |
<input type="submit" value="Upload Document"> |
<input type="submit" value="Upload Document"> |
</form> |
$help{'Uploading_From_Harddrive'}</form> |
</td> |
</td> |
<td bgcolor="#DDDDDD"> |
<td bgcolor="#DDDDDD"> |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
Line 622 Title:<br />
|
Line 655 Title:<br />
|
"javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search"> |
"javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search"> |
<input type=button onClick= |
<input type=button onClick= |
"javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import"> |
"javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import"> |
</form> |
$help{'Importing_LON-CAPA_Resource'}</form> |
</td><td bgcolor="#DDDDDD"> |
</td><td bgcolor="#DDDDDD"> |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
Line 630 Title:<br />
|
Line 663 Title:<br />
|
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newfolder" type="button" |
<input name="newfolder" type="button" |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
value="New Folder" /> |
value="New Folder" /> $help{'Adding_Folders'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newext"> |
<form action="/adm/coursedocs" method="post" name="newext"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newext" type="button" onClick="javascript:makenewext('newext');" |
<input name="newext" type="button" onClick="javascript:makenewext('newext');" |
value="External Resource" /> |
value="External Resource" /> $help{'Adding_External_Resource'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
<input name="newsyl" type="submit" value="Syllabus" /> |
<input name="newsyl" type="submit" value="Syllabus" /> |
</form> |
$help{'Creating_From_Template'}</form> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Navigate Content=/adm/navmaps"> |
value="Navigate Content=/adm/navmaps"> |
<input name="newnav" type="submit" value="Navigate Content" /> |
<input name="newnav" type="submit" value="Navigate Content" /> |
|
$help{'Navigate_Content'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newsmppg" type="button" value="Simple Page" |
<input name="newsmppg" type="button" value="Simple Page" |
onClick="javascript:makesmppage();" /> |
onClick="javascript:makesmppage();" /> $help{'Creating_From_Template'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
Line 666 onClick="javascript:makesmppage();" />
|
Line 700 onClick="javascript:makesmppage();" />
|
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newbulletin" type="button" value="Bulletin Board" |
<input name="newbulletin" type="button" value="Bulletin Board" |
onClick="javascript:makebulboard();" /> |
onClick="javascript:makebulboard();" /> |
</form> |
$help{'Creating_From_Template'}</form> |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme"> |
value="$plainname=/adm/$udom/$uname/aboutme"> |
<input name="newaboutme" type="submit" value="My Personal Info" /> |
<input name="newaboutme" type="submit" value="My Personal Info" /> |
</form> |
$help{'Creating_From_Template'}</form> |
</td></tr> |
</td></tr> |
</table> |
</table> |
ENDFORM |
ENDFORM |
Line 682 ENDFORM
|
Line 716 ENDFORM
|
# ----------------------------------------------------- Supplemental documents |
# ----------------------------------------------------- Supplemental documents |
if (!$forcestandard) { |
if (!$forcestandard) { |
$r->print( |
$r->print( |
'<tr><td bgcolor="#BBFFFF"><h2>Supplemental Course Documents</h2>'); |
'<tr><td bgcolor="#BBBBBB"><h2>Supplemental Course Documents'. |
|
($allowed?' '.$help{'Supplemental'}:'').'</h2>'); |
my $folder=$ENV{'form.folder'}; |
my $folder=$ENV{'form.folder'}; |
unless ($folder=~/supplemental/) { $folder='supplemental'; } |
unless ($folder=~/supplemental/) { $folder='supplemental'; } |
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
&editor($r,$coursenum,$coursedom,$folder,$allowed); |
Line 692 ENDFORM
|
Line 727 ENDFORM
|
'.sequence'; |
'.sequence'; |
|
|
$r->print(<<ENDSUPFORM); |
$r->print(<<ENDSUPFORM); |
<table cellspacing=2><tr> |
<table cellspacing=4 cellpadding=4><tr> |
<th bgcolor="#DDDDDD">Upload a new supplemental course document</th> |
<th bgcolor="#DDDDDD">Upload a new supplemental course document</th> |
<th bgcolor="#DDDDDD">Import a published document</th> |
<th bgcolor="#DDDDDD">Import a published document</th> |
<th bgcolor="#DDDDDD">Special documents</th> |
<th bgcolor="#DDDDDD">Special documents</th> |
Line 707 ENDFORM
|
Line 742 ENDFORM
|
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="cmd" value="upload_supplemental"> |
<input type="hidden" name="cmd" value="upload_supplemental"> |
<input type="submit" value="Upload Document"> |
<input type="submit" value="Upload Document"> |
</form> |
$help{'Uploading_From_Harddrive'}</form> |
</td> |
</td> |
<td bgcolor="#DDDDDD"> |
<td bgcolor="#DDDDDD"> |
<form action="/adm/coursedocs" method="post" name="simpleeditsupplement"> |
<form action="/adm/coursedocs" method="post" name="simpleeditsupplement"> |
Line 715 ENDFORM
|
Line 750 ENDFORM
|
<input type=button onClick= |
<input type=button onClick= |
"javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search"> |
"javascript:document.forms.simpleedit.folder.value='$folder';groupsearch()" value="Search"> |
<input type=button onClick= |
<input type=button onClick= |
"javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import"> |
"javascript:document.forms.simpleedit.folder.value='$folder';groupimport();" value="Import">$help{'Importing_LON-CAPA_Resource'} |
</form> |
</form> |
</td><td bgcolor="#DDDDDD"> |
</td><td bgcolor="#DDDDDD"> |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
Line 724 ENDFORM
|
Line 759 ENDFORM
|
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newfolder" type="button" |
<input name="newfolder" type="button" |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
value="New Folder" /> |
value="New Folder" /> $help{'Adding_Folders'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="supnewext"> |
<form action="/adm/coursedocs" method="post" name="supnewext"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
Line 732 value="New Folder" />
|
Line 767 value="New Folder" />
|
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<input name="newext" type="button" |
<input name="newext" type="button" |
onClick="javascript:makenewext('supnewext');" |
onClick="javascript:makenewext('supnewext');" |
value="External Resource" /> |
value="External Resource" /> $help{'Adding_External_Resource'} |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
Line 740 value="External Resource" />
|
Line 775 value="External Resource" />
|
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
<input name="newsyl" type="submit" value="Syllabus" /> |
<input name="newsyl" type="submit" value="Syllabus" /> |
</form> |
$help{'Creating_From_Template'}</form> |
<form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
<form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="folder" value="$folder"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type="hidden" name="foldername" value="$ENV{'form.foldername'}"> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme"> |
value="$plainname=/adm/$udom/$uname/aboutme"> |
<input name="newaboutme" type="submit" value="My Personal Info" /> |
<input name="newaboutme" type="submit" value="My Personal Info" /> |
</form> |
$help{'Creating_From_Template'}</form> |
</td></tr> |
</td></tr> |
</table></td></tr> |
</table></td></tr> |
ENDSUPFORM |
ENDSUPFORM |