diff options
Diffstat (limited to 'htdocs/search')
| -rwxr-xr-x | htdocs/search/cust_bill.cgi | 46 | ||||
| -rwxr-xr-x | htdocs/search/cust_bill.html | 21 | ||||
| -rwxr-xr-x | htdocs/search/cust_main-payinfo.html | 21 | ||||
| -rwxr-xr-x | htdocs/search/cust_main.cgi | 235 | ||||
| -rwxr-xr-x | htdocs/search/cust_main.html | 36 | ||||
| -rwxr-xr-x | htdocs/search/cust_pkg.cgi | 122 | ||||
| -rwxr-xr-x | htdocs/search/svc_acct.cgi | 186 | ||||
| -rwxr-xr-x | htdocs/search/svc_acct.html | 21 | ||||
| -rwxr-xr-x | htdocs/search/svc_acct_sm.cgi | 128 | ||||
| -rwxr-xr-x | htdocs/search/svc_acct_sm.html | 23 | ||||
| -rwxr-xr-x | htdocs/search/svc_domain.cgi | 139 | ||||
| -rwxr-xr-x | htdocs/search/svc_domain.html | 22 | 
12 files changed, 0 insertions, 1000 deletions
diff --git a/htdocs/search/cust_bill.cgi b/htdocs/search/cust_bill.cgi deleted file mode 100755 index 5be84b79e..000000000 --- a/htdocs/search/cust_bill.cgi +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/perl -Tw -# -# cust_bill.cgi: Search for invoices (process form) -# -# Usage: post form to: -#        http://server.name/path/cust_bill.cgi -# -# Note: Should be run setuid freeside as user nobody. -# -# ivan@voicenet.com 97-apr-4 -# -# Changes to allow page to work at a relative position in server -#       bmccane@maxbaud.net     98-apr-3 - -use strict; -use CGI::Request; -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearchs); - -my($req)=new CGI::Request; -cgisuidsetup($req->cgi); - -$req->param('invnum') =~ /^\s*(FS-)?(\d+)\s*$/; -my($invnum)=$2; - -if ( qsearchs('cust_bill',{'invnum'=>$invnum}) ) { -  $req->cgi->redirect("../view/cust_bill.cgi?$invnum");  #redirect -} else { #error -  CGI::Base::SendHeaders(); # one guess -  print <<END; -<HTML> -  <HEAD> -    <TITLE>Invoice Search Error</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -    <H3>Invoice Search Error</H3> -    <HR> -    Invoice not found. -    </CENTER> -  </BODY> -</HTML> -END - -} - diff --git a/htdocs/search/cust_bill.html b/htdocs/search/cust_bill.html deleted file mode 100755 index 4adb40e4a..000000000 --- a/htdocs/search/cust_bill.html +++ /dev/null @@ -1,21 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Invoice Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Invoice Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="cust_bill.cgi" METHOD="post"> -      Search for <B>invoice #</B>:  -      <INPUT TYPE="text" NAME="invnum"> - -      <P><INPUT TYPE="submit" VALUE="Search"> - -    </FORM> - -  <HR> -  </BODY> -</HTML> - diff --git a/htdocs/search/cust_main-payinfo.html b/htdocs/search/cust_main-payinfo.html deleted file mode 100755 index 92341ad13..000000000 --- a/htdocs/search/cust_main-payinfo.html +++ /dev/null @@ -1,21 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Customer Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Customer Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="cust_main.cgi" METHOD="post"> -      Search for <B>Credit card #</B>:  -      <INPUT TYPE="hidden" NAME="card_on" VALUE="TRUE"> -      <INPUT TYPE="text" NAME="card"> - -      <P><INPUT TYPE="submit" VALUE="Search"> - -    </FORM> -    <HR> -  </BODY> -</HTML> - diff --git a/htdocs/search/cust_main.cgi b/htdocs/search/cust_main.cgi deleted file mode 100755 index 70ce991f7..000000000 --- a/htdocs/search/cust_main.cgi +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/bin/perl -Tw -# -# process/cust_main.cgi: Search for customers (process form) -# -# Usage: post form to: -#        http://server.name/path/cust_main.cgi -# -# Note: Should be run setuid freeside as user nobody. -# -# ivan@voicenet.com 96-dec-12 -# -# rewrite ivan@sisd.com 98-mar-4 -# -# now does browsing too ivan@sisd.com 98-mar-6 -# -# Changes to allow page to work at a relative position in server -#       bmccane@maxbaud.net     98-apr-3 -# -# display total, use FS::CGI ivan@sisd.com 98-jul-17 - -use strict; -use CGI::Request; -use CGI::Carp qw(fatalsToBrowser); -use IO::Handle; -use IPC::Open2; -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header idiot); - -my($fuzziness)=2; #fuzziness for fuzzy searches, see man agrep -                  #0-4: 0=no fuzz, 4=very fuzzy (too much fuzz!) - -my($req)=new CGI::Request; -&cgisuidsetup($req->cgi); - -my(@cust_main); -my($sortby); - -my($query)=$req->cgi->var('QUERY_STRING'); -if ( $query eq 'custnum' ) { -  $sortby=\*custnum_sort; -  @cust_main=qsearch('cust_main',{});   -} elsif ( $query eq 'last' ) { -  $sortby=\*last_sort; -  @cust_main=qsearch('cust_main',{});   -} elsif ( $query eq 'company' ) { -  $sortby=\*company_sort; -  @cust_main=qsearch('cust_main',{});   -} else { -  &cardsearch if ($req->param('card_on') ); -  &lastsearch if ($req->param('last_on') ); -  &companysearch if ($req->param('company_on') ); -} - -if ( scalar(@cust_main) == 1 ) { -  $req->cgi->redirect("../view/cust_main.cgi?". $cust_main[0]->custnum); -  exit; -} elsif ( scalar(@cust_main) == 0 ) { -  idiot "No matching customers found!\n"; -  exit; -} else {  - -  my($total)=scalar(@cust_main); -  CGI::Base::SendHeaders(); # one guess -  print header("Customer Search Results",''), <<END; - -    $total matching customers found -    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -      <TR> -        <TH>Cust. #</TH> -        <TH>Contact name</TH> -        <TH>Company</TH> -      </TR> -END - -  my($lines)=16; -  my($lcount)=$lines; -  my(%saw,$cust_main); -  foreach $cust_main ( -    sort $sortby grep(!$saw{$_->custnum}++, @cust_main) -  ) { -    my($custnum,$last,$first,$company)=( -      $cust_main->custnum, -      $cust_main->getfield('last'), -      $cust_main->getfield('first'), -      $cust_main->company, -    ); -    print <<END; -    <TR> -      <TD><A HREF="../view/cust_main.cgi?$custnum"><FONT SIZE=-1>$custnum</FONT></A></TD> -      <TD><FONT SIZE=-1>$last, $first</FONT></TD> -      <TD><FONT SIZE=-1>$company</FONT></TD> -    </TR> -END -    if ($lcount-- == 0) { # lots of little tables instead of one big one -      $lcount=$lines; -      print <<END;    -  </TABLE> -  <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -    <TR> -      <TH>Cust. #</TH> -      <TH>Contact name</TH> -      <TH>Company<TH> -    </TR> -END -    } -  } -  -  print <<END; -    </TABLE> -    </CENTER> -  </BODY> -</HTML> -END - -} - -# - -sub last_sort { -  $a->getfield('last') cmp $b->getfield('last'); -} - -sub company_sort { -  $a->getfield('company') cmp $b->getfield('company'); -} - -sub custnum_sort { -  $a->getfield('custnum') <=> $b->getfield('custnum'); -} - -sub cardsearch { - -  my($card)=$req->param('card'); -  $card =~ s/\D//g; -  $card =~ /^(\d{13,16})$/ or do { idiot "Illegal card number\n"; exit; }; -  my($payinfo)=$1; - -  push @cust_main, qsearch('cust_main',{'payinfo'=>$payinfo, 'payby'=>'CARD'}); - -} - -sub lastsearch { -  my(%last_type); -  foreach ( $req->param('last_type') ) { -    $last_type{$_}++; -  } - -  $req->param('last_text') =~ /^([\w \,\.\-\']*)$/ -    or do { idiot "Illegal last name"; exit; }; -  my($last)=$1; - -  if ( $last_type{'Exact'} -       && ! $last_type{'Fuzzy'}  -     #  && ! $last_type{'Sound-alike'} -  ) { - -    push @cust_main, qsearch('cust_main',{'last'=>$last}); - -  } else { - -    my(%last); - -    my(@all_last)=map $_->getfield('last'), qsearch('cust_main',{}); -    if ($last_type{'Fuzzy'}) {  -      my($reader,$writer) = ( new IO::Handle, new IO::Handle ); -      open2($reader,$writer,'agrep',"-$fuzziness",'-i','-k', -            substr($last,0,30)); -      print $writer join("\n",@all_last),"\n"; -      close $writer; -      while (<$reader>) { -        chop; -        $last{$_}++; -      }  -      close $reader; -    } - -    #if ($last_type{'Sound-alike'}) { -    #} - -    foreach ( keys %last ) { -      push @cust_main, qsearch('cust_main',{'last'=>$_}); -    } - -  } -  $sortby=\*last_sort; -} - -sub companysearch { - -  my(%company_type); -  foreach ( $req->param('company_type') ) { -    $company_type{$_}++  -  }; - -  $req->param('company_text') =~ /^([\w \,\.\-\']*)$/ -    or do { idiot "Illegal company"; exit; }; -  my($company)=$1; - -  if ( $company_type{'Exact'} -       && ! $company_type{'Fuzzy'}  -     #  && ! $company_type{'Sound-alike'} -  ) { - -    push @cust_main, qsearch('cust_main',{'company'=>$company}); - -  } else { - -    my(%company); -    my(@all_company)=map $_->company, qsearch('cust_main',{}); - -    if ($company_type{'Fuzzy'}) {  -      my($reader,$writer) = ( new IO::Handle, new IO::Handle ); -      open2($reader,$writer,'agrep',"-$fuzziness",'-i','-k', -            substr($company,0,30)); -      print $writer join("\n",@all_company),"\n"; -      close $writer; -      while (<$reader>) { -        chop; -        $company{$_}++; -      } -      close $reader; -    } - -    #if ($company_type{'Sound-alike'}) { -    #} - -    foreach ( keys %company ) { -      push @cust_main, qsearch('cust_main',{'company'=>$_}); -    } - -  } -  $sortby=\*company_sort; - -} diff --git a/htdocs/search/cust_main.html b/htdocs/search/cust_main.html deleted file mode 100755 index 656943f9c..000000000 --- a/htdocs/search/cust_main.html +++ /dev/null @@ -1,36 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Customer Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Customer Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="cust_main.cgi" METHOD="post"> -      <INPUT TYPE="checkbox" NAME="last_on"> Search for <B>last name</B>:  -      <INPUT TYPE="text" NAME="last_text"> -      using search method(s): <SELECT NAME="last_type" MULTIPLE> -        <OPTION SELECTED>Fuzzy -        <OPTION>Exact -      </SELECT> - -      <P><INPUT TYPE="checkbox" NAME="company_on"> Search for <B>company</B>:  -      <INPUT TYPE="text" NAME="company_text"> -      using search methods(s): <SELECT NAME="company_type" MULTIPLE> -        <OPTION SELECTED>Fuzzy -        <OPTION>Exact -      </SELECT> - -      <P><INPUT TYPE="submit" VALUE="Search"> Note: Fuzzy searching can take a while.  Please be patient. - -    </FORM> - -  <HR>Explanation of search methods: -  <UL> -    <LI><B>Fuzzy</B> - Searches for matches that are close to your text. -    <LI><B>Exact</B> - Finds exact matches only, but much faster than the other search methods. -  </UL> -  </BODY> -</HTML> - diff --git a/htdocs/search/cust_pkg.cgi b/htdocs/search/cust_pkg.cgi deleted file mode 100755 index 967068f5e..000000000 --- a/htdocs/search/cust_pkg.cgi +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/perl -Tw -# -# cust_pkg.cgi: search/browse for packages -# -# based on search/svc_acct.cgi ivan@sisd.com 98-jul-17 - -use strict; -use CGI::Request; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header idiot); - -my($req)=new CGI::Request; -&cgisuidsetup($req->cgi); - -my(@cust_pkg,$sortby); - -my($query)=$req->cgi->var('QUERY_STRING'); -#this tree is a little bit redundant -if ( $query eq 'pkgnum' ) { -  $sortby=\*pkgnum_sort; -  @cust_pkg=qsearch('cust_pkg',{}); -} elsif ( $query eq 'APKG_pkgnum' ) { -  $sortby=\*pkgnum_sort; - -  #perhaps this should go in cust_pkg as a qsearch-like constructor? -  my($cust_pkg); -  foreach $cust_pkg (qsearch('cust_pkg',{})) { -    my($flag)=0; -    my($pkg_svc); -    PKG_SVC:  -    foreach $pkg_svc (qsearch('pkg_svc',{ 'pkgpart' => $cust_pkg->pkgpart })) { -      if ( $pkg_svc->quantity  -           > scalar(qsearch('cust_svc',{ -               'pkgnum' => $cust_pkg->pkgnum, -               'svcpart' => $pkg_svc->svcpart, -             })) -         ) -      { -        $flag=1; -        last PKG_SVC; -      } -    } -    push @cust_pkg, $cust_pkg if $flag; -  } -} else { -  die "Empty QUERY_STRING!"; -} - -if ( scalar(@cust_pkg) == 1 ) { -  my($pkgnum)=$cust_pkg[0]->pkgnum; -  $req->cgi->redirect("../view/cust_pkg.cgi?$pkgnum"); -  exit; -} elsif ( scalar(@cust_pkg) == 0 ) { #error -  &idiot("No packages found"); -  exit; -} else { -  my($total)=scalar(@cust_pkg); -  CGI::Base::SendHeaders(); # one guess -  print header('Package Search Results',''), <<END; -    $total matching packages found -    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -      <TR> -        <TH>Package #</TH> -        <TH>Customer #</TH> -        <TH>Name</TH> -        <TH>Company</TH> -      </TR> -END - -  my($lines)=16; -  my($lcount)=$lines; -  my(%saw,$cust_pkg); -  foreach $cust_pkg ( -    sort $sortby grep(!$saw{$_->pkgnum}++, @cust_pkg) -  ) { -    my($cust_main)=qsearchs('cust_main',{'custnum'=>$cust_pkg->custnum}); -    my($pkgnum,$custnum,$name,$company)=( -      $cust_pkg->pkgnum, -      $cust_main->custnum, -      $cust_main->last. ', '. $cust_main->first, -      $cust_main->company, -    ); -    print <<END; -    <TR> -      <TD><A HREF="../view/cust_pkg.cgi?$pkgnum"><FONT SIZE=-1>$pkgnum</FONT></A></TD> -      <TD><FONT SIZE=-1>$custnum</FONT></TD> -      <TD><FONT SIZE=-1>$name</FONT></TD> -      <TD><FONT SIZE=-1>$company</FONT></TD> -    </TR> -END -    if ($lcount-- == 0) { # lots of little tables instead of one big one -      $lcount=$lines; -      print <<END;    -  </TABLE> -  <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -    <TR> -        <TH>Package #</TH> -        <TH>Customer #</TH> -        <TH>Name</TH> -        <TH>Company</TH> -      <TH> -    </TR> -END -    } -  } -  -  print <<END; -    </TABLE> -    </CENTER> -  </BODY> -</HTML> -END -  exit; - -} - -sub pkgnum_sort { -  $a->getfield('pkgnum') <=> $b->getfield('pkgnum'); -} - diff --git a/htdocs/search/svc_acct.cgi b/htdocs/search/svc_acct.cgi deleted file mode 100755 index 250a741db..000000000 --- a/htdocs/search/svc_acct.cgi +++ /dev/null @@ -1,186 +0,0 @@ -#!/usr/bin/perl -Tw -# -# svc_acct.cgi: Search for customers (process form) -# -# Usage: post form to: -#        http://server.name/path/svc_acct.cgi -# -# Note: Should be run setuid freeside as user nobody. -# -# loosely (sp?) based on search/cust_main.cgi -# -# ivan@voicenet.com 96-jan-3 -> 96-jan-4 -# -# rewrite (now does browsing too) ivan@sisd.com 98-mar-9 -# -# Changes to allow page to work at a relative position in server -#       bmccane@maxbaud.net     98-apr-3 -# -# show unlinked accounts ivan@sisd.com 98-jun-22 -# -# use FS::CGI, show total ivan@sisd.com 98-jul-17 -# -# give service and customer info too ivan@sisd.com 98-aug-16 - -use strict; -use CGI::Request; # form processing module -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header idiot); - -my($req)=new CGI::Request; # create form object -&cgisuidsetup($req->cgi); - -my(@svc_acct,$sortby); - -my($query)=$req->cgi->var('QUERY_STRING'); -#this tree is a little bit redundant -if ( $query eq 'svcnum' ) { -  $sortby=\*svcnum_sort; -  @svc_acct=qsearch('svc_acct',{}); -} elsif ( $query eq 'username' ) { -  $sortby=\*username_sort; -  @svc_acct=qsearch('svc_acct',{}); -} elsif ( $query eq 'uid' ) { -  $sortby=\*uid_sort; -  @svc_acct=grep $_->uid ne '', qsearch('svc_acct',{}); -} elsif ( $query eq 'UN_svcnum' ) { -  $sortby=\*svcnum_sort; -  @svc_acct = grep qsearchs('cust_svc',{ -      'svcnum' => $_->svcnum, -      'pkgnum' => '', -    }), qsearch('svc_acct',{}); -} elsif ( $query eq 'UN_username' ) { -  $sortby=\*username_sort; -  @svc_acct = grep qsearchs('cust_svc',{ -      'svcnum' => $_->svcnum, -      'pkgnum' => '', -    }), qsearch('svc_acct',{}); -} elsif ( $query eq 'UN_uid' ) { -  $sortby=\*uid_sort; -  @svc_acct = grep qsearchs('cust_svc',{ -      'svcnum' => $_->svcnum, -      'pkgnum' => '', -    }), qsearch('svc_acct',{}); -} else { -  &usernamesearch; -} - -if ( scalar(@svc_acct) == 1 ) { -  my($svcnum)=$svc_acct[0]->svcnum; -  $req->cgi->redirect("../view/svc_acct.cgi?$svcnum");  #redirect -  exit; -} elsif ( scalar(@svc_acct) == 0 ) { #error -  idiot("Account not found"); -  exit; -} else { -  my($total)=scalar(@svc_acct); -  CGI::Base::SendHeaders(); # one guess -  print header("Account Search Results",''), <<END; -    $total matching accounts found -    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -      <TR> -        <TH>Service #</TH> -        <TH>Username</TH> -        <TH>UID</TH> -        <TH>Service</TH> -        <TH>Customer #</TH> -        <TH>Contact name</TH> -        <TH>Company</TH> -      </TR> -END - -  my($lines)=16; -  my($lcount)=$lines; -  my(%saw,$svc_acct); -  foreach $svc_acct ( -    sort $sortby grep(!$saw{$_->svcnum}++, @svc_acct) -  ) { -    my $cust_svc = qsearchs('cust_svc', { 'svcnum' => $svc_acct->svcnum }) -      or die "No cust_svc record for svcnum ". $svc_acct->svcnum; -    my $part_svc = qsearchs('part_svc', { 'svcpart' => $cust_svc->svcpart }) -      or die "No part_svc record for svcpart ". $cust_svc->svcpart; -    my($cust_pkg,$cust_main); -    if ( $cust_svc->pkgnum ) { -      $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cust_svc->pkgnum }) -        or die "No cust_pkg record for pkgnum ". $cust_svc->pkgnum; -      $cust_main = qsearchs('cust_main', { 'custnum' => $cust_pkg->custnum }) -        or die "No cust_main record for custnum ". $cust_pkg->custnum; -    } -    my($svcnum,$username,$uid,$svc,$custnum,$last,$first,$company)=( -      $svc_acct->svcnum, -      $svc_acct->getfield('username'), -      $svc_acct->getfield('uid'), -      $part_svc->svc, -      $cust_svc->pkgnum ? $cust_main->custnum : '', -      $cust_svc->pkgnum ? $cust_main->getfield('last') : '', -      $cust_svc->pkgnum ? $cust_main->getfield('first') : '', -      $cust_svc->pkgnum ? $cust_main->company : '', -    ); -    my($pcustnum) = $custnum -      ? "<A HREF=\"../view/cust_main.cgi?$custnum\"><FONT SIZE=-1>$custnum</FONT></A>" -      : "<I>(unlinked)</I>" -    ; -    my($pname) = $custnum ? "$last, $first" : ''; -    print <<END; -    <TR> -      <TD><A HREF="../view/svc_acct.cgi?$svcnum"><FONT SIZE=-1>$svcnum</FONT></A></TD> -      <TD><FONT SIZE=-1>$username</FONT></TD> -      <TD><FONT SIZE=-1>$uid</FONT></TD> -      <TD><FONT SIZE=-1>$svc</FONT></TH> -      <TD><FONT SIZE=-1>$pcustnum</FONT></TH> -      <TD><FONT SIZE=-1>$pname<FONT></TH> -      <TD><FONT SIZE=-1>$company</FONT></TH> -    </TR> -END -    if ($lcount-- == 0) { # lots of little tables instead of one big one -      $lcount=$lines; -      print <<END;    -  </TABLE> -  <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -    <TR> -      <TH>Service #</TH> -      <TH>Userame</TH> -      <TH>UID</TH> -        <TH>Service</TH> -        <TH>Customer #</TH> -        <TH>Contact name</TH> -        <TH>Company</TH> -    </TR> -END -    } -  } -  -  print <<END; -    </TABLE> -    </CENTER> -  </BODY> -</HTML> -END -  exit; - -} - -sub svcnum_sort { -  $a->getfield('svcnum') <=> $b->getfield('svcnum'); -} - -sub username_sort { -  $a->getfield('username') cmp $b->getfield('username'); -} - -sub uid_sort { -  $a->getfield('uid') <=> $b->getfield('uid'); -} - -sub usernamesearch { - -  $req->param('username') =~ /^([\w\d\-]{2,8})$/; #untaint username_text -  my($username)=$1; - -  @svc_acct=qsearch('svc_acct',{'username'=>$username}); - -} - - diff --git a/htdocs/search/svc_acct.html b/htdocs/search/svc_acct.html deleted file mode 100755 index 91291be99..000000000 --- a/htdocs/search/svc_acct.html +++ /dev/null @@ -1,21 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Account Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Account Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="svc_acct.cgi" METHOD="post"> -      Search for <B>username</B>:  -      <INPUT TYPE="text" NAME="username"> - -      <P><INPUT TYPE="submit" VALUE="Search"> - -    </FORM> - -  <HR> -  </BODY> -</HTML> - diff --git a/htdocs/search/svc_acct_sm.cgi b/htdocs/search/svc_acct_sm.cgi deleted file mode 100755 index 3b1a4cf4e..000000000 --- a/htdocs/search/svc_acct_sm.cgi +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/perl -Tw -# -# svc_acct_sm.cgi: Search for domains (process form) -# -# Usage: post form to: -#        http://server.name/path/svc_domain.cgi -# -# Note: Should be run setuid freeside as user nobody. -# -# ivan@voicenet.com 96-mar-5 -# -# need to look at table in results to make it more readable -# -# ivan@voicenet.com -# -# rewrite ivan@sisd.com 98-mar-15 -# -# Changes to allow page to work at a relative position in server -#       bmccane@maxbaud.net     98-apr-3 - -use strict; -use CGI::Request; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); - -my($conf_domain)="/var/spool/freeside/conf/domain"; -open(DOMAIN,$conf_domain) or die "Can't open $conf_domain: $!"; -my($mydomain)=map { -  /^(.*)$/ or die "Illegal line in $conf_domain!"; #yes, we trust the file -  $1 -} grep $_ !~ /^(#|$)/, <DOMAIN>; -close DOMAIN; - -my($req)=new CGI::Request; # create form object -&cgisuidsetup($req->cgi); - -$req->param('domuser') =~ /^([a-z0-9_\-]{0,32})$/; -my($domuser)=$1; - -$req->param('domain') =~ /^([\w\-\.]+)$/ or die "Illegal domain"; -my($svc_domain)=qsearchs('svc_domain',{'domain'=>$1}) -  or die "Unknown domain"; -my($domsvc)=$svc_domain->svcnum; - -my(@svc_acct_sm); -if ($domuser) { -  @svc_acct_sm=qsearch('svc_acct_sm',{ -    'domuser' => $domuser, -    'domsvc'  => $domsvc, -  }); -} else { -  @svc_acct_sm=qsearch('svc_acct_sm',{'domsvc' => $domsvc}); -} - -if ( scalar(@svc_acct_sm) == 1 ) { -  my($svcnum)=$svc_acct_sm[0]->svcnum; -  $req->cgi->redirect("../view/svc_acct_sm.cgi?$svcnum");  #redirect -} elsif ( scalar(@svc_acct_sm) > 1 ) { -  CGI::Base::SendHeaders(); -  print <<END; -<HTML> -  <HEAD> -    <TITLE>Mail Alias Search Results</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -    <H4>Mail Alias Search Results</H4> -    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -      <TR> -        <TH>Mail to<BR><FONT SIZE=-2>(click here to view mail alias)</FONT></TH> -        <TH>Forwards to<BR><FONT SIZE=-2>(click here to view account)</FONT></TH> -      </TR> -END - -  my($svc_acct_sm); -  foreach $svc_acct_sm (@svc_acct_sm) { -    my($svcnum,$domuser,$domuid,$domsvc)=( -      $svc_acct_sm->svcnum, -      $svc_acct_sm->domuser, -      $svc_acct_sm->domuid, -      $svc_acct_sm->domsvc, -    ); -    my($svc_domain)=qsearchs('svc_domain',{'svcnum'=>$domsvc}); -    my($domain)=$svc_domain->domain; -    my($svc_acct)=qsearchs('svc_acct',{'uid'=>$domuid}); -    my($username)=$svc_acct->username; -    my($svc_acct_svcnum)=$svc_acct->svcnum; - -    print <<END; -<TR>\n        <TD> <A HREF="../view/svc_acct_sm.cgi?$svcnum"> -END - -    print '', ( ($domuser eq '*') ? "<I>(anything)</I>" : $domuser ); - -    print <<END; -\@$domain</A> </TD>\n -<TD> <A HREF="../view/svc_acct.cgi?$svc_acct_svcnum">$username\@$mydomain</A> </TD>\n      </TR>\n -END - -  } - -  print <<END; -      </TABLE> -    </CENTER> -  </BODY> -</HTML> -END - -} else { #error -  CGI::Base::SendHeaders(); # one guess -  print <<END; -<HTML> -  <HEAD> -    <TITLE>Mail Alias Search Error</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -    <H3>Mail Alias Search Error</H3> -    <HR> -    Mail Alias not found. -    </CENTER> -  </BODY> -</HTML> -END - -} - diff --git a/htdocs/search/svc_acct_sm.html b/htdocs/search/svc_acct_sm.html deleted file mode 100755 index 0719856db..000000000 --- a/htdocs/search/svc_acct_sm.html +++ /dev/null @@ -1,23 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Mail Alias Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Mail Alias Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="svc_acct_sm.cgi" METHOD="post"> -      Search for <B>mail alias</B>:  -      <INPUT TYPE="text" NAME="domuser"><FONT SIZE=-1>(opt.)</FONT> @ -      <INPUT TYPE="text" NAME="domain"><FONT SIZE=-1>(req.)</FONT> - -      <P><INPUT TYPE="submit" VALUE="Search"> - -    </FORM> - -  <HR> - -  </BODY> -</HTML> - diff --git a/htdocs/search/svc_domain.cgi b/htdocs/search/svc_domain.cgi deleted file mode 100755 index d5277037b..000000000 --- a/htdocs/search/svc_domain.cgi +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/perl -Tw -# -# svc_domain.cgi: Search for domains (process form) -# -# Usage: post form to: -#        http://server.name/path/svc_domain.cgi -# -# Note: Should be run setuid freeside as user nobody. -# -# ivan@voicenet.com 97-mar-5 -# -# rewrite ivan@sisd.com 98-mar-14 -# -# Changes to allow page to work at a relative position in server -#       bmccane@maxbaud.net     98-apr-3 -# -# display total, use FS::CGI now does browsing too ivan@sisd.com 98-jul-17 - -use strict; -use CGI::Request; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header idiot); - -my($req)=new CGI::Request; -&cgisuidsetup($req->cgi); - -my(@svc_domain); -my($sortby); - -my($query)=$req->cgi->var('QUERY_STRING'); -if ( $query eq 'svcnum' ) { -  $sortby=\*svcnum_sort; -  @svc_domain=qsearch('svc_domain',{}); -} elsif ( $query eq 'domain' ) { -  $sortby=\*domain_sort; -  @svc_domain=qsearch('svc_domain',{}); -} elsif ( $query eq 'UN_svcnum' ) { -  $sortby=\*svcnum_sort; -  @svc_domain = grep qsearchs('cust_svc',{ -      'svcnum' => $_->svcnum, -      'pkgnum' => '', -    }), qsearch('svc_domain',{}); -} elsif ( $query eq 'UN_domain' ) { -  $sortby=\*domain_sort; -  @svc_domain = grep qsearchs('cust_svc',{ -      'svcnum' => $_->svcnum, -      'pkgnum' => '', -    }), qsearch('svc_domain',{}); -} else { -  $req->param('domain') =~ /^([\w\-\.]+)$/;  -  my($domain)=$1; -  push @svc_domain, qsearchs('svc_domain',{'domain'=>$domain}); -} - -if ( scalar(@svc_domain) == 1 ) { -  $req->cgi->redirect("../view/svc_domain.cgi?". $svc_domain[0]->svcnum); -  exit; -} elsif ( scalar(@svc_domain) == 0 ) { -  idiot "No matching domains found!\n"; -  exit; -} else { -  CGI::Base::SendHeaders(); # one guess - -  my($total)=scalar(@svc_domain); -  CGI::Base::SendHeaders(); # one guess -  print header("Domain Search Results",''), <<END; - -    $total matching domains found -    <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -      <TR> -        <TH>Service #</TH> -        <TH>Domain</TH> -        <TH></TH> -      </TR> -END - -  my($lines)=16; -  my($lcount)=$lines; -  my(%saw,$svc_domain); -  foreach $svc_domain ( -    sort $sortby grep(!$saw{$_->svcnum}++, @svc_domain) -  ) { -    my($svcnum,$domain)=( -      $svc_domain->svcnum, -      $svc_domain->domain, -    ); -    my($malias); -    if ( qsearch('svc_acct_sm',{'domsvc'=>$svcnum}) ) { -      $malias=( -        qq|<FORM ACTION="svc_acct_sm.cgi" METHOD="post">|. -          qq|<INPUT TYPE="hidden" NAME="domuser" VALUE="">|. -          qq|<INPUT TYPE="hidden" NAME="domain" VALUE="$domain">|. -          qq|<INPUT TYPE="submit" VALUE="(mail aliases)">|. -          qq|</FORM>| -      ); -    } else { -      $malias=''; -    } -    print <<END; -    <TR> -      <TD><A HREF="../view/svc_domain.cgi?$svcnum"><FONT SIZE=-1>$svcnum</FONT></A></TD> -      <TD><FONT SIZE=-1>$domain</FONT></TD> -      <TD><FONT SIZE=-1>$malias</FONT></TD> -    </TR> -END -    if ($lcount-- == 0) { # lots of little tables instead of one big one -      $lcount=$lines; -      print <<END;    -  </TABLE> -  <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0> -    <TR> -      <TH>Service #</TH> -      <TH>Domain</TH> -      <TH></TH> -    </TR> -END -    } -  } -  -  print <<END; -    </TABLE> -    </CENTER> -  </BODY> -</HTML> -END - -} - -sub svcnum_sort { -  $a->getfield('svcnum') <=> $b->getfield('svcnum'); -} - -sub domain_sort { -  $a->getfield('domain') cmp $b->getfield('doimain'); -} - - diff --git a/htdocs/search/svc_domain.html b/htdocs/search/svc_domain.html deleted file mode 100755 index 533743ba2..000000000 --- a/htdocs/search/svc_domain.html +++ /dev/null @@ -1,22 +0,0 @@ -<HTML> -  <HEAD> -    <TITLE>Domain Search</TITLE> -  </HEAD> -  <BODY> -    <CENTER> -      <H1>Domain Search</H1> -    </CENTER> -    <HR> -    <FORM ACTION="svc_domain.cgi" METHOD="post"> -      Search for <B>domain</B>:  -      <INPUT TYPE="text" NAME="domain"> - -      <P><INPUT TYPE="submit" VALUE="Search"> - -    </FORM> - -  <HR> - -  </BODY> -</HTML> -  | 
