--- loncom/lonsql 2004/06/08 22:09:44 1.62 +++ loncom/lonsql 2004/07/28 20:46:28 1.63 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.62 2004/06/08 22:09:44 raeburn Exp $ +# $Id: lonsql,v 1.63 2004/07/28 20:46:28 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -206,6 +206,40 @@ my $run =0; # running count my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf'); 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 # my $dbh; @@ -424,6 +458,18 @@ sub make_new_child { 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 { # Do an sql query $result = &do_sql_query($query,$arg1,$arg2);