protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $inputResult->addColumn(Pap_Db_Table_Payouts::AMOUNT); $inputResult->addColumn('users'); $payoutHistoryIds = array(); foreach ($inputResult as $record) { $payoutHistoryIds[] = $record->get('id'); } $outputResult = $inputResult->toShalowRecordSet(); $payeeData = $this->getPayeeData($payoutHistoryIds); foreach ($inputResult as $record) { $payoutHistoryId = $record->get('id'); if(!isset($payeeData[$payoutHistoryId])) { $record->set(Pap_Db_Table_Payouts::AMOUNT, 0); $record->set("users", ""); } else { if (!$this->matchesSearchCriteria($record, $payeeData[$payoutHistoryId])) { $this->_count--; continue; } $record->set("amount", $payeeData[$payoutHistoryId]['amount']); $record->set("users", $payeeData[$payoutHistoryId]['usersCount'].' '. ($payeeData[$payoutHistoryId]['usersCount'] > 1 ? $this->_("payees") : $this->_("payee"))); } $outputResult->addRecord($record); } return $outputResult; }
public function getBanners(Gpf_Data_RecordSet $recordSet) { $result = $recordSet->toShalowRecordSet(); foreach ($recordSet as $record) { try { try { Pap_Db_Table_UserInCommissionGroup::getStatus($record->get('campaignid'), Gpf_Session::getAuthUser()->getPapUserId()); } catch (Gpf_DbEngine_NoRowException $e) { if ($record->get('ctype') == Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION) { throw new Gpf_Exception($this->_('Private campaign')); } } $result->addRecord($record); } catch (Gpf_Exception $e) { } } $recordSet->clear(); $recordSet->loadFromObject($result->toObject()); }
private function getCachedRecordSet(Gpf_Data_RecordSet $recordSet) { $from = $this->params->get(Gpf_Ui_RichListBox::FROM); $rowsPerPage = $this->params->get(Gpf_Ui_RichListBox::ROWS_PER_PAGE); $this->count = $recordSet->getSize(); if ($this->count > $this->params->get(Gpf_Ui_RichListBox::MAX_CACHED_COUNT)) { $cachedRecordSet = $recordSet->toShalowRecordSet(); if ($from + $rowsPerPage > $this->count) { $to = $this->count; } else { $to = $from + $rowsPerPage; } for ($from; $from < $to; $from++) { $cachedRecordSet->add($recordSet->getRecord($from)); } return $cachedRecordSet; } return $recordSet; }