version 1.60, 2004/05/11 21:08:20
|
version 1.63, 2004/07/28 20:46:28
|
Line 115 use Fcntl;
|
Line 115 use Fcntl;
|
use Tie::RefHash; |
use Tie::RefHash; |
use DBI; |
use DBI; |
use File::Find; |
use File::Find; |
|
use localenroll; |
|
|
######################################################## |
######################################################## |
######################################################## |
######################################################## |
Line 205 my $run =0; # running count
|
Line 206 my $run =0; # running count
|
my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf'); |
my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf'); |
my %perlvar=%{$perlvarref}; |
my %perlvar=%{$perlvarref}; |
# |
# |
|
# Write the /home/www/.my.cnf file |
|
my $conf_file = '/home/www/.my.cnf'; |
|
if (! -e $conf_file) { |
|
if (open MYCNF, ">$conf_file") { |
|
print MYCNF <<"ENDMYCNF"; |
|
# Generated by LON-CAPA |
|
# |
|
# This file is edited automatically |
|
# Put your configuration below the LON-CAPA configuration code |
|
# |
|
# BEGIN LON-CAPA Specific configuration code |
|
[client] |
|
user=www |
|
password=$perlvar{'lonSqlAccess'} |
|
# END LON-CAPA Specific configuration code |
|
# |
|
# Place your own configuration code below the next line |
|
#------------------------------------------------- |
|
ENDMYCNF |
|
|
|
close MYCNF; |
|
} else { |
|
warn "Unable to write $conf_file, continuing"; |
|
} |
|
} else { |
|
# it exists. FIXME: Need to ensure we have current password in it... |
|
# my @Original = `cat $conf_file`; |
|
# if ($Original[0] =~ /^\# Generated by LON-CAPA/ ) { |
|
# if (! open MYCNF, ">$conf_file") { |
|
# } |
|
} |
|
|
|
|
|
# |
# Make sure that database can be accessed |
# Make sure that database can be accessed |
# |
# |
my $dbh; |
my $dbh; |
Line 381 sub make_new_child {
|
Line 416 sub make_new_child {
|
$queryid .= $run; |
$queryid .= $run; |
print $client "$queryid\n"; |
print $client "$queryid\n"; |
# |
# |
&logthis("QUERY: $query - $arg1 - $arg2 - $arg3"); |
# &logthis("QUERY: $query - $arg1 - $arg2 - $arg3"); |
sleep 1; |
sleep 1; |
# |
# |
my $result=''; |
my $result=''; |
Line 406 sub make_new_child {
|
Line 441 sub make_new_child {
|
$result='no_such_file'; |
$result='no_such_file'; |
} |
} |
# end of log query |
# end of log query |
|
} elsif ($query eq 'fetchenrollment') { |
|
# retrieve institutional class lists |
|
my $dom = &unescape($arg1); |
|
my %affiliates = (); |
|
my %replies = (); |
|
my $locresult = ''; |
|
my $querystr = &unescape($arg3); |
|
foreach (split/%%/,$querystr) { |
|
if (/^(\w+)=([^=]+)$/) { |
|
@{$affiliates{$1}} = split/,/,$2; |
|
} |
|
} |
|
$locresult = &localenroll::fetch_enrollment($dom,\%affiliates,\%replies); |
|
$result = &escape($locresult.':'); |
|
if ($locresult) { |
|
$result .= &escape(join(':',map{$_.'='.$replies{$_}} keys %replies)); |
|
} |
|
} elsif ($query eq 'prepare activity log') { |
|
my ($cid,$domain) = map {&unescape($_);} ($arg1,$arg2); |
|
my $command = |
|
qq{parse_activity_log.pl -course=$cid -domain=$domain}; |
|
system($command); |
|
my $returnvalue = $?>>8; |
|
if ($returnvalue) { |
|
$result = 'error: parse_activity_log.pl returned '. |
|
$returnvalue; |
|
} else { |
|
$result = 'success'; |
|
} |
} else { |
} else { |
# Do an sql query |
# Do an sql query |
$result = &do_sql_query($query,$arg1,$arg2); |
$result = &do_sql_query($query,$arg1,$arg2); |