version 1.325.4.1, 2009/09/24 22:04:40
|
version 1.367, 2009/05/16 21:01:07
|
Line 59 my $hadchanges;
|
Line 59 my $hadchanges;
|
my %help=(); |
my %help=(); |
|
|
|
|
|
|
sub mapread { |
sub mapread { |
my ($coursenum,$coursedom,$map)=@_; |
my ($coursenum,$coursedom,$map)=@_; |
return |
return |
Line 73 sub storemap {
|
Line 72 sub storemap {
|
&LONCAPA::map::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'. |
&LONCAPA::map::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'. |
$map,1); |
$map,1); |
if ($errtext) { return ($errtext,2); } |
if ($errtext) { return ($errtext,2); } |
|
|
$hadchanges=1; |
$hadchanges=1; |
return ($errtext,0); |
return ($errtext,0); |
} |
} |
Line 120 sub dumpbutton {
|
Line 119 sub dumpbutton {
|
my $type = &Apache::loncommon::course_type(); |
my $type = &Apache::loncommon::course_type(); |
if ($home+$other==0) { return ''; } |
if ($home+$other==0) { return ''; } |
if ($home) { |
if ($home) { |
return '<div>'. |
return '<input type="submit" name="dumpcourse" value="'. |
'<input type="submit" name="dumpcourse" value="'. |
|
&mt('Dump '.$type.' DOCS to Construction Space').'" />'. |
&mt('Dump '.$type.' DOCS to Construction Space').'" />'. |
&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs'). |
&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs').'<br />'; |
'</div>'; |
|
} else { |
} else { |
return '<div>'. |
return '<div>'. |
&mt('Dump '.$type. |
&mt('Dump '.$type. |
Line 136 sub dumpbutton {
|
Line 133 sub dumpbutton {
|
sub clean { |
sub clean { |
my ($title)=@_; |
my ($title)=@_; |
$title=~s/[^\w\/\!\$\%\^\*\-\_\=\+\;\:\,\\\|\`\~]+/\_/gs; |
$title=~s/[^\w\/\!\$\%\^\*\-\_\=\+\;\:\,\\\|\`\~]+/\_/gs; |
return $title; |
return $title; |
} |
} |
|
|
|
|
Line 178 sub dumpcourse {
|
Line 175 sub dumpcourse {
|
my $fail=0; |
my $fail=0; |
for (my $i=0;$i<$#dirs;$i++) { |
for (my $i=0;$i<$#dirs;$i++) { |
$makepath.='/'.$dirs[$i]; |
$makepath.='/'.$dirs[$i]; |
unless (-e $makepath) { |
unless (-e $makepath) { |
unless(mkdir($makepath,0777)) { $fail=1; } |
unless(mkdir($makepath,0777)) { $fail=1; } |
} |
} |
} |
} |
$r->print('<br /><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt>: '); |
$r->print('<br /><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt>: '); |
Line 265 sub dumpcourse {
|
Line 262 sub dumpcourse {
|
|
|
sub exportbutton { |
sub exportbutton { |
my $type = &Apache::loncommon::course_type(); |
my $type = &Apache::loncommon::course_type(); |
return '<div>'. |
return '<input type="submit" name="exportcourse" value="'. |
'<input type="submit" name="exportcourse" value="'. |
|
&mt('Export '.$type.' to IMS').'" />'. |
&mt('Export '.$type.' to IMS').'" />'. |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'</div>'; |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'<br />'; |
} |
} |
|
|
|
|
Line 431 function checkAll(field) {
|
Line 427 function checkAll(field) {
|
field.checked = true |
field.checked = true |
} |
} |
} |
} |
|
|
function uncheckAll(field) { |
function uncheckAll(field) { |
if (field.length > 0) { |
if (field.length > 0) { |
for (i = 0; i < field.length; i++) { |
for (i = 0; i < field.length; i++) { |
Line 446 function propagateCheck(item) {
|
Line 442 function propagateCheck(item) {
|
if (document.exportdoc.elements[item].checked == true) { |
if (document.exportdoc.elements[item].checked == true) { |
containerCheck(item) |
containerCheck(item) |
} |
} |
} |
} |
|
|
function containerCheck(item) { |
function containerCheck(item) { |
document.exportdoc.elements[item].checked = true |
document.exportdoc.elements[item].checked = true |
Line 469 function containerCheck(item) {
|
Line 465 function containerCheck(item) {
|
for (var j=0; j<parents[item].length; j++) { |
for (var j=0; j<parents[item].length; j++) { |
containerCheck(parents[item][j]) |
containerCheck(parents[item][j]) |
} |
} |
} |
} |
} |
} |
|
|
</script> |
</script> |
Line 763 sub replicate_content {
|
Line 759 sub replicate_content {
|
if ($caller eq 'templateupload') { |
if ($caller eq 'templateupload') { |
$url = $symb; |
$url = $symb; |
$url =~ s#//#/#g; |
$url =~ s#//#/#g; |
} else { |
} else { |
($map,$ind,$url)=&Apache::lonnet::decode_symb($symb); |
($map,$ind,$url)=&Apache::lonnet::decode_symb($symb); |
} |
} |
my $content; |
my $content; |
Line 803 sub replicate_content {
|
Line 799 sub replicate_content {
|
$$message = 'Could not render '.$url.' server message - '.$rtncode."<br />\n"; |
$$message = 'Could not render '.$url.' server message - '.$rtncode."<br />\n"; |
} |
} |
} elsif ($caller eq 'noedit') { |
} elsif ($caller eq 'noedit') { |
# Need to render the resource without the LON-CAPA Internal header and the Post discussion footer, and then set $content equal to this. |
# Need to render the resource without the LON-CAPA Internal header and the Post discussion footer, and then set $content equal to this. |
$repstatus = 'ok'; |
$repstatus = 'ok'; |
$content = 'Not the owner of this resource'; |
$content = 'Not the owner of this resource'; |
} |
} |
if ($repstatus eq 'ok') { |
if ($repstatus eq 'ok') { |
print $copiedfile $content; |
print $copiedfile $content; |
Line 856 sub extract_media {
|
Line 852 sub extract_media {
|
} |
} |
} |
} |
if ($caller eq 'resource') { |
if ($caller eq 'resource') { |
my $respath = $Apache::lonnet::perlvar{'lonDocRoot'}.'/res'; |
my $respath = $Apache::lonnet::perlvar{'lonDocRoot'}.'/res'; |
my $embed_path = &Apache::lonnet::filelocation($respath,$embed_url); |
my $embed_path = &Apache::lonnet::filelocation($respath,$embed_url); |
$embed_content = &Apache::lonnet::getfile($embed_path); |
$embed_content = &Apache::lonnet::getfile($embed_path); |
unless ($embed_content eq -1) { |
unless ($embed_content eq -1) { |
$repstatus = 'ok'; |
$repstatus = 'ok'; |
} |
} |
} elsif ($caller eq 'uploaded') { |
} elsif ($caller eq 'uploaded') { |
|
|
$repstatus = &Apache::lonnet::getuploaded('GET',$embed_url,$cdom,$cnum,\$embed_content,$rtncode); |
$repstatus = &Apache::lonnet::getuploaded('GET',$embed_url,$cdom,$cnum,\$embed_content,$rtncode); |
} |
} |
if ($repstatus eq 'ok') { |
if ($repstatus eq 'ok') { |
Line 925 sub group_import {
|
Line 921 sub group_import {
|
|
|
while (@files) { |
while (@files) { |
my ($name, $url, $residx) = @{ shift(@files) }; |
my ($name, $url, $residx) = @{ shift(@files) }; |
if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) |
if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) |
&& ($caller eq 'londocs') |
&& ($caller eq 'londocs') |
&& (!&Apache::lonnet::stat_file($url))) { |
&& (!&Apache::lonnet::stat_file($url))) { |
|
|
my $errtext = ''; |
my $errtext = ''; |
my $fatal = 0; |
my $fatal = 0; |
my $newmapstr = '<map>'."\n". |
my $newmapstr = '<map>'."\n". |
Line 948 sub group_import {
|
Line 944 sub group_import {
|
} |
} |
} |
} |
if ($url) { |
if ($url) { |
if (!$residx |
if (!$residx |
|| defined($LONCAPA::map::zombies[$residx])) { |
|| defined($LONCAPA::map::zombies[$residx])) { |
$residx = &LONCAPA::map::getresidx($url,$residx); |
$residx = &LONCAPA::map::getresidx($url,$residx); |
push(@LONCAPA::map::order, $residx); |
push(@LONCAPA::map::order, $residx); |
Line 957 sub group_import {
|
Line 953 sub group_import {
|
if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; } |
if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; } |
$url = &LONCAPA::map::qtunescape($url); |
$url = &LONCAPA::map::qtunescape($url); |
$name = &LONCAPA::map::qtunescape($name); |
$name = &LONCAPA::map::qtunescape($name); |
$LONCAPA::map::resources[$residx] = |
$LONCAPA::map::resources[$residx] = |
join(':', ($name, $url, $ext, 'normal', 'res')); |
join(':', ($name, $url, $ext, 'normal', 'res')); |
} |
} |
} |
} |
Line 988 sub breadcrumbs {
|
Line 984 sub breadcrumbs {
|
my $url='/adm/coursedocs?folderpath='. |
my $url='/adm/coursedocs?folderpath='. |
&escape($folderpath); |
&escape($folderpath); |
my $name=&unescape($foldername); |
my $name=&unescape($foldername); |
# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername |
# randompick number, hidden, encrypted, random order, is appended with ":"s to the foldername |
$name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//; |
$name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)$//; |
if ($1 ne '') { |
if ($1 ne '') { |
$randompick=$1; |
$randompick=$1; |
} else { |
} else { |
$randompick=-1; |
$randompick=-1; |
Line 1008 sub breadcrumbs {
|
Line 1004 sub breadcrumbs {
|
&Apache::lonhtmlcommon::add_breadcrumb( |
&Apache::lonhtmlcommon::add_breadcrumb( |
{'href'=>$url.$cpinfo, |
{'href'=>$url.$cpinfo, |
'title'=>$name, |
'title'=>$name, |
'text'=>'<font size="+1">'. |
'text'=>$name, |
$name.'</font>', |
|
'no_mt'=>1, |
'no_mt'=>1, |
}); |
}); |
$plain.=$name.' > '; |
$plain.=$name.' > '; |
} |
} |
$plain=~s/\>\;\s*$//; |
$plain=~s/\>\;\s*$//; |
return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp', |
return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp', |
'LC_docs_path'),$randompick,$ishidden,$isencrypted,$plain,$is_random_order); |
'LC_docs_path', undef, 1 ),$randompick,$ishidden,$isencrypted,$plain,$is_random_order); |
} |
} |
|
|
sub log_docs { |
sub log_docs { |
Line 1129 sub docs_change_log {
|
Line 1124 sub docs_change_log {
|
foreach my $key (@changes) { |
foreach my $key (@changes) { |
$wholeentry.=':'.$docslog{$id}{'logentry'}{$key}; |
$wholeentry.=':'.$docslog{$id}{'logentry'}{$key}; |
} |
} |
if ($wholeentry!~/\Q$env{'form.containingphrase'}\E/i) { next; } |
if ($wholeentry!~/\Q$env{'form.containingphrase'}\E/i) { next; } |
} |
} |
my $count = 0; |
my $count = 0; |
my $time = |
my $time = |
Line 1180 sub docs_change_log {
|
Line 1175 sub docs_change_log {
|
if ($oldname ne '' && $oldname ne $newname) { |
if ($oldname ne '' && $oldname ne $newname) { |
$r->print(&LONCAPA::map::qtescape($newname)); |
$r->print(&LONCAPA::map::qtescape($newname)); |
} |
} |
} |
} |
$r->print('<ul>'); |
$r->print('<ul>'); |
for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) { |
for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) { |
if ($docslog{$id}{'logentry'}{'after_order_res_'.$idx}) { |
if ($docslog{$id}{'logentry'}{'after_order_res_'.$idx}) { |
Line 1218 sub update_paste_buffer {
|
Line 1213 sub update_paste_buffer {
|
|
|
my ($errtext,$fatal) = &mapread($coursenum,$coursedom, |
my ($errtext,$fatal) = &mapread($coursenum,$coursedom, |
$env{'form.copyfolder'}); |
$env{'form.copyfolder'}); |
|
|
return if ($fatal); |
return if ($fatal); |
|
|
# Mark for copying |
# Mark for copying |
Line 1342 sub do_paste_from_buffer {
|
Line 1337 sub do_paste_from_buffer {
|
$db_name =~ s{_\d*$ }{_$now}x; |
$db_name =~ s{_\d*$ }{_$now}x; |
my $result=&Apache::lonnet::put($db_name,\%contents, |
my $result=&Apache::lonnet::put($db_name,\%contents, |
$coursedom,$coursenum); |
$coursedom,$coursenum); |
$url =~ s{/(\d*)/smppg$ }{/$now/smppg}x; |
$url =~ s{/(\d*)/smppg$ }{/$now/smppg}x; |
$title=&mt('Copy of').' '.$title; |
$title=&mt('Copy of').' '.$title; |
} |
} |
} |
} |
Line 1356 sub do_paste_from_buffer {
|
Line 1351 sub do_paste_from_buffer {
|
if ($folder =~ /^supplemental/) { |
if ($folder =~ /^supplemental/) { |
$title = $env{'docs.markedcopy_supplemental'}; |
$title = $env{'docs.markedcopy_supplemental'}; |
} else { |
} else { |
(undef,undef,$title) = |
(undef,undef,$title) = |
&parse_supplemental_title($env{'docs.markedcopy_supplemental'}); |
&parse_supplemental_title($env{'docs.markedcopy_supplemental'}); |
} |
} |
} else { |
} else { |
Line 1380 sub uniqueness_check {
|
Line 1375 sub uniqueness_check {
|
$url=&LONCAPA::map::qtescape($url); |
$url=&LONCAPA::map::qtescape($url); |
if ($newurl eq $url) { |
if ($newurl eq $url) { |
$unique = 0; |
$unique = 0; |
last; |
last; |
} |
} |
} |
} |
return $unique; |
return $unique; |
Line 1406 sub update_parameter {
|
Line 1401 sub update_parameter {
|
&remember_parms($idx,$which,'set',$value); |
&remember_parms($idx,$which,'set',$value); |
} else { |
} else { |
&LONCAPA::map::delparameter($idx,'parameter_'.$which); |
&LONCAPA::map::delparameter($idx,'parameter_'.$which); |
|
|
&remember_parms($idx,$which,'del'); |
&remember_parms($idx,$which,'del'); |
} |
} |
return 1; |
return 1; |
Line 1434 sub handle_edit_cmd {
|
Line 1429 sub handle_edit_cmd {
|
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
splice(@LONCAPA::map::order, $idx, 1); |
splice(@LONCAPA::map::order, $idx, 1); |
|
|
} elsif ($cmd eq 'up' |
} elsif ($cmd eq 'up' |
&& ($idx) && (defined($LONCAPA::map::order[$idx-1]))) { |
&& ($idx) && (defined($LONCAPA::map::order[$idx-1]))) { |
@LONCAPA::map::order[$idx-1,$idx] = @LONCAPA::map::order[$idx,$idx-1]; |
@LONCAPA::map::order[$idx-1,$idx] = @LONCAPA::map::order[$idx,$idx-1]; |
|
|
Line 1474 sub editor {
|
Line 1469 sub editor {
|
$LONCAPA::map::order[0]=$idx; |
$LONCAPA::map::order[0]=$idx; |
$LONCAPA::map::resources[$idx]=''; |
$LONCAPA::map::resources[$idx]=''; |
} |
} |
|
|
my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order)= |
my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order)= |
&breadcrumbs($folder,$allowed,$type); |
&breadcrumbs($folder,$allowed,$type); |
$r->print($breadcrumbtrail); |
$r->print($breadcrumbtrail); |
|
|
# ------------------------------------------------------------ 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 |
Line 1499 sub editor {
|
Line 1494 sub editor {
|
($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container); |
($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container); |
return $errtext if ($fatal); |
return $errtext if ($fatal); |
} |
} |
|
|
if ($env{'form.pastemarked'}) { |
if ($env{'form.pastemarked'}) { |
my $paste_res = |
my $paste_res = |
&do_paste_from_buffer($coursenum,$coursedom,$folder); |
&do_paste_from_buffer($coursenum,$coursedom,$folder); |
if ($paste_res eq 'ok') { |
if ($paste_res eq 'ok') { |
($errtext,$fatal) = &storemap($coursenum,$coursedom,$folder.'.'.$container); |
($errtext,$fatal) = &storemap($coursenum,$coursedom,$folder.'.'.$container); |
Line 1545 sub editor {
|
Line 1540 sub editor {
|
return $errtext if ($fatal); |
return $errtext if ($fatal); |
} else { |
} else { |
$r->print('<p><span class="LC_error">'.&mt('No map selected.').'</span></p>'); |
$r->print('<p><span class="LC_error">'.&mt('No map selected.').'</span></p>'); |
|
|
} |
} |
} |
} |
&log_differences($plain); |
&log_differences($plain); |
Line 1560 sub editor {
|
Line 1555 sub editor {
|
($ishidden?'<li>'.&mt('contents hidden').'</li>':''). |
($ishidden?'<li>'.&mt('contents hidden').'</li>':''). |
($isencrypted?'<li>'.&mt('URLs hidden').'</li>':''). |
($isencrypted?'<li>'.&mt('URLs hidden').'</li>':''). |
'</ul></p>'); |
'</ul></p>'); |
} |
} |
if ($randompick>=0) { |
if ($randompick>=0) { |
$r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>'); |
$r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>'); |
} |
} |
Line 1664 sub process_file_upload {
|
Line 1659 sub process_file_upload {
|
<input type="hidden" name="phasetwo" value="'.$total_embedded.'" />'; |
<input type="hidden" name="phasetwo" value="'.$total_embedded.'" />'; |
$phase_status = 'phasetwo'; |
$phase_status = 'phasetwo'; |
|
|
$$upload_output .= |
$$upload_output .= |
'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'. |
'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'. |
&Apache::loncommon::ask_for_embedded_content( |
&Apache::loncommon::ask_for_embedded_content( |
'/adm/coursedocs',$state,$allfiles,$codebase); |
'/adm/coursedocs',$state,$allfiles,$codebase); |
Line 1719 sub parse_supplemental_title {
|
Line 1714 sub parse_supplemental_title {
|
} |
} |
if (wantarray) { |
if (wantarray) { |
return ($title,$foldertitle,$renametitle); |
return ($title,$foldertitle,$renametitle); |
} |
} |
return $title; |
return $title; |
} |
} |
|
|
Line 1740 sub entryline {
|
Line 1735 sub entryline {
|
} |
} |
|
|
my $orderidx=$LONCAPA::map::order[$index]; |
my $orderidx=$LONCAPA::map::order[$index]; |
|
|
|
|
$renametitle=~s/\\/\\\\/g; |
$renametitle=~s/\\/\\\\/g; |
$renametitle=~s/\"\;/\\\"/g; |
$renametitle=~s/\"\;/\\\"/g; |
Line 1767 sub entryline {
|
Line 1762 sub entryline {
|
my $incindex=$index+1; |
my $incindex=$index+1; |
my $selectbox=''; |
my $selectbox=''; |
if (($folder!~/^supplemental/) && |
if (($folder!~/^supplemental/) && |
($#LONCAPA::map::order>0) && |
($#LONCAPA::map::order>0) && |
((split(/\:/, |
((split(/\:/, |
$LONCAPA::map::resources[$LONCAPA::map::order[0]]))[1] |
$LONCAPA::map::resources[$LONCAPA::map::order[0]]))[1] |
ne '') && |
ne '') && |
((split(/\:/, |
((split(/\:/, |
$LONCAPA::map::resources[$LONCAPA::map::order[1]]))[1] |
$LONCAPA::map::resources[$LONCAPA::map::order[1]]))[1] |
ne '')) { |
ne '')) { |
$selectbox= |
$selectbox= |
'<input type="hidden" name="currentpos" value="'.$incindex.'" />'. |
'<input type="hidden" name="currentpos" value="'.$incindex.'" />'. |
Line 1809 sub entryline {
|
Line 1804 sub entryline {
|
} |
} |
} |
} |
} |
} |
if ($url=~/^\/res\/lib\/templates\//) { |
if ($url=~/^\/res\/lib\/templates\//) { |
$nocopy=1; |
$nocopy=1; |
$nocut=1; |
$nocut=1; |
} |
} |
my $copylink=' '; |
my $copylink=' '; |
my $cutlink=' '; |
my $cutlink=' '; |
|
|
my $skip_confirm = 0; |
my $skip_confirm = 0; |
if ( $folder =~ /^supplemental/ |
if ( $folder =~ /^supplemental/ |
|| ($url =~ m{( /smppg$ |
|| ($url =~ m{( /smppg$ |
Line 1901 END
|
Line 1896 END
|
&Apache::lonnet::allowuploaded('/adm/coursedoc',$url); |
&Apache::lonnet::allowuploaded('/adm/coursedoc',$url); |
} |
} |
} |
} |
|
|
my $orig_url = $url; |
my $orig_url = $url; |
$orig_url=~s{http(:|:)//https(:|:)//}{https$2//}; |
$orig_url=~s{http(:|:)//https(:|:)//}{https$2//}; |
my $external = ($url=~s{^http(|s)(:|:)//}{/adm/wrapper/ext/}); |
my $external = ($url=~s{^http(|s)(:|:)//}{/adm/wrapper/ext/}); |
Line 1925 END
|
Line 1920 END
|
} elsif ($url!~/\.(sequence|page)$/) { |
} elsif ($url!~/\.(sequence|page)$/) { |
$url='/adm/coursedocs/showdoc'.$url; |
$url='/adm/coursedocs/showdoc'.$url; |
} |
} |
} elsif ($url=~m|^/ext/|) { |
} elsif ($url=~m|^/ext/|) { |
$url='/adm/wrapper'.$url; |
$url='/adm/wrapper'.$url; |
$external = 1; |
$external = 1; |
} |
} |
Line 1936 END
|
Line 1931 END
|
} |
} |
if ($container eq 'page') { |
if ($container eq 'page') { |
my $symb=$env{'form.pagesymb'}; |
my $symb=$env{'form.pagesymb'}; |
|
|
$url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]); |
$url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]); |
$url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); |
$url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); |
} |
} |
Line 1946 END
|
Line 1941 END
|
my $foldername=&escape($foldertitle); |
my $foldername=&escape($foldertitle); |
my $folderpath=$env{'form.folderpath'}; |
my $folderpath=$env{'form.folderpath'}; |
if ($folderpath) { $folderpath.='&' }; |
if ($folderpath) { $folderpath.='&' }; |
# Append randompick number, hidden, and encrypted with ":" to foldername, |
# Append randompick number, hidden, and encrypted with ":" to foldername, |
# so it gets transferred between levels |
# so it gets transferred between levels |
$folderpath.=$folderarg.'&'.$foldername.':'.(&LONCAPA::map::getparameter($orderidx, |
$folderpath.=$folderarg.'&'.$foldername.':'.(&LONCAPA::map::getparameter($orderidx, |
'parameter_randompick'))[0] |
'parameter_randompick'))[0] |
Line 1966 END
|
Line 1961 END
|
my $ro_set= |
my $ro_set= |
((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':''); |
((&LONCAPA::map::getparameter($orderidx,'parameter_randomorder'))[0]=~/^yes$/i?' checked="checked"':''); |
$rand_order_text =' |
$rand_order_text =' |
<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>'; |
<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" onClick="this.form.changeparms.value=\'randomorder\';this.form.submit()" '.$ro_set.' /> '.&mt('Random Order').' </label></span>'; |
} |
} |
if ($ispage) { |
if ($ispage) { |
my $pagename=&escape($pagetitle); |
my $pagename=&escape($pagetitle); |
Line 2049 sub tiehash {
|
Line 2044 sub tiehash {
|
$hashtied=1; |
$hashtied=1; |
} |
} |
} |
} |
} |
} |
} |
} |
|
|
sub untiehash { |
sub untiehash { |
Line 2257 sub checkversions {
|
Line 2252 sub checkversions {
|
if ($haschanged) { |
if ($haschanged) { |
if (&Apache::lonnet::put('resourceversions',\%newsetversions, |
if (&Apache::lonnet::put('resourceversions',\%newsetversions, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') { |
$env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') { |
$r->print('<h1>'.&mt('Your Version Settings have been Saved').'</h1>'); |
$r->print('<h1>'.&mt('Your Version Settings have been Saved').'</h1>'); |
} else { |
} else { |
$r->print('<h1><span class="LC_error">'.&mt('An Error Occured while Attempting to Save your Version Settings').'</span></h1>'); |
$r->print('<h1><span class="LC_error">'.&mt('An Error Occured while Attempting to Save your Version Settings').'</span></h1>'); |
Line 2398 ENDHEADERS
|
Line 2393 ENDHEADERS
|
$lastold=$prevvers; |
$lastold=$prevvers; |
} |
} |
} |
} |
# |
# |
# Code to figure out how many version entries should go in |
# Code to figure out how many version entries should go in |
# each of the four columns |
# each of the four columns |
my $entries_per_col = 0; |
my $entries_per_col = 0; |
Line 2409 ENDHEADERS
|
Line 2404 ENDHEADERS
|
$entries_per_col = $num_entries/4 + 1; |
$entries_per_col = $num_entries/4 + 1; |
} |
} |
my $entries_count = 0; |
my $entries_count = 0; |
$r->print('<td valign="top"><font size="-2">'); |
$r->print('<td valign="top"><font size="-2">'); |
my $cols_output = 1; |
my $cols_output = 1; |
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { |
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { |
my $url=$root.'.'.$prevvers.'.'.$extension; |
my $url=$root.'.'.$prevvers.'.'.$extension; |
Line 2488 sub changewarning {
|
Line 2483 sub changewarning {
|
$message='Changes will become active for your current session after [_1], or the next time you log in.'; |
$message='Changes will become active for your current session after [_1], or the next time you log in.'; |
} |
} |
$r->print("\n\n". |
$r->print("\n\n". |
'<script type="text/javascript">function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n". |
'<script type="text/javascript">function reinit(tf) { tf.submit();'.$postexec.' }</script>'."\n". |
'<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'. |
'<form name="reinitform" method="post" action="/adm/roles" target="loncapaclient">'. |
'<input type="hidden" name="orgurl" value="'.$url. |
'<input type="hidden" name="orgurl" value="'.$url. |
'" /><input type="hidden" name="selectrole" value="1" /><h3><span class="LC_warning">'. |
'" /><input type="hidden" name="selectrole" value="1" /><h3><span class="LC_warning">'. |
Line 2523 sub handler {
|
Line 2518 sub handler {
|
return OK if $r->header_only; |
return OK if $r->header_only; |
my $type = &Apache::loncommon::course_type(); |
my $type = &Apache::loncommon::course_type(); |
|
|
|
|
# --------------------------------------------- Initialize help topics for this |
# --------------------------------------------- Initialize help topics for this |
foreach my $topic ('Adding_Course_Doc','Main_Course_Documents', |
foreach my $topic ('Adding_Course_Doc','Main_Course_Documents', |
'Adding_External_Resource','Navigate_Content', |
'Adding_External_Resource','Navigate_Content', |
Line 2541 sub handler {
|
Line 2537 sub handler {
|
'Option_Response_Simple'); |
'Option_Response_Simple'); |
$help{'Bulletin Board'} = &Apache::loncommon::help_open_topic( |
$help{'Bulletin Board'} = &Apache::loncommon::help_open_topic( |
'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages'); |
'Docs_About_Bulletin_Board,Docs_Editing_Templated_Pages'); |
$help{'My Personal Info'} = &Apache::loncommon::help_open_topic( |
$help{'My Personal Information Page'} = &Apache::loncommon::help_open_topic( |
'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages'); |
'Docs_About_My_Personal_Info,Docs_Editing_Templated_Pages'); |
$help{'Group Files'} = &Apache::loncommon::help_open_topic('Docs_About_Group_Files'); |
$help{'Group Portfolio'} = &Apache::loncommon::help_open_topic('Docs_About_Group_Files'); |
$help{'Caching'} = &Apache::loncommon::help_open_topic('Caching'); |
$help{'Caching'} = &Apache::loncommon::help_open_topic('Caching'); |
|
|
# does this user have privileges to modify docs |
# does this user have privileges to modify docs |
Line 2576 sub handler {
|
Line 2572 sub handler {
|
my $showdoc=0; |
my $showdoc=0; |
my $containertag; |
my $containertag; |
my $uploadtag; |
my $uploadtag; |
|
|
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['folderpath','pagepath', |
['folderpath','pagepath', |
'pagesymb']); |
'pagesymb']); |
Line 2617 sub handler {
|
Line 2615 sub handler {
|
$showdoc='/'.$1; |
$showdoc='/'.$1; |
} |
} |
unless ($showdoc) { # got called from remote |
unless ($showdoc) { # got called from remote |
if (($env{'form.folder'}=~/^(?:group|default)_/) || |
if (($env{'form.folder'}=~/^(?:group|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_/); |
|
|
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'); |
} |
} |
} else { # got called in sequence from course |
} else { # got called in sequence from course |
$allowed=0; |
$allowed=0; |
Line 2635 sub handler {
|
Line 2633 sub handler {
|
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $coursenum=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $coursedom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
|
# get personal data |
# get personal data |
my $uname=$env{'user.name'}; |
my $uname=$env{'user.name'}; |
my $udom=$env{'user.domain'}; |
my $udom=$env{'user.domain'}; |
my $plainname=&escape(&Apache::loncommon::plainname($uname,$udom)); |
my $plainname=&escape(&Apache::loncommon::plainname($uname,$udom)); |
Line 2654 sub handler {
|
Line 2652 sub handler {
|
{'force_register' => $showdoc, |
{'force_register' => $showdoc, |
'bread_crumbs' => $brcrum}). |
'bread_crumbs' => $brcrum}). |
&Apache::loncommon::help_open_menu('','',273,'RAT')); |
&Apache::loncommon::help_open_menu('','',273,'RAT')); |
|
|
my %allfiles = (); |
my %allfiles = (); |
my %codebase = (); |
my %codebase = (); |
my ($upload_result,$upload_output); |
my ($upload_result,$upload_output); |
if ($allowed) { |
if ($allowed) { |
if (($env{'form.uploaddoc.filename'}) && |
if (($env{'form.uploaddoc.filename'}) && |
($env{'form.cmd'}=~/^upload_(\w+)/)) { |
($env{'form.cmd'}=~/^upload_(\w+)/)) { |
# Process file upload - phase one - upload and parse primary file. |
# Process file upload - phase one - upload and parse primary file. |
undef($hadchanges); |
undef($hadchanges); |
$upload_result = &process_file_upload(\$upload_output,$coursenum, |
$upload_result = &process_file_upload(\$upload_output,$coursenum, |
$coursedom,\%allfiles, |
$coursedom,\%allfiles, |
Line 2686 sub handler {
|
Line 2684 sub handler {
|
$newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx); |
$newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx); |
$origname{$i} = &unescape($env{'form.embedded_orig_'.$i}); |
$origname{$i} = &unescape($env{'form.embedded_orig_'.$i}); |
if (exists($env{'form.embedded_codebase_'.$i})) { |
if (exists($env{'form.embedded_codebase_'.$i})) { |
$javacodebase = &unescape($env{'form.embedded_codebase_'.$i}); |
$javacodebase = &unescape($env{'form.embedded_codebase_'.$i}); |
$origname{$i} =~ s#^\Q$javacodebase\E/##; |
$origname{$i} =~ s#^\Q$javacodebase\E/##; |
} |
} |
my @attributes = (); |
my @attributes = (); |
if ($env{'form.embedded_attrib_'.$i} =~ /:/) { |
if ($env{'form.embedded_attrib_'.$i} =~ /:/) { |
Line 2723 sub handler {
|
Line 2721 sub handler {
|
$attrib_regexp = $attribs{$item}[0]; |
$attrib_regexp = $attribs{$item}[0]; |
} |
} |
if ($content =~ m#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#) { |
if ($content =~ m#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#) { |
} |
} |
$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi; |
$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$origname{$item}\E(['"]?)#$1$newname{$item}$2#gi; |
} |
} |
if (exists($codebase{$item})) { |
if (exists($codebase{$item})) { |
$content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i; #' stupid emacs |
$content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i; #' stupid emacs |
Line 2736 sub handler {
|
Line 2734 sub handler {
|
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult); |
my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult); |
} else { |
} else { |
&Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus); |
&Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus); |
} |
} |
} |
} |
} |
} |
Line 2748 sub handler {
|
Line 2746 sub handler {
|
'uplm' => 'Upload a new main '.lc($type).' document', |
'uplm' => 'Upload a new main '.lc($type).' document', |
'upls' => 'Upload a new supplemental '.lc($type).' document', |
'upls' => 'Upload a new supplemental '.lc($type).' document', |
'impp' => 'Import a document', |
'impp' => 'Import a document', |
'pubd' => 'Published documents', |
'pubd' => 'Published Documents', |
'copm' => 'All documents out of a published map into this folder', |
'copm' => 'All documents out of a published map into this folder', |
'spec' => 'Special documents', |
|
'upld' => 'Upload Document', |
'upld' => 'Upload Document', |
'srch' => 'Search', |
'srch' => 'Search', |
'impo' => 'Import', |
'impo' => 'Import', |
Line 2769 sub handler {
|
Line 2766 sub handler {
|
'scuf' => 'Score Upload Form', |
'scuf' => 'Score Upload Form', |
'bull' => 'Discussion Board', |
'bull' => 'Discussion Board', |
'mypi' => 'My Personal Information Page', |
'mypi' => 'My Personal Information Page', |
'grpo' => 'Group Portfolios', |
'grpo' => 'Group Portfolio', |
'rost' => 'Course Roster', |
'rost' => 'Course Roster', |
'abou' => 'About User', |
'abou' => 'Personal Information Page for a User', |
'imsf' => 'Import IMS package', |
'imsf' => 'Import IMS package', |
'file' => 'File', |
'file' => 'File', |
'title' => 'Title', |
'title' => 'Title', |
'comment' => 'Comment', |
'comment' => 'Comment', |
'parse' => 'If HTML file, upload embedded images/multimedia files' |
'parse' => 'Upload embedded images/multimedia files if HTML file!', |
|
'nd' => 'New Document', |
|
'pm' => 'Published Map', |
|
'sd' => 'Special Document', |
|
'mo' => 'More Options', |
|
'hao' => 'Hide all Options' |
); |
); |
# ----------------------------------------------------------------------------- |
# ----------------------------------------------------------------------------- |
|
my $fileupload=(<<FIUP); |
|
$lt{'file'}:<br /> |
|
<input type="file" name="uploaddoc" size="40" /> |
|
FIUP |
|
|
|
my $checkbox=(<<CHBO); |
|
<!-- <label>$lt{'parse'}? |
|
<input type="checkbox" name="parserflag" /> |
|
</label> --> |
|
<label> |
|
<input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'} |
|
</label> |
|
CHBO |
|
|
|
my $fileuploadform=(<<FUFORM); |
|
<form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
|
$fileupload |
|
<br /> |
|
$lt{'title'}:<br /> |
|
<input type="text" size="50" name="comment" /> |
|
$uploadtag |
|
<input type="hidden" name="cmd" value="upload_default" /> |
|
<br /> |
|
<span class="LC_nobreak"> |
|
$checkbox |
|
</span> |
|
<br /> |
|
<br /> |
|
<span class="LC_nobreak"> |
|
<input type="submit" value="$lt{'upld'}" /> |
|
$help{'Uploading_From_Harddrive'} |
|
</span> |
|
</form> |
|
FUFORM |
|
|
|
my $simpleeditdefaultform=(<<SEDFFORM); |
|
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
|
$lt{'pubd'}<br /> |
|
$uploadtag |
|
<input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" /> |
|
<br /> |
|
<span class="LC_nobreak"> |
|
<input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" /> |
|
$help{'Importing_LON-CAPA_Resource'} |
|
</span> |
|
<br /> |
|
<input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" /> |
|
<hr /> |
|
<p> |
|
$lt{'copm'}<br /> |
|
<input type="text" size="40" name="importmap" /><br /> |
|
<span class="LC_nobreak"><input type="button" |
|
onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')" |
|
value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" /> |
|
$help{'Load_Map'}</span> |
|
</p> |
|
</form> |
|
SEDFFORM |
|
|
|
my $extresourcesform=(<<ERFORM); |
|
<form action="/adm/coursedocs" method="post" name="newext"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newext" type="button" onClick="javascript:makenewext('newext');" |
|
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
|
</span> |
|
</form> |
|
ERFORM |
|
|
if ($allowed) { |
if ($allowed) { |
&update_paste_buffer($coursenum,$coursedom); |
&update_paste_buffer($coursenum,$coursedom); |
my $dumpbut=&dumpbutton(); |
|
my $exportbut=&exportbutton(); |
|
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', |
Line 2802 sub handler {
|
Line 2872 sub handler {
|
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
$uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
$uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
} |
} |
|
$r->print(<<HIDDENFORM); |
$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" /> |
<input type="hidden" name="markcopy" /> |
<input type="hidden" name="markcopy" /> |
<input type="hidden" name="copyfolder" /> |
<input type="hidden" name="copyfolder" /> |
$containertag |
$containertag |
</form> |
</form> |
<form name="simpleedit" method="post" action="/adm/coursedocs"> |
<form name="simpleedit" method="post" action="/adm/coursedocs"> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
$uploadtag |
$uploadtag |
</form> |
</form> |
HIDDENFORM |
<form action="/adm/coursedocs" method="post" name="courseverify"> |
} |
<div class="LC_docs_course_commands"> |
# --------------------------------------------------------- Main tab structure |
|
my $activeClass = 1; |
<div> |
my $active = ''; |
<input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'} |
$r->print('<ul class="LC_TabContentBigger" id="mainnav">'); |
</div> |
if (($standard) && ($allowed) && (!$forcesupplement) && (($env{'form.folderpath'}=~/^default/) || ($env{'form.pagepath'}))) { |
<div> |
if($activeClass == 1){ |
<input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'} |
$active = 'class="active"'; |
</div> |
$activeClass = 0; |
$dumpbut |
} |
$exportbut |
} |
<div> |
$r->print('<li '.$active.'onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');">'.&mt('Main Course Documents').'</li>'); |
<input type="submit" name="listsymbs" value="$lt{'ls'}" /> |
$active = ''; |
</div> |
if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) { |
<div> |
if($activeClass == 1){ |
<input type="hidden" name="folder" value="$env{'form.folder'}" /> |
$active = 'class="active"'; |
<input type="submit" name="docslog" value="$lt{'sl'}" /> |
} |
</div> |
|
</div> |
|
</form> |
|
<div style="clear: both; height: 0px;"> </div> |
|
ENDCOURSEVERIFY |
|
$r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc', |
|
&mt('Editing the Table of Contents for your '.$type))); |
|
} |
} |
|
$r->print('<li '.$active.'onclick="javascript:showPage(this,\'Supplemental Course Documents\',\'mainnav\',\'maincoursedoc\');">'.&mt('Supplemental Course Documents').'</li>'); |
|
$r->print('</ul><div class="LC_ContentBoxSpecial" style="margin:0 0;padding:0 0;"><div id="maincoursedoc" style="margin:0 0;padding:0 0;">'); |
# --------------------------------------------------------- Standard documents |
# --------------------------------------------------------- Standard documents |
$r->print('<table class="LC_docs_documents">'); |
my $savefolderpath; |
|
my $active = 'style="display: none;"'; |
if (($standard) && ($allowed) && (!$forcesupplement)) { |
if($activeClass == 0){ |
$r->print('<tr><td class="LC_docs_document">'); |
$active = 'style="display: block;"'; |
# '<h2>'.&mt('Main Course Documents'). |
} |
# ($allowed?' '.$help{'Main_Course_Documents'}:'').'</h2>'); |
$r->print('<div class="LC_ContentBox" id="mainCourseDocuments" '.$active.'>'); |
|
$r->print(&Apache::loncommon::help_open_topic('Docs_Adding_Course_Doc', |
|
&mt('Editing the Table of Contents for your '.$type))); |
my $folder=$env{'form.folder'}; |
my $folder=$env{'form.folder'}; |
if ($folder eq '' || $folder eq 'supplemental') { |
if ($folder eq '' || $folder=~/^supplemental/) { |
$folder='default'; |
$folder='default'; |
|
$savefolderpath = $env{'form.folderpath'}; |
$env{'form.folderpath'}='default&'.&escape(&mt('Main '.$type.' Documents')); |
$env{'form.folderpath'}='default&'.&escape(&mt('Main '.$type.' Documents')); |
$uploadtag = '<input type="hidden" name="folderpath" value="'. |
$uploadtag = '<input type="hidden" name="folderpath" value="'. |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'; |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" />'; |
Line 2860 ENDCOURSEVERIFY
|
Line 2928 ENDCOURSEVERIFY
|
} else { |
} else { |
#$postexec='self.close();'; |
#$postexec='self.close();'; |
} |
} |
$hadchanges=0; |
|
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed, |
|
$upload_output,$type); |
|
if ($error) { |
|
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
|
} |
|
if ($hadchanges) { |
|
&mark_hash_old(); |
|
} |
|
&changewarning($r,$postexec); |
|
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
my $folderseq='/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
'.sequence'; |
'.sequence'; |
my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
my $pageseq = '/uploaded/'.$coursedom.'/'.$coursenum.'/default_'.time. |
Line 2879 ENDCOURSEVERIFY
|
Line 2937 ENDCOURSEVERIFY
|
$container='page'; |
$container='page'; |
} |
} |
my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container; |
my $readfile='/uploaded/'.$coursedom.'/'.$coursenum.'/'.$folder.'.'.$container; |
$r->print(<<ENDFORM); |
|
<table class="LC_docs_adddocs"> |
|
<tr> |
|
<th>$lt{'uplm'}</th> |
my $recoverform=(<<RFORM); |
<th>$lt{'impp'}</th> |
<form action="/adm/groupsort" method="post" name="recover"> |
<th>$lt{'spec'}</th> |
<input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" /> |
</tr> |
</form> |
<tr> |
RFORM |
<td> |
|
$lt{'file'}:<br /> |
my $imspform=(<<IMSPFORM); |
<form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
<form action="/adm/imsimportdocs" method="post" name="ims"> |
<input type="file" name="uploaddoc" size="40" /> |
<input type="hidden" name="folder" value="$folder" /> |
<br /> |
<input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> |
$lt{'title'}:<br /> |
</form> |
<input type="text" size="50" name="comment" /> |
IMSPFORM |
$uploadtag |
|
<input type="hidden" name="cmd" value="upload_default" /> |
my $newnavform=(<<NNFORM); |
<br /> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<span class="LC_nobreak"> |
$uploadtag |
<label>$lt{'parse'}? |
<input type="hidden" name="importdetail" |
<input type="checkbox" name="parserflag" checked="checked" /> |
value="$lt{'navc'}=/adm/navmaps" /> |
</label> |
<span class="LC_nobreak"> |
</span> |
<input name="newnav" type="submit" value="$lt{'navc'}" /> |
<br /> |
$help{'Navigate_Content'} |
<br /> |
</span> |
<span class="LC_nobreak"> |
</form> |
<input type="submit" value="$lt{'upld'}" /> |
NNFORM |
$help{'Uploading_From_Harddrive'} |
my $newsmppageform=(<<NSPFORM); |
</span> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
</form> |
$uploadtag |
</td> |
<input type="hidden" name="importdetail" value="" /> |
<td> |
<span class="LC_nobreak"> |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
<input name="newsmppg" type="button" value="$lt{'sipa'}" |
$lt{'pubd'}<br /> |
onClick="javascript:makesmppage();" /> $help{'Simple Page'} |
$uploadtag |
</span> |
<input type="button" onClick="javascript:groupsearch()" value="$lt{'srch'}" /> |
</form> |
<br /> |
NSPFORM |
<span class="LC_nobreak"> |
|
<input type="button" onClick="javascript:groupimport();" value="$lt{'impo'}" /> |
my $newsmpproblemform=(<<NSPROBFORM); |
$help{'Importing_LON-CAPA_Resource'} |
<form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
</span> |
$uploadtag |
<br /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="button" onClick="javascript:groupopen(0,1,1);" value="$lt{'book'}" /> |
<span class="LC_nobreak"> |
<hr /> |
<input name="newsmpproblem" type="button" value="$lt{'sipr'}" |
<p> |
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
$lt{'copm'}<br /> |
</span> |
<input type="text" size="40" name="importmap" /><br /> |
</form> |
<span class="LC_nobreak"><input type="button" |
|
onClick="javascript:openbrowser('simpleeditdefault','importmap','sequence,page','')" |
NSPROBFORM |
value="$lt{'selm'}" /> <input type="submit" name="loadmap" value="$lt{'load'}" /> |
|
$help{'Load_Map'}</span> |
my $newdropboxform=(<<NDBFORM); |
</p> |
<form action="/adm/coursedocs" method="post" name="newdropbox"> |
</form> |
$uploadtag |
<hr /> |
<input type="hidden" name="importdetail" value="" /> |
<form action="/adm/groupsort" method="post" name="recover"> |
<span class="LC_nobreak"> |
<input type="button" name="recovermap" onClick="javascript:groupopen('$readfile',1,0)" value="$lt{'reco'}" /> |
<input name="newdropbox" type="button" value="$lt{'drbx'}" |
</form> |
onClick="javascript:makedropbox();" /> |
ENDFORM |
</span> |
unless ($env{'form.pagepath'}) { |
</form> |
$r->print(<<ENDFORM); |
NDBFORM |
<hr /> |
|
<form action="/adm/coursedocs" method="post" name="newext"> |
my $newexuploadform=(<<NEXUFORM); |
$uploadtag |
<form action="/adm/coursedocs" method="post" name="newexamupload"> |
<input type="hidden" name="importdetail" value="" /> |
$uploadtag |
<span class="LC_nobreak"> |
<input type="hidden" name="importdetail" value="" /> |
<input name="newext" type="button" onClick="javascript:makenewext('newext');" |
<span class="LC_nobreak"> |
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
<input name="newexamupload" type="button" value="$lt{'scuf'}" |
</span> |
onClick="javascript:makeexamupload();" /> |
</form> |
$help{'Score_Upload_Form'} |
<br /><form action="/adm/imsimportdocs" method="post" name="ims"> |
</span> |
<input type="hidden" name="folder" value="$folder" /> |
</form> |
<input name="imsimport" type="button" value="$lt{'imsf'}" onClick="javascript:makeims();" /> |
NEXUFORM |
</form> |
|
ENDFORM |
my $newbulform=(<<NBFORM); |
} |
<form action="/adm/coursedocs" method="post" name="newbul"> |
$r->print('</td><td>'); |
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newbulletin" type="button" value="$lt{'bull'}" |
|
onClick="javascript:makebulboard();" /> |
|
$help{'Bulletin Board'} |
|
</span> |
|
</form> |
|
NBFORM |
|
|
|
my $newaboutmeform=(<<NAMFORM); |
|
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" |
|
value="$plainname=/adm/$udom/$uname/aboutme" /> |
|
<span class="LC_nobreak"> |
|
<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> |
|
$help{'My Personal Information Page'} |
|
</span> |
|
</form> |
|
NAMFORM |
|
|
|
my $newaboutsomeoneform=(<<NASOFORM); |
|
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newaboutsomeone" type="button" value="$lt{'abou'}" |
|
onClick="javascript:makeabout();" /> |
|
</span> |
|
</form> |
|
NASOFORM |
|
|
|
|
|
my $newrosterform=(<<NROSTFORM); |
|
<form action="/adm/coursedocs" method="post" name="newroster"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" |
|
value="$lt{'rost'}=/adm/viewclasslist" /> |
|
<span class="LC_nobreak"> |
|
<input name="newroster" type="submit" value="$lt{'rost'}" /> |
|
$help{'Course Roster'} |
|
</span> |
|
</form> |
|
NROSTFORM |
|
|
|
my $specialdocumentsform; |
|
my $newfolderform; |
|
|
unless ($env{'form.pagepath'}) { |
unless ($env{'form.pagepath'}) { |
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
$r->print(<<ENDFORM); |
|
<br /><form action="/adm/coursedocs" method="post" name="newfolder"> |
my $newpageform=(<<NPFORM); |
<input type="hidden" name="folderpath" value="$path" /> |
<form action="/adm/coursedocs" method="post" name="newpage"> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<span class="LC_nobreak"> |
<input type="hidden" name="importdetail" value="" /> |
<input name="newfolder" type="button" |
<span class="LC_nobreak"> |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
<input name="newpage" type="button" |
value="$lt{'newf'}" />$help{'Adding_Folders'} |
onClick="javascript:makenewpage(this.form,'$pageseq');" |
</span> |
value="$lt{'newp'}" />$help{'Adding_Pages'} |
</form> |
</span> |
<br /><form action="/adm/coursedocs" method="post" name="newpage"> |
</form> |
<input type="hidden" name="folderpath" value="$path" /> |
NPFORM |
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
$newfolderform=(<<NFFORM); |
<input name="newpage" type="button" |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
onClick="javascript:makenewpage(this.form,'$pageseq');" |
<input type="hidden" name="folderpath" value="$path" /> |
value="$lt{'newp'}" />$help{'Adding_Pages'} |
<input type="hidden" name="importdetail" value="" /> |
</span> |
<span class="LC_nobreak"> |
</form> |
<input name="newfolder" type="button" |
<br /><form action="/adm/coursedocs" method="post" name="newsyl"> |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
$uploadtag |
value="$lt{'newf'}" />$help{'Adding_Folders'} |
<input type="hidden" name="importdetail" |
</span> |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
</form> |
<span class="LC_nobreak"> |
NFFORM |
<input name="newsyl" type="submit" value="$lt{'syll'}" /> |
|
$help{'Syllabus'} |
my $newsylform=(<<NSYLFORM); |
</span> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
</form> |
$uploadtag |
<br /><form action="/adm/coursedocs" method="post" name="newnav"> |
<input type="hidden" name="importdetail" |
$uploadtag |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
<input type="hidden" name="importdetail" |
<span class="LC_nobreak"> |
value="$lt{'navc'}=/adm/navmaps" /> |
<input name="newsyl" type="submit" value="$lt{'syll'}" /> |
<span class="LC_nobreak"> |
$help{'Syllabus'} |
<input name="newnav" type="submit" value="$lt{'navc'}" /> |
</span> |
$help{'Navigate_Content'} |
</form> |
</span> |
NSYLFORM |
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newsmppg"> |
my $newgroupfileform=(<<NGFFORM); |
$uploadtag |
<form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
<input type="hidden" name="importdetail" value="" /> |
$uploadtag |
<span class="LC_nobreak"> |
<input type="hidden" name="importdetail" |
<input name="newsmppg" type="button" value="$lt{'sipa'}" |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
onClick="javascript:makesmppage();" /> $help{'Simple Page'} |
<span class="LC_nobreak"> |
</span> |
<input name="newgroupfiles" type="submit" value="$lt{'grpo'}" /> |
</form> |
$help{'Group Portfolio'} |
<br /><form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
</span> |
$uploadtag |
</form> |
<input type="hidden" name="importdetail" value="" /> |
NGFFORM |
<span class="LC_nobreak"> |
|
<input name="newsmpproblem" type="button" value="$lt{'sipr'}" |
$specialdocumentsform="<br />$newpageform<br />$newsylform<br />$newgroupfileform"; |
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
} |
</span> |
$specialdocumentsform.="<br />$newnavform<br />$newsmppageform |
</form> |
<br />$newsmpproblemform<br />$newdropboxform |
<br /><form action="/adm/coursedocs" method="post" name="newdropbox"> |
<br />$newexuploadform<br />$newbulform |
$uploadtag |
<br />$newaboutmeform<br />$newaboutsomeoneform |
<input type="hidden" name="importdetail" value="" /> |
<br />$newrosterform"; |
<span class="LC_nobreak"> |
if($env{'form.pagepath'}) { |
<input name="newdropbox" type="button" value="$lt{'drbx'}" |
$specialdocumentsform="<br />$newsmpproblemform<br />$newexuploadform"; |
onClick="javascript:makedropbox();" /> |
} |
</span> |
|
</form> |
my %orderhash = ( |
<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> |
'aa' => ['New Document',$fileuploadform.'<br />'.$newfolderform], |
$uploadtag |
'bb' => ['Published Documents',$simpleeditdefaultform], |
<input type="hidden" name="importdetail" value="" /> |
'cc' => ['Special Documents',$specialdocumentsform], |
<span class="LC_nobreak"> |
'dd' => ['Tools',$extresourcesform.'<br />'.$imspform.'<br />'.$recoverform.'<br />'.&generate_admin_options($containertag,$uploadtag,\%help,\%env)], |
<input name="newexamupload" type="button" value="$lt{'scuf'}" |
'zz' => ['Hide all Options'], |
onClick="javascript:makeexamupload();" /> |
); |
$help{'Score_Upload_Form'} |
my $tid='1'; |
</span> |
my $varcd = 'Main Course Documents'; |
</form> |
$r->print(&generate_edit_table($tid,$varcd,\%orderhash)); |
<br /><form action="/adm/coursedocs" method="post" name="newbul"> |
$hadchanges=0; |
$uploadtag |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
<input type="hidden" name="importdetail" value="" /> |
if ($error) { |
<span class="LC_nobreak"> |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
<input name="newbulletin" type="button" value="$lt{'bull'}" |
} |
onClick="javascript:makebulboard();" /> |
if ($hadchanges) { |
$help{'Bulletin Board'} |
&mark_hash_old(); |
</span> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newaboutme"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" |
|
value="$plainname=/adm/$udom/$uname/aboutme" /> |
|
<span class="LC_nobreak"> |
|
<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> |
|
$help{'My Personal Info'} |
|
</span> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newaboutsomeone" type="button" value="$lt{'abou'}" |
|
onClick="javascript:makeabout();" /> |
|
</span> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" |
|
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
|
<span class="LC_nobreak"> |
|
<input name="newgroupfiles" type="submit" value="$lt{'grpo'}" /> |
|
$help{'Group Files'} |
|
</span> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newroster"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" |
|
value="$lt{'rost'}=/adm/viewclasslist" /> |
|
<span class="LC_nobreak"> |
|
<input name="newroster" type="submit" value="$lt{'rost'}" /> |
|
$help{'Course Roster'} |
|
</span> |
|
</form> |
|
ENDFORM |
|
} |
} |
|
|
|
&changewarning($r,''); |
|
$r->print('</div>'); |
if ($env{'form.pagepath'}) { |
if ($env{'form.pagepath'}) { |
$r->print(<<ENDBLOCK); |
|
<form action="/adm/coursedocs" method="post" name="newsmpproblem"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newsmpproblem" type="button" value="$lt{'sipr'}" |
|
onClick="javascript:makesmpproblem();" />$help{'Simple Problem'} |
|
</span> |
|
</form> |
|
<br /><form action="/adm/coursedocs" method="post" name="newexamupload"> |
|
$uploadtag |
|
<input type="hidden" name="importdetail" value="" /> |
|
<span class="LC_nobreak"> |
|
<input name="newexamupload" type="button" value="$lt{'scuf'}" |
|
onClick="javascript:makeexamupload();" /> |
|
$help{'Score_Upload_Form'} |
|
</span> |
|
</form> |
|
ENDBLOCK |
|
} |
} |
$r->print('</td></tr>'."\n". |
|
'</table>'); |
|
$r->print('</td></tr>'); |
|
} |
|
# ----------------------------------------------------- Supplemental documents |
# ----------------------------------------------------- Supplemental documents |
if (!$forcestandard) { |
my $active = 'style="display: none;"'; |
$r->print('<tr><td class="LC_docs_document">'); |
if($activeClass == 1){ |
# '<h2>'.&mt('Supplemental Course Documents'). |
$active = 'style="display: block;"'; |
# ($allowed?' '.$help{'Supplemental'}:'').'</h2>'); |
} |
|
$r->print('<div class="LC_ContentBox" id="Supplemental Course Documents" '.$active.'>'); |
my $folder=$env{'form.folder'}; |
my $folder=$env{'form.folder'}; |
unless ($folder=~/^supplemental/) { |
unless ($folder=~/^supplemental/) { |
$folder='supplemental'; |
$folder='supplemental'; |
Line 3111 ENDBLOCK
|
Line 3160 ENDBLOCK
|
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
$env{'form.folderpath'} = 'supplemental&'. |
$env{'form.folderpath'} = 'supplemental&'. |
&escape(&mt('Supplemental '.$type.' Documents')); |
&escape(&mt('Supplemental '.$type.' Documents')); |
|
}else{ |
|
$env{'form.folderpath'} = $savefolderpath; |
} |
} |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
$env{'form.pagepath'} = ''; |
if ($error) { |
|
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
|
} |
|
if ($allowed) { |
if ($allowed) { |
my $folderseq= |
my $folderseq= |
'/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time. |
'/uploaded/'.$coursedom.'/'.$coursenum.'/supplemental_'.time. |
'.sequence'; |
'.sequence'; |
|
|
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
$r->print(<<ENDSUPFORM); |
|
<table class="LC_docs_adddocs"><tr> |
my $supupdocform=(<<SUPDOCFORM); |
<th>$lt{'upls'}</th> |
<form action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
<th>$lt{'spec'}</th> |
$fileupload |
</tr> |
<br /> |
<tr><td> |
<br /> |
<form action="/adm/coursedocs" method="post" enctype="multipart/form-data"> |
<span class="LC_nobreak"> |
<input type="file" name="uploaddoc" size="40" /> |
$checkbox |
<br /> |
</span> |
<br /> |
<br /><br /> |
<span class="LC_nobreak"> |
$lt{'comment'}:<br /> |
<label>$lt{'parse'}? |
<textarea cols="50" rows="4" name="comment"> |
<input type="checkbox" name="parserflag" /> |
</textarea> |
</label> |
<br /> |
</span> |
<input type="hidden" name="folderpath" value="$path" /> |
<br /><br /> |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
$lt{'comment'}:<br /> |
<span class="LC_nobreak"> |
<textarea cols="50" rows="4" name="comment"> |
<input type="submit" value="$lt{'upld'}" /> |
</textarea> |
$help{'Uploading_From_Harddrive'} |
<br /> |
</span> |
<input type="hidden" name="folderpath" value="$path" /> |
</form> |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
SUPDOCFORM |
<span class="LC_nobreak"> |
|
<input type="submit" value="$lt{'upld'}" /> |
my $supnewfolderform=(<<SNFFORM); |
$help{'Uploading_From_Harddrive'} |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
</span> |
<input type="hidden" name="folderpath" value="$path" /> |
</form> |
<input type="hidden" name="importdetail" value="" /> |
</td> |
<span class="LC_nobreak"> |
<td> |
<input name="newfolder" type="button" |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
<input type="hidden" name="folderpath" value="$path" /> |
value="$lt{'newf'}" /> $help{'Adding_Folders'} |
<input type="hidden" name="importdetail" value="" /> |
</span> |
<span class="LC_nobreak"> |
</form> |
<input name="newfolder" type="button" |
SNFFORM |
onClick="javascript:makenewfolder(this.form,'$folderseq');" |
|
value="$lt{'newf'}" /> $help{'Adding_Folders'} |
|
</span> |
my $supnewextform=(<<SNEFORM); |
</form> |
<form action="/adm/coursedocs" method="post" name="supnewext"> |
<br /><form action="/adm/coursedocs" method="post" name="supnewext"> |
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<span class="LC_nobreak"> |
<span class="LC_nobreak"> |
<input name="newext" type="button" |
<input name="newext" type="button" |
onClick="javascript:makenewext('supnewext');" |
onClick="javascript:makenewext('supnewext');" |
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
value="$lt{'extr'}" /> $help{'Adding_External_Resource'} |
</span> |
</span> |
</form> |
</form> |
SNEFORM |
<br /><form action="/adm/coursedocs" method="post" name="supnewsyl"> |
|
<input type="hidden" name="folderpath" value="$path" /> |
my $supnewsylform=(<<SNSFORM); |
<input type="hidden" name="importdetail" |
<form action="/adm/coursedocs" method="post" name="supnewsyl"> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<span class="LC_nobreak"> |
<input type="hidden" name="importdetail" |
<input name="newsyl" type="submit" value="$lt{'syll'}" /> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
$help{'Syllabus'} |
<span class="LC_nobreak"> |
</span> |
<input name="newsyl" type="submit" value="$lt{'syll'}" /> |
</form> |
$help{'Syllabus'} |
<br /><form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
</span> |
<input type="hidden" name="folderpath" value="$path" /> |
</form> |
<input type="hidden" name="importdetail" |
SNSFORM |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
|
<span class="LC_nobreak"> |
my $supnewaboutmeform=(<<SNAMFORM); |
<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> |
<form action="/adm/coursedocs" method="post" name="subnewaboutme"> |
$help{'My Personal Info'} |
<input type="hidden" name="folderpath" value="$path" /> |
</span> |
<input type="hidden" name="importdetail" |
</form> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
</td></tr> |
<span class="LC_nobreak"> |
</table></td></tr> |
<input name="newaboutme" type="submit" value="$lt{'mypi'}" /> |
ENDSUPFORM |
$help{'My Personal Information Page'} |
|
</span> |
|
</form> |
|
SNAMFORM |
|
|
|
|
|
|
|
my %suporderhash = ( |
|
'ee' => ['New Document',$supupdocform.'<br />'.$supnewfolderform], |
|
'ff' => ['Special Documents',$supnewextform.'<br />'.$supnewsylform.'<br />'.$supnewaboutmeform], |
|
'zz' => ['Hide all Options'], |
|
); |
|
|
|
my $tid='2'; |
|
my $varscd = 'Supplemental Course Documents'; |
|
|
|
$r->print(&generate_edit_table($tid,$varscd,\%suporderhash)); |
|
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
|
if ($error) { |
|
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
} |
$r->print('</div>'); |
$r->print('</table>'); |
} |
|
$r->print('</div>'); |
if ($allowed) { |
if ($allowed) { |
$r->print(' |
$r->print(' |
<form method="post" name="extimport" action="/adm/coursedocs"> |
<form method="post" name="extimport" action="/adm/coursedocs"> |
Line 3214 ENDSUPFORM
|
Line 3282 ENDSUPFORM
|
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} |
} |
|
|
|
sub generate_admin_options { |
|
my ($containertag,$uploadtag,$help_ref,$env_ref) = @_; |
|
my %lt=&Apache::lonlocal::texthash( |
|
'vc' => 'Verify Content', |
|
'cv' => 'Check/Set Resource Versions', |
|
'ls' => 'List Symbs', |
|
'sl' => 'Show Log' |
|
); |
|
my %help = %{$help_ref}; |
|
my %env = %{$env_ref}; |
|
my $dumpbut=&dumpbutton(); |
|
my $exportbut=&exportbutton(); |
|
return (<<ENDOPTIONFORM); |
|
<form action="/adm/coursedocs" method="post" name="courseverify"> |
|
<input type="submit" name="verify" value="$lt{'vc'}" />$help{'Verify_Content'}<br /> |
|
<input type="submit" name="versions" value="$lt{'cv'}" />$help{'Check_Resource_Versions'}<br /> |
|
$dumpbut |
|
$exportbut |
|
<input type="submit" name="listsymbs" value="$lt{'ls'}" /> |
|
<input type="hidden" name="folder" value="$env{'form.folder'}" /><br /> |
|
<input type="submit" name="docslog" value="$lt{'sl'}" /> |
|
</form> |
|
ENDOPTIONFORM |
|
|
|
} |
|
|
|
|
|
sub generate_edit_table { |
|
my ($tid,$varcd,$orderhash_ref) = @_; |
|
my %orderhash = %{$orderhash_ref}; |
|
my $form; |
|
|
|
$form = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">'.&mt($varcd).'</h4>'; |
|
$form .= '<ul id="navigation'.$tid.'" class="LC_TabContent">'; |
|
foreach my $name (sort(keys(%orderhash))){ |
|
if($name eq 'zz'){ |
|
$form .= '<span class="LC_Right"><li onclick="javascript:hideAll(this, \'navigation'.$tid.'\' ,\'content'.$tid.'\');" class="active">'.&mt(${$orderhash{$name}}[0]).'</li></span>'; |
|
}else{ |
|
$form .= '<li onclick="javascript:showPage(this, \''.substr(${$orderhash{$name}}[0],0,3).$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');">'.&mt(${$orderhash{$name}}[0]).'</li>'; |
|
} |
|
} |
|
$form .= '</ul>'; |
|
$form .= '<div id="content'.$tid.'" style="padding: 0 0; margin: 0 0;">'; |
|
foreach my $field (keys(%orderhash)){ |
|
if($field ne 'zz'){ |
|
$form .= '<div id="'.substr(${$orderhash{$field}}[0],0,3).$tid.'" class="LC_ContentBox" style="display: none;">'.${$orderhash{$field}}[1].'</div>'; |
|
} |
|
} |
|
$form .= '</div></div>'; |
|
|
|
return $form; |
|
} |
|
|
sub editing_js { |
sub editing_js { |
my ($udom,$uname) = @_; |
my ($udom,$uname) = @_; |
Line 3226 sub editing_js {
|
Line 3346 sub editing_js {
|
p_mnp => 'Name of New Page', |
p_mnp => 'Name of New Page', |
t_mnp => 'New Page', |
t_mnp => 'New Page', |
p_mxu => 'Title for the Uploaded Score', |
p_mxu => 'Title for the Uploaded Score', |
p_msp => 'Name of the Simple Course Page', |
p_msp => 'Name of Simple Course Page', |
p_msb => 'Title for the Problem', |
p_msb => 'Title for the Problem', |
p_mdb => 'Title for the Drop Box', |
p_mdb => 'Title for the Drop Box', |
p_mbb => 'Title for the Discussion Board', |
p_mbb => 'Title for the Discussion Board', |
p_mab => "Enter user:domain for User's 'About Me' Page", |
p_mab => "Enter user:domain for User's Personal Information Page", |
p_mab2 => "About [_99]", |
p_mab2 => 'Personal Information Page of ', |
p_mab_alrt1 => 'Not a valid user:domain', |
p_mab_alrt1 => 'Not a valid user:domain', |
p_mab_alrt2 => 'Please enter both user and domain in the format user:domain', |
p_mab_alrt2 => 'Please enter both user and domain in the format user:domain', |
p_chn => 'New Title', |
p_chn => 'New Title', |
Line 3279 function edittext(targetname,residx,titl
|
Line 3399 function edittext(targetname,residx,titl
|
|
|
function makeexamupload() { |
function makeexamupload() { |
var title=prompt('$lt{"p_mxu"}'); |
var title=prompt('$lt{"p_mxu"}'); |
if (title) { |
if (title) { |
this.document.forms.newexamupload.importdetail.value= |
this.document.forms.newexamupload.importdetail.value= |
escape(title)+'=/res/lib/templates/examupload.problem'; |
escape(title)+'=/res/lib/templates/examupload.problem'; |
this.document.forms.newexamupload.submit(); |
this.document.forms.newexamupload.submit(); |
Line 3288 function makeexamupload() {
|
Line 3408 function makeexamupload() {
|
|
|
function makesmppage() { |
function makesmppage() { |
var title=prompt('$lt{"p_msp"}'); |
var title=prompt('$lt{"p_msp"}'); |
if (title) { |
if (title) { |
this.document.forms.newsmppg.importdetail.value= |
this.document.forms.newsmppg.importdetail.value= |
escape(title)+'=/adm/$udom/$uname/$now/smppg'; |
escape(title)+'=/adm/$udom/$uname/$now/smppg'; |
this.document.forms.newsmppg.submit(); |
this.document.forms.newsmppg.submit(); |
Line 3297 function makesmppage() {
|
Line 3417 function makesmppage() {
|
|
|
function makesmpproblem() { |
function makesmpproblem() { |
var title=prompt('$lt{"p_msb"}'); |
var title=prompt('$lt{"p_msb"}'); |
if (title) { |
if (title) { |
this.document.forms.newsmpproblem.importdetail.value= |
this.document.forms.newsmpproblem.importdetail.value= |
escape(title)+'=/res/lib/templates/simpleproblem.problem'; |
escape(title)+'=/res/lib/templates/simpleproblem.problem'; |
this.document.forms.newsmpproblem.submit(); |
this.document.forms.newsmpproblem.submit(); |
Line 3306 function makesmpproblem() {
|
Line 3426 function makesmpproblem() {
|
|
|
function makedropbox() { |
function makedropbox() { |
var title=prompt('$lt{"p_mdb"}'); |
var title=prompt('$lt{"p_mdb"}'); |
if (title) { |
if (title) { |
this.document.forms.newdropbox.importdetail.value= |
this.document.forms.newdropbox.importdetail.value= |
escape(title)+'=/res/lib/templates/DropBox.problem'; |
escape(title)+'=/res/lib/templates/DropBox.problem'; |
this.document.forms.newdropbox.submit(); |
this.document.forms.newdropbox.submit(); |
Line 3331 function makeabout() {
|
Line 3451 function makeabout() {
|
if ((comp[0]) && (comp[1])) { |
if ((comp[0]) && (comp[1])) { |
this.document.forms.newaboutsomeone.importdetail.value= |
this.document.forms.newaboutsomeone.importdetail.value= |
'$lt{"p_mab2"}'+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme'; |
'$lt{"p_mab2"}'+escape(user)+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme'; |
this.document.forms.newaboutsomeone.submit(); |
this.document.forms.newaboutsomeone.submit(); |
} else { |
} else { |
alert("$lt{'p_mab_alrt1'}"); |
alert("$lt{'p_mab_alrt1'}"); |
} |
|
} else { |
|
alert("$lt{'p_mab_alrt2'}"); |
|
} |
|
} |
} |
|
} else { |
|
alert("$lt{'p_mab_alrt2'}"); |
|
} |
|
} |
} |
} |
|
|
function makeims() { |
function makeims() { |
var caller = document.forms.ims.folder.value; |
var caller = document.forms.ims.folder.value; |
var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one"; |
var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one"; |
newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes"); |
newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes"); |
newWindow.location.href = newlocation; |
newWindow.location.href = newlocation; |
} |
} |
|
|
|
|
function finishpick() { |
function finishpick() { |
var title=this.document.forms.extimport.title.value; |
var title=this.document.forms.extimport.title.value; |
var url=this.document.forms.extimport.url.value; |
var url=this.document.forms.extimport.url.value; |
var form=this.document.forms.extimport.useform.value; |
var form=this.document.forms.extimport.useform.value; |
var residx=this.document.forms.extimport.residx.value; |
var residx=this.document.forms.extimport.residx.value; |
eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();'); |
eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();'); |
} |
} |
|
|
function changename(folderpath,index,oldtitle,container,pagesymb) { |
function changename(folderpath,index,oldtitle,container,pagesymb) { |
var title=prompt('$lt{"p_chn"}',oldtitle); |
var title=prompt('$lt{"p_chn"}',oldtitle); |
if (title) { |
if (title) { |
this.document.forms.renameform.markcopy.value=-1; |
this.document.forms.renameform.markcopy.value=-1; |
this.document.forms.renameform.title.value=title; |
this.document.forms.renameform.title.value=title; |
this.document.forms.renameform.cmd.value='rename_'+index; |
this.document.forms.renameform.cmd.value='rename_'+index; |
if (container == 'sequence') { |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
} |
} |
if (container == 'page') { |
if (container == 'page') { |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
} |
} |
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) { |
function removeres(folderpath,index,oldtitle,container,pagesymb,skip_confirm) { |
if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) { |
if (skip_confirm || confirm('$lt{"p_rmr1"}\\n\\n$lt{"p_rmr2a"} "'+oldtitle+'" $lt{"p_rmr2b"}')) { |
this.document.forms.renameform.markcopy.value=-1; |
this.document.forms.renameform.markcopy.value=-1; |
this.document.forms.renameform.cmd.value='del_'+index; |
this.document.forms.renameform.cmd.value='del_'+index; |
if (container == 'sequence') { |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
} |
} |
if (container == 'page') { |
if (container == 'page') { |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
} |
} |
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) { |
function cutres(folderpath,index,oldtitle,container,pagesymb,folder,skip_confirm) { |
if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) { |
if (skip_confirm || confirm('$lt{"p_ctr1a"}\\n$lt{"p_ctr1b"}\\n\\n$lt{"p_ctr2a"} "'+oldtitle+'" $lt{"p_ctr2b"}')) { |
this.document.forms.renameform.cmd.value='cut_'+index; |
this.document.forms.renameform.cmd.value='cut_'+index; |
this.document.forms.renameform.markcopy.value=index; |
this.document.forms.renameform.markcopy.value=index; |
this.document.forms.renameform.copyfolder.value=folder+'.'+container; |
this.document.forms.renameform.copyfolder.value=folder+'.'+container; |
if (container == 'sequence') { |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
} |
} |
if (container == 'page') { |
if (container == 'page') { |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
} |
} |
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
} |
} |
} |
} |
|
|
function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) { |
function markcopy(folderpath,index,oldtitle,container,pagesymb,folder) { |
this.document.forms.renameform.markcopy.value=index; |
this.document.forms.renameform.markcopy.value=index; |
this.document.forms.renameform.copyfolder.value=folder+'.'+container; |
this.document.forms.renameform.copyfolder.value=folder+'.'+container; |
if (container == 'sequence') { |
if (container == 'sequence') { |
this.document.forms.renameform.folderpath.value=folderpath; |
this.document.forms.renameform.folderpath.value=folderpath; |
} |
} |
if (container == 'page') { |
if (container == 'page') { |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagepath.value=folderpath; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
this.document.forms.renameform.pagesymb.value=pagesymb; |
} |
} |
this.document.forms.renameform.submit(); |
this.document.forms.renameform.submit(); |
|
} |
|
|
|
function unselectInactive(nav) { |
|
currentNav = document.getElementById(nav); |
|
currentLis = currentNav.getElementsByTagName('LI'); |
|
for (i = 0; i < currentLis.length; i++) { |
|
currentLis[i].className = 'i'; |
|
} |
|
} |
|
|
|
function hideAll(current, nav, data) { |
|
unselectInactive(nav); |
|
current.className = 'active'; |
|
currentData = document.getElementById(data); |
|
currentDivs = currentData.getElementsByTagName('DIV'); |
|
for (i = 0; i < currentDivs.length; i++) { |
|
if(currentDivs[i].className == 'LC_ContentBox'){ |
|
currentDivs[i].style.display = 'none'; |
|
} |
|
} |
|
} |
|
|
|
function showPage(current, pageId, nav, data) { |
|
hideAll(current, nav, data); |
|
unselectInactive(nav); |
|
current.className = 'active'; |
|
currentData = document.getElementById(pageId); |
|
currentData.style.display = 'block'; |
|
return false; |
} |
} |
|
|
ENDNEWSCRIPT |
ENDNEWSCRIPT |
Line 3443 Available help topics
|
Line 3592 Available help topics
|
|
|
=item mapread() |
=item mapread() |
|
|
Mapread read maps into LONCAPA::map:: global arrays |
Mapread read maps into LONCAPA::map:: 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 |
sets @resources - array with the resources with correct idx |
sets @resources - array with the resources with correct idx |