version 1.631, 2017/05/10 23:58:24
|
version 1.639, 2017/08/31 20:02:35
|
Line 1672 sub do_paste_from_buffer {
|
Line 1672 sub do_paste_from_buffer {
|
$srcdom{$suffix} = $srcd; |
$srcdom{$suffix} = $srcd; |
$srcnum{$suffix} = $srcn; |
$srcnum{$suffix} = $srcn; |
} elsif (($url =~ m{^/res/lib/templates/\w+\.problem$}) || |
} elsif (($url =~ m{^/res/lib/templates/\w+\.problem$}) || |
($url =~ m{^/adm/$match_domain/$match_username/\d+/(bulletinboard|smppg|ext\.tool)$})) { |
($url =~ m{^/adm/$match_domain/$match_username/\d+/(bulletinboard|smppg)$}) || |
my $srctype= $1; |
($url =~ m{^/adm/$match_domain/$match_courseid/\d+/ext\.tool$})) { |
my ($srcd,$srcn) = split(/_/,$cid); |
my ($srcd,$srcn) = split(/_/,$cid); |
# When paste buffer was populated using an active role in a different course |
# When paste buffer was populated using an active role in a different course |
# check for mdc privilege in the course from which the resource was pasted |
# check for mdc privilege in the course from which the resource was pasted |
Line 1683 sub do_paste_from_buffer {
|
Line 1683 sub do_paste_from_buffer {
|
next; |
next; |
} |
} |
} |
} |
if (($srctype eq 'ext.tool') && ($srcd ne $coursedom)) { |
# When buffer was populated using an active role in a different course |
|
# disallow pasting of External Tool if course is in a different domain. |
|
if (($url =~ m{/ext\.tool$}) && ($srcd ne $coursedom)) { |
$notindom{$suffix} = 1; |
$notindom{$suffix} = 1; |
next; |
next; |
} |
} |
Line 3016 sub update_parameter {
|
Line 3018 sub update_parameter {
|
|
|
sub handle_edit_cmd { |
sub handle_edit_cmd { |
my ($coursenum,$coursedom) =@_; |
my ($coursenum,$coursedom) =@_; |
|
my $haschanges = 0; |
if ($env{'form.cmd'} eq '') { |
if ($env{'form.cmd'} eq '') { |
return 0; |
return $haschanges; |
} |
} |
my ($cmd,$idx)=split('_',$env{'form.cmd'}); |
my ($cmd,$idx)=split('_',$env{'form.cmd'}); |
|
|
Line 3032 sub handle_edit_cmd {
|
Line 3035 sub handle_edit_cmd {
|
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
} |
} |
splice(@LONCAPA::map::order, $idx, 1); |
splice(@LONCAPA::map::order, $idx, 1); |
|
$haschanges = 1; |
} elsif ($cmd eq 'cut') { |
} elsif ($cmd eq 'cut') { |
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
&LONCAPA::map::makezombie($LONCAPA::map::order[$idx]); |
splice(@LONCAPA::map::order, $idx, 1); |
splice(@LONCAPA::map::order, $idx, 1); |
|
$haschanges = 1; |
} elsif ($cmd eq 'up' |
} elsif ($cmd eq 'up' |
&& ($idx) && (defined($LONCAPA::map::order[$idx-1]))) { |
&& ($idx) && (defined($LONCAPA::map::order[$idx-1]))) { |
@LONCAPA::map::order[$idx-1,$idx] = @LONCAPA::map::order[$idx,$idx-1]; |
@LONCAPA::map::order[$idx-1,$idx] = @LONCAPA::map::order[$idx,$idx-1]; |
|
$haschanges = 1; |
} elsif ($cmd eq 'down' |
} elsif ($cmd eq 'down' |
&& defined($LONCAPA::map::order[$idx+1])) { |
&& defined($LONCAPA::map::order[$idx+1])) { |
@LONCAPA::map::order[$idx+1,$idx] = @LONCAPA::map::order[$idx,$idx+1]; |
@LONCAPA::map::order[$idx+1,$idx] = @LONCAPA::map::order[$idx,$idx+1]; |
|
$haschanges = 1; |
} elsif ($cmd eq 'rename') { |
} elsif ($cmd eq 'rename') { |
my $comment = &LONCAPA::map::qtunescape($env{'form.title'}); |
my $comment = &LONCAPA::map::qtunescape($env{'form.title'}); |
if ($comment=~/\S/) { |
if ($comment=~/\S/) { |
Line 3054 sub handle_edit_cmd {
|
Line 3057 sub handle_edit_cmd {
|
# Devalidate title cache |
# Devalidate title cache |
my $renamed_url=&LONCAPA::map::qtescape($url); |
my $renamed_url=&LONCAPA::map::qtescape($url); |
&Apache::lonnet::devalidate_title_cache($renamed_url); |
&Apache::lonnet::devalidate_title_cache($renamed_url); |
|
$haschanges = 1; |
} else { |
} elsif ($cmd eq 'setalias') { |
return 0; |
my $newvalue = $env{'form.alias'}; |
|
if ($newvalue ne '') { |
|
unless (Apache::lonnet::get_symb_from_alias($newvalue)) { |
|
&LONCAPA::map::storeparameter($idx,'parameter_0_mapalias',$newvalue, |
|
'string'); |
|
&remember_parms($idx,'mapalias','set',$newvalue); |
|
$haschanges = 1; |
|
} |
|
} |
|
} elsif ($cmd eq 'delalias') { |
|
my $current = (&LONCAPA::map::getparameter($idx,'parameter_0_mapalias'))[0]; |
|
if ($current ne '') { |
|
&LONCAPA::map::delparameter($idx,'parameter_0_mapalias'); |
|
&remember_parms($idx,'mapalias','del'); |
|
$haschanges = 1; |
|
} |
} |
} |
return 1; |
return $haschanges; |
} |
} |
|
|
sub editor { |
sub editor { |
Line 3182 sub editor {
|
Line 3200 sub editor {
|
# Rename, cut, copy or remove a single resource |
# Rename, cut, copy or remove a single resource |
if (&handle_edit_cmd($coursenum,$coursedom)) { |
if (&handle_edit_cmd($coursenum,$coursedom)) { |
my $contentchg; |
my $contentchg; |
if ($env{'form.cmd'} =~ m{^(remove|cut)_}) { |
if ($env{'form.cmd'} =~ m{^(remove|cut|setalias|delalias)_}) { |
$contentchg = 1; |
$contentchg = 1; |
} |
} |
($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container,$contentchg); |
($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.'.$container,$contentchg); |
Line 3422 sub editor {
|
Line 3440 sub editor {
|
.&Apache::loncommon::start_data_table(undef,'contentlist') |
.&Apache::loncommon::start_data_table(undef,'contentlist') |
.&Apache::loncommon::start_data_table_header_row() |
.&Apache::loncommon::start_data_table_header_row() |
.'<th colspan="2">'.&mt('Move').'</th>' |
.'<th colspan="2">'.&mt('Move').'</th>' |
.'<th colspan="2">'.&mt('Actions').'</th>' |
.'<th colspan="3">'.&mt('Actions').'</th>' |
.'<th>'.&mt('Document').'</th>'; |
.'<th>'.&mt('Document').'</th>'; |
if ($folder !~ /^supplemental/) { |
if ($folder !~ /^supplemental/) { |
$to_show .= '<th colspan="4">'.&mt('Settings').'</th>'; |
$to_show .= '<th colspan="2">'.&mt('Settings').'</th>'; |
} |
} |
$to_show .= &Apache::loncommon::end_data_table_header_row(); |
$to_show .= &Apache::loncommon::end_data_table_header_row(); |
if ($folder !~ /^supplemental/) { |
if ($folder !~ /^supplemental/) { |
Line 3453 sub editor {
|
Line 3471 sub editor {
|
'<td>'. |
'<td>'. |
&multiple_check_form('actions',\%lists,$canedit). |
&multiple_check_form('actions',\%lists,$canedit). |
'</td>'. |
'</td>'. |
'<td> </td>'. |
'<td colspan="3"> </td>'. |
'<td> </td>'. |
'<td colspan="2">'. |
'<td colspan="4">'. |
|
&multiple_check_form('settings',\%lists,$canedit). |
&multiple_check_form('settings',\%lists,$canedit). |
'</td>'. |
'</td>'. |
&Apache::loncommon::end_data_table_row(); |
&Apache::loncommon::end_data_table_row(); |
Line 3803 sub entryline {
|
Line 3820 sub entryline {
|
my $line=&Apache::loncommon::start_data_table_row(); |
my $line=&Apache::loncommon::start_data_table_row(); |
my ($form_start,$form_end,$form_common,$form_param); |
my ($form_start,$form_end,$form_common,$form_param); |
# Edit commands |
# Edit commands |
my ($esc_path, $path, $symb); |
my ($esc_path, $path, $symb, $curralias); |
if ($env{'form.folderpath'}) { |
if ($env{'form.folderpath'}) { |
$esc_path=&escape($env{'form.folderpath'}); |
$esc_path=&escape($env{'form.folderpath'}); |
$path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
$path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
Line 3872 END
|
Line 3889 END
|
'ct' => 'Cut', |
'ct' => 'Cut', |
'rn' => 'Rename', |
'rn' => 'Rename', |
'cp' => 'Copy', |
'cp' => 'Copy', |
|
'da' => 'Unset alias', |
|
'sa' => 'Set alias', |
'ex' => 'External Resource', |
'ex' => 'External Resource', |
'et' => 'External Tool', |
'et' => 'External Tool', |
'ed' => 'Edit', |
'ed' => 'Edit', |
Line 3902 END
|
Line 3921 END
|
($url!~/$LONCAPA::assess_page_seq_re/)) { |
($url!~/$LONCAPA::assess_page_seq_re/)) { |
$confirm_removal = 1; |
$confirm_removal = 1; |
} |
} |
|
if ($url =~ /$LONCAPA::assess_re/) { |
|
$curralias = (&LONCAPA::map::getparameter($orderidx,'parameter_0_mapalias'))[0]; |
|
} |
|
|
if ($denied{'copy'}) { |
if ($denied{'copy'}) { |
$copylink=(<<ENDCOPY) |
$copylink=(<<ENDCOPY) |
Line 4289 $form_end;
|
Line 4311 $form_end;
|
$reinit = &mt('(re-initialize course to access)'); |
$reinit = &mt('(re-initialize course to access)'); |
} |
} |
$line.='<td class="LC_docs_entry_commands"'.$tdalign.'><span class="LC_nobreak">'.$editlink.$renamelink; |
$line.='<td class="LC_docs_entry_commands"'.$tdalign.'><span class="LC_nobreak">'.$editlink.$renamelink; |
|
if ($url =~ /$LONCAPA::assess_re/) { |
|
$line.= '<br />'; |
|
if ($curralias ne '') { |
|
$line.='<span class="LC_nobreak"><a href="javascript:delalias('."'$esc_path','$orderidx'".');" class="LC_docs_alias">'. |
|
$lt{'da'}.'</a></span>'; |
|
} else { |
|
$line.='<span class="LC_nobreak"><a href="javascript:setalias('."'$esc_path','$orderidx'".');" class="LC_docs_alias">'. |
|
$lt{'sa'}.'</a></span>'; |
|
} |
|
} |
|
$line.='</td><td>'; |
my $link; |
my $link; |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
Line 4328 $form_end;
|
Line 4361 $form_end;
|
$line.=&Apache::loncommon::modal_link($link,$title,600,500); |
$line.=&Apache::loncommon::modal_link($link,$title,600,500); |
} |
} |
} elsif (($hiddenfolder) || ($hiddenres)) { |
} elsif (($hiddenfolder) || ($hiddenres)) { |
$line.=$title.' <span class="LC_warning LC_docs_reinit_warn">'.&mt('(Hidden)').'</span>'; |
$line.=$title.' <span class="LC_warning LC_docs_reinit_warn">('.&mt('Hidden').')</span>'; |
} else { |
} else { |
$line.=$title.' <span class="LC_docs_reinit_warn">'.$reinit.'</span>'; |
$line.=$title.' <span class="LC_docs_reinit_warn">'.$reinit.'</span>'; |
} |
} |
$line.="$extresform</td>"; |
if (($allowed) && ($curralias ne '')) { |
|
$line .= '<br /><span class="LC_docs_alias_name">('.$curralias.')</span>'; |
|
} else { |
|
$line .= $extresform; |
|
} |
|
$line .= '</td>'; |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
if (($allowed) && ($folder!~/^supplemental/)) { |
if (($allowed) && ($folder!~/^supplemental/)) { |
Line 4550 sub untiehash {
|
Line 4588 sub untiehash {
|
|
|
|
|
sub checkonthis { |
sub checkonthis { |
my ($r,$url,$level,$title)=@_; |
my ($r,$url,$level,$title,$checkstale)=@_; |
$url=&unescape($url); |
$url=&unescape($url); |
$alreadyseen{$url}=1; |
$alreadyseen{$url}=1; |
$r->rflush(); |
$r->rflush(); |
Line 4565 sub checkonthis {
|
Line 4603 sub checkonthis {
|
$r->print('<a href="'.$url.'" target="cat">'. |
$r->print('<a href="'.$url.'" target="cat">'. |
($title?$title:$url).'</a> '); |
($title?$title:$url).'</a> '); |
if ($url=~/^\/res\//) { |
if ($url=~/^\/res\//) { |
|
my $updated; |
|
if (($checkstale) && ($url !~ m{^/res/lib/templates/}) && |
|
($url !~ /\.\d+\.\w+$/)) { |
|
$updated = &Apache::lonnet::remove_stale_resfile($url); |
|
} |
my $result=&Apache::lonnet::repcopy( |
my $result=&Apache::lonnet::repcopy( |
&Apache::lonnet::filelocation('',$url)); |
&Apache::lonnet::filelocation('',$url)); |
if ($result eq 'ok') { |
if ($result eq 'ok') { |
$r->print('<span class="LC_success">'.&mt('ok').'</span>'); |
$r->print('<span class="LC_success">'.&mt('ok').'</span>'); |
|
if ($updated) { |
|
$r->print('<br />'); |
|
for (my $i=0;$i<=$level*5;$i++) { |
|
$r->print(' '); |
|
} |
|
$r->print('- '.&mt('Outdated copy removed')); |
|
} |
$r->rflush(); |
$r->rflush(); |
&Apache::lonnet::countacc($url); |
&Apache::lonnet::countacc($url); |
$url=~/\.(\w+)$/; |
$url=~/\.(\w+)$/; |
Line 4602 sub checkonthis {
|
Line 4652 sub checkonthis {
|
&Apache::lonnet::metadata($url,'dependencies'); |
&Apache::lonnet::metadata($url,'dependencies'); |
foreach my $dep (split(/\,/,$dependencies)) { |
foreach my $dep (split(/\,/,$dependencies)) { |
if (($dep=~/^\/res\//) && (!$alreadyseen{$dep})) { |
if (($dep=~/^\/res\//) && (!$alreadyseen{$dep})) { |
&checkonthis($r,$dep,$level+1); |
&checkonthis($r,$dep,$level+1,'',$checkstale); |
} |
} |
} |
} |
} elsif ($result eq 'unavailable') { |
} elsif ($result eq 'unavailable') { |
Line 4616 sub checkonthis {
|
Line 4666 sub checkonthis {
|
} else { |
} else { |
$r->print('<span class="LC_error">'.&mt('access denied').'</span>'); |
$r->print('<span class="LC_error">'.&mt('access denied').'</span>'); |
} |
} |
|
if (($updated) && ($result ne 'ok')) { |
|
$r->print('<br />'.&mt('Outdated copy removed')); |
|
} |
} |
} |
} |
} |
} |
} |
Line 4668 sub list_symbs {
|
Line 4721 sub list_symbs {
|
$r->print(&endContentScreen()); |
$r->print(&endContentScreen()); |
} |
} |
|
|
|
sub contentverifyform { |
|
my ($r) = @_; |
|
my $crstype = &Apache::loncommon::course_type(); |
|
$r->print(&Apache::loncommon::start_page('Verify '.$crstype.' Content')); |
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$crstype.' Content')); |
|
$r->print(&startContentScreen('tools')); |
|
$r->print('<h4 class="LC_info">'.&mt($crstype.' content verification').'</h4>'); |
|
$r->print('<form method="post" action="/adm/coursedocs"><p>'. |
|
&mt('Include a check if files copied from elsewhere are up to date (will increase verification time)?'). |
|
' <span class="LC_nobreak">'. |
|
'<label><input type="radio" name="checkstale" value="0" checked="checked" />'. |
|
&mt('No').'</label>'.(' 'x2). |
|
'<label><input type="radio" name="checkstale" value="1" />'. |
|
&mt('Yes').'</label></span></p><p>'. |
|
'<input type="submit" value="'.&mt('Verify content').' "/>'. |
|
'<input type="hidden" value="1" name="tools" />'. |
|
'<input type="hidden" value="1" name="verify" /></p></form>'); |
|
$r->print(&endContentScreen()); |
|
return; |
|
} |
|
|
sub verifycontent { |
sub verifycontent { |
my ($r) = @_; |
my ($r,$checkstale) = @_; |
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
$r->print(&Apache::loncommon::start_page('Verify '.$crstype.' Content')); |
$r->print(&Apache::loncommon::start_page('Verify '.$crstype.' Content')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$crstype.' Content')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Verify '.$crstype.' Content')); |
Line 4691 sub verifycontent {
|
Line 4764 sub verifycontent {
|
} |
} |
} |
} |
if (($key=~/^src\_(.+)$/) && (!$alreadyseen{&unescape($hash{$key})})) { |
if (($key=~/^src\_(.+)$/) && (!$alreadyseen{&unescape($hash{$key})})) { |
&checkonthis($r,$hash{$key},0,$hash{'title_'.$1}); |
&checkonthis($r,$hash{$key},0,$hash{'title_'.$1},$checkstale); |
} |
} |
} |
} |
&untiehash(); |
&untiehash(); |
Line 4699 sub verifycontent {
|
Line 4772 sub verifycontent {
|
$r->print(&endContentScreen()); |
$r->print(&endContentScreen()); |
} |
} |
|
|
|
|
sub devalidateversioncache { |
sub devalidateversioncache { |
my $src=shift; |
my $src=shift; |
&Apache::lonnet::devalidate_cache_new('courseresversion',$env{'request.course.id'}.'_'. |
&Apache::lonnet::devalidate_cache_new('courseresversion',$env{'request.course.id'}.'_'. |
Line 5162 sub handler {
|
Line 5234 sub handler {
|
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['inhibitmenu']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['inhibitmenu']); |
|
if ($env{'form.inhibitmenu'}) { |
|
unless ($env{'form.inhibitmenu'} eq 'yes') { |
|
delete($env{'form.inhibitmenu'}); |
|
} |
|
} |
|
|
if ($allowed && $env{'form.verify'}) { |
if ($allowed && $env{'form.verify'}) { |
&init_breadcrumbs('verify','Verify Content','Docs_Verify_Content'); |
&init_breadcrumbs('verify','Verify Content','Docs_Verify_Content'); |
&verifycontent($r); |
if (!$canedit) { |
|
&verifycontent($r); |
|
} elsif (($env{'form.checkstale'} ne '') && ($env{'form.checkstale'} =~ /^\d$/)) { |
|
&Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/coursedocs?tools=1&verify=1&checkstale=$env{'form.checkstale'}", |
|
text=>'Results', |
|
faq=>273, |
|
bug=>'Instructor Interface'}); |
|
&verifycontent($r,$env{'form.checkstale'}); |
|
} else { |
|
&contentverifyform($r); |
|
} |
} elsif ($allowed && $env{'form.listsymbs'}) { |
} elsif ($allowed && $env{'form.listsymbs'}) { |
&init_breadcrumbs('listsymbs','List Content IDs'); |
&init_breadcrumbs('listsymbs','List Content IDs'); |
&list_symbs($r); |
&list_symbs($r); |
Line 5244 sub handler {
|
Line 5332 sub handler {
|
'forcesupplement','forcestandard', |
'forcesupplement','forcestandard', |
'tools','symb','command','supppath']); |
'tools','symb','command','supppath']); |
|
|
|
foreach my $item ('forcesupplement','forcestandard','tools') { |
|
next if ($env{'form.'.$item} eq ''); |
|
unless ($env{'form.'.$item} eq '1') { |
|
delete($env{'form.'.$item}); |
|
} |
|
} |
|
|
|
if ($env{'form.command'}) { |
|
unless ($env{'form.command'} =~ /^(direct|directnav|editdocs|editsupp|contents|home)$/) { |
|
delete($env{'form.command'}); |
|
} |
|
} |
|
|
|
if ($env{'form.symb'}) { |
|
my ($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($env{'form.symb'}); |
|
unless (($id =~ /^\d+$/) && (&Apache::lonnet::is_on_map($resurl))) { |
|
delete($env{'form.symb'}); |
|
} |
|
} |
|
|
# standard=1: this is a "new-style" course with an uploaded map as top level |
# 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 |
# standard=2: this is a "old-style" course, and there is nothing we can do |
|
|
Line 5266 sub handler {
|
Line 5374 sub handler {
|
my $toolsflag=0; |
my $toolsflag=0; |
if ($env{'form.tools'}) { $toolsflag=1; } |
if ($env{'form.tools'}) { $toolsflag=1; } |
|
|
|
if ($env{'form.folderpath'} ne '') { |
|
my @items = split(/\&/,$env{'form.folderpath'}); |
|
my $badpath; |
|
for (my $i=0; $i<@items; $i++) { |
|
my $odd = $i%2; |
|
if (($odd) && (!$supplementalflag) && ($items[$i] !~ /^[^:]*:(|\d+):(|1):(|1):(|1):(|1)$/)) { |
|
$badpath = 1; |
|
} elsif ((!$odd) && ($items[$i] !~ /^(default|supplemental)(|_\d+)$/)) { |
|
$badpath = 1; |
|
} |
|
last if ($badpath); |
|
} |
|
if ($badpath) { |
|
delete($env{'form.folderpath'}); |
|
} |
|
} |
|
|
|
if ($env{'form.supppath'} ne '') { |
|
my @items = split(/\&/,$env{'form.supppath'}); |
|
my $badpath; |
|
for (my $i=0; $i<@items; $i++) { |
|
my $odd = $i%2; |
|
if ((!$odd) && ($items[$i] !~ /^supplemental(|_\d+)$/)) { |
|
$badpath = 1; |
|
} |
|
last if ($badpath); |
|
} |
|
if ($badpath) { |
|
delete($env{'form.supppath'}); |
|
} |
|
} |
|
|
my $script=''; |
my $script=''; |
my $showdoc=0; |
my $showdoc=0; |
my $addentries = {}; |
my $addentries = {}; |
Line 5538 sub handler {
|
Line 5678 sub handler {
|
undef($hadchanges); |
undef($hadchanges); |
$uploadphase = &process_file_upload(\$upload_output,$coursenum,$coursedom, |
$uploadphase = &process_file_upload(\$upload_output,$coursenum,$coursedom, |
\%allfiles,\%codebase,$context,$crstype); |
\%allfiles,\%codebase,$context,$crstype); |
|
undef($navmap); |
if ($hadchanges) { |
if ($hadchanges) { |
&mark_hash_old(); |
&mark_hash_old(); |
} |
} |
Line 5834 CRSFORM
|
Line 5975 CRSFORM
|
<input type="hidden" name="copyfolder" /> |
<input type="hidden" name="copyfolder" /> |
$containertag |
$containertag |
</form> |
</form> |
|
<form name="aliasform" method="post" action="/adm/coursedocs"> |
|
<input type="hidden" name="alias" /> |
|
<input type="hidden" name="cmd" /> |
|
$containertag |
|
</form> |
|
|
HIDDENFORM |
HIDDENFORM |
$r->print(&makesimpleeditform($pathitem)."\n". |
$r->print(&makesimpleeditform($pathitem)."\n". |
Line 6332 unless ($container eq 'page') {
|
Line 6478 unless ($container eq 'page') {
|
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
$r->print('<p><span class="LC_error">'.$error.'</span></p>'); |
} |
} |
if ($hadchanges) { |
if ($hadchanges) { |
&mark_hash_old(); |
unless (&is_hash_old()) { |
} |
&mark_hash_old(); |
|
} |
|
} |
|
|
&changewarning($r,''); |
&changewarning($r,''); |
} |
} |
Line 6531 my %suporderhash = (
|
Line 6679 my %suporderhash = (
|
sub embedded_form_elems { |
sub embedded_form_elems { |
my ($phase,$primaryurl,$newidx) = @_; |
my ($phase,$primaryurl,$newidx) = @_; |
my $folderpath = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
my $folderpath = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
|
$newidx =~s /\D+//g; |
return <<STATE; |
return <<STATE; |
<input type="hidden" name="folderpath" value="$folderpath" /> |
<input type="hidden" name="folderpath" value="$folderpath" /> |
<input type="hidden" name="cmd" value="upload_embedded" /> |
<input type="hidden" name="cmd" value="upload_embedded" /> |
Line 6551 sub embedded_destination {
|
Line 6700 sub embedded_destination {
|
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
} elsif ($folder =~ /^(default|supplemental)_(\d+)$/) { |
$destination .= $2.'/'; |
$destination .= $2.'/'; |
} |
} |
$destination .= $env{'form.newidx'}; |
my $newidx = $env{'form.newidx'}; |
|
$newidx =~s /\D+//g; |
|
if ($newidx) { |
|
$destination .= $newidx; |
|
} |
my $dir_root = '/userfiles'; |
my $dir_root = '/userfiles'; |
return ($destination,$dir_root); |
return ($destination,$dir_root); |
} |
} |
Line 6577 sub decompression_info {
|
Line 6730 sub decompression_info {
|
} |
} |
unshift(@hiddens,$pathitem); |
unshift(@hiddens,$pathitem); |
foreach my $item (@hiddens) { |
foreach my $item (@hiddens) { |
|
if ($item eq 'newidx') { |
|
next if ($env{'form.'.$item} =~ /\D/); |
|
} |
if ($env{'form.'.$item}) { |
if ($env{'form.'.$item}) { |
$hiddenelem .= '<input type="hidden" name="'.$item.'" value="'. |
$hiddenelem .= '<input type="hidden" name="'.$item.'" value="'. |
&HTML::Entities::encode($env{'form.'.$item},'<>&"').'" />'."\n"; |
&HTML::Entities::encode($env{'form.'.$item},'<>&"').'" />'."\n"; |
Line 6901 sub editing_js {
|
Line 7057 sub editing_js {
|
p_ctr2b => '?', |
p_ctr2b => '?', |
p_ctr3a => 'Cut those', |
p_ctr3a => 'Cut those', |
p_ctr3b => 'items?', |
p_ctr3b => 'items?', |
|
setal => 'Enter a (unique) alias', |
|
delal => 'Are you sure you want to eliminate the alias?', |
rpck => 'Enter number to pick (e.g., 3)', |
rpck => 'Enter number to pick (e.g., 3)', |
imsfile => 'You must choose an IMS package for import', |
imsfile => 'You must choose an IMS package for import', |
imscms => 'You must select which Course Management System was the source of the IMS package', |
imscms => 'You must select which Course Management System was the source of the IMS package', |
Line 7103 function changename(folderpath,index,old
|
Line 7261 function changename(folderpath,index,old
|
} |
} |
} |
} |
|
|
|
function setalias(folderpath,index) { |
|
var alias = prompt('$js_lt{"setal"}'); |
|
if ((alias != null) && (alias != '')) { |
|
this.document.forms.aliasform.alias.value=alias; |
|
this.document.forms.aliasform.cmd.value='setalias_'+index; |
|
this.document.forms.aliasform.folderpath.value=folderpath; |
|
this.document.forms.aliasform.submit(); |
|
} |
|
} |
|
|
|
function delalias(folderpath,index) { |
|
if (confirm('$js_lt{"delal"}')) { |
|
this.document.forms.aliasform.cmd.value='delalias_'+index; |
|
this.document.forms.aliasform.folderpath.value=folderpath; |
|
this.document.forms.aliasform.submit(); |
|
} |
|
} |
|
|
ENDNEWSCRIPT |
ENDNEWSCRIPT |
} else { |
} else { |
$jsmakefunctions = <<ENDNEWSCRIPT; |
$jsmakefunctions = <<ENDNEWSCRIPT; |
Line 7147 function changename() {
|
Line 7323 function changename() {
|
alert("$js_lt{'edri'}"); |
alert("$js_lt{'edri'}"); |
} |
} |
|
|
|
function setalias() { |
|
alert("$js_lt{'edri'}"); |
|
} |
|
|
|
function delalias() { |
|
alert("$js_lt{'edri'}"); |
|
} |
|
|
function makenew() { |
function makenew() { |
alert("$js_lt{'edri'}"); |
alert("$js_lt{'edri'}"); |
} |
} |
Line 8641 check on this
|
Line 8825 check on this
|
|
|
Verify Content |
Verify Content |
|
|
=item devalidateversioncache() & checkversions() |
=item devalidateversioncache() |
|
|
|
=item checkversions() |
|
|
Check Versions |
Check Versions |
|
|