version 1.270, 2007/01/26 23:37:53
|
version 1.279, 2007/06/29 20:14:18
|
Line 904 sub store_template {
|
Line 904 sub store_template {
|
# Imports the given (name, url) resources into the course |
# Imports the given (name, url) resources into the course |
# coursenum, coursedom, and folder must precede the list |
# coursenum, coursedom, and folder must precede the list |
sub group_import { |
sub group_import { |
my $coursenum = shift; |
my ($coursenum, $coursedom, $folder, $container, $caller, @files) = @_; |
my $coursedom = shift; |
|
my $folder = shift; |
while (@files) { |
my $container = shift; |
my $name = shift(@files); |
my $caller = shift; |
my $url = shift(@files); |
while (@_) { |
#FIXME check if file exists before overwriting, might be restoring it |
my $name = shift; |
if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) |
my $url = shift; |
&& ($caller eq 'londocs') |
if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) && ($caller eq 'londocs')) { |
&& (!&Apache::lonnet::stat_file($url))) { |
|
|
my $errtext = ''; |
my $errtext = ''; |
my $fatal = 0; |
my $fatal = 0; |
my $newmapstr = '<map>'."\n". |
my $newmapstr = '<map>'."\n". |
Line 936 sub group_import {
|
Line 937 sub group_import {
|
$LONCAPA::map::order[$#LONCAPA::map::order+1]=$idx; |
$LONCAPA::map::order[$#LONCAPA::map::order+1]=$idx; |
my $ext = 'false'; |
my $ext = 'false'; |
if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; } |
if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; } |
$url =~ &LONCAPA::map::qtunescape($url); |
$url = &LONCAPA::map::qtunescape($url); |
$name =~ &LONCAPA::map::qtunescape($name); |
$name = &LONCAPA::map::qtunescape($name); |
$LONCAPA::map::resources[$idx] = |
$LONCAPA::map::resources[$idx] = |
join ':', ($name, $url, $ext, 'normal', 'res'); |
join ':', ($name, $url, $ext, 'normal', 'res'); |
} |
} |
Line 1154 sub docs_change_log {
|
Line 1155 sub docs_change_log {
|
for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) { |
for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) { |
my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0]; |
my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0]; |
my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0]; |
my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0]; |
if ($oldname ne $newname) { |
if ($oldname ne '' && $oldname ne $newname) { |
$r->print(&LONCAPA::map::qtescape($newname)); |
$r->print(&LONCAPA::map::qtescape($newname)); |
} |
} |
} |
} |
Line 1184 sub docs_change_log {
|
Line 1185 sub docs_change_log {
|
|| $shown<=$env{'form.show'})) { last; } |
|| $shown<=$env{'form.show'})) { last; } |
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::loncommon::end_page()); |
|
} |
} |
|
|
sub editor { |
sub editor { |
Line 1445 sub editor {
|
Line 1445 sub editor {
|
$r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>'); |
$r->print('<p>'.&mt('Caution: this folder is set to randomly pick a subset of resources. Adding or removing resources from this folder will change the set of resources that the students see, resulting in spurious or missing credit for completed problems, not limited to ones you modify. Do not modify the contents of this folder if it is in active student use.').'</p>'); |
} |
} |
$r->print('<table>'); |
$r->print('<table>'); |
foreach (@LONCAPA::map::order) { |
foreach my $res (@LONCAPA::map::order) { |
my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$_]); |
my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]); |
$name=&LONCAPA::map::qtescape($name); |
$name=&LONCAPA::map::qtescape($name); |
$url =&LONCAPA::map::qtescape($url); |
$url=&LONCAPA::map::qtescape($url); |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $idx++; next; } |
unless ($name) { $idx++; next; } |
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$_,$coursenum)); |
$r->print(&entryline($idx,$name,$url,$folder,$allowed,$res, |
|
$coursenum)); |
$idx++; |
$idx++; |
$shown++; |
$shown++; |
} |
} |
Line 1465 sub editor {
|
Line 1466 sub editor {
|
<input type="hidden" name="markedcopy_url" value="$env{'form.markedcopy_url'}" /> |
<input type="hidden" name="markedcopy_url" value="$env{'form.markedcopy_url'}" /> |
<input type="hidden" name="markedcopy_title" value="$env{'form.markedcopy_title'}" /> |
<input type="hidden" name="markedcopy_title" value="$env{'form.markedcopy_title'}" /> |
ENDPASTE |
ENDPASTE |
$r->print( |
$r->print('<input type="submit" name="pastemarked" value="'.&mt('Paste').'" /> '); |
'<input type="submit" name="pastemarked" value="'.&mt('Paste'). |
|
'" /> '.&Apache::loncommon::filedescription( |
my $type; |
(split(/\./,$env{'form.markedcopy_url'}))[-1]).': '. |
if ($env{'form.markedcopy_url'} =~ m{^/adm/wrapper/ext}) { |
$env{'form.markedcopy_title'}); |
$type = &mt('External Resource'); |
|
$r->print($type.': '. $env{'form.markedcopy_title'}); |
|
} else { |
|
my $extension = (split(/\./,$env{'form.markedcopy_url'}))[-1]; |
|
my $type = &Apache::loncommon::filedescription($extension); |
|
my $icon = '<img src="'.&Apache::loncommon::icon($extension). |
|
'" class="LC_icon" />'; |
|
$r->print($icon.$type.': '. $env{'form.markedcopy_title'}); |
|
} |
if ($container eq 'page') { |
if ($container eq 'page') { |
$r->print(<<PAGEINFO); |
$r->print(<<PAGEINFO); |
<input type="hidden" name="pagepath" value="$env{'form.pagepath'}" /> |
<input type="hidden" name="pagepath" value="$env{'form.pagepath'}" /> |
Line 1574 sub process_file_upload {
|
Line 1583 sub process_file_upload {
|
} |
} |
|
|
sub ask_for_embedded_content { |
sub ask_for_embedded_content { |
my ($actionurl,$state,$allfiles,$codebase)=@_; |
my ($actionurl,$state,$allfiles,$codebase,$args)=@_; |
my $upload_output = ' |
my $upload_output = ' |
<form name="upload_embedded" action="'.$actionurl.'" |
<form name="upload_embedded" action="'.$actionurl.'" |
method="post" enctype="multipart/form-data">'; |
method="post" enctype="multipart/form-data">'; |
$upload_output .= $state; |
$upload_output .= $state; |
$upload_output .= '<b>Upload embedded files</b>:<br /> |
$upload_output .= '<b>Upload embedded files</b>:<br />'. |
<table>'; |
&Apache::loncommon::start_data_table(); |
|
|
my $num = 0; |
my $num = 0; |
foreach my $embed_file (keys(%{$allfiles})) { |
foreach my $embed_file (sort {lc($a) cmp lc($b)} keys(%{$allfiles})) { |
$upload_output .= '<tr><td>'.$embed_file.'</td><td> |
$upload_output .= &Apache::loncommon::start_data_table_row(). |
|
'<td>'.$embed_file.'</td><td>'; |
|
if ($args->{'ignore_remote_references'} |
|
&& $embed_file =~ m{^\w+://}) { |
|
$upload_output.='<span class="LC_warning">'.&mt("URL points to other server.").'</span>'; |
|
} elsif ($args->{'error_on_invalid_names'} |
|
&& $embed_file ne &Apache::lonnet::clean_filename($embed_file,{'keep_path' => 1,})) { |
|
|
|
$upload_output.='<span class="LC_warning">'.&mt("Invalid characters").'</span>'; |
|
|
|
} else { |
|
|
|
$upload_output .=' |
<input name="embedded_item_'.$num.'" type="file" value="bob" /> |
<input name="embedded_item_'.$num.'" type="file" value="bob" /> |
<input name="embedded_orig_'.$num.'" type="hidden" value="'.&escape($embed_file).'" />'; |
<input name="embedded_orig_'.$num.'" type="hidden" value="'.&escape($embed_file).'" />'; |
my $attrib = join(':',@{$$allfiles{$embed_file}}); |
my $attrib = join(':',@{$$allfiles{$embed_file}}); |
$upload_output .= |
$upload_output .= |
"\n\t\t". |
|
'<input name="embedded_attrib_'.$num.'" type="hidden" value="'. |
|
$attrib.'" />'; |
|
if (exists($$codebase{$embed_file})) { |
|
$upload_output .= |
|
"\n\t\t". |
"\n\t\t". |
'<input name="codebase_'.$num.'" type="hidden" value="'. |
'<input name="embedded_attrib_'.$num.'" type="hidden" value="'. |
&escape($$codebase{$embed_file}).'" />'; |
$attrib.'" />'; |
|
if (exists($$codebase{$embed_file})) { |
|
$upload_output .= |
|
"\n\t\t". |
|
'<input name="codebase_'.$num.'" type="hidden" value="'. |
|
&escape($$codebase{$embed_file}).'" />'; |
|
} |
} |
} |
$upload_output .= '</td></tr>'; |
$upload_output .= '</td>'.&Apache::loncommon::end_data_table_row(); |
$num++; |
$num++; |
} |
} |
$upload_output .= '</table><br /> |
$upload_output .= &Apache::loncommon::end_data_table().'<br /> |
<input type ="hidden" name="number_embedded_items" value="'.$num.'" /> |
<input type ="hidden" name="number_embedded_items" value="'.$num.'" /> |
<input type ="submit" value="Complete upload" /> |
<input type ="submit" value="'.&mt('Upload Listed Files').'" /> |
|
'.&mt('(only files for which a location has been provided will be uploaded)').' |
</form>'; |
</form>'; |
return $upload_output; |
return $upload_output; |
} |
} |
Line 1872 END
|
Line 1895 END
|
(&LONCAPA::map::getparameter($orderidx, |
(&LONCAPA::map::getparameter($orderidx, |
'parameter_randompick'))[0]. |
'parameter_randompick'))[0]. |
'" />'. |
'" />'. |
'<font size="-2"><a href="javascript:void(0)">'.&mt('Store').'</a></font></label>'; |
'<font size="-2"><a href="javascript:void(0)">'.&mt('Save').'</a></font></label>'; |
|
|
} |
} |
if ($ispage) { |
if ($ispage) { |
Line 2131 sub checkversions {
|
Line 2154 sub checkversions {
|
if (&Apache::lonnet::put('resourceversions',\%newsetversions, |
if (&Apache::lonnet::put('resourceversions',\%newsetversions, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') { |
$env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') { |
$r->print('<h1>'.&mt('Your Version Settings have been Stored').'</h1>'); |
$r->print('<h1>'.&mt('Your Version Settings have been Saved').'</h1>'); |
} else { |
} else { |
$r->print('<h1><font color="red">'.&mt('An Error Occured while Attempting to Store your Version Settings').'</font></h1>'); |
$r->print('<h1><font color="red">'.&mt('An Error Occured while Attempting to Save your Version Settings').'</font></h1>'); |
} |
} |
&mark_hash_old(); |
&mark_hash_old(); |
} |
} |