<?php $objPersonCursor = Person::QueryCursor(QQ::All()); QDataGen::DisplayForEachTaskStart('Refreshing Person data', Person::CountAll()); while ($objPerson = Person::InstantiateCursor($objPersonCursor)) { QDataGen::DisplayForEachTaskNext('Refreshing Person data'); $objPerson->RefreshAge(false); $objPerson->RefreshMaritalStatusTypeId(false); $objPerson->RefreshMembershipStatusTypeId(false); $objPerson->RefreshPrimaryContactInfo(true); $objPerson->RefreshNameItemAssociations(); } QDataGen::DisplayForEachTaskEnd('Refreshing Person data'); $objHouseholdCursor = Household::QueryCursor(QQ::All()); QDataGen::DisplayForEachTaskStart('Refreshing Household data', Household::CountAll()); while ($objHousehold = Household::InstantiateCursor($objHouseholdCursor)) { QDataGen::DisplayForEachTaskNext('Refreshing Household data'); $objHousehold->RefreshMembers(false); $objMarriedPersonArray = array(); foreach ($objHousehold->GetHouseholdParticipationArray() as $objParticipation) { if ($objParticipation->Person->MaritalStatusTypeId == MaritalStatusType::Married && $objParticipation->Person->CountMarriages() == 1) { $objMarriedPersonArray[] = $objParticipation->Person; } } if (count($objMarriedPersonArray) == 2) { $objMarriedPersonArray[0]->DeleteAllMarriages(); $objMarriedPersonArray[1]->DeleteAllMarriages(); $objMarriedPersonArray[0]->CreateMarriageWith($objMarriedPersonArray[1]); } else { if (count($objMarriedPersonArray)) { print "\r\nWhat!? Household " . $objHousehold->Id . " has a marriage count of " . count($objMarriedPersonArray) . "!\r\n";
{ return '"' . str_replace('"', '""', $strString) . '"'; } $objParameters = new QCliParameterProcessor('export-stewardship-roster', 'ALCF Export Stewardship Roster to CSV'); $objParameters->AddDefaultParameter('year', QCliParameterType::Integer, 'The year of giving data to use'); $objParameters->AddDefaultParameter('export_path', QCliParameterType::Path, 'The folder to export to'); $objParameters->Run(); $intYear = $objParameters->GetDefaultValue('year'); $strFolder = $objParameters->GetDefaultValue('export_path'); $fltMinimumAmount = 0; $objFile = fopen($strFolder . '/contributors.csv', 'w'); fwrite($objFile, 'Salutation,MailingName,CompanyFacilityEtc,Address1,Address2,City,State,ZipCode' . "\r\n"); $objConditions = QQ::All(); // $objConditions = QQ::AndCondition($objConditions,QQ::Equal(QQN::Household()->HeadPerson->CanMailFlag, true)); $objHouseholdCursor = Household::QueryCursor($objConditions, QQ::OrderBy(QQN::Household()->HeadPerson->LastName)); QDataGen::DisplayForEachTaskStart('Generating CSV Row(s) for Household', Household::CountAll()); while ($objHousehold = Household::InstantiateCursor($objHouseholdCursor)) { QDataGen::DisplayForEachTaskNext('Generating CSV Row(s) for Household'); // Generate for the whole household if ($objHousehold->CombinedStewardshipFlag) { if ($objAddress = $objHousehold->GetStewardshipAddress()) { $intPersonIdArray = StewardshipContribution::GetPersonIdArrayForPersonOrHousehold($objHousehold); $objContributionAmountArray = StewardshipContribution::GetContributionAmountArrayForPersonArray($intPersonIdArray, $intYear); $fltAmount = StewardshipContribution::GetContributionAmountTotalForContributionAmountArray($objContributionAmountArray, false); if ($fltAmount > $fltMinimumAmount) { $objSpouse = $objHousehold->SpousePerson; if ($objSpouse) { // Head person says do not mail, but spouse says mail // Or if Head person is deceased and spouse says mail if (!$objHousehold->HeadPerson->CanMailFlag && $objSpouse->CanMailFlag || $objHousehold->HeadPerson->DeceasedFlag && $objSpouse->CanMailFlag) { fwrite($objFile, EscapeCsv($objSpouse->FirstName) . ',' . EscapeCsv($objHousehold->StewardshipHouseholdName) . ',' . EscapeCsv($objAddress->Address3) . ',' . EscapeCsv($objAddress->Address1) . ',' . EscapeCsv($objAddress->Address2) . ',' . EscapeCsv($objAddress->City) . ',' . EscapeCsv($objAddress->State) . ',' . EscapeCsv($objAddress->ZipCode) . "\r\n");
// Setup Zend Framework load set_include_path(get_include_path() . ':' . __INCLUDES__); require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Pdf'); print "Generating Receipts PDF for " . $intYear . "\r\n"; // Delete Old Files exec('rm -r -f ' . RECEIPT_PDF_PATH . '/ReceiptsFor' . $intYear . '*.pdf'); // Create the PDF Object for the Single and Multiple-page PDFs $intSingplePageCount = 1; $objSinglePagePdf = new Zend_Pdf(); $objMultiplePagePdf = new Zend_Pdf(); $objInvalidAddressPdf = new Zend_Pdf(); $objDeceasedPdf = new Zend_Pdf(); //QQ::All() $objHouseholdCursor = Household::QueryCursor(QQ::Equal(QQN::Household()->HeadPerson->CanMailFlag, true), QQ::OrderBy(QQN::Household()->HeadPerson->LastName)); QDataGen::DisplayForEachTaskStart('Generating Receipt for Household', Household::CountAll()); while ($objHousehold = Household::InstantiateCursor($objHouseholdCursor)) { QDataGen::DisplayForEachTaskNext('Generating Receipt for Household'); // Generate for the whole household if ($objHousehold->CombinedStewardshipFlag) { if ($objHousehold->GetStewardshipAddress()) { $intPersonIdArray = StewardshipContribution::GetPersonIdArrayForPersonOrHousehold($objHousehold); $objContributionAmountArray = StewardshipContribution::GetContributionAmountArrayForPersonArray($intPersonIdArray, $intYear, $intQuarter); $intEntryCount = count($objContributionAmountArray); $fltAmount = StewardshipContribution::GetContributionAmountTotalForContributionAmountArray($objContributionAmountArray); if ($objHousehold->HeadPerson->DeceasedFlag) { StewardshipContribution::GenerateReceiptInPdf($objDeceasedPdf, $objHousehold, $intYear, $blnAnnual, $intQuarter); } else { if ($fltAmount > $fltMinimumAmount) { if ($intEntryCount > 38) { StewardshipContribution::GenerateReceiptInPdf($objMultiplePagePdf, $objHousehold, $intYear, $blnAnnual, $intQuarter);