UI improvements for agents
[freeside.git] / httemplate / search / svc_acct.cgi
index 8f7126e..daf025a 100755 (executable)
@@ -1,36 +1,21 @@
 <%
-# <!-- $Id: svc_acct.cgi,v 1.9 2001-12-03 11:33:19 ivan Exp $ -->
 
-use strict;
-use vars qw( $cgi @svc_acct $sortby $query $mydomain
-             $conf $maxrecords $limit $offset );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs dbdef);
-use FS::CGI qw(header idiot popurl table);
-use FS::svc_acct;
-use FS::cust_main;
+my $mydomain = '';
 
-$mydomain = '';
-
-$cgi = new CGI;
-&cgisuidsetup($cgi);
-
-$conf = new FS::Conf;
-$maxrecords = $conf->config('maxsearchrecordsperpage');
+my $conf = new FS::Conf;
+my $maxrecords = $conf->config('maxsearchrecordsperpage');
 
 my $orderby = ''; #removeme
 
-$limit = '';
+my $limit = '';
 $limit .= "LIMIT $maxrecords" if $maxrecords;
 
-$offset = $cgi->param('offset') || 0;
+my $offset = $cgi->param('offset') || 0;
 $limit .= " OFFSET $offset" if $offset;
 
 my $total;
 
-($query)=$cgi->keywords;
+my($query)=$cgi->keywords;
 $query ||= ''; #to avoid use of unitialized value errors
 
 my $unlinked = '';
@@ -45,6 +30,7 @@ if ( $query =~ /^UN_(.*)$/ ) {
   ';
 }
 
+my(@svc_acct, $sortby);
 if ( $query eq 'svcnum' ) {
   $sortby=\*svcnum_sort;
   $orderby = 'ORDER BY svcnum';
@@ -53,10 +39,10 @@ if ( $query eq 'svcnum' ) {
   $orderby = 'ORDER BY username';
 } elsif ( $query eq 'uid' ) {
   $sortby=\*uid_sort;
-  $orderby = ( $unlinked ? 'AND' : 'WHERE' ). 'uid IS NOT NULL ORDER BY uid';
+  $orderby = ( $unlinked ? 'AND' : 'WHERE' ). ' uid IS NOT NULL ORDER BY uid';
 } else {
   $sortby=\*uid_sort;
-  &usernamesearch;
+  @svc_acct = @{&usernamesearch};
 }
 
 if ( $query eq 'svcnum' || $query eq 'username' || $query eq 'uid' ) {
@@ -77,8 +63,14 @@ if ( scalar(@svc_acct) == 1 ) {
   print $cgi->redirect(popurl(2). "view/svc_acct.cgi?$svcnum");  #redirect
   #exit;
 } elsif ( scalar(@svc_acct) == 0 ) { #error
+%>
+<!-- mason kludge -->
+<%
   idiot("Account not found");
 } else {
+%>
+<!-- mason kludge -->
+<%
   $total ||= scalar(@svc_acct);
 
   #begin pager
@@ -108,7 +100,7 @@ if ( scalar(@svc_acct) == 1 ) {
   }
   #end pager
 
-  print header("Account Search Results",''),
+  print header("Account Search Results",menubar('Main Menu'=>popurl(2))),
         "$total matching accounts found<BR><BR>$pager",
         &table(), <<END;
       <TR>
@@ -149,7 +141,7 @@ END
         my $conf = new FS::Conf;
         unless ( $mydomain = $conf->config('domain') ) {
           die "No legacy domain config file and no svc_domain.svcnum record ".
-              "for svc_acct.domsvc: ". $cust_svc->domsvc;
+              "for svc_acct.domsvc: ". $svc_acct->domsvc;
         }
       }
       $domain = "<i>$mydomain</i><FONT COLOR=\"#FF0000\">*</FONT>";
@@ -214,14 +206,14 @@ END
 
   }
  
-  print '</TABLE>$pager<BR>';
+  print "</TABLE>$pager<BR>";
 
   if ( $mydomain ) {
     print "<BR><FONT COLOR=\"#FF0000\">*</FONT> The <I>$mydomain</I> domain ".
           "is contained in your legacy <CODE>domain</CODE> ".
           "<A HREF=\"${p}docs/config.html#domain\">configuration file</A>.  ".
           "You should run the <CODE>bin/fs-migrate-svc_acct_sm</CODE> script ".
-          "to create a proper svc_domain record for this domain."
+          "to create a proper svc_domain record for this domain.";
   }
 
   print '</BODY></HTML>';
@@ -242,12 +234,11 @@ sub uid_sort {
 
 sub usernamesearch {
 
-  $cgi->param('username') =~ /^([\w\d\-]+)$/; #untaint username_text
+  $cgi->param('username') =~ /^([\w\-\.\&]+)$/; #untaint username_text
   my($username)=$1;
 
-  @svc_acct=qsearch('svc_acct',{'username'=>$username});
+  [ qsearch('svc_acct',{'username'=>$username}) ];
 
 }
 
-
 %>