stray closing /TABLE in the no-ticket case
[freeside.git] / httemplate / search / sql.html
index 681a95d..54d6c2d 100644 (file)
@@ -1,7 +1,18 @@
-<% include( 'elements/search.html',
+<& elements/search.html,
                'title' => 'Query Results',
                'name'  => 'rows',
-               'query' => 'SELECT '. ( $cgi->param('sql')
-                                       || eidiot('Empty query') ),
-    )
-%>
+               'query' => "SELECT $sql",
+               'count_query' => $count,          
+&>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Raw SQL');
+
+my $sql = $cgi->param('sql') or errorpage('Empty query');
+$sql =~ s/;+\s*$//; #remove trailing ;
+
+my $count = $sql;
+$count =~ s/.* FROM /SELECT COUNT(*) FROM /i;
+
+</%init>