version 1.197, 2005/07/26 13:30:34
|
version 1.222, 2006/02/24 22:52:41
|
Line 166 sub dumpcourse {
|
Line 166 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+)$//; |
|
my $ext=$1; |
$newfilename=&clean($newfilename); |
$newfilename=&clean($newfilename); |
|
$newfilename.='.'.$ext; |
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 252 sub exportbutton {
|
Line 255 sub exportbutton {
|
return '</td><td bgcolor="#DDDDCC">'. |
return '</td><td bgcolor="#DDDDCC">'. |
'<input type="submit" name="exportcourse" value="'. |
'<input type="submit" name="exportcourse" value="'. |
&mt('Export Course to IMS').'" />'. |
&mt('Export Course to IMS').'" />'. |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs'); |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs'); |
} |
} |
|
|
sub exportcourse { |
sub exportcourse { |
Line 490 sub create_ims_store {
|
Line 493 sub create_ims_store {
|
' identifier="MANIFEST-'.$env{'request.course.id'}.'-'.$now.'"'. |
' identifier="MANIFEST-'.$env{'request.course.id'}.'-'.$now.'"'. |
' xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1imscp_v1p1.xsd'. |
' xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1imscp_v1p1.xsd'. |
' http://www.imsglobal.org/xsd/imsmd_v1p2 imsmd_v1p2p2.xsd">'."\n". |
' http://www.imsglobal.org/xsd/imsmd_v1p2 imsmd_v1p2p2.xsd">'."\n". |
|
' <metadata> |
|
<schema></schema> |
|
<imsmd:lom> |
|
<imsmd:general> |
|
<imsmd:identifier>'.$env{'request.course.id'}.'</imsmd:identifier> |
|
<imsmd:title> |
|
<imsmd:langstring xml:lang="en">'.$env{'course.'.$env{'request.course.id'}.'.description'}.'</imsmd:langstring> |
|
</imsmd:title> |
|
</imsmd:general> |
|
</imsmd:lom> |
|
</metadata>'."\n". |
' <organizations default="ORG-'.$env{'request.course.id'}.'-'.$now.'">'."\n". |
' <organizations default="ORG-'.$env{'request.course.id'}.'-'.$now.'">'."\n". |
' <organization identifier="ORG-'.$env{'request.course.id'}.'-'.$now.'"'. |
' <organization identifier="ORG-'.$env{'request.course.id'}.'-'.$now.'"'. |
' structure="hierarchical">'."\n". |
' structure="hierarchical">'."\n". |
' <title>'.$env{'request.'.$env{'request.course.id'}.'.description'}.'</title>' |
' <title>'.$env{'course.'.$env{'request.course.id'}.'.description'}.'</title>' |
} else { |
} else { |
$$outcome .= 'An error occurred opening the IMS manifest file.<br />' |
$$outcome .= 'An error occurred opening the IMS manifest file.<br />' |
; |
; |
Line 541 sub build_package {
|
Line 555 sub build_package {
|
$count = 0; |
$count = 0; |
my $imsresources; |
my $imsresources; |
my $pkgdepth; |
my $pkgdepth; |
my $included = 0; |
|
while ($curRes = $it->next()) { |
while ($curRes = $it->next()) { |
if ($curRes == $it->BEGIN_MAP()) { |
if ($curRes == $it->BEGIN_MAP()) { |
$prevdepth = $depth; |
$prevdepth = $depth; |
Line 564 sub build_package {
|
Line 577 sub build_package {
|
unless ($curRes->is_sequence()) { |
unless ($curRes->is_sequence()) { |
$resourceref = 'identifierref="RES-'.$env{'request.course.id'}.'-'.$count.'"'; |
$resourceref = 'identifierref="RES-'.$env{'request.course.id'}.'-'.$count.'"'; |
} |
} |
if (($depth <= $prevdepth) && ($count > 1) && ($included)) { |
my $step = $prevdepth - $depth; |
print $ims_manifest "\n".' </item>'."\n"; |
if (($step >= 0) && ($count > 1)) { |
|
while ($step >= 0) { |
|
print $ims_manifest "\n".' </item>'."\n"; |
|
$step --; |
|
} |
} |
} |
$included = 1; |
|
$prevdepth = $depth; |
$prevdepth = $depth; |
|
|
my $itementry = |
my $itementry = |
Line 609 sub build_package {
|
Line 625 sub build_package {
|
} |
} |
} |
} |
$pkgdepth = $depth; |
$pkgdepth = $depth; |
} else { |
|
$included = 0; |
|
} |
} |
} |
} |
} |
} |
Line 645 sub process_content {
|
Line 659 sub process_content {
|
my ($count,$curRes,$cdom,$cnum,$symb,$content_file,$href,$copyresult,$tempexport) = @_; |
my ($count,$curRes,$cdom,$cnum,$symb,$content_file,$href,$copyresult,$tempexport) = @_; |
my $content_type; |
my $content_type; |
my $message; |
my $message; |
# find where user is author or co-author |
|
my @uploads = (); |
my @uploads = (); |
if ($curRes->is_sequence()) { |
if ($curRes->is_sequence()) { |
$content_type = 'sequence'; |
$content_type = 'sequence'; |
Line 699 sub process_content {
|
Line 712 sub process_content {
|
if ($2 eq $env{'user.domain'} && $3 eq $env{'user.name'}) { |
if ($2 eq $env{'user.domain'} && $3 eq $env{'user.name'}) { |
$canedit= 1; |
$canedit= 1; |
} |
} |
|
# only include problem code where current user is author |
if ($canedit) { |
if ($canedit) { |
$$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'resource'); |
$$content_file = &replicate_content($cdom,$cnum,$tempexport,$symb,$count,\$message,$href,'resource'); |
} else { |
} else { |
Line 782 sub replicate_content {
|
Line 796 sub replicate_content {
|
$$message = 'Could not determine name of file for '.$symb."<br />\n"; |
$$message = 'Could not determine name of file for '.$symb."<br />\n"; |
} |
} |
if ($repstatus eq 'ok') { |
if ($repstatus eq 'ok') { |
$content_name = $count.'/'.$filename; |
$content_name = 'resources/'.$count.'/'.$filename; |
} |
} |
return $content_name; |
return $content_name; |
} |
} |
|
|
sub extract_media { |
sub extract_media { |
my ($url,$cdom,$cnum,$content,$count,$tempexport,$href,$message,$caller) = @_; |
my ($url,$cdom,$cnum,$content,$count,$tempexport,$href,$message,$caller) = @_; |
|
my ($dirpath,$container); |
my %allfiles = (); |
my %allfiles = (); |
my %codebase = (); |
my %codebase = (); |
$url =~ s#([^/]+)$##; |
if ($url =~ m-(.*/)([^/]+)$-) { |
|
$dirpath = $1; |
|
$container = $2; |
|
} else { |
|
$dirpath = $url; |
|
$container = ''; |
|
} |
&Apache::lonnet::extract_embedded_items(undef,undef,\%allfiles,\%codebase,$content); |
&Apache::lonnet::extract_embedded_items(undef,undef,\%allfiles,\%codebase,$content); |
foreach my $embed_file (keys(%allfiles)) { |
foreach my $embed_file (keys(%allfiles)) { |
my $filename; |
my $filename; |
Line 809 sub extract_media {
|
Line 830 sub extract_media {
|
if ($embed_file =~ m-https?://-) { |
if ($embed_file =~ m-https?://-) { |
next; # points to url |
next; # points to url |
} else { |
} else { |
$embed_url = $url.$embed_file; # points to relative path |
$embed_url = $dirpath.$embed_file; # points to relative path |
} |
} |
} |
} |
if ($caller eq 'resource') { |
if ($caller eq 'resource') { |
Line 832 sub extract_media {
|
Line 853 sub extract_media {
|
my $copiedfile; |
my $copiedfile; |
if ($copiedfile = Apache::File->new('>'.$destination)) { |
if ($copiedfile = Apache::File->new('>'.$destination)) { |
print $copiedfile $embed_content; |
print $copiedfile $embed_content; |
push @{$href}, .'resources/'.$count.'/res/'.$filename; |
push @{$href}, 'resources/'.$count.'/res/'.$filename; |
my $attrib_regexp = ''; |
my $attrib_regexp = ''; |
if (@{$allfiles{$embed_file}} > 1) { |
if (@{$allfiles{$embed_file}} > 1) { |
$attrib_regexp = join('|',@{$allfiles{$embed_file}}); |
$attrib_regexp = join('|',@{$allfiles{$embed_file}}); |
Line 840 sub extract_media {
|
Line 861 sub extract_media {
|
$attrib_regexp = $allfiles{$embed_file}[0]; |
$attrib_regexp = $allfiles{$embed_file}[0]; |
} |
} |
$$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$embed_file\E(['"]?)#$1$newname$2#gi; |
$$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$embed_file\E(['"]?)#$1$newname$2#gi; |
if ($caller eq 'resource' && $url =~ /\.(problem|library)$/) { |
if ($caller eq 'resource' && $container =~ /\.(problem|library)$/) { |
$$content =~ s#\Q$embed_file\E#$newname#gi; |
$$content =~ s#\Q$embed_file\E#$newname#gi; |
} |
} |
} |
} |
Line 868 sub store_template {
|
Line 889 sub store_template {
|
close($storetemplate); |
close($storetemplate); |
} |
} |
if ($content_type eq 'external') { |
if ($content_type eq 'external') { |
return $count.'/'.$content_type.'.html'; |
return 'resources/'.$count.'/'.$content_type.'.html'; |
} else { |
} else { |
return $count.'/'.$content_type.'.xml'; |
return 'resources/'.$count.'/'.$content_type.'.xml'; |
} |
} |
} |
} |
} |
} |
Line 1093 sub editor {
|
Line 1114 sub editor {
|
if ($cmd eq 'del') { |
if ($cmd eq 'del') { |
my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]); |
my (undef,$url)=split(':',$Apache::lonratedt::resources[$Apache::lonratedt::order[$idx]]); |
if (($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) && |
if (($url=~m|/+uploaded/\Q$coursedom\E/\Q$coursenum\E/|) && |
($url!~/\.(page|sequence|problem|exam|quiz|assess|survey|form|library)$/)) { |
($url!~/\.(page|sequence|problem|exam|quiz|assess|survey|form|library|task)$/)) { |
&Apache::lonnet::removeuploadedurl($url); |
&Apache::lonnet::removeuploadedurl($url); |
} else { |
} else { |
&Apache::lonratedt::makezombie($Apache::lonratedt::order[$idx]); |
&Apache::lonratedt::makezombie($Apache::lonratedt::order[$idx]); |
Line 1194 sub editor {
|
Line 1215 sub editor {
|
$r->print('<table>'); |
$r->print('<table>'); |
foreach (@Apache::lonratedt::order) { |
foreach (@Apache::lonratedt::order) { |
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]); |
my ($name,$url)=split(/\:/,$Apache::lonratedt::resources[$_]); |
|
$name=&Apache::lonratsrv::qtescape($name); |
|
$url=&Apache::lonratsrv::qtescape($url); |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $idx++; next; } |
unless ($name) { $idx++; next; } |
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); |
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); |
Line 1350 sub process_secondary_uploads {
|
Line 1373 sub process_secondary_uploads {
|
if (($folder eq 'default') || ($folder eq 'supplemental')) { |
if (($folder eq 'default') || ($folder eq 'supplemental')) { |
$destination .= 'default/'; |
$destination .= 'default/'; |
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
$destination .= $1.'/'; |
$destination .= $2.'/'; |
} |
} |
$destination .= $newidx; |
$destination .= $newidx; |
my ($url,$filename); |
my ($url,$filename); |
Line 1377 sub entryline {
|
Line 1400 sub entryline {
|
&Apache::loncommon::plainname($2,$3).': <br />'. |
&Apache::loncommon::plainname($2,$3).': <br />'. |
$foldertitle; |
$foldertitle; |
} |
} |
|
$renametitle=~s/\\/\\\\/g; |
$renametitle=~s/\"\;/\\\"/g; |
$renametitle=~s/\"\;/\\\"/g; |
my $line='<tr>'; |
my $line='<tr>'; |
# Edit commands |
# Edit commands |
Line 1430 sub entryline {
|
Line 1454 sub entryline {
|
'ct' => 'Cut', |
'ct' => 'Cut', |
'rn' => 'Rename', |
'rn' => 'Rename', |
'cp' => 'Copy'); |
'cp' => 'Copy'); |
|
my $nocopy=0; |
|
if ($url=~/\.(page|sequence)$/) { |
|
foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$url))) { |
|
my ($title,$url,$ext,$type)=split(/\:/,$_); |
|
if (($url=~/\.(page|sequence)/) && ($type ne 'zombie')) { |
|
$nocopy=1; |
|
last; |
|
} |
|
} |
|
} |
|
my $copylink=' '; |
if ($env{'form.pagepath'}) { |
if ($env{'form.pagepath'}) { |
|
unless ($nocopy) { |
|
$copylink=(<<ENDCOPY); |
|
<a href='javascript:markcopy("$pagepath","$index","$renametitle","page","$pagesymb");'> |
|
<font size="-2" color="#000099">$lt{'cp'}</font></a></td> |
|
ENDCOPY |
|
} |
$line.=(<<END); |
$line.=(<<END); |
<form name="entry_$index" action="/adm/coursedocs" method="post"> |
<form name="entry_$index" action="/adm/coursedocs" method="post"> |
<input type="hidden" name="pagepath" value="$env{'form.pagepath'}" /> |
<input type="hidden" name="pagepath" value="$env{'form.pagepath'}" /> |
Line 1454 sub entryline {
|
Line 1495 sub entryline {
|
<font size="-2" color="#550044">$lt{'ct'}</font></a> |
<font size="-2" color="#550044">$lt{'ct'}</font></a> |
<a href='javascript:changename("$pagepath","$index","$renametitle","page","$pagesymb");'> |
<a href='javascript:changename("$pagepath","$index","$renametitle","page","$pagesymb");'> |
<font size="-2" color="#009900">$lt{'rn'}</font></a> |
<font size="-2" color="#009900">$lt{'rn'}</font></a> |
<a href='javascript:markcopy("$pagepath","$index","$renametitle","page","$pagesymb");'> |
$copylink |
<font size="-2" color="#000099">$lt{'cp'}</font></a></td> |
|
END |
END |
} else { |
} else { |
|
unless ($nocopy) { |
|
$copylink=(<<ENDCOPY); |
|
<a href='javascript:markcopy("$folderpath","$index","$renametitle","sequence");'> |
|
<font size="-2" color="#000099">$lt{'cp'}</font></a></td> |
|
ENDCOPY |
|
} |
$line.=(<<END); |
$line.=(<<END); |
<form name="entry_$index" action="/adm/coursedocs" method="post"> |
<form name="entry_$index" action="/adm/coursedocs" method="post"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
Line 1480 END
|
Line 1526 END
|
<font size="-2" color="#550044">$lt{'ct'}</font></a> |
<font size="-2" color="#550044">$lt{'ct'}</font></a> |
<a href='javascript:changename("$folderpath","$index","$renametitle","sequence");'> |
<a href='javascript:changename("$folderpath","$index","$renametitle","sequence");'> |
<font size="-2" color="#009900">$lt{'rn'}</font></a> |
<font size="-2" color="#009900">$lt{'rn'}</font></a> |
<a href='javascript:markcopy("$folderpath","$index","$renametitle","sequence");'> |
$copylink |
<font size="-2" color="#000099">$lt{'cp'}</font></a></td> |
|
END |
END |
} |
} |
} |
} |
Line 1511 END
|
Line 1556 END
|
&Apache::lonnet::allowuploaded('/adm/coursedoc',$url); |
&Apache::lonnet::allowuploaded('/adm/coursedoc',$url); |
} |
} |
} |
} |
$url=~s/^http\&colon\;\/\//\/adm\/wrapper\/ext\//; |
$url=~s-^http(\&colon\;|:)//-/adm/wrapper/ext/-; |
if ((!$isfolder) && ($residx) && ($folder!~/supplemental/) && (!$ispage)) { |
if ((!$isfolder) && ($residx) && ($folder!~/supplemental/) && (!$ispage)) { |
my $symb=&Apache::lonnet::symbclean( |
my $symb=&Apache::lonnet::symbclean( |
&Apache::lonnet::declutter('uploaded/'. |
&Apache::lonnet::declutter('uploaded/'. |
Line 1544 END
|
Line 1589 END
|
} |
} |
} |
} |
my $parameterset=' '; |
my $parameterset=' '; |
if ($isfolder) { |
if ($isfolder || $extension eq 'sequence') { |
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.='&' }; |
Line 1578 END
|
Line 1623 END
|
} |
} |
$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>"; |
"<td bgcolor='#FFFFBB'><a href=\"$url\">$title</a></td>"; |
if (($allowed) && ($folder!~/^supplemental/)) { |
if (($allowed) && ($folder!~/^supplemental/)) { |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'hd' => 'Hidden', |
'hd' => 'Hidden', |
Line 1622 sub tiehash {
|
Line 1667 sub tiehash {
|
sub untiehash { |
sub untiehash { |
if ($hashtied) { untie %hash; } |
if ($hashtied) { untie %hash; } |
$hashtied=0; |
$hashtied=0; |
|
return OK; |
} |
} |
|
|
# --------------------------------------------------------------- check on this |
# --------------------------------------------------------------- check on this |
Line 1698 sub checkonthis {
|
Line 1744 sub checkonthis {
|
|
|
|
|
# |
# |
|
# ----------------------------------------------------------------- List Symbs |
|
# |
|
sub list_symbs { |
|
my $r=shift; |
|
my $html=&Apache::lonxml::xmlbegin(); |
|
$r->print($html.'<head><title>Symb List</title></head>'. |
|
&Apache::loncommon::bodytag('Symb List')); |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
$r->print("<pre>\n"); |
|
foreach my $res ($navmap->retrieveResources()) { |
|
$r->print($res->compTitle()."\t".$res->symb()."\n"); |
|
} |
|
$r->print("\n</pre>\n"); |
|
$r->print('<a href="/adm/coursedocs">'.&mt('Return to DOCS').'</a>'); |
|
} |
|
|
|
|
|
# |
# -------------------------------------------------------------- Verify Content |
# -------------------------------------------------------------- Verify Content |
# |
# |
sub verifycontent { |
sub verifycontent { |
Line 2041 sub handler {
|
Line 2105 sub handler {
|
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
# --------------------------------------------- Initialize help topics for this |
# --------------------------------------------- Initialize help topics for this |
foreach ('Adding_Course_Doc','Main_Course_Documents', |
foreach ('Adding_Course_Doc','Main_Course_Documents', |
'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','Adding_Pages', |
'Supplemental','Score_Upload_Form','Adding_Pages', |
'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', |
'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', |
'Check_Resource_Versions','Verify_Content') { |
'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 |
$help{'Syllabus'} = &Apache::loncommon::help_open_topic( |
$help{'Syllabus'} = &Apache::loncommon::help_open_topic( |
'Docs_About_Syllabus,Docs_Editing_Templated_Pages'); |
'Docs_About_Syllabus,Docs_Editing_Templated_Pages'); |
Line 2062 sub handler {
|
Line 2126 sub handler {
|
'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages'); |
'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages'); |
$help{'Caching'} = &Apache::loncommon::help_open_topic('Caching'); |
$help{'Caching'} = &Apache::loncommon::help_open_topic('Caching'); |
|
|
if ($env{'form.verify'}) { |
# does this user have privileges to modify docs |
|
my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); |
|
|
|
if ($allowed && $env{'form.verify'}) { |
&verifycontent($r); |
&verifycontent($r); |
} elsif ($env{'form.versions'}) { |
} elsif ($allowed && $env{'form.listsymbs'}) { |
|
&list_symbs($r); |
|
} elsif ($allowed && $env{'form.versions'}) { |
&checkversions($r); |
&checkversions($r); |
} elsif ($env{'form.dumpcourse'}) { |
} elsif ($allowed && $env{'form.dumpcourse'}) { |
&dumpcourse($r); |
&dumpcourse($r); |
} elsif ($env{'form.exportcourse'}) { |
} elsif ($allowed && $env{'form.exportcourse'}) { |
&exportcourse($r); |
&exportcourse($r); |
} else { |
} else { |
# is this a standard course? |
# is this a standard course? |
Line 2077 sub handler {
|
Line 2146 sub handler {
|
my $forcestandard = 0; |
my $forcestandard = 0; |
my $forcesupplement; |
my $forcesupplement; |
my $script=''; |
my $script=''; |
my $allowed; |
|
my $events=''; |
my $events=''; |
my $showdoc=0; |
my $showdoc=0; |
my $containertag; |
my $containertag; |
Line 2103 sub handler {
|
Line 2171 sub handler {
|
} |
} |
unless ($showdoc) { # got called from remote |
unless ($showdoc) { # got called from remote |
if (($env{'form.folder'}=~/^default_/) || |
if (($env{'form.folder'}=~/^default_/) || |
($env{'form.folder'} =~ m#^\d+/(pages|sequences)/#)) { |
($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) { |
$forcestandard = 1; |
$forcestandard = 1; |
} |
} |
$forcesupplement=($env{'form.folder'}=~/^supplemental_/); |
$forcesupplement=($env{'form.folder'}=~/^supplemental_/); |
|
|
# does this user have privileges to post, etc? |
|
$allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); |
|
if ($allowed) { |
if ($allowed) { |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cmd']); |
$script=&Apache::lonratedt::editscript('simple'); |
$script=&Apache::lonratedt::editscript('simple'); |
Line 2199 function makesmpproblem() {
|
Line 2265 function makesmpproblem() {
|
} |
} |
} |
} |
|
|
|
function makedropbox() { |
|
var title=prompt('Listed Title for the Drop Box'); |
|
if (title) { |
|
this.document.forms.newdropbox.importdetail.value= |
|
title+'=/res/lib/templates/DropBox.problem'; |
|
this.document.forms.newdropbox.submit(); |
|
} |
|
} |
|
|
function makebulboard() { |
function makebulboard() { |
var title=prompt('Listed Title for the Bulletin Board'); |
var title=prompt('Listed Title for the Bulletin Board'); |
if (title) { |
if (title) { |
Line 2414 ENDNEWSCRIPT
|
Line 2489 ENDNEWSCRIPT
|
'navc' => 'Navigate Contents', |
'navc' => 'Navigate Contents', |
'sipa' => 'Simple Page', |
'sipa' => 'Simple Page', |
'sipr' => 'Simple Problem', |
'sipr' => 'Simple Problem', |
|
'drbx' => 'Drop Box', |
'scuf' => 'Score Upload Form', |
'scuf' => 'Score Upload Form', |
'bull' => 'Bulletin Board', |
'bull' => 'Bulletin Board', |
'mypi' => 'My Personal Info', |
'mypi' => 'My Personal Info', |
Line 2431 ENDNEWSCRIPT
|
Line 2507 ENDNEWSCRIPT
|
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'vc' => 'Verify Content', |
'vc' => 'Verify Content', |
'cv' => 'Check/Set Resource Versions', |
'cv' => 'Check/Set Resource Versions', |
|
'ls' => 'List Symbs', |
); |
); |
|
|
my $folderpath=$env{'form.folderpath'}; |
my $folderpath=$env{'form.folderpath'}; |
Line 2465 $uploadtag
|
Line 2542 $uploadtag
|
<input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} |
<input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} |
$dumpbut |
$dumpbut |
$exportbut |
$exportbut |
|
</td><td bgcolor="#DDDDCC"> |
|
<input type="submit" name="listsymbs" value="$lt{'ls'}" /> |
</td></tr></table> |
</td></tr></table> |
</form> |
</form> |
ENDCOURSEVERIFY |
ENDCOURSEVERIFY |
Line 2567 $uploadtag
|
Line 2646 $uploadtag
|
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/imsimportdocs" method="post" name="ims"> |
<br /><form action="/adm/imsimportdocs" method="post" name="ims"> |
<input type="hidden" name="folder" value="$folder" /> |
<input type="hidden" name="folder" value="$folder" /> |
<input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> |
<input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> |
</nobr> |
</nobr> |
Line 2577 ENDFORM
|
Line 2656 ENDFORM
|
$r->print('</td><td bgcolor="#DDDDDD">'); |
$r->print('</td><td bgcolor="#DDDDDD">'); |
unless ($env{'form.pagepath'}) { |
unless ($env{'form.pagepath'}) { |
$r->print(<<ENDFORM); |
$r->print(<<ENDFORM); |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<br /><form action="/adm/coursedocs" method="post" name="newfolder"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2586 onClick="javascript:makenewfolder(this.f
|
Line 2665 onClick="javascript:makenewfolder(this.f
|
value="$lt{'newf'}" />$help{'Adding_Folders'} |
value="$lt{'newf'}" />$help{'Adding_Folders'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newpage"> |
<br /><form action="/adm/coursedocs" method="post" name="newpage"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2595 onClick="javascript:makenewpage(this.for
|
Line 2674 onClick="javascript:makenewpage(this.for
|
value="$lt{'newp'}" />$help{'Adding_Pages'} |
value="$lt{'newp'}" />$help{'Adding_Pages'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<br /><form action="/adm/coursedocs" method="post" name="newsyl"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
Line 2604 value="Syllabus=/public/$coursedom/$cour
|
Line 2683 value="Syllabus=/public/$coursedom/$cour
|
$help{'Syllabus'} |
$help{'Syllabus'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<br /><form action="/adm/coursedocs" method="post" name="newnav"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Navigate Content=/adm/navmaps"> |
value="Navigate Content=/adm/navmaps"> |
Line 2613 value="Navigate Content=/adm/navmaps">
|
Line 2692 value="Navigate Content=/adm/navmaps">
|
$help{'Navigate_Content'} |
$help{'Navigate_Content'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<br /><form action="/adm/coursedocs" method="post" name="newsmppg"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2621 $uploadtag
|
Line 2700 $uploadtag
|
onClick="javascript:makesmppage();" /> $help{'Simple Page'} |
onClick="javascript:makesmppage();" /> $help{'Simple Page'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
<br /><form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2629 $uploadtag
|
Line 2708 $uploadtag
|
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newexamupload"> |
<br /><form action="/adm/coursedocs" method="post" name="newdropbox"> |
|
$uploadtag |
|
<input type=hidden name="importdetail" value=""> |
|
<nobr> |
|
<input name="newdropbox" type="button" value="$lt{'drbx'}" |
|
onClick="javascript:makedropbox();" /> |
|
</nobr> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2638 onClick="javascript:makeexamupload();" /
|
Line 2725 onClick="javascript:makeexamupload();" /
|
$help{'Score_Upload_Form'} |
$help{'Score_Upload_Form'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<br /><form action="/adm/coursedocs" method="post" name="newbul"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2647 onClick="javascript:makebulboard();" />
|
Line 2734 onClick="javascript:makebulboard();" />
|
$help{'Bulletin Board'} |
$help{'Bulletin Board'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<br /><form action="/adm/coursedocs" method="post" name="newaboutme"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme"> |
value="$plainname=/adm/$udom/$uname/aboutme"> |
Line 2656 value="$plainname=/adm/$udom/$uname/abou
|
Line 2743 value="$plainname=/adm/$udom/$uname/abou
|
$help{'My Personal Info'} |
$help{'My Personal Info'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
<br /><form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2676 $uploadtag
|
Line 2763 $uploadtag
|
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="newexamupload"> |
<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> |
$uploadtag |
$uploadtag |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2749 onClick="javascript:makenewfolder(this.f
|
Line 2836 onClick="javascript:makenewfolder(this.f
|
value="$lt{'newf'}" /> $help{'Adding_Folders'} |
value="$lt{'newf'}" /> $help{'Adding_Folders'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="supnewext"> |
<br /><form action="/adm/coursedocs" method="post" name="supnewext"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type=hidden name="importdetail" value=""> |
<input type=hidden name="importdetail" value=""> |
<nobr> |
<nobr> |
Line 2758 onClick="javascript:makenewext('supnewex
|
Line 2845 onClick="javascript:makenewext('supnewex
|
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<br /><form action="/adm/coursedocs" method="post" name="supnewsyl"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus"> |
Line 2767 value="Syllabus=/public/$coursedom/$cour
|
Line 2854 value="Syllabus=/public/$coursedom/$cour
|
$help{'Syllabus'} |
$help{'Syllabus'} |
</nobr> |
</nobr> |
</form> |
</form> |
<form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
<br /><form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type=hidden name="importdetail" |
<input type=hidden name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme"> |
value="$plainname=/adm/$udom/$uname/aboutme"> |