# Start Tag search if (($in{'q'}) || ($in{'tags'})) { $in{'tags'} = $in{'q'} if(!$in{'tags'}); $in{'tags'} =~ s/\s+/ /g; $in{'tags'} =~ s/(^\s+)|(\s+$)//g; @tags = split(/\s/, $in{'tags'}); @sqlargs = (); foreach (@tags) { push (@sqlargs, 'h_tags.tag=?'); } $" = $in{'matchany'} ? ' AND ' : ' OR '; $sqlargs = "@sqlargs"; $sql = "SELECT h_files.id, h_files.name, h_files.uid, h_files.dt as uploaddate FROM h_files, h_share, h_groups, h_groups_members, h_tags WHERE ($sqlargs) AND h_tags.file_id=h_files.id AND h_files.id = h_share.item_id AND h_share.share_group = h_groups.id AND h_groups.id = h_groups_members.group AND h_groups_members.uid=? AND h_files.uid!=? UNION SELECT h_files.id, h_files.name, h_files.uid, h_files.dt FROM h_files, h_tags WHERE h_files.uid=? AND ($sqlargs) AND h_tags.file_id=h_files.id ORDER BY uploaddate DESC LIMIT 0 , 30"; @tag_files = db_sql($sql, @tags, $se{uid}, $se{uid}, $se{uid}, @tags); }