#!/usr/bin/perl

#################################################################################################################################
####													#########################################################################
####		fbf data to csv script				  		#########################################################################
####		started		2007-02-14						#########################################################################
####		author		David M. Flahive				#########################################################################
####		property of Texas Ag. Extension Service		#########################################################################
####													#########################################################################
#################################################################################################################################

use DBI;
use DBD::mysql;
use File::Touch;
use strict;
use locale;

sub make_cvs {

	my($fileout,$table,$tablename) = @_;
	my $db = DBI->connect("DBI:mysql:fbf:localhost:3306", "root", "", { RaiseError => 1, AutoCommit =>1 });
	
	sysopen(OUT,$fileout,2,0755);
	
	my $query = $db->prepare("SELECT * FROM form WHERE deleted = '0' AND tablename = '" . $table . "' ORDER BY priority;");
	my $count = 0; 
	my $selectSTR = "";
	$query->execute;
	while (my $row_hash = $query->fetchrow_hashref) {
		if ($count != 0 && $count != $query->rows){
			printf(OUT ",");
			$selectSTR = $selectSTR . ",";
		}
		printf(OUT "\"");
		printf(OUT "%s",$row_hash->{"title"});
		printf(OUT "\"");
		$selectSTR = $selectSTR . "UD_" . $row_hash->{"id"};
		$count++;
	}
	printf(OUT "\n");
	$query->finish;

	my @columns = split(/,/, $selectSTR);
	$query = $db->prepare("SELECT " . $selectSTR . " FROM " . $tablename . ";");
	$query->execute;
	while (my $row_hash = $query->fetchrow_hashref){
		$count = 0;
		foreach(@columns){
			if ($count != 0 && $count != (scalar @columns)){
				printf(OUT ",");
			}
			printf(OUT "\"");
			printf(OUT "%s",$row_hash->{$_});
			printf(OUT "\"");
			$count++;
		}
		printf(OUT "\n");	
	}
	$query->finish;
	
	close(OUT);
	
	$db->disconnect;
}

#################################################################################################################################
##>>>>				Begin Main Function		       <<<<##########################################################################
#################################################################################################################################

my $memberfile = "/www/fbf/officers/members.csv";
my $contribfile = "/www/fbf/officers/contribs.csv";

unlink($memberfile);
touch($memberfile);
chmod 0775 ,$memberfile;
unlink($contribfile);
touch($contribfile);
chmod 0775 ,$contribfile;

make_cvs($memberfile,"member","memberdata");
make_cvs($contribfile,"contrib","contribdata");
