version 1.92, 2013/09/01 22:39:44
|
version 1.97, 2018/10/29 02:57:30
|
Line 95 the database.
|
Line 95 the database.
|
|
|
=head1 Internals |
=head1 Internals |
|
|
=over 4 |
|
|
|
=cut |
=cut |
|
|
use strict; |
use strict; |
Line 121 use GDBM_File;
|
Line 119 use GDBM_File;
|
|
|
=pod |
=pod |
|
|
|
=over 4 |
|
|
=item Global Variables |
=item Global Variables |
|
|
=over 4 |
=over 4 |
Line 231 unless ($dbh = DBI->connect("DBI:mysql:l
|
Line 231 unless ($dbh = DBI->connect("DBI:mysql:l
|
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; |
my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; |
my $subj="LON: $perlvar{'lonHostID'} Cannot connect to database!"; |
my $subj="LON: $perlvar{'lonHostID'} Cannot connect to database!"; |
system("echo 'Cannot connect to MySQL database!' |". |
system("echo 'Cannot connect to MySQL database!' |". |
" mailto $emailto -s '$subj' > /dev/null"); |
" mail -s '$subj' $emailto > /dev/null"); |
|
|
open(SMP,">$perlvar{'lonDocRoot'}/lon-status/mysql.txt"); |
open(SMP,">$perlvar{'lonDocRoot'}/lon-status/mysql.txt"); |
print SMP 'time='.time.'&mysql=defunct'."\n"; |
print SMP 'time='.time.'&mysql=defunct'."\n"; |
Line 458 sub make_new_child {
|
Line 458 sub make_new_child {
|
$result = &do_inst_dir_search($searchdomain,$arg1,$arg2,$arg3); |
$result = &do_inst_dir_search($searchdomain,$arg1,$arg2,$arg3); |
} elsif ($query eq 'getinstuser') { |
} elsif ($query eq 'getinstuser') { |
$result = &get_inst_user($searchdomain,$arg1,$arg2); |
$result = &get_inst_user($searchdomain,$arg1,$arg2); |
|
} elsif ($query eq 'getmultinstusers') { |
|
$result = &get_multiple_instusers($searchdomain,$arg3); |
} elsif ($query eq 'prepare activity log') { |
} elsif ($query eq 'prepare activity log') { |
my ($cid,$domain) = map {&unescape($_);} ($arg1,$arg2); |
my ($cid,$domain) = map {&unescape($_);} ($arg1,$arg2); |
&logthis('preparing activity log tables for '.$cid); |
&logthis('preparing activity log tables for '.$cid); |
Line 488 sub make_new_child {
|
Line 490 sub make_new_child {
|
$userdata{'domain'} = $udom; |
$userdata{'domain'} = $udom; |
$result = &allusers_table_update($query,$uname,$udom,\%userdata); |
$result = &allusers_table_update($query,$uname,$udom,\%userdata); |
} else { |
} else { |
|
# Sanity checking of $query needed. |
# Do an sql query |
# Do an sql query |
$result = &do_sql_query($query,$arg1,$arg2,$arg3,$searchdomain); |
$result = &do_sql_query($query,$arg1,$arg2,$arg3,$searchdomain); |
} |
} |
Line 539 sub do_user_search {
|
Line 542 sub do_user_search {
|
my %srchfield = ( |
my %srchfield = ( |
uname => 'username', |
uname => 'username', |
lastname => 'lastname', |
lastname => 'lastname', |
|
email => 'permanentemail', |
); |
); |
if ($srchtype eq 'exact') { |
if (exists($srchfield{$srchby})) { |
$query .= $srchfield{$srchby}.' = '.$dbh->quote($srchterm); |
if ($srchtype eq 'exact') { |
} elsif ($srchtype eq 'begins') { |
$query .= $srchfield{$srchby}.' = '.$dbh->quote($srchterm); |
$query .= $srchfield{$srchby}.' LIKE '.$dbh->quote($srchterm.'%'); |
} elsif ($srchtype eq 'begins') { |
|
$query .= $srchfield{$srchby}.' LIKE '.$dbh->quote($srchterm.'%'); |
|
} else { |
|
$query .= $srchfield{$srchby}.' LIKE '.$dbh->quote('%'.$srchterm.'%'); |
|
} |
} else { |
} else { |
$query .= $srchfield{$srchby}.' LIKE '.$dbh->quote('%'.$srchterm.'%'); |
&logthis('<font color="blue">'. |
|
'WARNING: Invalid srchby: '.$srchby.'</font>'); |
|
return $result; |
} |
} |
} |
} |
$query .= ") ORDER BY username "; |
$query .= ") ORDER BY username "; |
Line 619 sub get_inst_user {
|
Line 629 sub get_inst_user {
|
} |
} |
return $response; |
return $response; |
} |
} |
|
|
|
sub get_multiple_instusers { |
|
my ($domain,$data) = @_; |
|
my ($type,$users) = split(/=/,$data,2); |
|
my $requested = &Apache::lonnet::thaw_unescape($users); |
|
my $response; |
|
if (ref($requested) eq 'HASH') { |
|
my (%instusers,%instids,$result); |
|
eval { |
|
local($SIG{__DIE__})='DEFAULT'; |
|
$result=&localenroll::get_multusersinfo($domain,$type,$requested,\%instusers, |
|
\%instids); |
|
}; |
|
if ($@) { |
|
$response = 'error'; |
|
} elsif ($result eq 'ok') { |
|
$response = $result; |
|
if (keys(%instusers)) { |
|
$response .= '='.&Apache::lonnet::freeze_escape(\%instusers); |
|
} |
|
} elsif ($result eq 'unavailable') { |
|
$response = $result; |
|
} |
|
} else { |
|
$response = 'invalid'; |
|
} |
|
return $response; |
|
} |
|
|
######################################################## |
######################################################## |
######################################################## |
######################################################## |