Diff for /loncom/lonsql between versions 1.91 and 1.93

version 1.91, 2011/11/07 18:13:38 version 1.93, 2013/12/01 21:29:07
Line 95  the database. Line 95  the database.
   
 =head1 Internals  =head1 Internals
   
 =over 4  
   
 =cut  =cut
   
 use strict;  use strict;
Line 121  use GDBM_File; Line 119  use GDBM_File;
   
 =pod  =pod
   
   =over 4
   
 =item Global Variables  =item Global Variables
   
 =over 4  =over 4
Line 489  sub make_new_child { Line 489  sub make_new_child {
                 $result = &allusers_table_update($query,$uname,$udom,\%userdata);                  $result = &allusers_table_update($query,$uname,$udom,\%userdata);
             } else {              } else {
                 # Do an sql query                  # Do an sql query
                 $result = &do_sql_query($query,$arg1,$arg2,$searchdomain);                  $result = &do_sql_query($query,$arg1,$arg2,$arg3,$searchdomain);
             }              }
             # result does not need to be escaped because it has already been              # result does not need to be escaped because it has already been
             # escaped.              # escaped.
Line 651  sub process_file { Line 651  sub process_file {
 }  }
   
 sub do_sql_query {  sub do_sql_query {
     my ($query,$custom,$customshow,$searchdomain) = @_;      my ($query,$custom,$customshow,$domainstr,$searchdomain) = @_;
   
 #  #
 # limit to searchdomain if given and table is metadata  # limit to searchdomain if given and table is metadata
 #  #
     if (($searchdomain) && ($query=~/FROM metadata/)) {      if ($domainstr && ($query=~/FROM metadata/)) {
           my $havingstr;
           $domainstr = &unescape($domainstr); 
           if ($domainstr =~ /,/) {
               foreach my $dom (split(/,/,$domainstr)) {
                   if ($dom =~ /^$LONCAPA::domain_re$/) {
                       $havingstr .= 'domain="'.$dom.'" OR ';
                   }
               }
               $havingstr =~ s/ OR $//;
           } else {
               if ($domainstr =~ /^$LONCAPA::domain_re$/) {
                   $havingstr = 'domain="'.$domainstr.'"';
               }
           }
           if ($havingstr) {
               $query.=' HAVING ('.$havingstr.')';
           }
       } elsif (($searchdomain) && ($query=~/FROM metadata/)) {
  $query.=' HAVING (domain="'.$searchdomain.'")';   $query.=' HAVING (domain="'.$searchdomain.'")';
     }      }
 #    &logthis('doing query ('.$searchdomain.')'.$query);  #    &logthis('doing query ('.$searchdomain.')'.$query);

Removed from v.1.91  
changed lines
  Added in v.1.93


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>