version 1.484.2.43, 2013/11/20 04:48:18
|
version 1.568, 2013/11/13 01:40:07
|
Line 195 ENDJS
|
Line 195 ENDJS
|
} else { |
} else { |
&Apache::loncourserespicker::enumerate_course_contents($navmap,\%maps,\%resources,\%titles, |
&Apache::loncourserespicker::enumerate_course_contents($navmap,\%maps,\%resources,\%titles, |
'dumpdocs',$cdom,$cnum); |
'dumpdocs',$cdom,$cnum); |
} |
} |
my @todump = &Apache::loncommon::get_env_multiple('form.archive'); |
my @todump = &Apache::loncommon::get_env_multiple('form.archive'); |
my (%tocopy,%replacehash,%lookup,%deps,%display,%result,%depresult,%simpleproblems,%simplepages, |
my (%tocopy,%replacehash,%lookup,%deps,%display,%result,%depresult,%simpleproblems,%simplepages, |
%newcontent,%has_simpleprobs); |
%newcontent,%has_simpleprobs); |
Line 206 ENDJS
|
Line 206 ENDJS
|
if ($res =~ m{^uploaded/$cdom/$cnum/\E((?:docs|supplemental)/.+)$}) { |
if ($res =~ m{^uploaded/$cdom/$cnum/\E((?:docs|supplemental)/.+)$}) { |
$tocopy{$1} = $name; |
$tocopy{$1} = $name; |
$display{$item} = $1; |
$display{$item} = $1; |
$lookup{$1} = $item; |
$lookup{$1} = $item; |
} elsif ($res eq 'lib/templates/simpleproblem.problem') { |
} elsif ($res eq 'lib/templates/simpleproblem.problem') { |
$simpleproblems{$item} = { |
$simpleproblems{$item} = { |
symb => $resources{$item}, |
symb => $resources{$item}, |
Line 306 $contents{content}.'
|
Line 306 $contents{content}.'
|
</div>'; |
</div>'; |
} |
} |
if ($contents{webreferences}) { |
if ($contents{webreferences}) { |
$content .= ' |
$content .= ' |
<div class="LC_Box"> |
<div class="LC_Box"> |
<h4 class="LC_hcell">Web References</h4>'. |
<h4 class="LC_hcell">Web References</h4>'. |
$contents{webreferences}.' |
$contents{webreferences}.' |
Line 316 $contents{webreferences}.'
|
Line 316 $contents{webreferences}.'
|
</body> |
</body> |
</html> |
</html> |
'; |
'; |
$newcontent{'/'.$simplepages{$item}{res}} = $content; |
$newcontent{'/'.$simplepages{$item}{res}} = $content; |
} |
} |
} |
} |
foreach my $item (keys(%tocopy)) { |
foreach my $item (keys(%tocopy)) { |
unless ($item=~/\.(sequence|page)$/) { |
unless ($item=~/\.(sequence|page)$/) { |
my $currurlpath = $prefix.$item; |
my $currurlpath = $prefix.$item; |
my $currdirpath = &Apache::lonnet::filelocation('',$currurlpath); |
my $currdirpath = &Apache::lonnet::filelocation('',$currurlpath); |
Line 350 $contents{webreferences}.'
|
Line 350 $contents{webreferences}.'
|
if ($simpleproblems{$num}) { |
if ($simpleproblems{$num}) { |
$newfilename=$title.'/'.$simpleproblems{$num}{'name'}; |
$newfilename=$title.'/'.$simpleproblems{$num}{'name'}; |
} else { |
} else { |
$newfilename=$title.'/'.$replacehash{$item}; |
$newfilename=$title.'/'.$replacehash{$item}; |
} |
} |
$newfilename=~s/\.(\w+)$//; |
$newfilename=~s/\.(\w+)$//; |
my $ext=$1; |
my $ext=$1; |
$newfilename=&clean($newfilename); |
$newfilename=&clean($newfilename); |
$newfilename.='.'.$ext; |
$newfilename.='.'.$ext; |
my ($newrelpath) = ($newfilename =~ m{^\Q$title/\E(.+)$}); |
my ($newrelpath) = ($newfilename =~ m{^\Q$title/\E(.+)$}); |
if ($newrelpath ne $replacehash{$item}) { |
if ($newrelpath ne $replacehash{$item}) { |
$replacehash{$item} = $newrelpath; |
$replacehash{$item} = $newrelpath; |
} |
} |
my @dirs=split(/\//,$newfilename); |
my @dirs=split(/\//,$newfilename); |
my $path=$r->dir_config('lonDocRoot')."/priv/$cd/$ca"; |
my $path=$r->dir_config('lonDocRoot')."/priv/$cd/$ca"; |
my $makepath=$path; |
my $makepath=$path; |
my $fail; |
my $fail; |
my $origin; |
my $origin; |
for (my $i=0;$i<$#dirs;$i++) { |
for (my $i=0;$i<$#dirs;$i++) { |
$makepath.='/'.$dirs[$i]; |
$makepath.='/'.$dirs[$i]; |
unless (-e $makepath) { |
unless (-e $makepath) { |
unless(mkdir($makepath,0755)) { |
unless(mkdir($makepath,0755)) { |
$fail = &mt('Directory creation failed.'); |
$fail = &mt('Directory creation failed.'); |
} |
} |
} |
} |
} |
} |
if ($i == 0) { |
if ($i == 0) { |
$result = '<br /><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt>: '; |
$result = '<br /><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt>: '; |
} else { |
} else { |
$depresult .= '<li><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt> '. |
$depresult .= '<li><tt>'.$item.'</tt> => <tt>'.$newfilename.'</tt> '. |
'<span class="LC_fontsize_small" style="font-weight: bold;">'. |
'<span class="LC_fontsize_small" style="font-weight: bold;">'. |
&mt('(dependency)').'</span>: '; |
&mt('(dependency)').'</span>: '; |
} |
} |
if (-e $path.'/'.$newfilename) { |
if (-e $path.'/'.$newfilename) { |
$fail = &mt('Destination already exists -- not overwriting.'); |
$fail = &mt('Destination already exists -- not overwriting.'); |
} else { |
} else { |
if (my $fh=Apache::File->new('>'.$path.'/'.$newfilename)) { |
if (my $fh=Apache::File->new('>'.$path.'/'.$newfilename)) { |
if (($item =~ m{^/adm/$match_domain/$match_username/\d+/smppg}) || |
if (($item =~ m{^/adm/$match_domain/$match_username/\d+/smppg}) || |
($item =~ /^simpleproblem_/)) { |
($item =~ /^simpleproblem_/)) { |
Line 404 $contents{webreferences}.'
|
Line 404 $contents{webreferences}.'
|
while (my $token = $parser->get_token) { |
while (my $token = $parser->get_token) { |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
if (($token->[1] eq 'resource') && |
if (($token->[1] eq 'resource') && |
($token->[2]->{'src'} eq '/res/lib/templates/simpleproblem.problem') && |
($token->[2]->{'src'} eq '/res/lib/templates/simpleproblem.problem') && |
($changes{$token->[2]->{'id'}})) { |
($changes{$token->[2]->{'id'}})) { |
my $id = $token->[2]->{'id'}; |
my $id = $token->[2]->{'id'}; |
$updatedcontent .= '<'.$token->[1]; |
$updatedcontent .= '<'.$token->[1]; |
foreach my $attrib (@{$token->[3]}) { |
foreach my $attrib (@{$token->[3]}) { |
next unless ($attrib =~ /^(src|type|title|id)$/); |
next unless ($attrib =~ /^(src|type|title|id)$/); |
if ($attrib eq 'src') { |
if ($attrib eq 'src') { |
my ($file) = ($display{$changes{$id}} =~ /^\Qsimpleproblem_\E(.+)$/); |
my ($file) = ($display{$changes{$id}} =~ /^\Qsimpleproblem_\E(.+)$/); |
if ($file) { |
if ($file) { |
$updatedcontent .= ' '.$attrib.'="'.$file.'"'; |
$updatedcontent .= ' '.$attrib.'="'.$file.'"'; |
} else { |
} else { |
$updatedcontent .= ' '.$attrib.'="'.$token->[2]->{$attrib}.'"'; |
$updatedcontent .= ' '.$attrib.'="'.$token->[2]->{$attrib}.'"'; |
} |
} |
} else { |
} else { |
$updatedcontent .= ' '.$attrib.'="'.$token->[2]->{$attrib}.'"'; |
$updatedcontent .= ' '.$attrib.'="'.$token->[2]->{$attrib}.'"'; |
Line 430 $contents{webreferences}.'
|
Line 430 $contents{webreferences}.'
|
} |
} |
} |
} |
print $fh $updatedcontent; |
print $fh $updatedcontent; |
} else { |
} else { |
print $fh &Apache::lonclonecourse::rewritefile( |
print $fh &Apache::lonclonecourse::rewritefile( |
&Apache::lonclonecourse::readfile($env{'request.course.id'},$item), |
&Apache::lonclonecourse::readfile($env{'request.course.id'},$item), |
(%replacehash,$crs => '') |
(%replacehash,$crs => '') |
); |
); |
} |
} |
} else { |
} else { |
print $fh |
print $fh |
&Apache::lonclonecourse::readfile($env{'request.course.id'},$item); |
&Apache::lonclonecourse::readfile($env{'request.course.id'},$item); |
} |
} |
} else { |
} else { |
$fail = &mt('Source does not exist.'); |
$fail = &mt('Source does not exist.'); |
} |
} |
} |
} |
$fh->close(); |
$fh->close(); |
} else { |
} else { |
$fail = &mt('Could not write to destination.'); |
$fail = &mt('Could not write to destination.'); |
} |
} |
} |
} |
my $text; |
my $text; |
if ($fail) { |
if ($fail) { |
$text = '<span class="LC_error">'.&mt('fail').(' 'x3).$fail.'</span>'; |
$text = '<span class="LC_error">'.&mt('fail').(' 'x3).$fail.'</span>'; |
} else { |
} else { |
$text = '<span class="LC_success">'.&mt('ok').'</span>'; |
$text = '<span class="LC_success">'.&mt('ok').'</span>'; |
} |
} |
if ($i == 0) { |
if ($i == 0) { |
$result .= $text; |
$result .= $text; |
} else { |
} else { |
$depresult .= $text.'</li>'; |
$depresult .= $text.'</li>'; |
} |
} |
} |
} |
$r->print($result); |
$r->print($result); |
if ($depresult) { |
if ($depresult) { |
Line 476 $contents{webreferences}.'
|
Line 476 $contents{webreferences}.'
|
$r->rflush(); |
$r->rflush(); |
my ($preamble,$formname); |
my ($preamble,$formname); |
$formname = 'dumpdoc'; |
$formname = 'dumpdoc'; |
unless ($home==1) { |
unless ($home==1) { |
$preamble = '<div class="LC_left_float">'. |
$preamble = '<div class="LC_left_float">'. |
'<fieldset><legend>'. |
'<fieldset><legend>'. |
&mt('Select the Authoring Space'). |
&mt('Select the Authoring Space'). |
'</legend><select name="authorspace">'; |
'</legend><select name="authorspace">'; |
} |
} |
my @orderspaces = (); |
my @orderspaces = (); |
foreach my $key (sort(keys(%outhash))) { |
foreach my $key (sort(keys(%outhash))) { |
if ($key=~/^home_(.+)$/) { |
if ($key=~/^home_(.+)$/) { |
if ($1 eq $env{'user.name'}.':'.$env{'user.domain'}) { |
if ($1 eq $env{'user.name'}.':'.$env{'user.domain'}) { |
unshift(@orderspaces,$1); |
unshift(@orderspaces,$1); |
} else { |
} else { |
push(@orderspaces,$1); |
push(@orderspaces,$1); |
} |
} |
} |
} |
} |
|
if ($home>1) { |
|
$preamble .= '<option value="" selected="selected">'.&mt('Select').'</option>'; |
|
} |
} |
foreach my $user (@orderspaces) { |
foreach my $user (@orderspaces) { |
if ($home==1) { |
if ($home==1) { |
$preamble .= '<input type="hidden" name="authorspace" value="'.$user.'" />'; |
$preamble .= '<input type="hidden" name="authorspace" value="'.$user.'" />'; |
} else { |
} else { |
$preamble .= '<option value="'.$user.'">'.$user.' - '. |
$preamble .= '<option value="'.$user.'">'.$user.' - '. |
&Apache::loncommon::plainname(split(/\:/,$user)).'</option>'; |
&Apache::loncommon::plainname(split(/\:/,$user)).'</option>'; |
} |
} |
} |
} |
unless ($home==1) { |
unless ($home==1) { |
$preamble .= '</select></fieldset></div>'."\n"; |
$preamble .= '</select></fieldset></div>'."\n"; |
} |
} |
my $title=$origcrsdata{'description'}; |
my $title=$origcrsdata{'description'}; |
$title=~s/[\/\s]+/\_/gs; |
$title=~s/[\/\s]+/\_/gs; |
$title=&clean($title); |
$title=&clean($title); |
$preamble .= '<div class="LC_left_float">'. |
$preamble .= '<div class="LC_left_float">'. |
'<fieldset><legend>'.&mt('Folder in Authoring Space').'</legend>'. |
'<fieldset><legend>'.&mt('Folder in Authoring Space').'</legend>'. |
'<input type="text" size="50" name="authorfolder" value="'. |
'<input type="text" size="50" name="authorfolder" value="'. |
$title.'" />'. |
$title.'" />'. |
'</fieldset></div><div style="padding:0;clear:both;margin:0;border:0"></div>'."\n"; |
'</fieldset></div><div style="padding:0;clear:both;margin:0;border:0"></div>'."\n"; |
my %uploadedfiles; |
my %uploadedfiles; |
&tiehash(); |
&tiehash(); |
foreach my $file (&Apache::lonclonecourse::crsdirlist($origcrsid,'userfiles')) { |
foreach my $file (&Apache::lonclonecourse::crsdirlist($origcrsid,'userfiles')) { |
my ($ext)=($file=~/\.(\w+)$/); |
my ($ext)=($file=~/\.(\w+)$/); |
# FIXME Check supplemental here |
# FIXME Check supplemental here |
my $title=$hash{'title_'.$hash{ |
my $title=$hash{'title_'.$hash{ |
'ids_/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'.$file}}; |
'ids_/uploaded/'.$origcrsdata{'domain'}.'/'.$origcrsdata{'num'}.'/'.$file}}; |
if (!$title) { |
if (!$title) { |
$title=$file; |
$title=$file; |
} else { |
} else { |
$title=~s|/|_|g; |
$title=~s|/|_|g; |
} |
} |
$title=~s/\.(\w+)$//; |
$title=~s/\.(\w+)$//; |
$title=&clean($title); |
$title=&clean($title); |
$title.='.'.$ext; |
$title.='.'.$ext; |
# $r->print("\n<td><input type='text' size='60' name='namefor_".$file."' value='".$title."' /></td>" |
# $r->print("\n<td><input type='text' size='60' name='namefor_".$file."' value='".$title."' /></td>" |
$uploadedfiles{$file} = $title; |
$uploadedfiles{$file} = $title; |
} |
} |
&untiehash(); |
&untiehash(); |
$r->print(&Apache::loncourserespicker::create_picker($navmap,'dumpdocs',$formname,$crstype,undef, |
$r->print(&Apache::loncourserespicker::create_picker($navmap,'dumpdocs',$formname,$crstype,undef, |
undef,undef,$preamble,$home,\%uploadedfiles)); |
undef,undef,$preamble,$home,\%uploadedfiles)); |
} |
} |
Line 563 sub recurse_html {
|
Line 560 sub recurse_html {
|
} else { |
} else { |
$relfile = $dependency; |
$relfile = $dependency; |
$depurl = $currurlpath; |
$depurl = $currurlpath; |
$depurl =~ s{[^/]+$}{}; |
$depurl =~ s{[^/]+$}{}; |
$depurl .= $dependency; |
$depurl .= $dependency; |
($newcontainer) = ($depurl =~ m{^\Q$prefix\E(.+)$}); |
($newcontainer) = ($depurl =~ m{^\Q$prefix\E(.+)$}); |
} |
} |
next if ($relfile eq ''); |
next if ($relfile eq ''); |
my $newname = $replacehash->{$container}; |
my $newname = $replacehash->{$container}; |
$newname =~ s{[^/]+$}{}; |
$newname =~ s{[^/]+$}{}; |
$replacehash->{$newcontainer} = $newname.$relfile; |
$replacehash->{$newcontainer} = $newname.$relfile; |
$deps->{$item}{$newcontainer} = 1; |
$deps->{$item}{$newcontainer} = 1; |
my ($newurlpath) = ($depurl =~ m{^(.*)/[^/]+$}); |
my ($newurlpath) = ($depurl =~ m{^(.*)/[^/]+$}); |
my $depfile = &Apache::lonnet::filelocation('',$depurl); |
my $depfile = &Apache::lonnet::filelocation('',$depurl); |
my $type = $mm->checktype_filename($depfile); |
my $type = $mm->checktype_filename($depfile); |
if ($type eq 'text/html') { |
if ($type eq 'text/html') { |
Line 666 $initialtext
|
Line 663 $initialtext
|
</html> |
</html> |
END |
END |
$env{'form.output'}=$newhtml; |
$env{'form.output'}=$newhtml; |
my $result = |
my $result = |
&Apache::lonnet::finishuserfileupload($coursenum,$coursedom, |
&Apache::lonnet::finishuserfileupload($coursenum,$coursedom, |
'output', |
'output', |
"$filepath/$residx/$fname.html"); |
"$filepath/$residx/$fname.html"); |
Line 691 END
|
Line 688 END
|
removefrommap => \%removefrommap, |
removefrommap => \%removefrommap, |
removeparam => \%removeparam, |
removeparam => \%removeparam, |
); |
); |
my ($result,$msgsarray,$lockerror) = |
my ($result,$msgsarray,$lockerror) = |
&apply_fixups($folder,1,$coursedom,$coursenum,\%import_errors,\%updated); |
&apply_fixups($folder,1,$coursedom,$coursenum,\%import_errors,\%updated); |
if (keys(%import_errors) > 0) { |
if (keys(%import_errors) > 0) { |
$fixuperrors = |
$fixuperrors = |
Line 1629 sub do_paste_from_buffer {
|
Line 1626 sub do_paste_from_buffer {
|
next; |
next; |
} |
} |
if ($lockerr{$prefix}) { |
if ($lockerr{$prefix}) { |
$lockerrs{$suffix} = $lockerr{$prefix}; |
$lockerrs{$suffix} = $lockerr{$prefix}; |
} |
} |
} |
} |
} |
} |
Line 1668 sub do_paste_from_buffer {
|
Line 1665 sub do_paste_from_buffer {
|
if ($newdocsdir eq '') { |
if ($newdocsdir eq '') { |
$newdocsdir = 'default'; |
$newdocsdir = 'default'; |
} |
} |
if (($prefixchg{$suffix}) || |
if (($prefixchg{$suffix}) || |
($srcdom{$suffix} ne $coursedom) || |
($srcdom{$suffix} ne $coursedom) || |
($srcnum{$suffix} ne $coursenum) || |
($srcnum{$suffix} ne $coursenum) || |
($env{'form.docs.markedcopy_options_'.$suffix} ne 'move')) { |
($env{'form.docs.markedcopy_options_'.$suffix} ne 'move')) { |
Line 1875 sub dbcopy {
|
Line 1872 sub dbcopy {
|
if (ref($dbref) eq 'HASH') { |
if (ref($dbref) eq 'HASH') { |
if ($url =~ m{/(smppg|bulletinboard)$}) { |
if ($url =~ m{/(smppg|bulletinboard)$}) { |
my $prefix = $1; |
my $prefix = $1; |
if (($dbref->{'cdom'} =~ /^$match_domain$/) && |
if (($dbref->{'cdom'} =~ /^$match_domain$/) && |
($dbref->{'cnum'} =~ /^$match_courseid$/)) { |
($dbref->{'cnum'} =~ /^$match_courseid$/)) { |
my $db_name; |
my $db_name; |
my $marker = (split(m{/},$url))[4]; |
my $marker = (split(m{/},$url))[4]; |
Line 1910 sub dbcopy {
|
Line 1907 sub dbcopy {
|
my $photo = $contents{'uploaded.photourl'}; |
my $photo = $contents{'uploaded.photourl'}; |
my ($subdir,$fname) = |
my ($subdir,$fname) = |
($photo =~ m{^/uploaded/$match_domain/$match_courseid/+(bulletin|simplepage)/(?:|\d+/)([^/]+)$}); |
($photo =~ m{^/uploaded/$match_domain/$match_courseid/+(bulletin|simplepage)/(?:|\d+/)([^/]+)$}); |
my $newphoto; |
my $newphoto; |
if ($fname ne '') { |
if ($fname ne '') { |
my $content = &Apache::lonnet::getfile($photo); |
my $content = &Apache::lonnet::getfile($photo); |
unless ($content eq '-1') { |
unless ($content eq '-1') { |
$env{'form.'.$suffix.'.photourl'} = $content; |
$env{'form.'.$suffix.'.photourl'} = $content; |
$newphoto = |
$newphoto = |
&Apache::lonnet::finishuserfileupload($coursenum,$coursedom,$suffix.'.photourl',"$subdir/$suffix/$fname"); |
&Apache::lonnet::finishuserfileupload($coursenum,$coursedom,$suffix.'.photourl',"$subdir/$suffix/$fname"); |
delete($env{'form.'.$suffix.'.photourl'}); |
delete($env{'form.'.$suffix.'.photourl'}); |
} |
} |
Line 2060 sub url_paste_fixups {
|
Line 2057 sub url_paste_fixups {
|
} |
} |
next if ($token->[2]->{'type'} eq 'external'); |
next if ($token->[2]->{'type'} eq 'external'); |
if ($token->[2]->{'type'} eq 'zombie') { |
if ($token->[2]->{'type'} eq 'zombie') { |
next if ($skip); |
next if ($skip); |
$zombies->{$oldurl}{$id} = $ressrc; |
$zombies->{$oldurl}{$id} = $ressrc; |
$changed = 1; |
$changed = 1; |
} elsif ($ressrc =~ m{^/uploaded/($match_domain)/($match_courseid)/(.+)$}) { |
} elsif ($ressrc =~ m{^/uploaded/($match_domain)/($match_courseid)/(.+)$}) { |
Line 2506 sub update_parameter {
|
Line 2503 sub update_parameter {
|
'randomorder' => {}, |
'randomorder' => {}, |
); |
); |
foreach my $which (keys(%allchecked)) { |
foreach my $which (keys(%allchecked)) { |
$env{'form.all'.$which} =~ s/,$//; |
$env{'form.all'.$which} =~ s/,$//; |
if ($which eq 'randompick') { |
if ($which eq 'randompick') { |
foreach my $item (split(/,/,$env{'form.all'.$which})) { |
foreach my $item (split(/,/,$env{'form.all'.$which})) { |
my ($res,$value) = split(/:/,$item); |
my ($res,$value) = split(/:/,$item); |
Line 2533 sub update_parameter {
|
Line 2530 sub update_parameter {
|
foreach my $which (keys(%allchecked)) { |
foreach my $which (keys(%allchecked)) { |
if (($which eq 'randompick' || $which eq 'randomorder')) { |
if (($which eq 'randompick' || $which eq 'randomorder')) { |
next if (!$is_map); |
next if (!$is_map); |
} |
} |
my $oldvalue = 0; |
my $oldvalue = 0; |
my $newvalue = 0; |
my $newvalue = 0; |
if ($allchecked{$which}{$res}) { |
if ($allchecked{$which}{$res}) { |
Line 2992 sub editor {
|
Line 2989 sub editor {
|
if (@allidx > 0) { |
if (@allidx > 0) { |
my $path; |
my $path; |
if ($env{'form.folderpath'}) { |
if ($env{'form.folderpath'}) { |
$path = |
$path = |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
&HTML::Entities::encode($env{'form.folderpath'},'<>&"'); |
} |
} |
if (@allidx > 1) { |
if (@allidx > 1) { |
$to_show .= |
$to_show .= |
&Apache::loncommon::continue_data_table_row(). |
&Apache::loncommon::continue_data_table_row(). |
'<td colspan="2"> </td>'. |
'<td colspan="2"> </td>'. |
'<td>'. |
'<td>'. |
Line 3140 sub process_file_upload {
|
Line 3137 sub process_file_upload {
|
} |
} |
my $quotatype = 'unofficial'; |
my $quotatype = 'unofficial'; |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$quotatype = 'community'; |
$quotatype = 'community'; |
} elsif ($env{'course.'.$coursedom.'_'.$coursenum.'.internal.instcode'}) { |
} elsif ($env{'course.'.$coursedom.'_'.$coursenum.'.internal.instcode'}) { |
$quotatype = 'official'; |
$quotatype = 'official'; |
} |
} |
Line 3610 $form_common."\n".
|
Line 3607 $form_common."\n".
|
$form_param."\n". |
$form_param."\n". |
$form_common."\n". |
$form_common."\n". |
'<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" id="randomorder_'.$orderidx.'" onclick="checkForSubmit(this.form,'."'randomorder','settings'".');" '.$ro_set.' /> '.&mt('Random Order').' </label></span>'. |
'<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" id="randomorder_'.$orderidx.'" onclick="checkForSubmit(this.form,'."'randomorder','settings'".');" '.$ro_set.' /> '.&mt('Random Order').' </label></span>'. |
$form_end; |
$form_end; |
} |
} |
} elsif ($supplementalflag && !$allowed) { |
} elsif ($supplementalflag && !$allowed) { |
$url .= ($url =~ /\?/) ? '&':'?'; |
$url .= ($url =~ /\?/) ? '&':'?'; |
Line 3814 sub new_timebased_suffix {
|
Line 3811 sub new_timebased_suffix {
|
} |
} |
} |
} |
if ($freedlock ne 'ok') { |
if ($freedlock ne 'ok') { |
$locknotfreed = |
$locknotfreed = |
'<div class="LC_error">'. |
'<div class="LC_error">'. |
&mt('There was a problem removing a lockfile.').' '; |
&mt('There was a problem removing a lockfile.').' '; |
if ($type eq 'paste') { |
if ($type eq 'paste') { |
Line 4374 sub startContentScreen {
|
Line 4371 sub startContentScreen {
|
if (($mode eq 'navmaps') || ($mode eq 'supplemental')) { |
if (($mode eq 'navmaps') || ($mode eq 'supplemental')) { |
$output .= '<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Content Overview').' </b></a></li>'."\n"; |
$output .= '<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Content Overview').' </b></a></li>'."\n"; |
$output .= '<li'.(($mode eq 'coursesearch')?' class="active"':'').'><a href="/adm/searchcourse"><b> '.&mt('Content Search').' </b></a></li>'."\n"; |
$output .= '<li'.(($mode eq 'coursesearch')?' class="active"':'').'><a href="/adm/searchcourse"><b> '.&mt('Content Search').' </b></a></li>'."\n"; |
|
$output .= '<li'.(($mode eq 'courseindex')?' class="active"':'').'><a href="/adm/indexcourse"><b> '.&mt('Content Index').' </b></a></li>'."\n"; |
$output .= '<li '.(($mode eq 'suppdocs')?' class="active"':'').'><a href="/adm/supplemental"><b>'.&mt('Supplemental Content').'</b></a></li>'; |
$output .= '<li '.(($mode eq 'suppdocs')?' class="active"':'').'><a href="/adm/supplemental"><b>'.&mt('Supplemental Content').'</b></a></li>'; |
} else { |
} else { |
$output .= '<li '.(($mode eq 'docs')?' class="active"':'').' id="tabbededitor"><a href="/adm/coursedocs?forcestandard=1"><b> '.&mt('Main Content Editor').' </b></a></li>'."\n"; |
$output .= '<li '.(($mode eq 'docs')?' class="active"':'').' id="tabbededitor"><a href="/adm/coursedocs?forcestandard=1"><b> '.&mt('Main Content Editor').' </b></a></li>'."\n"; |
Line 4637 sub handler {
|
Line 4635 sub handler {
|
$script .= &dump_switchserver_js(@hosts); |
$script .= &dump_switchserver_js(@hosts); |
} |
} |
} else { |
} else { |
my $tid = 1; |
|
my @tabids; |
my @tabids; |
if ($supplementalflag) { |
if ($supplementalflag) { |
@tabids = ('002','ee2','ff2'); |
@tabids = ('002','ee2','ff2'); |
$tid = 2; |
|
} else { |
} else { |
@tabids = ('aa1','bb1','cc1','ff1'); |
@tabids = ('aa1','bb1','cc1','ff1'); |
unless ($env{'form.folderpath'} =~ /\:1$/) { |
unless ($env{'form.folderpath'} =~ /\:1$/) { |
Line 4653 sub handler {
|
Line 4649 sub handler {
|
$script .= &editing_js($udom,$uname,$supplementalflag). |
$script .= &editing_js($udom,$uname,$supplementalflag). |
&history_tab_js(). |
&history_tab_js(). |
&inject_data_js(). |
&inject_data_js(). |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr,$tid). |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr). |
&Apache::lonextresedit::extedit_javascript(); |
&Apache::lonextresedit::extedit_javascript(); |
$addentries = { |
$addentries = { |
onload => "javascript:resize_scrollbox('contentscroll','1','1');", |
onload => "javascript:resize_scrollbox('contentscroll','1','1');", |
Line 4770 sub handler {
|
Line 4766 sub handler {
|
'navc' => 'Table of Contents', |
'navc' => 'Table of Contents', |
'sipa' => 'Simple Course Page', |
'sipa' => 'Simple Course Page', |
'sipr' => 'Simple Problem', |
'sipr' => 'Simple Problem', |
'webp' => 'Blank Web Page (editable)', |
'webp' => 'Blank Web Page (editable)', |
'drbx' => 'Drop Box', |
'drbx' => 'Drop Box', |
'scuf' => 'External Scores (handgrade, upload, clicker)', |
'scuf' => 'External Scores (handgrade, upload, clicker)', |
'bull' => 'Discussion Board', |
'bull' => 'Discussion Board', |
Line 4948 HIDDENFORM
|
Line 4944 HIDDENFORM
|
|
|
my $newnavform=(<<NNFORM); |
my $newnavform=(<<NNFORM); |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<form action="/adm/coursedocs" method="post" name="newnav"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'navc'}=/adm/navmaps" /> |
value="$lt{'navc'}=/adm/navmaps" /> |
Line 4958 HIDDENFORM
|
Line 4954 HIDDENFORM
|
NNFORM |
NNFORM |
my $newsmppageform=(<<NSPFORM); |
my $newsmppageform=(<<NSPFORM); |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<form action="/adm/coursedocs" method="post" name="newsmppg"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makesmppage();"> $lt{'sipa'}</a> |
<a class="LC_menubuttons_link" href="javascript:makesmppage();"> $lt{'sipa'}</a> |
Line 4999 NEXUFORM
|
Line 4995 NEXUFORM
|
|
|
my $newbulform=(<<NBFORM); |
my $newbulform=(<<NBFORM); |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<form action="/adm/coursedocs" method="post" name="newbul"> |
<input type="hidden" name="active" value="dd" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makebulboard();" >$lt{'bull'}</a> |
<a class="LC_menubuttons_link" href="javascript:makebulboard();" >$lt{'bull'}</a> |
Line 5009 NBFORM
|
Line 5005 NBFORM
|
|
|
my $newaboutmeform=(<<NAMFORM); |
my $newaboutmeform=(<<NAMFORM); |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<form action="/adm/coursedocs" method="post" name="newaboutme"> |
<input type="hidden" name="active" value="dd" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
value="$plainname=/adm/$udom/$uname/aboutme" /> |
Line 5020 NAMFORM
|
Line 5016 NAMFORM
|
|
|
my $newaboutsomeoneform=(<<NASOFORM); |
my $newaboutsomeoneform=(<<NASOFORM); |
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
<form action="/adm/coursedocs" method="post" name="newaboutsomeone"> |
<input type="hidden" name="active" value="dd" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makeabout();">$lt{'abou'}</a> |
<a class="LC_menubuttons_link" href="javascript:makeabout();">$lt{'abou'}</a> |
Line 5029 NASOFORM
|
Line 5025 NASOFORM
|
|
|
my $newrosterform=(<<NROSTFORM); |
my $newrosterform=(<<NROSTFORM); |
<form action="/adm/coursedocs" method="post" name="newroster"> |
<form action="/adm/coursedocs" method="post" name="newroster"> |
<input type="hidden" name="active" value="dd" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'rost'}=/adm/viewclasslist" /> |
value="$lt{'rost'}=/adm/viewclasslist" /> |
Line 5050 NROSTFORM
|
Line 5046 NROSTFORM
|
} |
} |
my $newwebpageform =(<<NWEBFORM); |
my $newwebpageform =(<<NWEBFORM); |
<form action="/adm/coursedocs" method="post" name="newwebpage"> |
<form action="/adm/coursedocs" method="post" name="newwebpage"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="$newwebpage" /> |
<input type="hidden" name="importdetail" value="$newwebpage" /> |
<a class="LC_menubuttons_link" href="javascript:makewebpage();">$lt{'webp'}</a> |
<a class="LC_menubuttons_link" href="javascript:makewebpage();">$lt{'webp'}</a> |
Line 5074 my $newfolderb;
|
Line 5070 my $newfolderb;
|
<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="ee" /> |
<input type="hidden" name="active" value="cc" /> |
<a class="LC_menubuttons_link" href="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> |
Line 5085 NPFORM
|
Line 5081 NPFORM
|
<form action="/adm/coursedocs" method="post" name="newfolder"> |
<form action="/adm/coursedocs" method="post" name="newfolder"> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="active" value="" /> |
<input type="hidden" name="active" value="aa" /> |
<a href="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 |
|
|
my $newsylform=(<<NSYLFORM); |
my $newsylform=(<<NSYLFORM); |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<form action="/adm/coursedocs" method="post" name="newsyl"> |
<input type="hidden" name="active" value="ee" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
value="$lt{'syll'}=/public/$coursedom/$coursenum/syllabus" /> |
Line 5104 NSYLFORM
|
Line 5100 NSYLFORM
|
|
|
my $newgroupfileform=(<<NGFFORM); |
my $newgroupfileform=(<<NGFFORM); |
<form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
<form action="/adm/coursedocs" method="post" name="newgroupfiles"> |
<input type="hidden" name="active" value="dd" /> |
<input type="hidden" name="active" value="cc" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" |
<input type="hidden" name="importdetail" |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
value="$lt{'grpo'}=/adm/$coursedom/$coursenum/aboutme" /> |
Line 5221 SUPDOCFORM
|
Line 5217 SUPDOCFORM
|
|
|
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="" /> |
<input type="hidden" name="active" value="ee" /> |
$pathitem |
$pathitem |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<a class="LC_menubuttons_link" href="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
<a class="LC_menubuttons_link" href="javascript:makenewfolder(document.supnewfolder,'$folderseq');">$lt{'newf'}</a> |
Line 5314 my %suporderhash = (
|
Line 5310 my %suporderhash = (
|
} |
} |
&Apache::lonnet::get_numsuppfiles($coursenum,$coursedom,1); |
&Apache::lonnet::get_numsuppfiles($coursenum,$coursedom,1); |
undef($suppchanges); |
undef($suppchanges); |
} |
} |
} |
} |
} |
} |
} elsif ($supplementalflag) { |
} elsif ($supplementalflag) { |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, |
Line 5462 sub remove_archive {
|
Line 5458 sub remove_archive {
|
} else { |
} else { |
my $currcmd = $env{'form.cmd'}; |
my $currcmd = $env{'form.cmd'}; |
my $position = $env{'form.position'}; |
my $position = $env{'form.position'}; |
if ($position > 0) { |
if ($position > 0) { |
$env{'form.cmd'} = 'remove_'.$position; |
$env{'form.cmd'} = 'remove_'.$position; |
my ($title,$url,@rrest) = |
my ($title,$url,@rrest) = |
split(/:/,$LONCAPA::map::resources[$LONCAPA::map::order[$position]]); |
split(/:/,$LONCAPA::map::resources[$LONCAPA::map::order[$position]]); |
Line 5586 sub generate_edit_table {
|
Line 5582 sub generate_edit_table {
|
my $form; |
my $form; |
my $activetab; |
my $activetab; |
my $active; |
my $active; |
if (($env{'form.active'} ne '') && ($env{'form.active'} ne '00')) { |
if (($env{'form.active'} ne '') && ($env{'form.active'} ne 'aa')) { |
$activetab = $env{'form.active'}; |
$activetab = $env{'form.active'}; |
} |
} |
my $backicon = $iconpath.'clickhere.gif'; |
my $backicon = $iconpath.'clickhere.gif'; |
Line 5621 sub generate_edit_table {
|
Line 5617 sub generate_edit_table {
|
$form .= '<li style="float:right" '.$active |
$form .= '<li style="float:right" '.$active |
.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>'."\n"; |
.' onclick="javascript:showPage(this, \''.$name.$tid.'\', \'navigation'.$tid.'\',\'content'.$tid.'\');"><a href="javascript:;"><b>'.&mt(${$orderhash{$name}}[0]).'</b></a></li>'."\n"; |
} else { |
} else { |
$form .= '<li style="float:right">'.${$orderhash{$name}}[1].'</li>'."\n"; |
$form .= '<li '.$active.' style="float:right">'.${$orderhash{$name}}[1].'</li>'."\n"; |
|
|
} |
} |
} |
} |
Line 5689 sub editing_js {
|
Line 5685 sub editing_js {
|
p_msb => 'Title for the Problem', |
p_msb => 'Title for the Problem', |
p_mdb => 'Title for the Drop Box', |
p_mdb => 'Title for the Drop Box', |
p_mbb => 'Title for the Discussion Board', |
p_mbb => 'Title for the Discussion Board', |
p_mwp => 'Title for Web Page', |
p_mwp => 'Title for Web Page', |
p_mab => "Enter user:domain for User's Personal Information Page", |
p_mab => "Enter user:domain for User's Personal Information Page", |
p_mab2 => 'Personal Information Page of ', |
p_mab2 => 'Personal Information Page of ', |
p_mab_alrt1 => 'Not a valid user:domain', |
p_mab_alrt1 => 'Not a valid user:domain', |
Line 5803 function makewebpage(type) {
|
Line 5799 function makewebpage(type) {
|
formname = this.document.forms.newwebpage; |
formname = this.document.forms.newwebpage; |
} |
} |
if (title) { |
if (title) { |
var webpage = formname.importdetail.value; |
var webpage = formname.importdetail.value; |
formname.importdetail.value = escape(title)+'='+webpage; |
formname.importdetail.value = escape(title)+'='+webpage; |
formname.submit(); |
formname.submit(); |
} |
} |
Line 6184 for (i = 0; i < currentLis.length; i++)
|
Line 6180 for (i = 0; i < currentLis.length; i++)
|
|
|
function hideAll(current, nav, data) { |
function hideAll(current, nav, data) { |
unselectInactive(nav); |
unselectInactive(nav); |
if (current) { |
if(current.className == 'right'){ |
if (current.className == 'right'){ |
|
current.className = 'right active' |
current.className = 'right active' |
} else { |
}else{ |
current.className = 'active'; |
current.className = 'active'; |
} |
|
} |
} |
currentData = document.getElementById(data); |
currentData = document.getElementById(data); |
currentDivs = currentData.getElementsByTagName('DIV'); |
currentDivs = currentData.getElementsByTagName('DIV'); |
Line 6220 function openTabs(pageId) {
|
Line 6214 function openTabs(pageId) {
|
} |
} |
|
|
function showPage(current, pageId, nav, data) { |
function showPage(current, pageId, nav, data) { |
currstate = current.className; |
|
hideAll(current, nav, data); |
hideAll(current, nav, data); |
openTabs(pageId); |
openTabs(pageId); |
unselectInactive(nav); |
unselectInactive(nav); |
if ((currstate == 'active') || (currstate == 'right active')) { |
current.className = 'active'; |
if (currstate == 'active') { |
|
current.className = ''; |
|
} else { |
|
current.className = 'right'; |
|
} |
|
activeTab = ''; |
|
toggleUpload(); |
|
toggleMap(); |
|
resize_scrollbox('contentscroll','1','0'); |
|
return; |
|
} else { |
|
current.className = 'active'; |
|
} |
|
currentData = document.getElementById(pageId); |
currentData = document.getElementById(pageId); |
currentData.style.display = 'block'; |
currentData.style.display = 'block'; |
activeTab = pageId; |
activeTab = pageId; |