version 1.63, 2004/07/28 20:46:28
|
version 1.73, 2006/02/08 17:11:46
|
Line 211 my $conf_file = '/home/www/.my.cnf';
|
Line 211 my $conf_file = '/home/www/.my.cnf';
|
if (! -e $conf_file) { |
if (! -e $conf_file) { |
if (open MYCNF, ">$conf_file") { |
if (open MYCNF, ">$conf_file") { |
print MYCNF <<"ENDMYCNF"; |
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] |
[client] |
user=www |
user=www |
password=$perlvar{'lonSqlAccess'} |
password=$perlvar{'lonSqlAccess'} |
# END LON-CAPA Specific configuration code |
|
# |
|
# Place your own configuration code below the next line |
|
#------------------------------------------------- |
|
ENDMYCNF |
ENDMYCNF |
|
|
close MYCNF; |
close MYCNF; |
} else { |
} else { |
warn "Unable to write $conf_file, continuing"; |
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") { |
|
# } |
|
} |
} |
|
|
|
|
Line 258 unless ($dbh = DBI->connect("DBI:mysql:l
|
Line 241 unless ($dbh = DBI->connect("DBI:mysql:l
|
|
|
exit 1; |
exit 1; |
} else { |
} else { |
|
unlink('/home/httpd/html/lon-status/mysql.txt'); |
$dbh->disconnect; |
$dbh->disconnect; |
} |
} |
|
|
Line 275 if (-e $pidfile) {
|
Line 259 if (-e $pidfile) {
|
# |
# |
# Read hosts file |
# Read hosts file |
# |
# |
my %hostip; |
|
my $thisserver; |
my $thisserver; |
|
my %hostname; |
my $PREFORK=4; # number of children to maintain, at least four spare |
my $PREFORK=4; # number of children to maintain, at least four spare |
open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file"; |
open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file"; |
while (my $configline=<CONFIG>) { |
while (my $configline=<CONFIG>) { |
my ($id,$domain,$role,$name,$ip)=split(/:/,$configline); |
my ($id,$domain,$role,$name)=split(/:/,$configline); |
chomp($ip); |
$name=~s/\s//g; |
$hostip{$ip}=$id; |
|
$thisserver=$name if ($id eq $perlvar{'lonHostID'}); |
$thisserver=$name if ($id eq $perlvar{'lonHostID'}); |
$PREFORK++; |
$hostname{$id}=$name; |
|
#$PREFORK++; |
} |
} |
close(CONFIG); |
close(CONFIG); |
# |
# |
$PREFORK=int($PREFORK/4); |
#$PREFORK=int($PREFORK/4); |
|
|
# |
# |
# Create a socket to talk to lond |
# Create a socket to talk to lond |
Line 404 sub make_new_child {
|
Line 388 sub make_new_child {
|
$run = $run+1; |
$run = $run+1; |
my $userinput = <$client>; |
my $userinput = <$client>; |
chomp($userinput); |
chomp($userinput); |
|
$userinput=~s/\:(\w+)$//; |
|
my $searchdomain=$1; |
# |
# |
my ($conserver,$query, |
my ($conserver,$query, |
$arg1,$arg2,$arg3)=split(/&/,$userinput); |
$arg1,$arg2,$arg3)=split(/&/,$userinput); |
Line 441 sub make_new_child {
|
Line 427 sub make_new_child {
|
$result='no_such_file'; |
$result='no_such_file'; |
} |
} |
# end of log query |
# end of log query |
} elsif ($query eq 'fetchenrollment') { |
} elsif (($query eq 'fetchenrollment') || |
|
($query eq 'institutionalphotos')) { |
# retrieve institutional class lists |
# retrieve institutional class lists |
my $dom = &unescape($arg1); |
my $dom = &unescape($arg1); |
my %affiliates = (); |
my %affiliates = (); |
Line 449 sub make_new_child {
|
Line 436 sub make_new_child {
|
my $locresult = ''; |
my $locresult = ''; |
my $querystr = &unescape($arg3); |
my $querystr = &unescape($arg3); |
foreach (split/%%/,$querystr) { |
foreach (split/%%/,$querystr) { |
if (/^(\w+)=([^=]+)$/) { |
if (/^([^=]+)=([^=]+)$/) { |
@{$affiliates{$1}} = split/,/,$2; |
@{$affiliates{$1}} = split/,/,$2; |
} |
} |
} |
} |
$locresult = &localenroll::fetch_enrollment($dom,\%affiliates,\%replies); |
if ($query eq 'fetchenrollment') { |
|
$locresult = &localenroll::fetch_enrollment($dom,\%affiliates,\%replies); |
|
} elsif ($query eq 'institutionalphotos') { |
|
my $crs = &unescape($arg2); |
|
$locresult = &localenroll::institutional_photos($dom,$crs,\%affiliates,\%replies,'update'); |
|
} |
$result = &escape($locresult.':'); |
$result = &escape($locresult.':'); |
if ($locresult) { |
if ($locresult) { |
$result .= &escape(join(':',map{$_.'='.$replies{$_}} keys %replies)); |
$result .= &escape(join(':',map{$_.'='.$replies{$_}} keys %replies)); |
} |
} |
} 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); |
my $command = |
my $command = |
qq{parse_activity_log.pl -course=$cid -domain=$domain}; |
qq{$perlvar{'lonDaemons'}/parse_activity_log.pl -course=$cid -domain=$domain}; |
system($command); |
system($command); |
|
&logthis($command); |
my $returnvalue = $?>>8; |
my $returnvalue = $?>>8; |
if ($returnvalue) { |
if ($returnvalue) { |
$result = 'error: parse_activity_log.pl returned '. |
$result = 'error: parse_activity_log.pl returned '. |
Line 524 sub process_file {
|
Line 518 sub process_file {
|
|
|
sub do_sql_query { |
sub do_sql_query { |
my ($query,$custom,$customshow) = @_; |
my ($query,$custom,$customshow) = @_; |
|
# &logthis('doing query '.$query); |
$custom = &unescape($custom); |
$custom = &unescape($custom); |
$customshow = &unescape($customshow); |
$customshow = &unescape($customshow); |
# |
# |
Line 667 Returns: The results of the message or '
|
Line 662 Returns: The results of the message or '
|
######################################################## |
######################################################## |
sub subreply { |
sub subreply { |
my ($cmd,$server)=@_; |
my ($cmd,$server)=@_; |
my $peerfile="$perlvar{'lonSockDir'}/$server"; |
my $peerfile="$perlvar{'lonSockDir'}/".$hostname{$server}; |
my $sclient=IO::Socket::UNIX->new(Peer =>"$peerfile", |
my $sclient=IO::Socket::UNIX->new(Peer =>"$peerfile", |
Type => SOCK_STREAM, |
Type => SOCK_STREAM, |
Timeout => 10) |
Timeout => 10) |
or return "con_lost"; |
or return "con_lost"; |
print $sclient "$cmd\n"; |
print $sclient "sethost:$server:$cmd\n"; |
my $answer=<$sclient>; |
my $answer=<$sclient>; |
chomp($answer); |
chomp($answer); |
$answer="con_lost" if (!$answer); |
$answer="con_lost" if (!$answer); |