version 1.434, 2009/12/03 17:43:19
|
version 1.438, 2010/03/15 05:09:59
|
Line 3129 sub dump_with_regexp {
|
Line 3129 sub dump_with_regexp {
|
if ($clientversion =~ /^(\d+)\.(\d+)$/) { |
if ($clientversion =~ /^(\d+)\.(\d+)$/) { |
my $major = $1; |
my $major = $1; |
my $minor = $2; |
my $minor = $2; |
next if (($major < 2) || (($major == 2) && ($minor < 10))); |
next if (($major < 2) || (($major == 2) && ($minor < 9))); |
} |
} |
} |
} |
} |
} |
Line 3870 sub dump_course_id_handler {
|
Line 3870 sub dump_course_id_handler {
|
$items->{'cloners'} = $cloneruname.':'.$clonerudom; |
$items->{'cloners'} = $cloneruname.':'.$clonerudom; |
$valchange = 1; |
$valchange = 1; |
} |
} |
|
unless ($canclone) { |
|
if ($items->{'owner'} =~ /:/) { |
|
if ($items->{'owner'} eq $cloner) { |
|
$canclone = 1; |
|
} |
|
} elsif ($cloner eq $udom.':'.$items->{'owner'}) { |
|
$canclone = 1; |
|
} |
|
if ($canclone) { |
|
$items->{'cloners'} = $cloneruname.':'.$clonerudom; |
|
$valchange = 1; |
|
} |
|
} |
} |
} |
} |
} |
if ($unpack || !$rtn_as_hash) { |
if ($unpack || !$rtn_as_hash) { |
Line 4070 sub dump_course_id_handler {
|
Line 4083 sub dump_course_id_handler {
|
} |
} |
®ister_handler("courseiddump", \&dump_course_id_handler, 0, 1, 0); |
®ister_handler("courseiddump", \&dump_course_id_handler, 0, 1, 0); |
|
|
|
sub course_lastaccess_handler { |
|
my ($cmd, $tail, $client) = @_; |
|
my $userinput = "$cmd:$tail"; |
|
my ($cdom,$cnum) = split(':',$tail); |
|
my (%lastaccess,$qresult); |
|
my $hashref = &tie_domain_hash($cdom, "nohist_courseids", &GDBM_WRCREAT()); |
|
if ($hashref) { |
|
while (my ($key,$value) = each(%$hashref)) { |
|
my ($unesc_key,$lasttime); |
|
$unesc_key = &unescape($key); |
|
if ($cnum) { |
|
next unless ($unesc_key =~ /\Q$cdom\E_\Q$cnum\E$/); |
|
} |
|
if ($unesc_key =~ /^lasttime:($LONCAPA::match_domain\_$LONCAPA::match_courseid)/) { |
|
$lastaccess{$1} = $value; |
|
} else { |
|
my $items = &Apache::lonnet::thaw_unescape($value); |
|
if (ref($items) eq 'HASH') { |
|
unless ($lastaccess{$unesc_key}) { |
|
$lastaccess{$unesc_key} = ''; |
|
} |
|
} else { |
|
my @courseitems = split(':',$value); |
|
$lastaccess{$unesc_key} = pop(@courseitems); |
|
} |
|
} |
|
} |
|
foreach my $cid (sort(keys(%lastaccess))) { |
|
$qresult.=&escape($cid).'='.$lastaccess{$cid}.'&'; |
|
} |
|
if (&untie_domain_hash($hashref)) { |
|
if ($qresult) { |
|
chop($qresult); |
|
} |
|
&Reply($client, \$qresult, $userinput); |
|
} else { |
|
&Failure($client, "error: ".($!+0)." untie(GDBM) Failed ". |
|
"while attempting lastacourseaccess\n", $userinput); |
|
} |
|
} else { |
|
&Failure($client, "error: ".($!+0)." tie(GDBM) Failed ". |
|
"while attempting lastcourseaccess\n", $userinput); |
|
} |
|
return 1; |
|
} |
|
®ister_handler("courselastaccess",\&course_lastaccess_handler, 0, 1, 0); |
|
|
# |
# |
# Puts an unencrypted entry in a namespace db file at the domain level |
# Puts an unencrypted entry in a namespace db file at the domain level |
# |
# |
Line 6553 sub rewrite_password_file {
|
Line 6613 sub rewrite_password_file {
|
|
|
# Returns the authorization type or nouser if there is no such user. |
# Returns the authorization type or nouser if there is no such user. |
# |
# |
sub get_auth_type |
sub get_auth_type { |
{ |
|
|
|
my ($domain, $user) = @_; |
my ($domain, $user) = @_; |
|
|
Debug("get_auth_type( $domain, $user ) \n"); |
Debug("get_auth_type( $domain, $user ) \n"); |