version 1.1418, 2020/01/17 16:43:02
|
version 1.1421, 2020/05/13 01:58:16
|
Line 1230 sub choose_server {
|
Line 1230 sub choose_server {
|
return ($login_host,$hostname,$portal_path,$isredirect,$lowest_load); |
return ($login_host,$hostname,$portal_path,$isredirect,$lowest_load); |
} |
} |
|
|
|
sub get_course_sessions { |
|
my ($cnum,$cdom,$lastactivity) = @_; |
|
my %servers = &internet_dom_servers($cdom); |
|
my %returnhash; |
|
foreach my $server (sort(keys(%servers))) { |
|
my $rep = &reply("coursesessions:$cdom:$cnum:$lastactivity",$server); |
|
my @pairs=split(/\&/,$rep); |
|
unless (($rep eq 'unknown_cmd') || ($rep =~ /^error/)) { |
|
foreach my $item (@pairs) { |
|
my ($key,$value)=split(/=/,$item,2); |
|
$key = &unescape($key); |
|
next if ($key =~ /^error: 2 /); |
|
if (exists($returnhash{$key})) { |
|
next if ($value < $returnhash{$key}); |
|
} |
|
$returnhash{$key}=$value; |
|
} |
|
} |
|
} |
|
return %returnhash; |
|
} |
|
|
# --------------------------------------------- Try to change a user's password |
# --------------------------------------------- Try to change a user's password |
|
|
sub changepass { |
sub changepass { |
Line 3506 sub remove_stale_resfile {
|
Line 3528 sub remove_stale_resfile {
|
$stale = 1; |
$stale = 1; |
} |
} |
if ($stale) { |
if ($stale) { |
unlink($fname); |
if (unlink($fname)) { |
if ($uri!~/\.meta$/) { |
if ($uri!~/\.meta$/) { |
unlink($fname.'.meta'); |
if (-e $fname.'.meta') { |
|
unlink($fname.'.meta'); |
|
} |
|
} |
|
&reply("unsub:$fname",$homeserver); |
|
$removed = 1; |
} |
} |
&reply("unsub:$fname",$homeserver); |
|
$removed = 1; |
|
} |
} |
} |
} |
} |
} |
Line 3661 sub can_edit_resource {
|
Line 3686 sub can_edit_resource {
|
$forceedit = 1; |
$forceedit = 1; |
} |
} |
$cfile = $resurl; |
$cfile = $resurl; |
|
} elsif (($resurl =~ m{^/ext/}) && ($symb ne '')) { |
|
my ($map,$id,$res) = &decode_symb($symb); |
|
if ($map =~ /\.page$/) { |
|
$incourse = 1; |
|
if ($env{'form.forceedit'}) { |
|
$forceview = 1; |
|
$cfile = $map; |
|
} else { |
|
$forceedit = 1; |
|
$cfile = '/adm/wrapper'.$resurl; |
|
} |
|
} |
} elsif ($resurl =~ m{^/adm/wrapper/adm/$cdom/$cnum/\d+/ext\.tool$}) { |
} elsif ($resurl =~ m{^/adm/wrapper/adm/$cdom/$cnum/\d+/ext\.tool$}) { |
$incourse = 1; |
$incourse = 1; |
if ($env{'form.forceedit'}) { |
if ($env{'form.forceedit'}) { |
Line 13112 sub symbverify {
|
Line 13149 sub symbverify {
|
|
|
if (tie(%bighash,'GDBM_File',$env{'request.course.fn'}.'.db', |
if (tie(%bighash,'GDBM_File',$env{'request.course.fn'}.'.db', |
&GDBM_READER(),0640)) { |
&GDBM_READER(),0640)) { |
my $noclutter; |
|
if (($thisurl =~ m{^/adm/wrapper/ext/}) || ($thisurl =~ m{^ext/})) { |
if (($thisurl =~ m{^/adm/wrapper/ext/}) || ($thisurl =~ m{^ext/})) { |
$thisurl =~ s/\?.+$//; |
$thisurl =~ s/\?.+$//; |
if ($map =~ m{^uploaded/.+\.page$}) { |
if ($map =~ m{^uploaded/.+\.page$}) { |
$thisurl =~ s{^(/adm/wrapper|)/ext/}{http://}; |
$thisurl =~ s{^(/adm/wrapper|)/ext/}{http://}; |
$thisurl =~ s{^\Qhttp://https://\E}{https://}; |
$thisurl =~ s{^\Qhttp://https://\E}{https://}; |
$noclutter = 1; |
|
} |
} |
} |
} |
my $ids; |
my $ids; |
if ($noclutter) { |
if ($map =~ m{^uploaded/.+\.page$}) { |
$ids=$bighash{'ids_'.$thisurl}; |
$ids=$bighash{'ids_'.&clutter_with_no_wrapper($thisurl)}; |
} else { |
} else { |
$ids=$bighash{'ids_'.&clutter($thisurl)}; |
$ids=$bighash{'ids_'.&clutter($thisurl)}; |
} |
} |