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");
                    } else {
 /**
  * Create and setup QListBox lstHousehold
  * @param string $strControlId optional ControlId to use
  * @param QQCondition $objConditions override the default condition of QQ::All() to the query, itself
  * @param QQClause[] $objOptionalClauses additional optional QQClause object or array of QQClause objects for the query
  * @return QListBox
  */
 public function lstHousehold_Create($strControlId = null, QQCondition $objCondition = null, $objOptionalClauses = null)
 {
     $this->lstHousehold = new QListBox($this->objParentObject, $strControlId);
     $this->lstHousehold->Name = QApplication::Translate('Household');
     $this->lstHousehold->AddItem(QApplication::Translate('- Select One -'), null);
     // Setup and perform the Query
     if (is_null($objCondition)) {
         $objCondition = QQ::All();
     }
     $objHouseholdCursor = Household::QueryCursor($objCondition, $objOptionalClauses);
     // Iterate through the Cursor
     while ($objHousehold = Household::InstantiateCursor($objHouseholdCursor)) {
         $objListItem = new QListItem($objHousehold->__toString(), $objHousehold->Id);
         if ($this->objParentPagerHousehold->Household && $this->objParentPagerHousehold->Household->Id == $objHousehold->Id) {
             $objListItem->Selected = true;
         }
         $this->lstHousehold->AddItem($objListItem);
     }
     // Return the QListBox
     return $this->lstHousehold;
 }
Example #3
0
 /**
  * Create and setup QListBox lstHouseholdAsHead
  * @param string $strControlId optional ControlId to use
  * @param QQCondition $objConditions override the default condition of QQ::All() to the query, itself
  * @param QQClause[] $objOptionalClauses additional optional QQClause object or array of QQClause objects for the query
  * @return QListBox
  */
 public function lstHouseholdAsHead_Create($strControlId = null, QQCondition $objCondition = null, $objOptionalClauses = null)
 {
     $this->lstHouseholdAsHead = new QListBox($this->objParentObject, $strControlId);
     $this->lstHouseholdAsHead->Name = QApplication::Translate('Household As Head');
     $this->lstHouseholdAsHead->AddItem(QApplication::Translate('- Select One -'), null);
     // Setup and perform the Query
     if (is_null($objCondition)) {
         $objCondition = QQ::All();
     }
     $objHouseholdCursor = Household::QueryCursor($objCondition, $objOptionalClauses);
     // Iterate through the Cursor
     while ($objHousehold = Household::InstantiateCursor($objHouseholdCursor)) {
         $objListItem = new QListItem($objHousehold->__toString(), $objHousehold->Id);
         if ($objHousehold->HeadPersonId == $this->objPerson->Id) {
             $objListItem->Selected = true;
         }
         $this->lstHouseholdAsHead->AddItem($objListItem);
     }
     // Because Household's HouseholdAsHead is not null, if a value is already selected, it cannot be changed.
     if ($this->lstHouseholdAsHead->SelectedValue) {
         $this->lstHouseholdAsHead->Enabled = false;
     }
     // Return the QListBox
     return $this->lstHouseholdAsHead;
 }