3 my $conf = new FS::Conf;
5 my($query)=$cgi->keywords;
6 $query ||= ''; #to avoid use of unitialized value errors
8 my $orderby = 'ORDER BY svcnum';
12 if ( $query eq 'svcnum' ) {
13 #$orderby = 'ORDER BY svcnum';
14 } elsif ( $query eq 'domain' ) {
15 $orderby = 'ORDER BY domain';
16 } elsif ( $query eq 'UN_svcnum' ) {
17 #$orderby = 'ORDER BY svcnum';
18 $join = 'LEFT JOIN cust_svc USING ( svcnum )';
19 $extra_sql = ' WHERE pkgnum IS NULL';
20 } elsif ( $query eq 'UN_domain' ) {
21 $orderby = 'ORDER BY domain';
22 $join = 'LEFT JOIN cust_svc USING ( svcnum )';
23 $extra_sql = ' WHERE pkgnum IS NULL';
24 } elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
25 #$orderby = 'ORDER BY svcnum';
26 $join = 'LEFT JOIN cust_svc USING ( svcnum )';
27 $extra_sql = " WHERE svcpart = $1";
29 $cgi->param('domain') =~ /^([\w\-\.]+)$/;
31 $svc_domain{'domain'} = $1;
34 my $count_query = "SELECT COUNT(*) FROM svc_domain $join $extra_sql";
35 if ( keys %svc_domain ) {
36 $count_query .= ' WHERE '.
37 join(' AND ', map "$_ = ". dbh->quote($svc_domain{$_}),
43 'table' => 'svc_domain',
44 'hashref' => \%svc_domain,
45 'select' => join(', ',
48 FS::UI::Web::cust_sql_fields(),
50 'extra_sql' => "$extra_sql $orderby",
51 'addl_from' => 'LEFT JOIN cust_svc USING ( svcnum ) '.
52 'LEFT JOIN cust_pkg USING ( pkgnum ) '.
53 'LEFT JOIN cust_main USING ( custnum ) ',
56 my $link = [ "${p}view/svc_domain.cgi?", 'svcnum' ];
58 #smaller false laziness w/svc_*.cgi here
61 $svc_x->custnum ? [ "${p}view/cust_main.cgi?", 'custnum' ] : '';
64 %><%= include ('elements/search.html',
65 'title' => "Domain Search Results",
67 'query' => $sql_query,
68 'count_query' => $count_query,
72 FS::UI::Web::cust_header(),
74 'fields' => [ 'svcnum',
76 \&FS::UI::Web::cust_fields,
81 FS::UI::Web::cust_header()