version 1.11, 2008/09/11 14:47:24
|
version 1.16, 2022/10/22 17:24:55
|
Line 265 sub pastetarget {
|
Line 265 sub pastetarget {
|
my $idx=&getresidx($url,$residx); |
my $idx=&getresidx($url,$residx); |
$insertorder[$#insertorder+1]=$idx; |
$insertorder[$#insertorder+1]=$idx; |
my $ext='false'; |
my $ext='false'; |
if ($url=~/^http\:\/\//) { $ext='true'; } |
if ($url=~/^https?\:\/\//) { $ext='true'; } |
$url=~s/\:/\:/g; |
$url=~s/\:/\:/g; |
$name=~s/\:/\:/g; |
$name=~s/\:/\:/g; |
$resources[$idx]=$name.':'.$url.':'.$ext.':normal:res'; |
$resources[$idx]=$name.':'.$url.':'.$ext.':normal:res'; |
Line 283 sub startfinish {
|
Line 283 sub startfinish {
|
# Remove all start and finish |
# Remove all start and finish |
foreach (@order) { |
foreach (@order) { |
my ($name,$url,$ext)=split(/\:/,$resources[$_]); |
my ($name,$url,$ext)=split(/\:/,$resources[$_]); |
if ($url=~/http\&colon\:\/\//) { $ext='true'; } |
if ($url=~/https?\&colon\:\/\//) { $ext='true'; } |
$resources[$_]=$name.':'.$url.':'.$ext.':normal:res'; |
$resources[$_]=$name.':'.$url.':'.$ext.':normal:res'; |
} |
} |
# Garbage collection |
# Garbage collection |
Line 303 sub startfinish {
|
Line 303 sub startfinish {
|
} |
} |
} |
} |
} |
} |
|
# Make sure this has at least start and finish |
|
if ($#order==-1) { |
|
$resources[&getresidx()]='::false'; |
|
$order[0]=$#resources; |
|
} |
# Put in a start resource |
# Put in a start resource |
my ($name,$url,$ext)=split(/\:/,$resources[$order[0]]); |
my ($name,$url,$ext)=split(/\:/,$resources[$order[0]]); |
$resources[$order[0]]=$name.':'.$url.':'.$ext.':start:res'; |
$resources[$order[0]]=$name.':'.$url.':'.$ext.':start:res'; |
# Make sure this has at least start and finish |
|
if ($#order==0) { |
if ($#order==0) { |
$resources[&getresidx()]='::false'; |
$resources[&getresidx()]='::false'; |
$order[1]=$#resources; |
$order[1]=$#resources; |
Line 319 sub startfinish {
|
Line 323 sub startfinish {
|
# ------------------------------------------------------------------- Store map |
# ------------------------------------------------------------------- Store map |
|
|
sub storemap { |
sub storemap { |
my $realfn=shift; |
my ($realfn,$useorig,$dotimeupdate) = @_; |
my $fn=$realfn; |
my $fn=$realfn; |
# unless this is forced to work from the original file, use a temporary file |
# unless this is forced to work from the original file, use a temporary file |
# instead |
# instead |
unless (shift) { |
unless ($useorig) { |
$fn=$realfn.'.tmp'; |
$fn=$realfn.'.tmp'; |
unless (-e $fn) { |
unless (-e $fn) { |
copy($realfn,$fn); |
copy($realfn,$fn); |
Line 359 sub storemap {
|
Line 363 sub storemap {
|
} |
} |
$output=~s/http\&colon\;\/\///g; |
$output=~s/http\&colon\;\/\///g; |
$env{'form.output'}=$output; |
$env{'form.output'}=$output; |
return &loadmap($fn,&savemap($fn,'')); |
return &loadmap($fn,&savemap($fn,'',$dotimeupdate)); |
} |
} |
|
|
# ------------------------------------------ Store and get parameters in global |
# ------------------------------------------ Store and get parameters in global |
Line 583 sub loadmap {
|
Line 587 sub loadmap {
|
# ----------------------------------------------------------- Saves map to disk |
# ----------------------------------------------------------- Saves map to disk |
|
|
sub savemap { |
sub savemap { |
my ($fn,$errtext)=@_; |
my ($fn,$errtext,$dotimeupdate)=@_; |
my $infotext=''; |
my $infotext=''; |
my %alltypes; |
my %alltypes; |
my %allvalues; |
my %allvalues; |
Line 674 sub savemap {
|
Line 678 sub savemap {
|
} |
} |
} |
} |
$outstr.="</map>\n"; |
$outstr.="</map>\n"; |
|
my ($cdom,$cnum,$mapname); |
if ($fn=~m{^/*uploaded/($LONCAPA::domain_re)/($LONCAPA::courseid_re)/(.*)$}) { |
if ($fn=~m{^/*uploaded/($LONCAPA::domain_re)/($LONCAPA::courseid_re)/(.*)$}) { |
|
($cdom,$cnum,$mapname) = ($1,$2,$3); |
$env{'form.output'}=$outstr; |
$env{'form.output'}=$outstr; |
my $result=&Apache::lonnet::finishuserfileupload($2,$1, |
my $result=&Apache::lonnet::finishuserfileupload($cnum,$cdom, |
'output',$3); |
'output',$mapname); |
if ($result != m|^/uploaded/|) { |
if ($result != m|^/uploaded/|) { |
$errtext.='Map not saved: A network error occurred when trying to save the map. '; |
$errtext.='Map not saved: A network error occurred when trying to save the map. '; |
} |
} |
Line 689 sub savemap {
|
Line 695 sub savemap {
|
$errtext.='Could not write file '.$fn.'. Map not saved. '; |
$errtext.='Could not write file '.$fn.'. Map not saved. '; |
} |
} |
} |
} |
|
if ($dotimeupdate) { |
|
unless ($errtext) { |
|
if ($env{'request.course.id'}) { |
|
if (($cdom eq $env{'course.'.$env{'request.course.id'}.'.domain'}) && |
|
($cnum eq $env{'course.'.$env{'request.course.id'}.'.num'}) && |
|
($mapname =~ /^supplemental(|_\d+)\.sequence$/)) { |
|
&Apache::lonnet::update_supp_caches($cdom,$cnum); |
|
} else { |
|
my $now = time; |
|
&Apache::lonnet::put('environment',{'internal.contentchange' => $now}, |
|
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
|
$env{'course.'.$env{'request.course.id'}.'.num'}); |
|
&Apache::lonnet::appenv( |
|
{'course.'.$env{'request.course.id'}.'.internal.contentchange' => $now}); |
|
&Apache::lonnet::do_cache_new('crschange',$env{'request.course.id'},$now,600); |
|
} |
|
} |
|
} |
|
} |
} else { |
} else { |
# -------------------------------------------- Cannot write to that file, error |
# -------------------------------------------- Cannot write to that file, error |
$errtext.='Map not saved: The specified path does not exist. '; |
$errtext.='Map not saved: The specified path does not exist. '; |