version 1.401, 2009/10/22 22:25:36
|
version 1.453, 2011/05/27 19:02:16
|
Line 117 sub authorhosts {
|
Line 117 sub authorhosts {
|
|
|
sub dumpbutton { |
sub dumpbutton { |
my ($home,$other,%outhash)=&authorhosts(); |
my ($home,$other,%outhash)=&authorhosts(); |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
if ($home+$other==0) { return ''; } |
if ($home+$other==0) { return ''; } |
if ($home) { |
if ($home) { |
my $link = "<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"dumpcourse\", \"".&mt('Dump '.$type.' DOCS to Construction Space')."\")'>".&mt('Dump '.$type.' DOCS to Construction Space')."</a>"; |
my $link = |
return $link.' '. |
"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"dumpcourse\", \"" |
&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs').'<br />'; |
.&mt('Dump '.$crstype.' Documents to Construction Space') |
} else { |
."\")'>" |
return '<div>'. |
.&mt('Dump '.$crstype.' Documents to Construction Space') |
&mt('Dump '.$type. |
.'</a>'; |
' DOCS to Construction Space: available on other servers'). |
return |
'</div>'; |
$link.' ' |
|
.&Apache::loncommon::help_open_topic('Docs_Dump_Course_Docs') |
|
.'<br />'; |
|
} else { |
|
return |
|
&mt('Dump '.$crstype.' Documents to Construction Space: available on other servers'); |
} |
} |
} |
} |
|
|
Line 141 sub clean {
|
Line 146 sub clean {
|
|
|
sub dumpcourse { |
sub dumpcourse { |
my ($r) = @_; |
my ($r) = @_; |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
$r->print(&Apache::loncommon::start_page('Dump '.$type.' DOCS to Construction Space'). |
$r->print(&Apache::loncommon::start_page('Dump '.$crstype.' Documents to Construction Space'). |
'<form name="dumpdoc" action="" method="post">'); |
'<form name="dumpdoc" action="" method="post">'); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Dump '.$type.' DOCS to Construction Space')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Dump '.$crstype.' Documents to Construction Space')); |
my ($home,$other,%outhash)=&authorhosts(); |
my ($home,$other,%outhash)=&authorhosts(); |
unless ($home) { return ''; } |
unless ($home) { return ''; } |
my $origcrsid=$env{'request.course.id'}; |
my $origcrsid=$env{'request.course.id'}; |
Line 255 sub dumpcourse {
|
Line 260 sub dumpcourse {
|
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
&untiehash(); |
&untiehash(); |
$r->print( |
$r->print( |
'<p><input type="submit" name="dumpcourse" value="'.&mt("Dump $type DOCS").'" /></p></form>'); |
'<p><input type="submit" name="dumpcourse" value="'.&mt("Dump $crstype Documents").'" /></p></form>'); |
} |
} |
} |
} |
|
|
|
|
|
|
sub exportbutton { |
sub exportbutton { |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
return "<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"exportcourse\", \"".&mt('IMS Export')."\")'>".&mt('IMS Export')."</a>". |
return "<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"exportcourse\", \"".&mt('IMS Export')."\")'>".&mt('IMS Export')."</a>". |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'<br />'; |
&Apache::loncommon::help_open_topic('Docs_Export_Course_Docs').'<br />'; |
} |
} |
|
|
Line 271 sub exportbutton {
|
Line 276 sub exportbutton {
|
|
|
sub exportcourse { |
sub exportcourse { |
my $r=shift; |
my $r=shift; |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my %discussiontime = &Apache::lonnet::dump('discussiontimes', |
my %discussiontime = &Apache::lonnet::dump('discussiontimes', |
$env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); |
$env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); |
my $numdisc = keys(%discussiontime); |
my $numdisc = keys(%discussiontime); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
if (!defined($navmap)) { |
if (!defined($navmap)) { |
$r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package'). |
$r->print(&Apache::loncommon::start_page('Export '.$crstype.' to IMS Package'). |
'<h2>'.&mt('IMS Export Failed').'</h2>'. |
'<h2>'.&mt('IMS Export Failed').'</h2>'. |
'<div class="LC_error">'. |
'<div class="LC_error">'); |
&mt('Unable to retrieve information about course contents'). |
if ($crstype eq 'Community') { |
'</div><a href="/adm/coursedocs">'.&mt('Return to Course Editor').'</a>'); |
$r->print(&mt('Unable to retrieve information about community contents')); |
&Apache::lonnet::logthis('IMS export failed - could not create navmap object in '.lc($type).':'.$env{'request.course.id'}); |
} else { |
|
$r->print(&mt('Unable to retrieve information about course contents')); |
|
} |
|
$r->print('</div><a href="/adm/coursedocs">'); |
|
if ($crstype eq 'Community') { |
|
$r->print(&mt('Return to Community Editor')); |
|
} else { |
|
$r->print(&mt('Return to Course Editor')); |
|
} |
|
$r->print('</a>'); |
|
&Apache::lonnet::logthis('IMS export failed - could not create navmap object in '.lc($crstype).':'.$env{'request.course.id'}); |
return; |
return; |
} |
} |
my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); |
my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); |
Line 331 sub exportcourse {
|
Line 346 sub exportcourse {
|
open(OUTPUT, "zip -r $imszip * 2> /dev/null |"); |
open(OUTPUT, "zip -r $imszip * 2> /dev/null |"); |
close(OUTPUT); |
close(OUTPUT); |
chdir $cwd; |
chdir $cwd; |
|
$outcome .= '<p>' |
|
.&mt('[_1]Your IMS package[_2] is ready for download.' |
|
,'<a href="'.$imszipfile.'">','</a>') |
|
.'</p>'; |
if ($copyresult) { |
if ($copyresult) { |
$outcome .= '<p class="LC_error">' |
$outcome .= '<p class="LC_error">' |
.&mt('The following errors occurred during export - [_1]' |
.&mt('The following errors occurred during export - [_1]' |
,$copyresult) |
,$copyresult) |
.'</p>'; |
.'</p>'; |
} |
} |
$outcome .= '<p>' |
|
.&mt('[_1]Your IMS package[_2] is ready for download.' |
|
,'<a href="'.$imszipfile.'">','</a>') |
|
.'</p>'; |
|
} else { |
} else { |
$outcome = '<p class="LC_error">' |
$outcome = '<p class="LC_error">' |
.&mt('Unfortunately you will not be able to retrieve' |
.&mt('Unfortunately you will not be able to retrieve' |
.' an IMS archive of this posts at this time,' |
.' an IMS archive of your course at this time,' |
.' because there was a problem creating a' |
.' because there was a problem creating a' |
.' manifest file.') |
.' manifest file.') |
.'</p>' |
.'</p>' |
Line 353 sub exportcourse {
|
Line 368 sub exportcourse {
|
.'</a></p>'; |
.'</a></p>'; |
} |
} |
} |
} |
$r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package')); |
$r->print(&Apache::loncommon::start_page('Export '.$crstype.' to IMS Package')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('IMS Export')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('IMS Export')); |
$r->print($outcome); |
$r->print($outcome); |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
} else { |
} else { |
my $display; |
my $display='<form name="exportdoc" action="" method="post">'."\n". |
$display = '<form name="exportdoc" action="" method="post">'."\n"; |
'<p>'. |
$display .= '<p>' |
&mt('Choose which items you wish to export from your '.$crstype.'.'). |
.&mt('Choose which items you wish to export from your '.$type.'.') |
'</p>'. |
.'</p>'; |
'<div class="LC_columnSection"><fieldset>'. |
$display .= '<div class="LC_columnSection"><fieldset>'. |
|
'<legend>'.&mt('Content items').'</legend>'. |
'<legend>'.&mt('Content items').'</legend>'. |
'<input type="button" value="'.&mt('check all').'" '. |
'<input type="button" value="'.&mt('check all').'" '. |
'onclick="javascript:checkAll(document.exportdoc.archive)" />'. |
'onclick="javascript:checkAll(document.exportdoc.archive)" />'. |
' <input type="button" value="'.&mt('uncheck all').'"'. |
' <input type="button" value="'.&mt('uncheck all').'"'. |
' onclick="javascript:uncheckAll(document.exportdoc.archive)" /></fieldset>'. |
' onclick="javascript:uncheckAll(document.exportdoc.archive)" /></fieldset>'; |
'<fieldset>'. |
if ($numdisc > 0) { |
'<legend>'.&mt('Discussion posts').'</legend>'. |
$display .= '<fieldset>'. |
'<input type="button" value="'.&mt('check all').'"'. |
'<legend>'.&mt('Discussion posts').'</legend>'. |
' onclick="javascript:checkAll(document.exportdoc.discussion)" />'. |
'<input type="button" value="'.&mt('check all').'"'. |
' <input type="button" value="'.&mt('uncheck all').'"'. |
' onclick="javascript:checkAll(document.exportdoc.discussion)" />'. |
' onclick="javascript:uncheckAll(document.exportdoc.discussion)" />'. |
' <input type="button" value="'.&mt('uncheck all').'"'. |
'</fieldset></div>'; |
' onclick="javascript:uncheckAll(document.exportdoc.discussion)" />'. |
|
'</fieldset>'; |
|
} |
|
$display .= '</div>'; |
my $curRes; |
my $curRes; |
my $depth = 0; |
my $depth = 0; |
my $count = 0; |
my $count = 0; |
Line 386 sub exportcourse {
|
Line 403 sub exportcourse {
|
my $lastcontainer = $startcount; |
my $lastcontainer = $startcount; |
$display .= &Apache::loncommon::start_data_table() |
$display .= &Apache::loncommon::start_data_table() |
.&Apache::loncommon::start_data_table_header_row() |
.&Apache::loncommon::start_data_table_header_row() |
.'<th>'.&mt('Export content item?').'</th>' |
.'<th>'.&mt('Export content item?').'</th>'; |
.'<th>'; |
|
if ($numdisc > 0) { |
if ($numdisc > 0) { |
$display .= &mt('Export discussion posts?'); |
$display .= '<th>'.&mt('Export discussion posts?').'</th>'; |
} else { |
|
$display .= ' '; |
|
} |
} |
$display .= '</th>' |
$display .= &Apache::loncommon::end_data_table_header_row(); |
.&Apache::loncommon::end_data_table_header_row(); |
|
while ($curRes = $it->next()) { |
while ($curRes = $it->next()) { |
if (ref($curRes)) { |
if (ref($curRes)) { |
$count ++; |
$count ++; |
Line 415 sub exportcourse {
|
Line 428 sub exportcourse {
|
$ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard'; |
$ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3.'/bulletinboard'; |
} |
} |
} |
} |
|
my $currelem = $count+$boards+$startcount; |
$display .= &Apache::loncommon::start_data_table_row() |
$display .= &Apache::loncommon::start_data_table_row() |
.'<td>'."\n" |
.'<td>'."\n" |
.'<input type="checkbox" name="archive" value="'.$count.'" '; |
.'<input type="checkbox" name="archive" value="'.$count.'" '; |
if (($curRes->is_sequence()) || ($curRes->is_page())) { |
if (($curRes->is_sequence()) || ($curRes->is_page())) { |
my $checkitem = $count + $boards + $startcount; |
$lastcontainer = $currelem; |
$display .= 'onclick="javascript:propagateCheck('."'$checkitem'".')"'; |
$display .= 'onclick="javascript:propagateCheck('."'$currelem'".')"'; |
} |
} |
$display .= ' />'."\n"; |
$display .= ' />'."\n"; |
for (my $i=0; $i<$depth; $i++) { |
for (my $i=0; $i<$depth; $i++) { |
$display .= '<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" alt="" />' |
$display .= ('<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" alt="" />' x2)."\n"; |
.'<img src="/adm/lonIcons/whitespace1.gif" class="LC_docs_spacer" alt="" />'."\n"; |
|
} |
} |
if ($curRes->is_sequence()) { |
if ($curRes->is_sequence()) { |
$display .= '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" /> '."\n"; |
$display .= '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" /> '."\n"; |
$lastcontainer = $count + $startcount + $boards; |
|
} elsif ($curRes->is_page()) { |
} elsif ($curRes->is_page()) { |
$display .= '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" /> '."\n"; |
$display .= '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" /> '."\n"; |
$lastcontainer = $count + $startcount + $boards; |
|
} |
} |
my $currelem = $count+$boards+$startcount; |
|
$children{$parent{$depth}} .= $currelem.':'; |
$children{$parent{$depth}} .= $currelem.':'; |
$display .= ' '.$curRes->title().'</td>'."\n"; |
$display .= ' '.$curRes->title().'</td>'."\n"; |
|
|
# Existing discussion posts? |
# Existing discussion posts? |
if ($discussiontime{$ressymb} > 0) { |
if ($discussiontime{$ressymb} > 0) { |
$boards ++; |
$boards ++; |
$currelem = $count+$boards+$startcount; |
|
$display .= '<td align="right">' |
$display .= '<td align="right">' |
.'<input type="checkbox" name="discussion" value="'.$count.'" />' |
.'<input type="checkbox" name="discussion" value="'.$count.'" />' |
.'</td>'."\n"; |
.'</td>'."\n"; |
} else { |
} elsif ($numdisc > 0) { |
$display .= '<td> </td>'."\n"; |
$display .= '<td> </td>'."\n"; |
} |
} |
$display .= &Apache::loncommon::end_data_table_row(); |
$display .= &Apache::loncommon::end_data_table_row(); |
Line 507 function containerCheck(item) {
|
Line 516 function containerCheck(item) {
|
// ]]> |
// ]]> |
</script> |
</script> |
|; |
|; |
$r->print(&Apache::loncommon::start_page('Export '.$type.' to IMS Package', |
$r->print(&Apache::loncommon::start_page('Export '.$crstype.' to IMS Package', |
$scripttag)); |
$scripttag)); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('IMS Export')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('IMS Export')); |
$r->print($display. |
$r->print($display. |
Line 998 sub group_import {
|
Line 1007 sub group_import {
|
} |
} |
|
|
sub breadcrumbs { |
sub breadcrumbs { |
my ($allowed,$type)=@_; |
my ($allowed,$crstype)=@_; |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
my (@folders); |
my (@folders); |
if ($env{'form.pagepath'}) { |
if ($env{'form.pagepath'}) { |
Line 1041 sub breadcrumbs {
|
Line 1050 sub breadcrumbs {
|
if ($3) { $isencrypted=1; } |
if ($3) { $isencrypted=1; } |
if ($4 ne '') { $is_random_order = 1; } |
if ($4 ne '') { $is_random_order = 1; } |
if ($folder eq 'supplemental') { |
if ($folder eq 'supplemental') { |
$name = &mt('Supplemental '.$type.' Documents'); |
$name = &mt('Supplemental '.$crstype.' Documents'); |
} |
} |
&Apache::lonhtmlcommon::add_breadcrumb( |
&Apache::lonhtmlcommon::add_breadcrumb( |
{'href'=>$url.$cpinfo, |
{'href'=>$url.$cpinfo, |
Line 1141 sub docs_change_log {
|
Line 1150 sub docs_change_log {
|
&Apache::loncommon::restore_course_settings('docs_log', |
&Apache::loncommon::restore_course_settings('docs_log', |
\%saveable_parameters); |
\%saveable_parameters); |
if (!$env{'form.show'}) { $env{'form.show'}=10; } |
if (!$env{'form.show'}) { $env{'form.show'}=10; } |
|
# FIXME: internationalization seems wrong here |
my %lt=('hiddenresource' => 'Resources hidden', |
my %lt=('hiddenresource' => 'Resources hidden', |
'encrypturl' => 'URL hidden', |
'encrypturl' => 'URL hidden', |
'randompick' => 'Randomly pick', |
'randompick' => 'Randomly pick', |
Line 1229 sub docs_change_log {
|
Line 1239 sub docs_change_log {
|
$r->print(&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'parameter_res'}))[0]).':<ul>'); |
$r->print(&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'parameter_res'}))[0]).':<ul>'); |
foreach my $parameter ('randompick','hiddenresource','encrypturl','randomorder') { |
foreach my $parameter ('randompick','hiddenresource','encrypturl','randomorder') { |
if ($docslog{$id}{'logentry'}{'parameter_action_'.$parameter}) { |
if ($docslog{$id}{'logentry'}{'parameter_action_'.$parameter}) { |
|
# FIXME: internationalization seems wrong here |
$r->print('<li>'. |
$r->print('<li>'. |
&mt($lt{$parameter}.' '.$lt{$docslog{$id}{'logentry'}{'parameter_action_'.$parameter}}.' [_1]', |
&mt($lt{$parameter}.' '.$lt{$docslog{$id}{'logentry'}{'parameter_action_'.$parameter}}.' [_1]', |
$docslog{$id}{'logentry'}{'parameter_value_'.$parameter}) |
$docslog{$id}{'logentry'}{'parameter_value_'.$parameter}) |
Line 1497 sub handle_edit_cmd {
|
Line 1508 sub handle_edit_cmd {
|
} |
} |
|
|
sub editor { |
sub editor { |
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$type)=@_; |
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype)=@_; |
my $container= ($env{'form.pagepath'}) ? 'page' |
my $container= ($env{'form.pagepath'}) ? 'page' |
: 'sequence'; |
: 'sequence'; |
|
|
Line 1512 sub editor {
|
Line 1523 sub editor {
|
$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) = |
if ($allowed) { |
&breadcrumbs($allowed,$crstype); |
($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,$is_random_order) = |
|
&breadcrumbs($allowed,$type); |
|
$r->print($breadcrumbtrail); |
$r->print($breadcrumbtrail); |
} else { |
|
|
unless ($allowed) { |
$randompick = -1; |
$randompick = -1; |
} |
} |
|
|
Line 1598 sub editor {
|
Line 1608 sub editor {
|
my $shown=0; |
my $shown=0; |
if (($ishidden) || ($isencrypted) || ($randompick>=0) || ($is_random_order)) { |
if (($ishidden) || ($isencrypted) || ($randompick>=0) || ($is_random_order)) { |
$r->print('<div class="LC_Box">'. |
$r->print('<div class="LC_Box">'. |
'<p>'.&mt('Parameters:'). |
'<ol class="LC_docs_parameters"><li class="LC_docs_parameters_title">'.&mt('Parameters:').'</li>'. |
'<ul>'. |
|
($randompick>=0?'<li>'.&mt('randomly pick [quant,_1,resource]',$randompick).'</li>':''). |
($randompick>=0?'<li>'.&mt('randomly pick [quant,_1,resource]',$randompick).'</li>':''). |
($ishidden?'<li>'.&mt('contents hidden').'</li>':''). |
($ishidden?'<li>'.&mt('contents hidden').'</li>':''). |
($isencrypted?'<li>'.&mt('URLs hidden').'</li>':''). |
($isencrypted?'<li>'.&mt('URLs hidden').'</li>':''). |
($is_random_order?'<li>'.&mt('random order').'</li>':''). |
($is_random_order?'<li>'.&mt('random order').'</li>':''). |
'</ul></p>'); |
'</ol>'); |
if ($randompick>=0) { |
if ($randompick>=0) { |
$r->print('<p class="LC_warning">' |
$r->print('<p class="LC_warning">' |
.&mt('Caution: this folder is set to randomly pick a subset' |
.&mt('Caution: this folder is set to randomly pick a subset' |
Line 1628 sub editor {
|
Line 1637 sub editor {
|
$r->print('</div>'); |
$r->print('</div>'); |
} |
} |
|
|
my $output; |
my $output; |
|
|
|
&Apache::loncommon::start_data_table_count(); #setup a row counter |
foreach my $res (@LONCAPA::map::order) { |
foreach my $res (@LONCAPA::map::order) { |
my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]); |
my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]); |
$name=&LONCAPA::map::qtescape($name); |
$name=&LONCAPA::map::qtescape($name); |
Line 1636 sub editor {
|
Line 1647 sub editor {
|
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $idx++; next; } |
unless ($name) { $idx++; next; } |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$coursenum); |
$coursenum,$crstype); |
$idx++; |
$idx++; |
$shown++; |
$shown++; |
} |
} |
|
&Apache::loncommon::end_data_table_count(); |
|
|
if ($shown) { |
if ($shown) { |
$r->print(&Apache::loncommon::start_data_table()); |
$r->print(&Apache::loncommon::start_scrollbox('900px','880px','400px') |
|
.&Apache::loncommon::start_data_table()); |
if ($allowed) { |
if ($allowed) { |
$r->print(&Apache::loncommon::start_data_table_header_row() |
$r->print(&Apache::loncommon::start_data_table_header_row() |
.'<th colspan="2">'.&mt('Move').'</th>' |
.'<th colspan="2">'.&mt('Move').'</th>' |
.'<th>'.&mt('Actions').'</th>' |
.'<th>'.&mt('Actions').'</th>' |
.'<th colspan="2">'.&mt('Document').'</th>'); |
.'<th colspan="2">'.&mt('Document').'</th>'); |
if ($folder !~ /^supplemental/) { |
if ($folder !~ /^supplemental/) { |
$->print('<th colspan="4">'.&mt('Settings').'</th>'); |
$r->print('<th colspan="4">'.&mt('Settings').'</th>'); |
} |
} |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
} |
} |
$r->print($output |
$r->print($output |
.&Apache::loncommon::end_data_table() |
.&Apache::loncommon::end_data_table() |
|
.&Apache::loncommon::end_scrollbox() |
); |
); |
} else { |
} else { |
$r->print('<p class="LC_info">' |
$r->print('<p class="LC_info">' |
Line 1670 sub editor {
|
Line 1685 sub editor {
|
sub process_file_upload { |
sub process_file_upload { |
my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase,$uploadcmd) = @_; |
my ($upload_output,$coursenum,$coursedom,$allfiles,$codebase,$uploadcmd) = @_; |
# upload a file, if present |
# upload a file, if present |
my $parseaction; |
my ($parseaction,$showupload,$nextphase,$mimetype); |
if ($env{'form.parserflag'}) { |
if ($env{'form.parserflag'}) { |
$parseaction = 'parse'; |
$parseaction = 'parse'; |
} |
} |
my $phase_status; |
|
my $folder=$env{'form.folder'}; |
my $folder=$env{'form.folder'}; |
if ($folder eq '') { |
if ($folder eq '') { |
$folder='default'; |
$folder='default'; |
Line 1693 sub process_file_upload {
|
Line 1707 sub process_file_upload {
|
$LONCAPA::map::resources[1]=''; |
$LONCAPA::map::resources[1]=''; |
} |
} |
if ($fatal) { |
if ($fatal) { |
return 'failed'; |
$$upload_output = '<p><span class="LC_error">'.&mt('The uploaded file has not been stored as an error occurred reading the contents of the current folder.').'</span></p>'; |
|
return; |
} |
} |
my $destination = 'docs/'; |
my $destination = 'docs/'; |
if ($folder =~ /^supplemental/) { |
if ($folder =~ /^supplemental/) { |
Line 1704 sub process_file_upload {
|
Line 1719 sub process_file_upload {
|
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
$destination .= $2.'/'; |
$destination .= $2.'/'; |
} |
} |
# this is for a course, not a user, so set coursedoc flag |
# this is for a course, not a user, so set context to coursedoc. |
# probably the only place in the system where this should be "1" |
|
my $newidx=&LONCAPA::map::getresidx(); |
my $newidx=&LONCAPA::map::getresidx(); |
$destination .= $newidx; |
$destination .= $newidx; |
my $url=&Apache::lonnet::userfileupload('uploaddoc',1,$destination, |
my $url=&Apache::lonnet::userfileupload('uploaddoc','coursedoc',$destination, |
$parseaction,$allfiles, |
$parseaction,$allfiles, |
$codebase); |
$codebase,undef,undef,undef,undef, |
|
undef,undef,\$mimetype); |
|
if ($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E.*/([^/]+)$}) { |
|
my $stored = $1; |
|
$showupload = '<p>'.&mt('Uploaded [_1]','<span class="LC_filename">'. |
|
$stored.'</span>').'</p>'; |
|
} else { |
|
my ($filename) = ($env{'form.uploaddoc.filename'} =~ m{([^/]+)$}); |
|
|
|
$$upload_output = '<p><span class="LC_error">'.&mt('Unable to save file [_1].','<span class="LC_filename">'.$filename.'</span>').'</span></p>'; |
|
return; |
|
} |
my $ext='false'; |
my $ext='false'; |
if ($url=~m{^http://}) { $ext='true'; } |
if ($url=~m{^http://}) { $ext='true'; } |
$url = &LONCAPA::map::qtunescape($url); |
$url = &LONCAPA::map::qtunescape($url); |
Line 1727 sub process_file_upload {
|
Line 1752 sub process_file_upload {
|
($errtext,$fatal)=&storemap($coursenum,$coursedom, |
($errtext,$fatal)=&storemap($coursenum,$coursedom, |
$folder.'.'.$container); |
$folder.'.'.$container); |
if ($fatal) { |
if ($fatal) { |
$$upload_output .= '<p><span class="LC_error">'.$errtext.'</span></p>'; |
$$upload_output = '<p><span class="LC_error">'.$errtext.'</span></p>'; |
return 'failed'; |
return; |
} else { |
} else { |
if ($parseaction eq 'parse') { |
if ($parseaction eq 'parse' && $mimetype eq 'text/html') { |
|
$$upload_output = $showupload; |
my $total_embedded = scalar(keys(%{$allfiles})); |
my $total_embedded = scalar(keys(%{$allfiles})); |
if ($total_embedded > 0) { |
if ($total_embedded > 0) { |
my $num = 0; |
my $uploadphase = 'upload_embedded'; |
my $state = ' |
my $primaryurl = &HTML::Entities::encode($url,'<>&"'); |
<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" /> |
my $state = &embedded_form_elems($uploadphase,$primaryurl,$newidx); |
<input type="hidden" name="cmd" value="upload_embedded" /> |
my ($embedded,$num) = |
<input type="hidden" name="newidx" value="'.$newidx.'" /> |
&Apache::loncommon::ask_for_embedded_content( |
<input type="hidden" name="primaryurl" value="'.&escape($url).'" /> |
'/adm/coursedocs',$state,$allfiles,$codebase,{'docs_url' => $url}); |
<input type="hidden" name="phasetwo" value="'.$total_embedded.'" />'; |
if ($embedded) { |
$phase_status = 'phasetwo'; |
if ($num) { |
|
$$upload_output .= |
$$upload_output .= |
'<p>'.&mt('This file contains embedded multimedia objects, which need to be uploaded.').'</p>'.$embedded; |
'This file contains embedded multimedia objects, which need to be uploaded to LON-CAPA.<br />'. |
$nextphase = $uploadphase; |
&Apache::loncommon::ask_for_embedded_content( |
} else { |
'/adm/coursedocs',$state,$allfiles,$codebase); |
$$upload_output .= $embedded; |
|
} |
|
} else { |
|
$$upload_output .= &mt('Embedded item(s) already present, so no additional upload(s) required').'<br />'; |
|
} |
} else { |
} else { |
$$upload_output .= 'No embedded items identified<br />'; |
$$upload_output .= &mt('No embedded items identified').'<br />'; |
} |
} |
} |
} |
} |
} |
} |
} |
return $phase_status; |
return $nextphase; |
} |
|
|
|
sub process_secondary_uploads { |
|
my ($upload_output,$coursedom,$coursenum,$formname,$num,$newidx) = @_; |
|
my $folder=$env{'form.folder'}; |
|
my $destination = 'docs/'; |
|
if ($folder =~ /^supplemental/) { |
|
$destination = 'supplemental/'; |
|
} |
|
if (($folder eq 'default') || ($folder eq 'supplemental')) { |
|
$destination .= 'default/'; |
|
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
|
$destination .= $2.'/'; |
|
} |
|
$destination .= $newidx; |
|
my ($url,$filename); |
|
$url=&Apache::lonnet::userfileupload($formname.$num,1,$destination); |
|
($filename) = ($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/\Q$destination\E/(.+)$}); |
|
return $filename; |
|
} |
} |
|
|
sub is_supplemental_title { |
sub is_supplemental_title { |
Line 1792 sub parse_supplemental_title {
|
Line 1803 sub parse_supplemental_title {
|
$foldertitle=&Apache::lontexconvert::msgtexconverted($4); |
$foldertitle=&Apache::lontexconvert::msgtexconverted($4); |
my $name = &Apache::loncommon::plainname($uname,$udom); |
my $name = &Apache::loncommon::plainname($uname,$udom); |
$name = &HTML::Entities::encode($name,'"<>&\''); |
$name = &HTML::Entities::encode($name,'"<>&\''); |
|
$renametitle = &HTML::Entities::encode($renametitle,'"<>&\''); |
$title='<i>'.&Apache::lonlocal::locallocaltime($time).'</i> '. |
$title='<i>'.&Apache::lonlocal::locallocaltime($time).'</i> '. |
$name.': <br />'.$foldertitle; |
$name.': <br />'.$foldertitle; |
} |
} |
Line 1804 sub parse_supplemental_title {
|
Line 1816 sub parse_supplemental_title {
|
# --------------------------------------------------------------- An entry line |
# --------------------------------------------------------------- An entry line |
|
|
sub entryline { |
sub entryline { |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum)=@_; |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$crstype)=@_; |
my ($foldertitle,$pagetitle,$renametitle); |
my ($foldertitle,$pagetitle,$renametitle); |
if (&is_supplemental_title($title)) { |
if (&is_supplemental_title($title)) { |
($title,$foldertitle,$renametitle) = &parse_supplemental_title($title); |
($title,$foldertitle,$renametitle) = &parse_supplemental_title($title); |
Line 1835 sub entryline {
|
Line 1847 sub entryline {
|
} |
} |
if ($env{'form.pagepath'}) { |
if ($env{'form.pagepath'}) { |
$type = $container = 'page'; |
$type = $container = 'page'; |
$esc_path=&escape($path = $env{'form.pagepath'}); |
$esc_path=&escape($env{'form.pagepath'}); |
$path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"'); |
$path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"'); |
$symb=&escape($env{'form.pagesymb'}); |
$symb=&escape($env{'form.pagesymb'}); |
} |
} |
Line 2067 END
|
Line 2079 END
|
} else { |
} else { |
undef($external); |
undef($external); |
} |
} |
|
my $reinit; |
|
if ($crstype eq 'Community') { |
|
$reinit = &mt('(re-initialize community to access)'); |
|
} else { |
|
$reinit = &mt('(re-initialize course to access)'); |
|
} |
$line.=' |
$line.=' |
<td> |
<td> |
'.($url?'<a href="'.$url.'">':'').'<img src="'.$icon.'" alt="" class="LC_icon" />'.($url?'</a>':'').' |
'.($url?'<a href="'.$url.'">':'').'<img src="'.$icon.'" alt="" class="LC_icon" />'.($url?'</a>':'').' |
</td> |
</td> |
<td> |
<td> |
'.($url?"<a href=\"$url\">":'').$title.($url?'</a>':' <span class="LC_docs_reinit_warn">'.&mt('(re-initialize course to access)').'</span>').$external." |
'.($url?"<a href=\"$url\">":'').$title.($url?'</a>':' <span class="LC_docs_reinit_warn">'.$reinit.'</span>').$external." |
</td>"; |
</td>"; |
if (($allowed) && ($folder!~/^supplemental/)) { |
if (($allowed) && ($folder!~/^supplemental/)) { |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 2220 List Symbs
|
Line 2238 List Symbs
|
sub list_symbs { |
sub list_symbs { |
my ($r) = @_; |
my ($r) = @_; |
|
|
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
$r->print(&Apache::loncommon::start_page('Symb List')); |
$r->print(&Apache::loncommon::start_page('Symb List')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Symb List')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Symb List')); |
|
&startContentScreen($r,'tools'); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
if (!defined($navmap)) { |
if (!defined($navmap)) { |
$r->print('<h2>'.&mt('Retrieval of List Failed').'</h2>'. |
$r->print('<h2>'.&mt('Retrieval of List Failed').'</h2>'. |
'<div class="LC_error">'. |
'<div class="LC_error">'. |
&mt('Unable to retrieve information about course contents'). |
&mt('Unable to retrieve information about course contents'). |
'</div>'); |
'</div>'); |
&Apache::lonnet::logthis('Symb list failed - could not create navmap object in '.lc($type).':'.$env{'request.course.id'}); |
&Apache::lonnet::logthis('Symb list failed - could not create navmap object in '.lc($crstype).':'.$env{'request.course.id'}); |
} else { |
} else { |
$r->print("<pre>\n"); |
$r->print("<pre>\n"); |
foreach my $res ($navmap->retrieveResources()) { |
foreach my $res ($navmap->retrieveResources()) { |
$r->print($res->compTitle()."\t".$res->symb()."\n"); |
$r->print($res->compTitle()."\t".$res->symb()."\n"); |
} |
} |
$r->print("\n</pre>\n"); |
$r->print("\n</pre>\n"); |
} |
} |
$r->print('<a href="/adm/coursedocs">'.&mt('Return to DOCS').'</a>'); |
|
} |
} |
|
|
|
|
sub verifycontent { |
sub verifycontent { |
my ($r) = @_; |
my ($r) = @_; |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my $loaderror=&Apache::lonnet::overloaderror($r); |
$r->print(&Apache::loncommon::start_page('Verify '.$crstype.' Documents')); |
if ($loaderror) { return $loaderror; } |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$crstype.' Documents')); |
$r->print(&Apache::loncommon::start_page('Verify '.$type.' Documents')); |
&startContentScreen($r,'tools'); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$type.' Documents')); |
|
$hashtied=0; |
$hashtied=0; |
undef %alreadyseen; |
undef %alreadyseen; |
%alreadyseen=(); |
%alreadyseen=(); |
Line 2256 sub verifycontent {
|
Line 2273 sub verifycontent {
|
if ($hash{$key}=~/\.(page|sequence)$/) { |
if ($hash{$key}=~/\.(page|sequence)$/) { |
if (($key=~/^src_/) && ($alreadyseen{&unescape($hash{$key})})) { |
if (($key=~/^src_/) && ($alreadyseen{&unescape($hash{$key})})) { |
$r->print('<hr /><span class="LC_error">'. |
$r->print('<hr /><span class="LC_error">'. |
&mt('The following sequence or page is included more than once in your '.$type.': '). |
&mt('The following sequence or page is included more than once in your '.$crstype.':').' '. |
&unescape($hash{$key}).'</span><br />'. |
&unescape($hash{$key}).'</span><br />'. |
&mt('Note that grading records for problems included in this sequence or folder will overlap.<hr />')); |
&mt('Note that grading records for problems included in this sequence or folder will overlap.').'<hr />'); |
} |
} |
} |
} |
if (($key=~/^src\_(.+)$/) && (!$alreadyseen{&unescape($hash{$key})})) { |
if (($key=~/^src\_(.+)$/) && (!$alreadyseen{&unescape($hash{$key})})) { |
Line 2266 sub verifycontent {
|
Line 2283 sub verifycontent {
|
} |
} |
} |
} |
&untiehash(); |
&untiehash(); |
$r->print('<h1>'.&mt('Done').'.</h1>'.'<a href="/adm/coursedocs">'. |
$r->print('<p class="LC_success">'.&mt('Done').'</p>'); |
&mt('Return to DOCS').'</a>'); |
|
} |
} |
|
|
|
|
Line 2279 sub devalidateversioncache {
|
Line 2295 sub devalidateversioncache {
|
|
|
sub checkversions { |
sub checkversions { |
my ($r) = @_; |
my ($r) = @_; |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
$r->print(&Apache::loncommon::start_page("Check $type Document Versions")); |
$r->print(&Apache::loncommon::start_page("Check $crstype Document Versions")); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs("Check $type Document Versions")); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs("Check $crstype Document Versions")); |
|
&startContentScreen($r,'tools'); |
|
|
my $header=''; |
my $header=''; |
my $startsel=''; |
my $startsel=''; |
my $monthsel=''; |
my $monthsel=''; |
Line 2342 sub checkversions {
|
Line 2360 sub checkversions {
|
&changewarning($r,''); |
&changewarning($r,''); |
if ($env{'form.timerange'} eq 'all') { |
if ($env{'form.timerange'} eq 'all') { |
# show all documents |
# show all documents |
$header=&mt('All Documents in '.$type); |
$header=&mt('All Documents in '.$crstype); |
$allsel=1; |
$allsel=1; |
foreach my $key (keys(%hash)) { |
foreach my $key (keys(%hash)) { |
if ($key=~/^ids\_(\/res\/.+)$/) { |
if ($key=~/^ids\_(\/res\/.+)$/) { |
Line 2387 sub checkversions {
|
Line 2405 sub checkversions {
|
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}); |
$env{'course.'.$env{'request.course.id'}.'.num'}); |
my %lt=&Apache::lonlocal::texthash |
my %lt=&Apache::lonlocal::texthash |
('st' => 'Version changes since start of '.$type, |
('st' => 'Version changes since start of '.$crstype, |
'lm' => 'Version changes since last Month', |
'lm' => 'Version changes since last Month', |
'lw' => 'Version changes since last Week', |
'lw' => 'Version changes since last Week', |
'sy' => 'Version changes since Yesterday', |
'sy' => 'Version changes since Yesterday', |
Line 2396 sub checkversions {
|
Line 2414 sub checkversions {
|
'fi' => 'File', |
'fi' => 'File', |
'md' => 'Modification Date', |
'md' => 'Modification Date', |
'mr' => 'Most recently published Version', |
'mr' => 'Most recently published Version', |
've' => 'Version used in '.$type, |
've' => 'Version used in '.$crstype, |
'vu' => 'Set Version to be used in '.$type, |
'vu' => 'Set Version to be used in '.$crstype, |
'sv' => 'Set Versions to be used in '.$type.' according to Selections below', |
'sv' => 'Set Versions to be used in '.$crstype.' according to Selections below', |
'sm' => 'Keep all Resources up-to-date with most recent Versions (default)', |
'sm' => 'Keep all Resources up-to-date with most recent Versions (default)', |
'sc' => 'Set all Resource Versions to current Version (Fix Versions)', |
'sc' => 'Set all Resource Versions to current Version (Fix Versions)', |
'di' => 'Differences'); |
'di' => 'Differences'); |
Line 2445 ENDHEADERS
|
Line 2463 ENDHEADERS
|
'<td title="'.$lt{'mr'}.'"><span class="LC_nobreak">Most Recent: '. |
'<td title="'.$lt{'mr'}.'"><span class="LC_nobreak">Most Recent: '. |
'<font size="+1">'.$currentversion.'</font>'. |
'<font size="+1">'.$currentversion.'</font>'. |
'</span></td>'. |
'</span></td>'. |
'<td title="'.$lt{'ve'}.'"><span class="LC_nobreak">In '.$type.': '. |
'<td title="'.$lt{'ve'}.'"><span class="LC_nobreak">In '.$crstype.': '. |
'<font size="+1">'); |
'<font size="+1">'); |
# Used in course |
# Used in course |
my $usedversion=$hash{'version_'.$linkurl}; |
my $usedversion=$hash{'version_'.$linkurl}; |
Line 2459 ENDHEADERS
|
Line 2477 ENDHEADERS
|
# Set version |
# Set version |
$r->print(&Apache::loncommon::select_form($setversions{$linkurl}, |
$r->print(&Apache::loncommon::select_form($setversions{$linkurl}, |
'set_version_'.$linkurl, |
'set_version_'.$linkurl, |
('select_form_order' => |
{'select_form_order' => |
['',1..$currentversion,'mostrecent'], |
['',1..$currentversion,'mostrecent'], |
'' => '', |
'' => '', |
'mostrecent' => 'most recent', |
'mostrecent' => &mt('most recent'), |
map {$_,$_} (1..$currentversion)))); |
map {$_,$_} (1..$currentversion)})); |
$r->print('</span></td></tr><tr><td></td>'); |
$r->print('</span></td></tr><tr><td></td>'); |
my $lastold=1; |
my $lastold=1; |
for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { |
for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) { |
Line 2517 ENDHEADERS
|
Line 2535 ENDHEADERS
|
} |
} |
} |
} |
$r->print('</table></form>'); |
$r->print('</table></form>'); |
$r->print('<h1>'.&mt('Done').'.</h1>'); |
$r->print('<p class="LC_success">'.&mt('Done').'</p>'); |
|
|
&untiehash(); |
&untiehash(); |
} |
} |
Line 2582 sub init_breadcrumbs {
|
Line 2600 sub init_breadcrumbs {
|
my ($form,$text)=@_; |
my ($form,$text)=@_; |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs", |
&Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs", |
text=>"Edit ".&Apache::loncommon::course_type(), |
text=>&Apache::loncommon::course_type().' Editor', |
faq=>273, |
faq=>273, |
bug=>'Instructor Interface', |
bug=>'Instructor Interface', |
help => 'Docs_Adding_Course_Doc'}); |
help => 'Docs_Adding_Course_Doc'}); |
Line 2592 sub init_breadcrumbs {
|
Line 2610 sub init_breadcrumbs {
|
bug=>'Instructor Interface'}); |
bug=>'Instructor Interface'}); |
} |
} |
|
|
|
# subroutine to list form elements |
|
sub create_list_elements { |
|
my @formarr = @_; |
|
my $list = ''; |
|
for my $button (@formarr){ |
|
for my $picture(keys %$button) { |
|
$list .= &Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); |
|
} |
|
} |
|
return $list; |
|
} |
|
|
|
# subroutine to create ul from list elements |
|
sub create_form_ul { |
|
my $list = shift; |
|
my $ul = &Apache::lonhtmlcommon::htmltag('ul',$list, {class => 'LC_ListStyleNormal'}); |
|
return $ul; |
|
} |
|
|
|
# |
|
# Start tabs |
|
# |
|
|
|
sub startContentScreen { |
|
my ($r,$mode)=@_; |
|
$r->print('<ul class="LC_TabContentBigger" id="mainnav">'); |
|
$r->print('<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Content Overview').' </b></a></li>'); |
|
|
|
my $active = ''; |
|
# does this user have privileges to modify docs? |
|
my $allowed=&Apache::lonnet::allowed('mdc',$env{'request.course.id'}); |
|
|
|
my $onclick; |
|
my $href; |
|
|
|
if ($allowed) { |
|
$r->print('<li '.(($mode eq 'docs')?' class="active"':''). |
|
'><a href="/adm/coursedocs?forcestandard=1"><b> '.&mt('Content Editor').' </b></a></li>'); |
|
} |
|
$r->print('<li'.(($mode eq 'coursesearch')?' class="active"':'').'><a href="/adm/searchcourse"><b> '.&mt('Content Search').' </b></a></li>'); |
|
$r->print('<li'.(($mode eq 'courseindex')?' class="active"':'').'><a href="/adm/indexcourse"><b> '.&mt('Content Index').' </b></a></li>'); |
|
$r->print('<li '.(($mode eq 'supdocs')?' class="active"':''). |
|
'><a href="/adm/coursedocs?forcesupplement=1"><b>'.&mt('Supplemental Documents').'</b></a></li>'); |
|
$r->print('</ul>'); |
|
$r->print('<div class="LC_Box" style="clear:both;margin:0;">' |
|
.'<div id="maincoursedoc" style="margin:0 0;padding:0 0;">'); |
|
$r->print('<div class="LC_ContentBox" id="mainCourseDocuments" style="display: block;">'); |
|
} |
|
|
|
# |
|
# End tabs |
|
# |
|
|
|
sub endContentScreen { |
|
my ($r)=@_; |
|
$r->print('</div></div></div>'); |
|
} |
|
|
|
sub supplemental_base { |
|
return 'supplemental&'.&escape(&mt('Supplemental '.&Apache::loncommon::course_type().' Documents')); |
|
} |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
my $type = &Apache::loncommon::course_type(); |
my $crstype = &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 2641 sub handler {
|
Line 2718 sub handler {
|
&init_breadcrumbs('versions','Check/Set Resource Versions'); |
&init_breadcrumbs('versions','Check/Set Resource Versions'); |
&checkversions($r); |
&checkversions($r); |
} elsif ($allowed && $env{'form.dumpcourse'}) { |
} elsif ($allowed && $env{'form.dumpcourse'}) { |
&init_breadcrumbs('dumpcourse','Dump '.&Apache::loncommon::course_type().' DOCS to Construction Space'); |
&init_breadcrumbs('dumpcourse','Dump '.&Apache::loncommon::course_type().' Documents to Construction Space'); |
&dumpcourse($r); |
&dumpcourse($r); |
} elsif ($allowed && $env{'form.exportcourse'}) { |
} elsif ($allowed && $env{'form.exportcourse'}) { |
&init_breadcrumbs('exportcourse','IMS Export'); |
&init_breadcrumbs('exportcourse','IMS Export'); |
&exportcourse($r); |
&exportcourse($r); |
} else { |
} else { |
# is this a standard course? |
# |
|
# Done catching special calls |
|
# The whole rest is for course and supplemental documents |
|
# Get the parameters that may be needed |
|
# |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
|
['folderpath','pagepath', |
|
'pagesymb','forcesupplement','forcestandard']); |
|
|
|
# standard=1: this is a "new-style" course with an uploaded map as top level |
|
# standard=2: this is a "old-style" course, and there is nothing we can do |
|
|
my $standard=($env{'request.course.uri'}=~/^\/uploaded\//); |
my $standard=($env{'request.course.uri'}=~/^\/uploaded\//); |
my $forcestandard = 0; |
|
my $forcesupplement; |
# Decide whether this should display supplemental or main content |
|
# supplementalflag=1: show supplemental documents |
|
# supplementalflag=0: show standard documents |
|
|
|
|
|
my $supplementalflag=($env{'form.folderpath'}=~/^supplemental/); |
|
if (($env{'form.folderpath'}=~/^default/) || $env{'form.folderpath'} eq "" || ($env{'form.pagepath'})) { |
|
$supplementalflag=0; |
|
} |
|
if ($env{'form.forcesupplement'}) { $supplementalflag=1; } |
|
if ($env{'form.forcestandard'}) { $supplementalflag=0; } |
|
unless ($allowed) { $supplementalflag=1; } |
|
unless ($standard) { $supplementalflag=1; } |
|
|
my $script=''; |
my $script=''; |
my $showdoc=0; |
my $showdoc=0; |
my $containertag; |
my $containertag; |
my $uploadtag; |
my $uploadtag; |
|
|
|
# Where do we store these for when we come back? |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
my $stored_folderpath='docs_folderpath'; |
['folderpath','pagepath', |
if ($supplementalflag) { |
'pagesymb']); |
$stored_folderpath='docs_sup_folderpath'; |
|
} |
|
|
# No folderpath, no pagepath, see if we have something stored |
# No folderpath, no pagepath, see if we have something stored |
if ((!$env{'form.folderpath'}) && (!$env{'form.pagepath'})) { |
if ((!$env{'form.folderpath'}) && (!$env{'form.pagepath'})) { |
&Apache::loncommon::restore_course_settings('docs_folderpath', |
&Apache::loncommon::restore_course_settings($stored_folderpath, |
{'folderpath' => 'scalar'}); |
{'folderpath' => 'scalar'}); |
} |
} |
if (!$env{'form.folderpath'}) { |
|
&Apache::loncommon::restore_course_settings('docs_folderpath', |
# If we are not allowed to make changes, all we can see are supplemental docs |
{'pagepath' => 'scalar'}); |
if (!$allowed) { |
|
$env{'form.pagepath'}=''; |
|
unless ($env{'form.folderpath'} =~ /^supplemental/) { |
|
$env{'form.folderpath'} = &supplemental_base(); |
|
} |
} |
} |
if ($env{'form.pagepath'}) { |
# If we still not have a folderpath, see if we can resurrect at pagepath |
$env{'form.folderpath'}=''; |
if (!$env{'form.folderpath'} && $allowed) { |
|
&Apache::loncommon::restore_course_settings($stored_folderpath, |
|
{'pagepath' => 'scalar'}); |
} |
} |
|
# Make the zeroth entry in supplemental docs page paths, so we can get to top level |
if ($env{'form.folderpath'} =~ /^supplemental_\d+/) { |
if ($env{'form.folderpath'} =~ /^supplemental_\d+/) { |
$env{'form.folderpath'} = 'supplemental&'. |
$env{'form.folderpath'} = &supplemental_base() |
&escape(&mt('Supplemental '.$type.' Documents')).'&'. |
.'&'. |
$env{'form.folderpath'}; |
$env{'form.folderpath'}; |
} |
} |
&Apache::loncommon::store_course_settings('docs_folderpath', |
# If after all of this, we still don't have any paths, make them |
|
unless (($env{'form.pagepath'}) || ($env{'form.folderpath'})) { |
|
if ($supplementalflag) { |
|
$env{'form.folderpath'}=&supplemental_base(); |
|
} else { |
|
$env{'form.folderpath'}='default'; |
|
} |
|
} |
|
|
|
# Store this |
|
&Apache::loncommon::store_course_settings($stored_folderpath, |
{'pagepath' => 'scalar', |
{'pagepath' => 'scalar', |
'folderpath' => 'scalar'}); |
'folderpath' => 'scalar'}); |
|
|
if ($env{'form.folderpath'}) { |
if ($env{'form.folderpath'}) { |
my (@folderpath)=split('&',$env{'form.folderpath'}); |
my (@folderpath)=split('&',$env{'form.folderpath'}); |
$env{'form.foldername'}=&unescape(pop(@folderpath)); |
$env{'form.foldername'}=&unescape(pop(@folderpath)); |
Line 2691 sub handler {
|
Line 2811 sub handler {
|
$env{'form.pagename'}=&unescape(pop(@pagepath)); |
$env{'form.pagename'}=&unescape(pop(@pagepath)); |
$env{'form.folder'}=pop(@pagepath); |
$env{'form.folder'}=pop(@pagepath); |
$containertag = '<input type="hidden" name="pagepath" value="" />'. |
$containertag = '<input type="hidden" name="pagepath" value="" />'. |
'<input type="hidden" name="pagesymb" value="" />'; |
'<input type="hidden" name="pagesymb" value="" />'; |
$uploadtag = '<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'. |
$uploadtag = |
'<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'; |
'<input type="hidden" name="pagepath" value="'.&HTML::Entities::encode($env{'form.pagepath'},'<>&"').'" />'. |
|
'<input type="hidden" name="pagesymb" value="'.&HTML::Entities::encode($env{'form.pagesymb'},'<>&"').'" />'. |
|
'<input type="hidden" name="folderpath" value="" />'; |
|
} else { |
|
my $folderpath=$env{'form.folderpath'}; |
|
if (!$folderpath) { |
|
if ($env{'form.folder'} eq '' || |
|
$env{'form.folder'} eq 'supplemental') { |
|
$folderpath='default&'. |
|
&escape(&mt('Main '.$crstype.' Documents')); |
|
} |
|
} |
|
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
|
$uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
} |
} |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
if ($r->uri=~/^\/adm\/coursedocs\/showdoc\/(.*)$/) { |
$showdoc='/'.$1; |
$showdoc='/'.$1; |
} |
} |
unless ($showdoc) { # got called from remote |
if ($showdoc) { # got called in sequence from course |
if (($env{'form.folder'}=~/^(?:group|default)_/) || |
$allowed=0; |
($env{'form.folder'} =~ m:^\d+/(pages|sequences)/:)) { |
} else { |
$forcestandard = 1; |
|
} |
|
$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 |
|
$allowed=0; |
|
} |
} |
|
|
# subroutine to list form elements |
|
sub create_list_elements { |
|
my @formarr = @_; |
|
my $list = ''; |
|
for my $button (@formarr){ |
|
for my $picture(keys %$button) { |
|
#my $link = Apache::lonhtmlcommon::htmltag('a' ,$button->{$picture}, {href => "test"}); |
|
$list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); |
|
} |
|
} |
|
return $list; |
|
} |
|
|
|
# subroutine to create ul from list elements |
|
sub create_form_ul { |
|
my $list = shift; |
|
my $ul = Apache::lonhtmlcommon::htmltag('ul',$list, {class => 'LC_ListStyleNormal'}); |
|
return $ul; |
|
} |
|
|
|
# get course data |
# get course data |
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'}; |
Line 2758 sub create_form_ul {
|
Line 2865 sub create_form_ul {
|
|
|
# Breadcrumbs |
# Breadcrumbs |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
if ($allowed) { |
unless ($showdoc) { |
&Apache::lonhtmlcommon::add_breadcrumb({ |
&Apache::lonhtmlcommon::add_breadcrumb({ |
href=>"/adm/coursedocs",text=>"$type Editor"}); |
href=>"/adm/coursedocs",text=>"$crstype Contents"}); |
|
|
$r->print(&Apache::loncommon::start_page("$type Editor", $script, |
$r->print(&Apache::loncommon::start_page("$crstype Contents", $script, |
{'force_register' => $showdoc,}) |
{'force_register' => $showdoc,}) |
.&Apache::loncommon::help_open_menu('','',273,'RAT') |
.&Apache::loncommon::help_open_menu('','',273,'RAT') |
.&Apache::lonhtmlcommon::breadcrumbs( |
.&Apache::lonhtmlcommon::breadcrumbs( |
'Editing the Table of Contents for your '.$type, |
'Editing the Table of Contents for your '.$crstype, |
'Docs_Adding_Course_Doc') |
'Docs_Adding_Course_Doc') |
); |
); |
} else { |
} else { |
my $folder=$env{'form.folder'}; |
$r->print(&Apache::loncommon::start_page("$crstype documents",undef, |
if ($folder eq '' || $folder eq 'supplemental') { |
{'force_register' => $showdoc,})); |
$env{'form.folderpath'} = 'supplemental&'. |
|
&escape(&mt('Supplemental '.$type.' Documents')); |
|
} |
|
my ($breadcrumbtrail) = &breadcrumbs($allowed,$type); |
|
$r->print(&Apache::loncommon::start_page("Supplemental documents"). |
|
$breadcrumbtrail); |
|
} |
} |
|
|
my %allfiles = (); |
my %allfiles = (); |
my %codebase = (); |
my %codebase = (); |
my ($upload_result,$upload_output); |
my ($upload_result,$upload_output,$uploadphase); |
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. |
my $context = $1; |
|
# Process file upload - phase one - upload and parse primary file. |
undef($hadchanges); |
undef($hadchanges); |
$upload_result = &process_file_upload(\$upload_output,$coursenum, |
$uploadphase = &process_file_upload(\$upload_output,$coursenum,$coursedom, |
$coursedom,\%allfiles, |
\%allfiles,\%codebase,$context); |
\%codebase,$1); |
|
if ($hadchanges) { |
if ($hadchanges) { |
&mark_hash_old(); |
&mark_hash_old(); |
} |
} |
if ($upload_result eq 'phasetwo') { |
$r->print($upload_output); |
$r->print($upload_output); |
} elsif ($env{'form.phase'} eq 'upload_embedded') { |
} |
# Process file upload - phase two - upload embedded objects |
} elsif ($env{'form.phasetwo'}) { |
$uploadphase = 'check_embedded'; |
my %newname = (); |
my $primaryurl = &HTML::Entities::encode($env{'form.primaryurl'},'<>&"'); |
my %origname = (); |
my $state = &embedded_form_elems($uploadphase,$primaryurl, |
my %attribs = (); |
$env{'form.newidx'}); |
my $updateflag = 0; |
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $residx = $env{'form.newidx'}; |
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $primary_url = &unescape($env{'form.primaryurl'}); |
my ($destination,$dir_root) = &embedded_destination(); |
# Process file upload - phase two - gather secondary files. |
my $url_root = '/uploaded/'.$docudom.'/'.$docuname; |
for (my $i=0; $i<$env{'form.phasetwo'}; $i++) { |
my $actionurl = '/adm/coursedocs'; |
if ($env{'form.embedded_item_'.$i.'.filename'}) { |
my ($result,$flag) = |
my $javacodebase; |
&Apache::loncommon::upload_embedded('coursedoc',$destination, |
$newname{$i} = &process_secondary_uploads(\$upload_output,$coursedom,$coursenum,'embedded_item_',$i,$residx); |
$docuname,$docudom,$dir_root,$url_root,undef,undef,undef,$state, |
$origname{$i} = &unescape($env{'form.embedded_orig_'.$i}); |
$actionurl); |
if (exists($env{'form.embedded_codebase_'.$i})) { |
$r->print($result.&return_to_editor()); |
$javacodebase = &unescape($env{'form.embedded_codebase_'.$i}); |
} elsif ($env{'form.phase'} eq 'check_embedded') { |
$origname{$i} =~ s#^\Q$javacodebase\E/##; |
# Process file upload - phase three - modify references in HTML file |
} |
$uploadphase = 'modified_orightml'; |
my @attributes = (); |
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
if ($env{'form.embedded_attrib_'.$i} =~ /:/) { |
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
@attributes = split(/:/,$env{'form.embedded_attrib_'.$i}); |
my ($destination,$dir_root) = &embedded_destination(); |
} else { |
$r->print(&Apache::loncommon::modify_html_refs('coursedoc',$destination, |
@attributes = ($env{'form.embedded_attrib_'.$i}); |
$docuname,$docudom,undef, |
} |
$dir_root). |
foreach my $attr (@attributes) { |
&return_to_editor()); |
push(@{$attribs{$i}},&unescape($attr)); |
|
} |
|
if ($javacodebase) { |
|
$codebase{$i} = $javacodebase; |
|
$codebase{$i} =~ s#/$##; |
|
$updateflag = 1; |
|
} |
|
} |
|
unless ($newname{$i} eq $origname{$i}) { |
|
$updateflag = 1; |
|
} |
|
} |
|
# Process file upload - phase three - modify primary file |
|
if ($updateflag) { |
|
my ($content,$rtncode); |
|
my $updateflag = 0; |
|
my $getstatus = &Apache::lonnet::getuploaded('GET',$primary_url,$coursedom,$coursenum,\$content,\$rtncode); |
|
if ($getstatus eq 'ok') { |
|
foreach my $item (keys(%newname)) { |
|
if ($newname{$item} ne $origname{$item}) { |
|
my $attrib_regexp = ''; |
|
if (@{$attribs{$item}} > 1) { |
|
$attrib_regexp = join('|',@{$attribs{$item}}); |
|
} else { |
|
$attrib_regexp = $attribs{$item}[0]; |
|
} |
|
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; |
|
} |
|
if (exists($codebase{$item})) { |
|
$content =~ s/(codebase\s*=\s*["']?)\Q$codebase{$item}\E(["']?)/$1.$2/i; #' stupid emacs |
|
} |
|
} |
|
# Save edited file. |
|
my $saveresult; |
|
my $docuname=$env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $docudom=$env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $url = &Apache::lonnet::store_edited_file($primary_url,$content,$docudom,$docuname,\$saveresult); |
|
} else { |
|
&Apache::lonnet::logthis('retrieval of uploaded file - '.$primary_url.' - for editing, failed: '.$getstatus); |
|
} |
|
} |
|
} |
} |
} |
} |
|
|
unless ($showdoc || $upload_result eq 'phasetwo') { |
unless ($showdoc || $uploadphase) { |
# ----------------------------------------------------------------------------- |
# ----------------------------------------------------------------------------- |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'uplm' => 'Upload a new main '.lc($type).' document', |
'uplm' => 'Upload a new main '.lc($crstype).' document', |
'upls' => 'Upload a new supplemental '.lc($type).' document', |
'upls' => 'Upload a new supplemental '.lc($crstype).' document', |
'impp' => 'Import a document', |
'impp' => 'Import a document', |
'copm' => 'All documents out of a published map into this folder', |
'copm' => 'All documents out of a published map into this folder', |
'upld' => 'Upload Document', |
'upld' => 'Import Document', |
'srch' => 'Search', |
'srch' => 'Search', |
'impo' => 'Import', |
'impo' => 'Import', |
'book' => 'Import Bookmarks', |
'wish' => 'Import from Wishlist', |
'selm' => 'Select Map', |
'selm' => 'Select Map', |
'load' => 'Load Map', |
'load' => 'Load Map', |
'reco' => 'Recover Deleted Resources', |
'reco' => 'Recover Deleted Documents', |
'newf' => 'New Folder', |
'newf' => 'New Folder', |
'newp' => 'New Composite Page', |
'newp' => 'New Composite Page', |
'extr' => 'External Resource', |
'extr' => 'External Resource', |
'syll' => 'Syllabus', |
'syll' => 'Syllabus', |
'navc' => 'Navigate Contents', |
'navc' => 'Table of Contents', |
'sipa' => 'Simple Course Page', |
'sipa' => 'Simple Course Page', |
'sipr' => 'Simple Problem', |
'sipr' => 'Simple Problem', |
'drbx' => 'Drop Box', |
'drbx' => 'Drop Box', |
'scuf' => 'Score Upload Form', |
'scuf' => 'External Scores (handgrade, upload, clicker)', |
'bull' => 'Discussion Board', |
'bull' => 'Discussion Board', |
'mypi' => 'My Personal Information Page', |
'mypi' => 'My Personal Information Page', |
'grpo' => 'Group Portfolio', |
'grpo' => 'Group Portfolio', |
Line 2928 CHBO
|
Line 2986 CHBO
|
$fileupload |
$fileupload |
<br /> |
<br /> |
$lt{'title'}:<br /> |
$lt{'title'}:<br /> |
<input type="text" size="50" name="comment" /> |
<input type="text" size="80" name="comment" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="cmd" value="upload_default" /> |
<input type="hidden" name="cmd" value="upload_default" /> |
<br /> |
<br /> |
Line 2936 CHBO
|
Line 2994 CHBO
|
$checkbox |
$checkbox |
</span> |
</span> |
FUFORM |
FUFORM |
#$list .= Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); |
$fileuploadform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$fileuploada,{class => 'LC_menubuttons_inline_text'})).'</form>'; |
#$fileuploadform .= create_form_ul(create_list_elements(@fileuploada)); |
|
$fileuploadform .= create_form_ul(Apache::lonhtmlcommon::htmltag('li',$fileuploada,{class => 'LC_menubuttons_inline_text'})); |
|
$fileuploadform .= (<<FUFORM); |
|
</form> |
|
FUFORM |
|
|
|
my $simpleeditdefaultform=(<<SEDFFORM); |
my $simpleeditdefaultform=(<<SEDFFORM); |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
<form action="/adm/coursedocs" method="post" name="simpleeditdefault"> |
<input type="hidden" name="active" value="bb" /> |
<input type="hidden" name="active" value="bb" /> |
SEDFFORM |
SEDFFORM |
my @simpleeditdefaultforma = ( |
my @simpleeditdefaultforma = ( |
{ '<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/src.png" alt="pic03" />' => "$uploadtag<a onclick='javascript:groupsearch()'>$lt{'srch'}</a>" }, |
{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'" onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" }, |
{ '<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/res.png" alt="pic04" />' => "<a onclick='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" }, |
{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'" onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" }, |
{ '<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/vbkm.png" alt="pic05" />' => "<a onclick='javascript:groupopen(0,1,1);'>$lt{'book'}</a>" }, |
{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/wishlist.png" alt="'.$lt{wish}.'" onclick="javascript:open_Wishlist_Import();" />' => "<a class='LC_menubuttons_link' href='javascript:open_Wishlist_Import();'>$lt{'wish'}</a>" }, |
); |
); |
$simpleeditdefaultform .= create_form_ul(create_list_elements(@simpleeditdefaultforma)); |
$simpleeditdefaultform .= &create_form_ul(&create_list_elements(@simpleeditdefaultforma)); |
$simpleeditdefaultform .=(<<SEDFFORM); |
$simpleeditdefaultform .=(<<SEDFFORM); |
<hr /> |
<hr /> |
<p> |
<p> |
Line 2966 SEDFFORM
|
Line 3019 SEDFFORM
|
</form> |
</form> |
SEDFFORM |
SEDFFORM |
|
|
my $extresourcesform=(<<ERFORM); |
my $extresourcesform=(<<ERFORM); |
<form action="/adm/coursedocs" method="post" name="newext"> |
<form action="/adm/coursedocs" method="post" name="newext"> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makenewext('newext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} |
<a class="LC_menubuttons_link" href="javascript:makenewext('newext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} |
</form> |
</form> |
ERFORM |
ERFORM |
|
|
|
|
if ($allowed) { |
if ($allowed) { |
&update_paste_buffer($coursenum,$coursedom); |
&update_paste_buffer($coursenum,$coursedom); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 2983 ERFORM
|
Line 3037 ERFORM
|
'sl' => 'Show Log' |
'sl' => 'Show Log' |
); |
); |
|
|
my $folderpath=$env{'form.folderpath'}; |
|
if (!$folderpath) { |
|
if ($env{'form.folder'} eq '' || |
|
$env{'form.folder'} eq 'supplemental') { |
|
$folderpath='default&'. |
|
&escape(&mt('Main '.$type.' Documents')); |
|
} |
|
} |
|
unless ($env{'form.pagepath'}) { |
|
$containertag = '<input type="hidden" name="folderpath" value="" />'; |
|
$uploadtag = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($folderpath,'<>&"').'" />'; |
|
} |
|
$r->print(<<HIDDENFORM); |
$r->print(<<HIDDENFORM); |
<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" /> |
Line 3009 ERFORM
|
Line 3051 ERFORM
|
</form> |
</form> |
HIDDENFORM |
HIDDENFORM |
} |
} |
# --------------------------------------------------------- Main tab structure |
|
|
# Generate the tabs |
my $activeClass = 1; |
&startContentScreen($r,($supplementalflag?'supdocs':'docs')); |
my $active = ''; |
|
|
|
|
# |
|
|
|
my $savefolderpath; |
|
|
if ($allowed) { |
if ($allowed) { |
$r->print('<ul class="LC_TabContentBigger" id="mainnav">'); |
|
if (($standard) && ($allowed) && (!$forcesupplement) && (($env{'form.folderpath'}=~/^default/) || $env{'form.folderpath'}eq"" || ($env{'form.pagepath'}))) { |
|
if($activeClass == 1){ |
|
$active = 'class="active"'; |
|
$activeClass = 0; |
|
} |
|
} |
|
$r->print('<li '.$active.' onclick="javascript:showPage(this,\'mainCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.&mt('Main Course Documents').'</b></a></li>'); |
|
$active = ''; |
|
if (!$forcestandard || ($env{'form.folderpath'}=~/^supplemental/)) { |
|
if($activeClass == 1){ |
|
$active = 'class="active"'; |
|
} |
|
} |
|
$r->print('<li '.$active.' onclick="javascript:showPage(this,\'supplCourseDocuments\',\'mainnav\',\'maincoursedoc\');"><a href="#"><b>'.&mt('Supplemental Course Documents').'</b></a></li>'); |
|
$r->print('</ul>'); |
|
} else { |
|
$r->print('<br />'); |
|
} |
|
$r->print('<div class="LC_Box" style="clear:both;margin:0;">' |
|
.'<div id="maincoursedoc" style="margin:0 0;padding:0 0;">'); |
|
# --------------------------------------------------------- Standard documents |
|
my $savefolderpath; |
|
$active = 'style="display: none;"'; |
|
if($activeClass == 0){ |
|
$active = 'style="display: block;"'; |
|
} |
|
if ($allowed) { |
|
$r->print('<div class="LC_ContentBox" id="mainCourseDocuments" '.$active.'>'); |
|
my $folder=$env{'form.folder'}; |
my $folder=$env{'form.folder'}; |
if ($folder eq '' || $folder=~/^supplemental/) { |
if ($folder eq '' || $supplementalflag) { |
$folder='default'; |
$folder='default'; |
$savefolderpath = $env{'form.folderpath'}; |
$savefolderpath = $env{'form.folderpath'}; |
$env{'form.folderpath'}='default&'.&escape(&mt('Main '.$type.' Documents')); |
$env{'form.folderpath'}='default&'.&escape(&mt('Content')); |
$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 3077 HIDDENFORM
|
Line 3094 HIDDENFORM
|
|
|
my $recoverform=(<<RFORM); |
my $recoverform=(<<RFORM); |
<form action="/adm/groupsort" method="post" name="recover"> |
<form action="/adm/groupsort" method="post" name="recover"> |
<a onclick="javascript:groupopen('$readfile',1,0)">$lt{'reco'}</a> |
<a class="LC_menubuttons_link" href="javascript:groupopen('$readfile',1)">$lt{'reco'}</a> |
</form> |
</form> |
RFORM |
RFORM |
|
|
my $imspform=(<<IMSPFORM); |
my $imspform=(<<IMSPFORM); |
<form action="/adm/imsimportdocs" method="post" name="ims"> |
<form action="/adm/imsimportdocs" method="post" name="ims"> |
<input type="hidden" name="folder" value="$folder" /> |
<input type="hidden" name="folder" value="$folder" /> |
<a onclick="javascript:makeims();">$lt{'imsf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeims();">$lt{'imsf'}</a> |
</form> |
</form> |
IMSPFORM |
IMSPFORM |
|
|
Line 3094 IMSPFORM
|
Line 3111 IMSPFORM
|
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'navc'}=/adm/navmaps" /> |
value="$lt{'navc'}=/adm/navmaps" /> |
<a onclick="document.newnav.submit()">$lt{'navc'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newnav.submit()">$lt{'navc'}</a> |
$help{'Navigate_Content'} |
$help{'Navigate_Content'} |
</form> |
</form> |
NNFORM |
NNFORM |
Line 3103 NNFORM
|
Line 3120 NNFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makesmppage();"> $lt{'sipa'}</a> |
<a class="LC_menubuttons_link" href="javascript:makesmppage();"> $lt{'sipa'}</a> |
$help{'Simple Page'} |
$help{'Simple Page'} |
</form> |
</form> |
NSPFORM |
NSPFORM |
Line 3113 NSPFORM
|
Line 3130 NSPFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makesmpproblem();">$lt{'sipr'}</a> |
<a class="LC_menubuttons_link" href="javascript:makesmpproblem();">$lt{'sipr'}</a> |
$help{'Simple Problem'} |
$help{'Simple Problem'} |
</form> |
</form> |
|
|
Line 3124 NSPROBFORM
|
Line 3141 NSPROBFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makedropbox();">$lt{'drbx'}</a> |
<a class="LC_menubuttons_link" href="javascript:makedropbox();">$lt{'drbx'}</a> |
</form> |
</form> |
NDBFORM |
NDBFORM |
|
|
Line 3133 NDBFORM
|
Line 3150 NDBFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makeexamupload();">$lt{'scuf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeexamupload();">$lt{'scuf'}</a> |
$help{'Score_Upload_Form'} |
$help{'Score_Upload_Form'} |
</form> |
</form> |
NEXUFORM |
NEXUFORM |
Line 3143 NEXUFORM
|
Line 3160 NEXUFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makebulboard();" >$lt{'bull'}</a> |
<a class="LC_menubuttons_link" href="javascript:makebulboard();" >$lt{'bull'}</a> |
$help{'Bulletin Board'} |
$help{'Bulletin Board'} |
</form> |
</form> |
NBFORM |
NBFORM |
Line 3154 NBFORM
|
Line 3171 NBFORM
|
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
<a onclick="document.newaboutme.submit()">$lt{'mypi'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newaboutme.submit()">$lt{'mypi'}</a> |
$help{'My Personal Information Page'} |
$help{'My Personal Information Page'} |
</form> |
</form> |
NAMFORM |
NAMFORM |
Line 3164 NAMFORM
|
Line 3181 NAMFORM
|
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a onclick="javascript:makeabout();">$lt{'abou'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeabout();">$lt{'abou'}</a> |
</form> |
</form> |
NASOFORM |
NASOFORM |
|
|
Line 3175 NASOFORM
|
Line 3192 NASOFORM
|
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'rost'}=/adm/viewclasslist" /> |
value="$lt{'rost'}=/adm/viewclasslist" /> |
<a onclick="document.newroster.submit()">$lt{'rost'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newroster.submit()">$lt{'rost'}</a> |
$help{'Course Roster'} |
$help{'Course Roster'} |
</form> |
</form> |
NROSTFORM |
NROSTFORM |
|
|
my $specialdocumentsform; |
my $specialdocumentsform; |
my @specialdocumentsforma; |
my @specialdocumentsforma; |
|
my $gradingform; |
|
my @gradingforma; |
|
my $communityform; |
|
my @communityforma; |
my $newfolderform; |
my $newfolderform; |
my $newfolderb; |
my $newfolderb; |
|
|
unless ($env{'form.pagepath'}) { |
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
|
|
|
my $newpageform=(<<NPFORM); |
my $newpageform=(<<NPFORM); |
<form action="/adm/coursedocs" method="post" name="newpage"> |
<form action="/adm/coursedocs" method="post" name="newpage"> |
<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="" /> |
<input type="hidden" name="active" value="cc" /> |
<input type="hidden" name="active" value="cc" /> |
<a onclick="javascript:makenewpage(document.newpage,'$pageseq');">$lt{'newp'}</a> |
<a class="LC_menubuttons_link" href="javascript:makenewpage(document.newpage,'$pageseq');">$lt{'newp'}</a> |
$help{'Adding_Pages'} |
$help{'Adding_Pages'} |
</form> |
</form> |
NPFORM |
NPFORM |
Line 3204 NPFORM
|
Line 3224 NPFORM
|
<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="" /> |
<input type="hidden" name="active" value="aa" /> |
<input type="hidden" name="active" value="aa" /> |
<a onclick="javascript:makenewfolder(document.newfolder,'$folderseq');">$lt{'newf'}</a>$help{'Adding_Folders'} |
<a href="javascript:makenewfolder(document.newfolder,'$folderseq');">$lt{'newf'}</a>$help{'Adding_Folders'} |
</form> |
</form> |
NFFORM |
NFFORM |
|
|
Line 3214 NFFORM
|
Line 3234 NFFORM
|
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
<a onclick="document.newsyl.submit()">$lt{'syll'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newsyl.submit()">$lt{'syll'}</a> |
$help{'Syllabus'} |
$help{'Syllabus'} |
|
|
</form> |
</form> |
Line 3226 NSYLFORM
|
Line 3246 NSYLFORM
|
$uploadtag |
$uploadtag |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
<a onclick="document.newgroupfiles.submit()">$lt{'grpo'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.newgroupfiles.submit()">$lt{'grpo'}</a> |
$help{'Group Portfolio'} |
$help{'Group Portfolio'} |
</form> |
</form> |
NGFFORM |
NGFFORM |
@specialdocumentsforma=( |
@specialdocumentsforma=( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/page.png" alt="pic06" />'=>$newpageform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/page.png" alt="'.$lt{newp}.'" onclick="javascript:makenewpage(document.newpage,\''.$pageseq.'\');" />'=>$newpageform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/syllabus.png" alt="pic07" />'=>$newsylform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/syllabus.png" alt="'.$lt{syll}.'" onclick="document.newsyl.submit()" />'=>$newsylform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/groupportfolio.png" alt="pic08" />'=>$newgroupfileform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/navigation.png" alt="'.$lt{navc}.'" onclick="document.newnav.submit()" />'=>$newnavform}, |
); |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simple.png" alt="'.$lt{sipa}.'" onclick="javascript:makesmppage();" />'=>$newsmppageform}, |
|
); |
} |
$specialdocumentsform = &create_form_ul(&create_list_elements(@specialdocumentsforma)); |
push @specialdocumentsforma, ({'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/navigation.png" alt="pic09" />'=>$newnavform}, |
|
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/simple.png" alt="pic10" />'=>$newsmppageform}, |
|
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/simpprob.png" alt="pic11" />'=>$newsmpproblemform}, |
my @importdoc = ( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/dropbox.png" alt="pic12" />'=>$newdropboxform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'newext\');" />'=>$extresourcesform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/scoreupfrm.png" alt="pic13" />'=>$newexuploadform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" onclick="javascript:makeims();" />'=>$imspform},); |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/bchat.png" alt="pic14" />'=>$newbulform}, |
$fileuploadform = &create_form_ul(&create_list_elements(@importdoc)) . '<hr/>' . $fileuploadform; |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/myaboutme.png" alt="pic15" />'=>$newaboutmeform}, |
|
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/aboutme.png" alt="pic16" />'=>$newaboutsomeoneform}, |
@gradingforma=( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/chrt.png" alt="pic17" />'=>$newrosterform},); |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/dropbox.png" alt="'.$lt{drbx}.'" onclick="javascript:makedropbox();" />'=>$newdropboxform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/scoreupfrm.png" alt="'.$lt{scuf}.'" onclick="javascript:makeexamupload();" />'=>$newexuploadform}, |
|
|
|
); |
|
$gradingform = &create_form_ul(&create_list_elements(@gradingforma)); |
|
|
|
@communityforma=( |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/bchat.png" alt="'.$lt{bull}.'" onclick="javascript:makebulboard();" />'=>$newbulform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/myaboutme.png" alt="'.$lt{mypi}.'" onclick="javascript:makebulboard();" />'=>$newaboutmeform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/aboutme.png" alt="'.$lt{abou}.'" onclick="javascript:makeabout();" />'=>$newaboutsomeoneform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/clst.png" alt="'.$lt{rost}.'" onclick="document.newroster.submit()" />'=>$newrosterform}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/groupportfolio.png" alt="'.$lt{grpo}.'" onclick="document.newgroupfiles.submit()" />'=>$newgroupfileform}, |
|
); |
|
$communityform = &create_form_ul(&create_list_elements(@communityforma)); |
|
|
$specialdocumentsform = create_form_ul(create_list_elements(@specialdocumentsforma)); |
|
|
|
if($env{'form.pagepath'}) { |
|
|
|
@specialdocumentsforma=( |
|
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/simpprob.png" alt="pic32" />'=>$newsmpproblemform}, |
|
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/scoreupfrm.png" alt="pic33" />'=>$newexuploadform} |
|
); |
|
$specialdocumentsform= create_form_ul(create_list_elements(@specialdocumentsforma)); |
|
} |
|
|
|
my @tools = ( |
my @tools = ( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/extres.png" alt="pic18" />'=>$extresourcesform}, |
# {'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" />'=>$extresourcesform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/ims.png" alt="pic19" />'=>$imspform}, |
# {'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/ims.png" alt="'.$lt{imsf}.'" />'=>$imspform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/recover.png" alt="pic20" />'=>$recoverform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/recover.png" alt="'.$lt{reco}.'" onclick="javascript:groupopen(\''.$readfile.'\',1)" />'=>$recoverform}, |
); |
); |
|
|
my %orderhash = ( |
my %orderhash = ( |
'00' => ['Newfolder',$newfolderform], |
'aa' => ['Import Documents',$fileuploadform], |
'aa' => ['Upload Document',$fileuploadform], |
|
'bb' => ['Published Resources',$simpleeditdefaultform], |
'bb' => ['Published Resources',$simpleeditdefaultform], |
'cc' => ['Special Documents',$specialdocumentsform], |
'cc' => ['Grading Resources',$gradingform], |
'dd' => ['Tools', create_form_ul(create_list_elements(@tools)).&generate_admin_options($containertag,$uploadtag,\%help,\%env)], |
'ff' => ['Tools', &create_form_ul(&create_list_elements(@tools)).&generate_admin_options(\%help,\%env)], |
); |
); |
my $tid='1'; |
unless ($env{'form.pagepath'}) { |
my $varcd = 'Main Course Documents'; |
$orderhash{'00'} = ['Newfolder',$newfolderform]; |
|
$orderhash{'dd'} = ['Community Resources',$communityform]; |
|
$orderhash{'ee'} = ['Special Documents',$specialdocumentsform]; |
|
} |
|
|
$hadchanges=0; |
$hadchanges=0; |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
unless ($supplementalflag) { |
if ($error) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
if ($error) { |
} |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
if ($hadchanges) { |
} |
&mark_hash_old(); |
if ($hadchanges) { |
} |
&mark_hash_old(); |
|
} |
|
|
&changewarning($r,''); |
&changewarning($r,''); |
$r->print(&generate_edit_table($tid,$varcd,\%orderhash)); |
$r->print(&generate_edit_table('1',\%orderhash)); |
|
} |
|
|
$r->print('</div>'); |
|
} |
} |
if ($env{'form.pagepath'}) { |
|
} |
# Supplemental documents start here |
# ----------------------------------------------------- Supplemental documents |
|
$active = 'style="display: none;"'; |
|
if($activeClass == 1){ |
|
$active = 'style="display: block;"'; |
|
} |
|
$r->print('<div class="LC_ContentBox" id="supplCourseDocuments" '.$active.'>'); |
|
my $folder=$env{'form.folder'}; |
my $folder=$env{'form.folder'}; |
unless ($folder=~/^supplemental/) { |
unless ($supplementalflag) { |
$folder='supplemental'; |
$folder='supplemental'; |
} |
} |
if ($folder =~ /^supplemental$/ && |
if ($folder =~ /^supplemental$/ && |
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
$env{'form.folderpath'} = 'supplemental&'. |
$env{'form.folderpath'} = &supplemental_base(); |
&escape(&mt('Supplemental '.$type.' Documents')); |
|
} elsif ($allowed) { |
} elsif ($allowed) { |
$env{'form.folderpath'} = $savefolderpath; |
$env{'form.folderpath'} = $savefolderpath; |
} |
} |
Line 3331 $r->print('</div>');
|
Line 3354 $r->print('</div>');
|
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
<input type="hidden" name="cmd" value="upload_supplemental" /> |
SUPDOCFORM |
SUPDOCFORM |
$supupdocform .= create_form_ul(Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'}))."</form>"; |
$supupdocform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'}))."</form>"; |
|
|
my $supnewfolderform=(<<SNFFORM); |
my $supnewfolderform=(<<SNFFORM); |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
<form action="/adm/coursedocs" method="post" name="supnewfolder"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="ee" /> |
<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="" /> |
<a onclick="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
$help{'Adding_Folders'} |
$help{'Adding_Folders'} |
</form> |
</form> |
SNFFORM |
SNFFORM |
Line 3349 SNFFORM
|
Line 3372 SNFFORM
|
<input type="hidden" name="active" value="ff" /> |
<input type="hidden" name="active" value="ff" /> |
<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="" /> |
<a onclick="javascript:makenewext('supnewext');">$lt{'extr'}</a> $help{'Adding_External_Resource'} |
<a class="LC_menubuttons_link" href="javascript:makenewext('supnewext');">$lt{'extr'}</a> $help{'Adding_External_Resource'} |
</form> |
</form> |
SNEFORM |
SNEFORM |
|
|
Line 3359 SNEFORM
|
Line 3382 SNEFORM
|
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
value="Syllabus=/public/$coursedom/$coursenum/syllabus" /> |
<a onclick="document.supnewsyl.submit()">$lt{'syll'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.supnewsyl.submit()">$lt{'syll'}</a> |
$help{'Syllabus'} |
$help{'Syllabus'} |
</form> |
</form> |
SNSFORM |
SNSFORM |
Line 3370 SNSFORM
|
Line 3393 SNSFORM
|
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="folderpath" value="$path" /> |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
<a onclick="document.supnewaboutme.submit()">$lt{'mypi'}</a> |
<a class="LC_menubuttons_link" href="javascript:document.supnewaboutme.submit()">$lt{'mypi'}</a> |
$help{'My Personal Information Page'} |
$help{'My Personal Information Page'} |
</form> |
</form> |
SNAMFORM |
SNAMFORM |
|
|
|
|
my @specialdocs = ( |
my @specialdocs = ( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/extres.png" alt="pic29" />'=>$supnewextform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/syllabus.png" alt="'.$lt{syll}.'" onclick="document.supnewsyl.submit()" />' |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/syllabus.png" alt="pic30" />'=>$supnewsylform}, |
=>$supnewsylform}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/myaboutme.png" alt="pic31" />'=>$supnewaboutmeform}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/myaboutme.png" alt="'.$lt{mypi}.'" onclick="document.supnewaboutme.submit()" />' |
|
=>$supnewaboutmeform}, |
); |
); |
|
my @supimportdoc = ( |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'supnewext\');" />' |
|
=>$supnewextform}, |
|
); |
|
$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)) . '<hr/>' . $supupdocform; |
my %suporderhash = ( |
my %suporderhash = ( |
'00' => ['Supnewfolder', $supnewfolderform], |
'00' => ['Supnewfolder', $supnewfolderform], |
'ee' => ['Upload Document',$supupdocform], |
'ee' => ['Import Documents',$supupdocform], |
'ff' => ['Special Documents',create_form_ul(create_list_elements(@specialdocs))] |
'ff' => ['Special Documents',&create_form_ul(&create_list_elements(@specialdocs))] |
); |
); |
|
if ($supplementalflag) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); |
if ($error) { |
if ($error) { |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
|
} |
|
$r->print(&generate_edit_table('2',\%suporderhash)); |
} |
} |
my $tid='2'; |
} elsif ($supplementalflag) { |
my $varscd = 'Supplemental Course Documents'; |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype); |
$r->print(&generate_edit_table($tid,$varscd,\%suporderhash)); |
|
} else { |
|
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$type); |
|
if ($error) { |
if ($error) { |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
} |
} |
|
|
|
&endContentScreen($r); |
$r->print('</div>'); |
|
$r->print('</div></div>'); |
|
|
|
|
|
if ($allowed) { |
if ($allowed) { |
$r->print(' |
$r->print(' |
Line 3416 $r->print('</div></div>');
|
Line 3441 $r->print('</div></div>');
|
</form>'); |
</form>'); |
} |
} |
} else { |
} else { |
unless ($upload_result eq 'phasetwo') { |
unless ($uploadphase) { |
# -------------------------------------------------------- This is showdoc mode |
# -------------------------------------------------------- This is showdoc mode |
$r->print("<h1>".&mt('Uploaded Document').' - '. |
$r->print("<h1>".&mt('Uploaded Document').' - '. |
&Apache::lonnet::gettitle($r->uri).'</h1><p>'. |
&Apache::lonnet::gettitle($r->uri).'</h1><p>'. |
Line 3429 $r->print('</div></div>');
|
Line 3454 $r->print('</div></div>');
|
return OK; |
return OK; |
} |
} |
|
|
|
sub embedded_form_elems { |
|
my ($phase,$primaryurl,$newidx) = @_; |
|
my $folderpath = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
|
return <<STATE; |
|
<input type="hidden" name="folderpath" value="$folderpath" /> |
|
<input type="hidden" name="cmd" value="upload_embedded" /> |
|
<input type="hidden" name="newidx" value="$newidx" /> |
|
<input type="hidden" name="phase" value="$phase" /> |
|
<input type="hidden" name="primaryurl" value="$primaryurl" /> |
|
STATE |
|
} |
|
|
|
sub embedded_destination { |
|
my $folder=$env{'form.folder'}; |
|
my $destination = 'docs/'; |
|
if ($folder =~ /^supplemental/) { |
|
$destination = 'supplemental/'; |
|
} |
|
if (($folder eq 'default') || ($folder eq 'supplemental')) { |
|
$destination .= 'default/'; |
|
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
|
$destination .= $2.'/'; |
|
} |
|
$destination .= $env{'form.newidx'}; |
|
my $dir_root = '/userfiles'; |
|
return ($destination,$dir_root); |
|
} |
|
|
|
sub return_to_editor { |
|
my $actionurl = '/adm/coursedocs'; |
|
return '<p><form name="backtoeditor" method="post" action="'.$actionurl.'" />'."\n". |
|
'<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" /></form>'."\n". |
|
'<a href="javascript:document.backtoeditor.submit();">'.&mt('Return to Editor'). |
|
'</a></p>'; |
|
} |
|
|
sub generate_admin_options { |
sub generate_admin_options { |
my ($containertag,$uploadtag,$help_ref,$env_ref) = @_; |
my ($help_ref,$env_ref) = @_; |
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', |
'ls' => 'List Symbs', |
'sl' => 'Show Log' |
'sl' => 'Show Log', |
|
'imse' => 'IMS Export', |
|
'dcd' => 'Dump Course Documents to Construction Space: available on other servers' |
); |
); |
my %help = %{$help_ref}; |
my %help = %{$help_ref}; |
my %env = %{$env_ref}; |
my %env = %{$env_ref}; |
my $dumpbut=&dumpbutton(); |
my $dumpbut=&dumpbutton(); |
my $exportbut=&exportbutton(); |
my $exportbut=&exportbutton(); |
my @list = ( |
my @list = ( |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/verify.png" alt="pic21" />'=>"<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"verify\", \"$lt{'vc'}\")'>$lt{'vc'}</a>$help{'Verify_Content'}"}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/verify.png" alt="'.$lt{vc}.'" onclick=\'javascript:injectData(document.courseverify, "dummy", "verify", "'.$lt{'vc'}.'")\' />' |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/resversion.png" alt="pic22" />'=>"<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"versions\", \"$lt{'cv'}\")'>$lt{'cv'}</a>$help{'Check_Resource_Versions'}"}, |
=> "<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"verify\", \"$lt{'vc'}\")'>$lt{'vc'}</a>$help{'Verify_Content'}"}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/resversion.png" alt="'.$lt{cv}.'" onclick=\'javascript:injectData(document.courseverify, "dummy", "versions", "'.$lt{'cv'}.'")\' />' |
|
=>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"versions\", \"$lt{'cv'}\")'>$lt{'cv'}</a>$help{'Check_Resource_Versions'}"}, |
); |
); |
if($dumpbut ne ''){ |
if($dumpbut ne ''){ |
push @list, {'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/dump.png" alt="pic23" />'=>$dumpbut}; |
push @list, {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/dump.png" alt="'.$lt{dcd}.'" />'=>$dumpbut}; |
} |
} |
push @list, ({'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/imsexport.png" alt="pic24" />'=>$exportbut}, |
push @list, ({'<img class="LC_noBorder LC_middle" src="/res/adm/pages/imsexport.png" alt="'.$lt{imse}.'" onclick="javascript:injectData(document.courseverify, \'dummy\', \'exportcourse\', \''.&mt('IMS Export').'\');" />' |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/symbs.png" alt="pic25" />'=>"<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"listsymbs\", \"$lt{'ls'}\")'>$lt{'ls'}</a><input type='hidden' name='folder' value='$env{'form.folder'}' />"}, |
=>$exportbut}, |
{'<img class="LC_noBorder LC_middle" align="left" src="/res/adm/pages/log.png" alt="pic26" />'=>"<a onclick='javascript:injectData(document.courseverify, \"dummy\", \"docslog\", \"$lt{'sl'}\")'>$lt{'sl'}</a>"}, |
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/symbs.png" alt="'.$lt{ls}.'" onclick=\'javascript:injectData(document.courseverify, "dummy", "listsymbs", "'.$lt{'ls'}.'")\' />' |
|
=>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"listsymbs\", \"$lt{'ls'}\")'>$lt{'ls'}</a><input type='hidden' name='folder' value='$env{'form.folder'}' />"}, |
|
{'<img class="LC_noBorder LC_middle" src="/res/adm/pages/document-properties.png" alt="'.$lt{sl}.'" onclick=\'javascript:injectData(document.courseverify, "dummy", "docslog", "'.$lt{'sl'}.'")\' />' |
|
=>"<a class='LC_menubuttons_link' href='javascript:injectData(document.courseverify, \"dummy\", \"docslog\", \"$lt{'sl'}\")'>$lt{'sl'}</a>"}, |
); |
); |
return '<form action="/adm/coursedocs" method="post" name="courseverify"><input type="hidden" id="dummy" />'.create_form_ul(create_list_elements(@list)).'</form>'; |
return '<form action="/adm/coursedocs" method="post" name="courseverify"><input type="hidden" id="dummy" />'.&create_form_ul(&create_list_elements(@list)).'</form>'; |
|
|
} |
} |
|
|
|
|
sub generate_edit_table { |
sub generate_edit_table { |
my ($tid,$varcd,$orderhash_ref) = @_; |
my ($tid,$orderhash_ref) = @_; |
|
return unless(ref($orderhash_ref) eq 'HASH'); |
my %orderhash = %{$orderhash_ref}; |
my %orderhash = %{$orderhash_ref}; |
my $form; |
my $form; |
my $activetab; |
my $activetab; |
Line 3466 sub generate_edit_table {
|
Line 3535 sub generate_edit_table {
|
if($env{'form.active'} ne ''){ |
if($env{'form.active'} ne ''){ |
$activetab = $env{'form.active'}; |
$activetab = $env{'form.active'}; |
} |
} |
$form = '<div class="LC_Box">'; |
$form = '<div class="LC_Box" style="margin-right:0">'; |
$form .= '<ul id="navigation'.$tid.'" class="LC_TabContent">'; |
$form .= '<ul id="navigation'.$tid.'" class="LC_TabContent">'; |
foreach my $name (sort(keys(%orderhash))){ |
foreach my $name (sort(keys(%orderhash))){ |
if($name ne '00'){ |
if($name ne '00'){ |
Line 3475 sub generate_edit_table {
|
Line 3544 sub generate_edit_table {
|
}elsif($activetab eq $name){ |
}elsif($activetab eq $name){ |
$active = 'class="active"'; |
$active = 'class="active"'; |
} |
} |
$form .= '<li '.$active.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');">'.&mt(${$orderhash{$name}}[0]).'</li>'; |
$form .= '<li '.$active |
|
.' onmouseover="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"' |
|
.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>'; |
} else { |
} else { |
$form .= '<li '.$active.'>'.${$orderhash{$name}}[1].'</li>'; |
$form .= '<li '.$active.'>'.${$orderhash{$name}}[1].'</li>'; |
|
|
Line 3485 sub generate_edit_table {
|
Line 3556 sub generate_edit_table {
|
$form .= '<div id="content'.$tid.'" style="padding: 0 0; margin: 0 0; clear: both;">'; |
$form .= '<div id="content'.$tid.'" style="padding: 0 0; margin: 0 0; clear: both;">'; |
foreach my $field (keys(%orderhash)){ |
foreach my $field (keys(%orderhash)){ |
if($field ne '00'){ |
if($field ne '00'){ |
if($activetab eq '' || $activetab ne $field){ |
if($activetab eq '' || $activetab ne $field){ |
$active = 'style="display: none;"'; |
$active = 'style="display: none;"'; |
}elsif($activetab eq $field){ |
}elsif($activetab eq $field){ |
$active = 'style="display:block;"'; |
$active = 'style="display:block;"'; |
} |
} |
$form .= '<div id="'.$field.$tid.'"' |
$form .= '<div id="'.$field.$tid.'"' |
.' class="LC_ContentBox" '.$active.'>'.${$orderhash{$field}}[1] |
.' class="LC_ContentBox" '.$active.'>'.${$orderhash{$field}}[1] |
.'</div>'; |
.'</div>'; |
} |
} |
} |
} |
$form .= '</div></div>'; |
$form .= '</div></div>'; |
Line 3508 sub editing_js {
|
Line 3579 sub editing_js {
|
t_mnf => 'New Folder', |
t_mnf => 'New Folder', |
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 External Score', |
p_msp => 'Name of 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', |
Line 3527 sub editing_js {
|
Line 3598 sub editing_js {
|
p_ctr2b => '?[_98]' |
p_ctr2b => '?[_98]' |
); |
); |
|
|
|
my $crstype = &Apache::loncommon::course_type(); |
|
my $docs_folderpath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.folderpath'},'<>&"'); |
|
my $docs_pagepath = &HTML::Entities::encode($env{'environment.internal.'.$env{'request.course.id'}.'.docs_folderpath.pagepath'},'<>&"'); |
|
my $main_container_page; |
|
if ($docs_folderpath eq '') { |
|
if ($docs_pagepath ne '') { |
|
$main_container_page = 1; |
|
} |
|
} |
|
my $toplevelmain = 'default&Main%20'.$crstype.'%20Documents'; |
|
my $toplevelsupp = &supplemental_base(); |
|
|
return <<ENDNEWSCRIPT; |
return <<ENDNEWSCRIPT; |
function makenewfolder(targetform,folderseq) { |
function makenewfolder(targetform,folderseq) { |
var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); |
var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); |
Line 3738 function openTabs(pageId) {
|
Line 3821 function openTabs(pageId) {
|
if(currentLis[i].className == 'active') { |
if(currentLis[i].className == 'active') { |
funcString = currentLis[i].onclick.toString(); |
funcString = currentLis[i].onclick.toString(); |
tab = funcString.split('"'); |
tab = funcString.split('"'); |
|
if(tab.length < 2) { |
|
tab = funcString.split("'"); |
|
} |
currentData = document.getElementById(tab[1]); |
currentData = document.getElementById(tab[1]); |
currentData.style.display = 'block'; |
currentData.style.display = 'block'; |
} |
} |
Line 3752 function showPage(current, pageId, nav,
|
Line 3838 function showPage(current, pageId, nav,
|
current.className = 'active'; |
current.className = 'active'; |
currentData = document.getElementById(pageId); |
currentData = document.getElementById(pageId); |
currentData.style.display = 'block'; |
currentData.style.display = 'block'; |
|
if (nav == 'mainnav') { |
|
var storedpath = "$docs_folderpath"; |
|
if (storedpath == '') { |
|
storedpath = "$docs_pagepath"; |
|
} |
|
var storedpage = "$main_container_page"; |
|
var reg = new RegExp("^supplemental"); |
|
if (pageId == 'mainCourseDocuments') { |
|
if (storedpage == 1) { |
|
document.simpleedit.folderpath.value = ''; |
|
document.uploaddocument.folderpath.value = ''; |
|
} else { |
|
if (reg.test(storedpath)) { |
|
document.simpleedit.folderpath.value = '$toplevelmain'; |
|
document.uploaddocument.folderpath.value = '$toplevelmain'; |
|
document.newext.folderpath.value = '$toplevelmain'; |
|
} else { |
|
document.simpleedit.folderpath.value = storedpath; |
|
document.uploaddocument.folderpath.value = storedpath; |
|
document.newext.folderpath.value = storedpath; |
|
} |
|
} |
|
} else { |
|
if (reg.test(storedpath)) { |
|
document.simpleedit.folderpath.value = storedpath; |
|
document.supuploaddocument.folderpath.value = storedpath; |
|
document.supnewext.folderpath.value = storedpath; |
|
} else { |
|
document.simpleedit.folderpath.value = '$toplevelsupp'; |
|
document.supuploaddocument.folderpath.value = '$toplevelsupp'; |
|
document.supnewext.folderpath.value = '$toplevelsupp'; |
|
} |
|
} |
|
} |
return false; |
return false; |
} |
} |
|
|