version 1.118, 2004/04/24 05:20:54
|
version 1.132, 2004/07/01 21:54:24
|
Line 121 sub dumpbutton {
|
Line 121 sub dumpbutton {
|
if ($home) { |
if ($home) { |
return '</td><td bgcolor="#DDDDCC">'. |
return '</td><td bgcolor="#DDDDCC">'. |
'<input type="submit" name="dumpcourse" value="'. |
'<input type="submit" name="dumpcourse" value="'. |
&mt('Dump Course DOCS to Construction Space').'" />'; |
&mt('Dump Course DOCS to Construction Space').'" />'. |
|
&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs'); |
} else { |
} else { |
return'</td><td bgcolor="#DDDDCC">'. |
return'</td><td bgcolor="#DDDDCC">'. |
&mt('Dump Course DOCS to Construction Space: available on other servers'); |
&mt('Dump Course DOCS to Construction Space: available on other servers'); |
Line 156 sub dumpcourse {
|
Line 157 sub dumpcourse {
|
$crs=~s/\_/\//g; |
$crs=~s/\_/\//g; |
foreach (keys %replacehash) { |
foreach (keys %replacehash) { |
my $newfilename=$title.'/'.$replacehash{$_}; |
my $newfilename=$title.'/'.$replacehash{$_}; |
$newfilename=~s/[^\w\/\.]+/\_/g; |
$newfilename=~s/[^\w\/\.\/]+/\_/g; |
my @dirs=split(/\//,$newfilename); |
my @dirs=split(/\//,$newfilename); |
my $path='/home/'.$ca.'/public_html'; |
my $path='/home/'.$ca.'/public_html'; |
my $makepath=$path; |
my $makepath=$path; |
Line 223 sub dumpcourse {
|
Line 224 sub dumpcourse {
|
$title=$_; |
$title=$_; |
} |
} |
$title=~s/\.(\w+)$//; |
$title=~s/\.(\w+)$//; |
$title=~s/\W+/\_/gs; |
$title=~s/[^\w\/]+/\_/gs; |
$title.='.'.$ext; |
$title.='.'.$ext; |
$r->print("\n<td><input type='text' size='60' name='namefor_".$_."' value='".$title."' /></td></tr>\n"); |
$r->print("\n<td><input type='text' size='60' name='namefor_".$_."' value='".$title."' /></td></tr>\n"); |
} |
} |
Line 298 sub editor {
|
Line 299 sub editor {
|
$r->print('<p><font color="red">'.$errtext.'</font></p>'); |
$r->print('<p><font color="red">'.$errtext.'</font></p>'); |
} else { |
} else { |
# ------------------------------------------------------------ Process commands |
# ------------------------------------------------------------ Process commands |
|
|
# ---------------- if they are for this folder and user allowed to make changes |
# ---------------- if they are for this folder and user allowed to make changes |
if (($allowed) && ($ENV{'form.folder'} eq $folder)) { |
if (($allowed) && ($ENV{'form.folder'} eq $folder)) { |
|
# set parameters and change order |
|
if (defined($ENV{'form.setparms'})) { |
|
my $idx=$ENV{'form.setparms'}; |
|
# set parameters |
|
if ($ENV{'form.randpick_'.$idx}) { |
|
&Apache::lonratedt::storeparameter($idx,'parameter_randompick',$ENV{'form.randpick_'.$idx},'int_pos'); |
|
} else { |
|
&Apache::lonratedt::delparameter($idx,'parameter_randompick'); |
|
} |
|
if ($ENV{'form.hidprs_'.$idx}) { |
|
&Apache::lonratedt::storeparameter($idx,'parameter_hiddenresource','yes','string_yesno'); |
|
} else { |
|
&Apache::lonratedt::delparameter($idx,'parameter_hiddenresource'); |
|
} |
|
if ($ENV{'form.encprs_'.$idx}) { |
|
&Apache::lonratedt::storeparameter($idx,'parameter_encrypturl','yes','string_yesno'); |
|
} else { |
|
&Apache::lonratedt::delparameter($idx,'parameter_encrypturl'); |
|
} |
|
|
|
if ($ENV{'form.newpos'}) { |
|
# change order |
|
|
|
my $newpos=$ENV{'form.newpos'}-1; |
|
my $currentpos=$ENV{'form.currentpos'}-1; |
|
my $i; |
|
my @neworder=(); |
|
if ($newpos>$currentpos) { |
|
# moving stuff up |
|
for ($i=0;$i<$currentpos;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i]; |
|
} |
|
for ($i=$currentpos;$i<$newpos;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i+1]; |
|
} |
|
$neworder[$newpos]=$Apache::lonratedt::order[$currentpos]; |
|
for ($i=$newpos+1;$i<=$#Apache::lonratedt::order;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i]; |
|
} |
|
} else { |
|
# moving stuff down |
|
for ($i=0;$i<$newpos;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i]; |
|
} |
|
$neworder[$newpos]=$Apache::lonratedt::order[$currentpos]; |
|
for ($i=$newpos+1;$i<$currentpos+1;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i-1]; |
|
} |
|
for ($i=$currentpos+1;$i<=$#Apache::lonratedt::order;$i++) { |
|
$neworder[$i]=$Apache::lonratedt::order[$i]; |
|
} |
|
} |
|
@Apache::lonratedt::order=@neworder; |
|
} |
|
# store the changed version |
|
|
|
($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence'); |
|
if ($fatal) { |
|
$r->print('<p><font color="red">'.$errtext.'</font></p>'); |
|
return; |
|
} |
|
|
|
} |
|
|
# upload a file, if present |
# upload a file, if present |
if (($ENV{'form.uploaddoc.filename'}) && |
if (($ENV{'form.uploaddoc.filename'}) && |
($ENV{'form.cmd'}=~/^upload_(\w+)/)) { |
($ENV{'form.cmd'}=~/^upload_(\w+)/)) { |
if ( ($folder=~/^$1/) || ($1 eq 'default') ) { |
if ( ($folder=~/^$1/) || ($1 eq 'default') ) { |
# this is for a course, not a user, so set coursedoc flag |
# this is for a course, not a user, so set coursedoc flag |
# probably the only place in the system where this should be "1" |
# probably the only place in the system where this should be "1" |
my $url=&Apache::lonnet::userfileupload('uploaddoc',1); |
my $url=&Apache::lonnet::userfileupload('uploaddoc',1,'docs'); |
my $ext='false'; |
my $ext='false'; |
if ($url=~/^http\:\/\//) { $ext='true'; } |
if ($url=~/^http\:\/\//) { $ext='true'; } |
$url=~s/\:/\:/g; |
$url=~s/\:/\:/g; |
Line 334 sub editor {
|
Line 400 sub editor {
|
if ($ENV{'form.cmd'}) { |
if ($ENV{'form.cmd'}) { |
my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'}); |
my ($cmd,$idx)=split(/\_/,$ENV{'form.cmd'}); |
if ($cmd eq 'del') { |
if ($cmd eq 'del') { |
|
my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]); |
|
if ($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) { |
|
&Apache::lonnet::removeuploadedurl($url); |
|
} |
for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) { |
for (my $i=$idx;$i<$#Apache::lonratedt::order;$i++) { |
$Apache::lonratedt::order[$i]= |
$Apache::lonratedt::order[$i]= |
$Apache::lonratedt::order[$i+1]; |
$Apache::lonratedt::order[$i+1]; |
Line 424 sub editor {
|
Line 494 sub editor {
|
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); |
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); |
$idx++; |
$idx++; |
} |
} |
|
unless ($idx) { |
|
$r->print('<tr><td>'.&mt('Currently no documents.').'</td></tr>'); |
|
} |
$r->print('</table>'); |
$r->print('</table>'); |
} |
} |
} |
} |
Line 437 sub entryline {
|
Line 510 sub entryline {
|
&Apache::lonnet::unescape($title)),'"<>&\''); |
&Apache::lonnet::unescape($title)),'"<>&\''); |
my $renametitle=$title; |
my $renametitle=$title; |
my $foldertitle=$title; |
my $foldertitle=$title; |
|
my $orderidx=$Apache::lonratedt::order[$index]; |
if ($title=~ /^(\d+)___&&&___(\w+)___&&&___(\w+)___&&&___(.*)$/ ) { |
if ($title=~ /^(\d+)___&&&___(\w+)___&&&___(\w+)___&&&___(.*)$/ ) { |
$foldertitle=&Apache::lontexconvert::msgtexconverted($4); |
$foldertitle=&Apache::lontexconvert::msgtexconverted($4); |
$renametitle=$4; |
$renametitle=$4; |
Line 447 sub entryline {
|
Line 521 sub entryline {
|
$renametitle=~s/\"\;/\\\"/g; |
$renametitle=~s/\"\;/\\\"/g; |
my $line='<tr>'; |
my $line='<tr>'; |
# Edit commands |
# Edit commands |
|
my $folderpath; |
|
if ($ENV{'form.folderpath'}) { |
|
$folderpath=&Apache::lonnet::escape($ENV{'form.folderpath'}); |
|
# $htmlfoldername=&HTML::Entities::encode($ENV{'form.foldername'},'<>&"'); |
|
} |
if ($allowed) { |
if ($allowed) { |
my %lt=('up' => 'Move Up', |
my $incindex=$index+1; |
|
my $selectbox=''; |
|
if ($folder!~/^supplemental/) { |
|
$selectbox= |
|
'<input type="hidden" name="currentpos" value="'.$incindex.'" />'. |
|
'<select name="newpos" onChange="this.form.submit()">'; |
|
for (my $i=1;$i<=$#Apache::lonratedt::order+1;$i++) { |
|
if ($i==$incindex) { |
|
$selectbox.='<option value="" selected="1">('.$i.')</option>'; |
|
} else { |
|
$selectbox.='<option value="'.$i.'">'.$i.'</option>'; |
|
} |
|
} |
|
$selectbox.='</select>'; |
|
} |
|
my %lt=&Apache::lonlocal::texthash( |
|
'up' => 'Move Up', |
'dw' => 'Move Down', |
'dw' => 'Move Down', |
'rm' => 'Remove', |
'rm' => 'Remove', |
'rn' => 'Rename'); |
'rn' => 'Rename'); |
my $folderpath; |
|
if ($ENV{'form.folderpath'}) { |
|
$folderpath=&Apache::lonnet::escape($ENV{'form.folderpath'}); |
|
# $htmlfoldername=&HTML::Entities::encode($ENV{'form.foldername'},'<>&"'); |
|
} |
|
$line.=(<<END); |
$line.=(<<END); |
|
<form name="entry_$index" action="/adm/coursedocs" method="post"> |
|
<input type="hidden" name="folderpath" value="$ENV{'form.folderpath'}" /> |
|
<input type="hidden" name="setparms" value="$orderidx" /> |
<td><table border='0' cellspacing='2' cellpadding='0'> |
<td><table border='0' cellspacing='2' cellpadding='0'> |
<tr><td bgcolor="#DDDDDD"> |
<tr><td bgcolor="#DDDDDD"> |
<a href='/adm/coursedocs?cmd=up_$index&folderpath=$folderpath'> |
<a href='/adm/coursedocs?cmd=up_$index&folderpath=$folderpath'> |
Line 465 sub entryline {
|
Line 558 sub entryline {
|
<tr><td bgcolor="#DDDDDD"> |
<tr><td bgcolor="#DDDDDD"> |
<a href='/adm/coursedocs?cmd=down_$index&folderpath=$folderpath'> |
<a href='/adm/coursedocs?cmd=down_$index&folderpath=$folderpath'> |
<img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr> |
<img src="${iconpath}move_down.gif" alt='$lt{'dw'}' border='0' /></a></td></tr> |
</table></td><td bgcolor="#DDDDDD"> |
</table></td> |
|
<td>$selectbox |
|
</td><td bgcolor="#DDDDDD"> |
<a href='javascript:removeres("$folderpath","$index","$renametitle");'> |
<a href='javascript:removeres("$folderpath","$index","$renametitle");'> |
<font size="-2" color="#990000">$lt{'rm'}</font></a> |
<font size="-2" color="#990000">$lt{'rm'}</font></a> |
<a href='javascript:changename("$folderpath","$index","$renametitle");'> |
<a href='javascript:changename("$folderpath","$index","$renametitle");'> |
Line 498 END
|
Line 593 END
|
&Apache::lonnet::declutter($url)); |
&Apache::lonnet::declutter($url)); |
(undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
(undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
$url=&Apache::lonnet::clutter($url); |
$url=&Apache::lonnet::clutter($url); |
|
if ($url=~/^\/*uploaded\//) { |
|
$url=~/\.(\w+)$/; |
|
my $embstyle=&Apache::loncommon::fileembstyle($1); |
|
if (($embstyle eq 'img') || ($embstyle eq 'emb')) { |
|
$url='/adm/wrapper'.$url; |
|
} elsif ($embstyle eq 'ssi') { |
|
#do nothing with these |
|
} elsif ($url!~/\.(sequence|page)$/) { |
|
$url='/adm/coursedocs/showdoc'.$url; |
|
} |
|
} |
$url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb); |
$url.=(($url=~/\?/)?'&':'?').'symb='.&Apache::lonnet::escape($symb); |
} |
} |
|
my $parameterset=' '; |
if ($isfolder) { |
if ($isfolder) { |
my $foldername=&Apache::lonnet::escape($foldertitle); |
my $foldername=&Apache::lonnet::escape($foldertitle); |
my $folderpath=$ENV{'form.folderpath'}; |
my $folderpath=$ENV{'form.folderpath'}; |
if ($folderpath) { $folderpath.='&' }; |
if ($folderpath) { $folderpath.='&' }; |
$folderpath.=$folderarg.'&'.$foldername; |
$folderpath.=$folderarg.'&'.$foldername; |
$url.='folderpath='.&Apache::lonnet::escape($folderpath); |
$url.='folderpath='.&Apache::lonnet::escape($folderpath); |
|
$parameterset=&mt('Randomly Pick: '). |
|
'<input type="text" size="4" name="randpick_'.$orderidx.'" value="'. |
|
(&Apache::lonratedt::getparameter($orderidx,'parameter_randompick'))[0].'" />'; |
} |
} |
$line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon. |
$line.='<td bgcolor="#FFFFBB"><a href="'.$url.'"><img src="'.$icon. |
'" border="0"></a></td>'. |
'" border="0"></a></td>'. |
"<td bgcolor='#FFFFBB'><a href='$url'>$title</a></td></tr>"; |
"<td bgcolor='#FFFFBB'><a href='$url'>$title</a></td>"; |
|
if (($allowed) && ($folder!~/^supplemental/)) { |
|
my %lt=&Apache::lonlocal::texthash( |
|
'hd' => 'Hidden', |
|
'ec' => 'URL hidden', |
|
'sp' => 'Store Parameters'); |
|
my $enctext= |
|
((&Apache::lonratedt::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i?' checked="1"':''); |
|
my $hidtext= |
|
((&Apache::lonratedt::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i?' checked="1"':''); |
|
$line.=(<<ENDPARMS); |
|
<td bgcolor="#BBBBFF"><font size='-2'> |
|
<input type="checkbox" name="hidprs_$orderidx" $hidtext/> $lt{'hd'}</td> |
|
<td bgcolor="#BBBBFF"><font size='-2'> |
|
<input type="checkbox" name="encprs_$orderidx" $enctext/> $lt{'ec'}</td> |
|
<td bgcolor="#BBBBFF"><font size="-2">$parameterset</font></td> |
|
<td bgcolor="#BBBBFF"><font size='-2'> |
|
<input type="submit" value="$lt{'sp'}" /> |
|
</font></td> |
|
ENDPARMS |
|
} |
|
$line.="</form></tr>"; |
return $line; |
return $line; |
} |
} |
|
|
Line 896 sub handler {
|
Line 1027 sub handler {
|
'Adding_External_Resource','Navigate_Content', |
'Adding_External_Resource','Navigate_Content', |
'Adding_Folders','Docs_Overview', 'Load_Map', |
'Adding_Folders','Docs_Overview', 'Load_Map', |
'Supplemental', 'Score_Upload_Form', |
'Supplemental', 'Score_Upload_Form', |
'Importing_LON-CAPA_Resource','Uploading_From_Harddrive') { |
'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', |
|
'Check_Resource_Versions','Verify_Content') { |
$help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_); |
$help{$_}=&Apache::loncommon::help_open_topic('Docs_'.$_); |
} |
} |
# Composite help files |
# Composite help files |
Line 936 sub handler {
|
Line 1068 sub handler {
|
$ENV{'form.folder'}=pop(@folderpath); |
$ENV{'form.folder'}=pop(@folderpath); |
} |
} |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
$showdoc=$1; |
$showdoc='/'.$1; |
} |
} |
unless ($showdoc) { # got called from remote |
unless ($showdoc) { # got called from remote |
$forcestandard=($ENV{'form.folder'}=~/^default_/); |
$forcestandard=($ENV{'form.folder'}=~/^default_/); |
Line 1082 function removeres(folderpath,index,oldt
|
Line 1214 function removeres(folderpath,index,oldt
|
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
</script> |
</script> |
|
|
ENDNEWSCRIPT |
ENDNEWSCRIPT |
Line 1148 ENDNEWSCRIPT
|
Line 1281 ENDNEWSCRIPT
|
<form action="/adm/coursedocs" method="post" name="courseverify"> |
<form action="/adm/coursedocs" method="post" name="courseverify"> |
<table bgcolor="#AAAAAA" width="100%" cellspacing="4" cellpadding="4"> |
<table bgcolor="#AAAAAA" width="100%" cellspacing="4" cellpadding="4"> |
<tr><td bgcolor="#DDDDCC"> |
<tr><td bgcolor="#DDDDCC"> |
<input type="submit" name="verify" value="$lt{'vc'}" /> |
<input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'} |
</td><td bgcolor="#DDDDCC"> |
</td><td bgcolor="#DDDDCC"> |
<input type="submit" name="versions" value="$lt{'cv'}" /> |
<input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} |
$dumpbut |
$dumpbut |
</td></tr></table> |
</td></tr></table> |
</form> |
</form> |
Line 1197 $lt{'title'}:<br />
|
Line 1330 $lt{'title'}:<br />
|
<input type="text" size="50" name="comment"> |
<input type="text" size="50" name="comment"> |
<input type="hidden" name="folderpath" value="$ENV{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$ENV{'form.folderpath'}" /> |
<input type="hidden" name="cmd" value="upload_default"> |
<input type="hidden" name="cmd" value="upload_default"> |
<input type="submit" value="$lt{'upld'}"> |
|
<nobr> |
<nobr> |
|
<input type="submit" value="$lt{'upld'}"> |
$help{'Uploading_From_Harddrive'} |
$help{'Uploading_From_Harddrive'} |
</nobr> |
</nobr> |
</form> |
</form> |