--- loncom/lonsql 2006/02/10 09:50:50 1.71.2.1 +++ loncom/lonsql 2006/03/27 19:51:42 1.71.2.2 @@ -3,7 +3,7 @@ # The LearningOnline Network # lonsql - LON TCP-MySQL-Server Daemon for handling database requests. # -# $Id: lonsql,v 1.71.2.1 2006/02/10 09:50:50 albertel Exp $ +# $Id: lonsql,v 1.71.2.2 2006/03/27 19:51:42 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -386,6 +386,8 @@ sub make_new_child { $run = $run+1; my $userinput = <$client>; chomp($userinput); + $userinput=~s/\:(\w+)$//; + my $searchdomain=$1; # my ($conserver,$query, $arg1,$arg2,$arg3)=split(/&/,$userinput); @@ -468,7 +470,7 @@ sub make_new_child { } } else { # Do an sql query - $result = &do_sql_query($query,$arg1,$arg2); + $result = &do_sql_query($query,$arg1,$arg2,$searchdomain); } # result does not need to be escaped because it has already been # escaped. @@ -519,8 +521,18 @@ sub process_file { } sub do_sql_query { - my ($query,$custom,$customshow) = @_; -# &logthis('doing query '.$query); + my ($query,$custom,$customshow,$searchdomain) = @_; + +# +# limit to searchdomain if given and table is metadata +# + if (($searchdomain) && ($query=~/FROM metadata/)) { + $query.=' HAVING (domain="'.$searchdomain.'")'; + } +# &logthis('doing query ('.$searchdomain.')'.$query); + + + $custom = &unescape($custom); $customshow = &unescape($customshow); #