home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / cbb / reports.pl < prev    next >
Perl Script  |  1998-10-07  |  4KB  |  132 lines

  1. #!/usr/bin/perl
  2. #  reports.pl - code for various reports
  3. #
  4. #  Written by Curtis Olson.  Started November 12, 1994.
  5. #
  6. #  Copyright (C) 1994 - 1997  Curtis L. Olson  - curt@sledge.mn.org
  7. #
  8. #  This program is free software; you can redistribute it and/or modify
  9. #  it under the terms of the GNU General Public License as published by
  10. #  the Free Software Foundation; either version 2 of the License, or
  11. #  (at your option) any later version.
  12. #
  13. #  This program is distributed in the hope that it will be useful,
  14. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. #  GNU General Public License for more details.
  17. #
  18. #  You should have received a copy of the GNU General Public License
  19. #  along with this program; if not, write to the Free Software
  20. #  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22. # $Id: reports.pl,v 2.5 1997/01/18 03:28:45 curt Exp $
  23. # (Log is kept at end of this file)
  24.  
  25.  
  26. package CBB;
  27.  
  28. use strict;    # don't take no guff
  29.  
  30.  
  31. my($cbb_incl_dir);
  32.  
  33.  
  34. # specify the installed location of the necessary pieces.
  35.  
  36. $cbb_incl_dir = "..";
  37. unshift(@INC, $cbb_incl_dir);
  38.  
  39. require "common.pl";
  40.  
  41.  
  42. # process arguments
  43. sub process_rep_args {
  44.     my($fromdate, $todate) = ("all", "all");
  45.     my($arg, $nicefrom, $niceto, $month, $day, $year, $cur_year);
  46.     my($i, @account_list);
  47.  
  48.     $cur_year = substr(&raw_date, 0, 4);
  49.  
  50.     $i = 0;
  51.  
  52.     while ( $#ARGV >= 0 ) {
  53.         $arg = shift(@ARGV);
  54.         if ( substr($arg, 0 , 1) eq "-" ) {
  55.             if ( $arg eq "-from" ) {
  56.                 $nicefrom = shift(@ARGV);
  57.  
  58.                 ($month, $day, $year) = split(/\//, $nicefrom);
  59.                 $month = &pad($month);
  60.                 $day = &pad($day);
  61.         if ( defined($year) ) {
  62.                     $year = &pad($year);
  63.         } else {
  64.             $year = $cur_year;
  65.         }
  66.                 if ( length($year) == 2 ) {
  67.                     $year = ¢ury() . "$year";
  68.                 }
  69.                 $fromdate = "$year" . "$month" . "$day";
  70.  
  71.                 # print "from $fromdate\n";
  72.             } elsif ( $arg eq "-to" ) {
  73.                 $niceto = shift(@ARGV);
  74.  
  75.                 ($month, $day, $year) = split(/\//, $niceto);
  76.                 $month = &pad($month);
  77.                 $day = &pad($day);
  78.         if ( defined($year) ) {
  79.                     $year = &pad($year);
  80.         } else {
  81.             $year = $cur_year;
  82.         }
  83.                 $year = &pad($year);
  84.                 if ( length($year) == 2 ) {
  85.                     $year = ¢ury() . "$year";
  86.                 }
  87.                 $todate = "$year" . "$month" . "$day";
  88.  
  89.                 # print "to $todate\n";
  90.             } elsif ( $arg eq "-to" ) {
  91.                 $niceto = shift(@ARGV);
  92.                 # print "to $todate\n";
  93.             }
  94.         } else {
  95.         $account_list[$i++] = $arg;
  96.         }
  97.     }
  98.  
  99.     return($fromdate, $todate, @account_list);
  100. }
  101.  
  102.  
  103. 1;
  104.  
  105.  
  106. # ----------------------------------------------------------------------------
  107. # $Log: reports.pl,v $
  108. # Revision 2.5  1997/01/18 03:28:45  curt
  109. # Added "use strict" pragma to enforce good scoping habits.
  110. #
  111. # Revision 2.4  1996/12/17 14:54:02  curt
  112. # Updated copyright date.
  113. #
  114. # Revision 2.3  1996/10/03 03:52:58  curt
  115. # CBB now determines the current century automatically ... no need for it
  116. # to be hard coded.  Removed all hardcoded instances of the century (especially
  117. # in reports.pl and recur.pl)
  118. #
  119. # Added an optional --debug flag to the invocation of CBB.
  120. #
  121. # Revision 2.2  1996/07/13 02:57:52  curt
  122. # Version 0.65
  123. # Packing Changes
  124. # Documenation changes
  125. # Changes to handle a value in both debit and credit fields.
  126. #
  127. # Revision 2.1  1996/02/27  05:35:51  curt
  128. # Just stumbling around a bit with cvs ... :-(
  129. #
  130. # Revision 2.0  1996/02/27  04:43:04  curt
  131. # Initial 2.0 revision.  (See "Log" files for old history.)
  132.