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; }
/** * 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; }