5 ###################################################
7 $dbname = "phpgroupware";
8 $dbhost = "192.168.0.2";
10 $dbuser = "phpgroupware";
11 $dbpass = "phpgroupware";
12 %hometeaching_data = ();
13 %membership_data = ();
16 $monthname2num{'Jan'} = '01';
17 $monthname2num{'Feb'} = '02';
18 $monthname2num{'Mar'} = '03';
19 $monthname2num{'Apr'} = '04';
20 $monthname2num{'May'} = '05';
21 $monthname2num{'Jun'} = '06';
22 $monthname2num{'Jul'} = '07';
23 $monthname2num{'Aug'} = '08';
24 $monthname2num{'Sep'} = '09';
25 $monthname2num{'Oct'} = '10';
26 $monthname2num{'Nov'} = '11';
27 $monthname2num{'Dec'} = '12';
29 ######################################################################
31 ######################################################################
34 my ($filename, $hashref) = @_;
36 open(FILE,$filename) || die "-E- Could not open $filename for reading\n";
38 my $found_header = 0; my $index = 0;
42 @data = split /\",/, $line;
43 if(!$found_header) { @header = @data; $found_header = 1; }
45 foreach $i (0..$#data-1) {
47 $header[$i] =~ s/\"//g;
48 $hashref->{$index}{$header[$i]} = $data[$i];
49 #print "$index: $i: $header[$i]: $data[$i]\n";
58 ######################################################################
63 foreach $key (sort {$a <=> $b} keys %$hashref) {
64 print "Index: $key\n";
65 foreach $field (keys %{$hashref->{$key}}) {
66 print "$field: $hashref->{$key}{$field}\n";
72 ######################################################################
77 foreach $key (sort {$a <=> $b} keys %$hashref) {
80 foreach $field (keys %{$hashref->{$key}}) {
81 if($field =~ /Full Name/) { $name = $hashref->{$key}{$field}; }
82 if($field =~ /Birth/) { $birthday = $hashref->{$key}{$field}; }
84 if($name ne "" && $birthday ne "") { printf "%-30s %-10s\n",$name,$birthday; }
88 ######################################################################
90 ######################################################################
92 ###################################################
93 # Open a connection to the database
94 $dbh=DBI->connect("dbi:mysql:dbname=$dbname;host=$dbhost port=$dbport",$dbuser,$dbpass,{
96 PrintError=>0}) or print "Connect Failure:".$DBI::errstr."\n" and exit 2;
98 ###################################################
99 # Process command line options
100 if(defined $opt_n) { $datadir = $opt_n; }
101 else { $datadir = shift(@ARGV); }
102 print "-> Processing all ward data files in $datadir\n";
104 ###################################################
105 # Parse Ward Data Files
106 &csv_to_hash("$datadir/Membership.csv",\%membership_data);
107 &csv_to_hash("$datadir/HomeTeaching.csv",\%hometeaching_data);
110 print "-> Membership Data Dump\n\n";
111 &print_hash(\%membership_data);
112 print "-> HomeTeaching Data Dump\n\n";
113 &print_hash(\%hometeaching_data);
116 if($opt_b) { &print_birthdays(\%membership_data); }
118 if($opt_s) { $dbh->disconnect(); exit; }
120 ###################################################
121 # Disconnect from the database
124 ######################################################################