--- loncom/lonsql 2004/08/20 16:42:41 1.64 +++ loncom/lonsql 2006/02/10 09:50:50 1.71.2.1 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.64 2004/08/20 16:42:41 matthew Exp $ +# $Id: lonsql,v 1.71.2.1 2006/02/10 09:50:50 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -241,6 +241,7 @@ unless ($dbh = DBI->connect("DBI:mysql:l exit 1; } else { + unlink('/home/httpd/html/lon-status/mysql.txt'); $dbh->disconnect; } @@ -258,20 +259,18 @@ if (-e $pidfile) { # # Read hosts file # -my %hostip; my $thisserver; my $PREFORK=4; # number of children to maintain, at least four spare open (CONFIG,"$perlvar{'lonTabDir'}/hosts.tab") || die "Can't read host file"; while (my $configline=) { - my ($id,$domain,$role,$name,$ip)=split(/:/,$configline); - chomp($ip); - $hostip{$ip}=$id; + my ($id,$domain,$role,$name)=split(/:/,$configline); + $name=~s/\s//g; $thisserver=$name if ($id eq $perlvar{'lonHostID'}); - $PREFORK++; + #$PREFORK++; } close(CONFIG); # -$PREFORK=int($PREFORK/4); +#$PREFORK=int($PREFORK/4); # # Create a socket to talk to lond @@ -424,7 +423,8 @@ sub make_new_child { $result='no_such_file'; } # end of log query - } elsif ($query eq 'fetchenrollment') { + } elsif (($query eq 'fetchenrollment') || + ($query eq 'institutionalphotos')) { # retrieve institutional class lists my $dom = &unescape($arg1); my %affiliates = (); @@ -432,11 +432,22 @@ sub make_new_child { my $locresult = ''; my $querystr = &unescape($arg3); foreach (split/%%/,$querystr) { - if (/^(\w+)=([^=]+)$/) { + if (/^([^=]+)=([^=]+)$/) { @{$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); + eval { + local($SIG{__DIE__})='DEFAULT'; + $locresult = &localenroll::institutional_photos($dom,$crs,\%affiliates,\%replies,'update'); + }; + if ($@) { + $locresult = 'error'; + } + } $result = &escape($locresult.':'); if ($locresult) { $result .= &escape(join(':',map{$_.'='.$replies{$_}} keys %replies)); @@ -509,7 +520,7 @@ sub process_file { sub do_sql_query { my ($query,$custom,$customshow) = @_; - &logthis('doing query '.$query); +# &logthis('doing query '.$query); $custom = &unescape($custom); $customshow = &unescape($customshow); #