private function saveField(Gpf_Data_Record $field) { $dbRow = $this->createDbRowObject(); $dbRow->setPrimaryKeyValue($field->get('id')); $dbRow->load(); $dbRow->set($field->get("name"), $field->get("value")); $dbRow->save(); }
private function addFilteredByHeader(Gpf_Data_Record $record) { $newRecord = new Gpf_Data_Record($this->header); foreach ($this->header as $column) { $newRecord->set($column, $record->get($column)); } $this->encode($newRecord->toObject()); }
/** * Returns banner object for given banner record * * @param string $record banner record loaded from other code * @return Pap_Common_Banner */ public function getBannerFromRecord(Gpf_Data_Record $record) { $banner = $this->getBannerObjectFromType($record->get('rtype')); if($banner == null) { throw new Pap_Common_Banner_NotFound($record->get('id')); } $banner->fillFromRecord($record); return $banner; }
private function fillResultRecord(Gpf_Data_Record $record, Gpf_Data_Record $row) { foreach ($this->dataColumns as $columnId => $column) { try { $record->set($columnId, $row->get($column->getName())); } catch (Gpf_Exception $e) { $record->set($columnId, ''); } } return $record; }
/** * @param Gpf_Data_Record $campaign * @return boolean */ private function isAffiliateInCampaign(Gpf_Data_Record $campaign) { try { Pap_Db_Table_UserInCommissionGroup::getStatus($campaign->get($this->campaignIDColumnName), $this->affiliateID); } catch (Gpf_DbEngine_NoRowException $e) { if ($campaign->get(Pap_Db_Table_Campaigns::TYPE) == Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION) { return false; } } return true; }
/** * @param String $field * @return Pap_Db_AffiliateTrackingCode */ protected function loadAffTrackingCode(Gpf_Data_Record $field) { $codeId = $field->get('id'); if (substr($codeId, 0, 4) == 'NEW_') { return $this->loadAffTrackingCodeFrom(substr($codeId, 4), $this->getAffiliateId()); } $dbRow = $this->createDbRowObject(); $dbRow->setPrimaryKeyValue($codeId); $dbRow->load(); return $dbRow; }
/** * Load role privileges * * @service * @anonym * @param Gpf_Rpc_Params $params * @return Gpf_Data_RecordSet */ public function loadRolePrivileges(Gpf_Rpc_Params $params) { if (!Gpf_Session::getAuthUser()->hasPrivilege(Gpf_Privileges::ROLE, Gpf_Privileges::P_READ) && !Gpf_Session::getAuthUser()->hasPrivilege(Gpf_Privileges::ROLE, Pap_Privileges::P_READ_OWN)) { throw new Gpf_Rpc_PermissionDeniedException('Gpf_Role_RolePrivilegesForm', 'loadRolePrivileges'); } $role = new Gpf_Db_Role(); $role->setId($params->get('roleid')); $role->load(); $defaultPrivileges = Gpf_Application::getInstance()->getDefaultPrivilegesByRoleType($role->getRoleType()); $result = new Gpf_Data_RecordSet(); $result->addColumn('object'); $result->addColumn('objectName'); $result->addColumn('possiblePrivileges'); $result->addColumn('activePrivileges'); $rolePrivileges = Gpf_Privileges::loadPrivileges($role->getId()); foreach ($defaultPrivileges->getDefaultPrivileges() as $object => $privileges) { $record = new Gpf_Data_Record($result->getHeader()); $record->add('object', $object); $record->add('objectName', ucfirst(str_replace('_', ' ', strtolower($object)))); $allTypes = $defaultPrivileges->getObjectToTypeRelation(); $record->add('possiblePrivileges', implode(',', $allTypes[$object])); if (array_key_exists($object, $rolePrivileges)) { $record->add('activePrivileges', implode(',', array_keys($rolePrivileges[$object]))); } else { $record->add('activePrivileges', ''); } $result->addRecord($record); } $result->sort('objectName'); return $result; }
protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $outputResult = new Gpf_Data_RecordSet(); $outputResult->setHeader($inputResult->getHeader()); $tree = new Pap_Features_BannersCategories_Tree(false); foreach ($inputResult as $record) { if ($record->get('code')=='0' || $record->get('selected')=='N') { continue; } $newRecord = new Gpf_Data_Record($inputResult->getHeader()); $newRecord->add('name', $this->_localize($tree->getBreadcrumb($record->get('id'), ' > '))); $newRecord->add('id', $record->get('id')); $outputResult->add($newRecord); } return $outputResult; }
protected function afterExecute(Gpf_Data_RecordSet $inputResult) { $outputResult = new Gpf_Data_RecordSet(); $outputResult->setHeader($inputResult->getHeader()); $tree = new Pap_Features_BannersCategories_Tree(false); foreach ($inputResult as $record) { if ($record->get('code')=='0') { $this->_count--; continue; } $newRecord = new Gpf_Data_Record($inputResult->getHeader()); $newRecord->add('name', $record->get('name')); $newRecord->add('id', $record->get('id')); $newRecord->add('state', $record->get('state')); $newRecord->add('depth', $record->get('depth')); $outputResult->add($newRecord); } return $outputResult; }
/** * Fills Db_Row from a record * Fields that are not part of the Db_Row are ignored * * @param Gpf_Data_Record $record */ public function fillFromRecord(Gpf_Data_Record $record) { foreach ($this->tableColumns as $column) { $name = $column->name; try { $this->set($name, $record->get($name)); } catch (Gpf_Exception $e) { } } $this->afterLoad(); }
/** * @service payout_history export * @return Gpf_Rpc_Serializable */ public function getIIFFile(Gpf_Rpc_Params $params) { $this->initParamsForCSVFile($params); $views = $params->get("columns"); $header = array(); for ($i = 2; $i < count($views); $i++) { if ($views[$i][0] === self::ACTIONS) { continue; } $header[] = $views[$i][0]; } if (!in_array('payouthistoryid', $header)) { $header[] = 'payouthistoryid'; } if (!in_array('amount', $header)) { $header[] = 'amount'; } if (!in_array('merchantnote', $header)) { $header[] = 'merchantnote'; } if (!in_array('affiliatenote', $header)) { $header[] = 'affiliatenote'; } $viewResult = new Gpf_Data_RecordSet(); $viewResult->setHeader($header); $payoutHistoryIds = array(); $result = $this->getResultForCSV(); if ($result->getSize() > 0) { foreach ($result as $record) { $row = new Gpf_Data_Record($header); foreach ($header as $column) { $row->set($column, $record->get($column)); } $row = $this->addAffiliateInfo($row); $viewResult->addRecord($row); $payoutHistoryIds[] = $row->get('payouthistoryid'); } } if ($this->_fileName != null) { $fileName = $this->_fileName.".iif"; } else { $fileName = "grid.iif"; } $affiliates = $this->getUsersFromPayouts($payoutHistoryIds); $iifGenerator = new QuickBooks_GeneratorResponse($fileName, $viewResult, $affiliates); return $iifGenerator->generateFile(); }
protected function loadAuthData(Gpf_Data_Record $data) { $this->username = $data->get("username"); $this->accountUserId = $data->get("accountuserid"); $this->authtoken = $data->get("authtoken"); $this->accountid = $data->get("accountid"); $this->roletypeid = $data->get("roletypeid"); $this->roleid = $data->get('roleid'); $this->authId = $data->get('authid'); $this->firstname = $data->get('firstname'); $this->lastname = $data->get('lastname'); $this->ip = $data->get('ip'); $attributes = Gpf_Db_Table_UserAttributes::getInstance(); $attributes->loadAttributes($this->accountUserId); $this->setLanguage($attributes->getAttributeWithDefaultValue(self::LANGUAGE_ATTRIBUTE_NAME, Gpf_Lang_Dictionary::getDefaultLanguage())); }
private function addValueToRecord(Gpf_Data_Record $record, $name) { $record->set($name, $this->configFile->getSetting($name)); }
/** * @param Gpf_Data_Record $record */ public function writeRecord($record) { if ($record != null) { $this->encode($record->toObject()); } }
public function getCampaigns(Gpf_Data_Record $record) { try { Pap_Db_Table_UserInCommissionGroup::getStatus($record->get('id'), Gpf_Session::getAuthUser()->getPapUserId()); } catch (Gpf_DbEngine_NoRowException $e) { if ($record->get('rtype') == Pap_Db_Campaign::CAMPAIGN_TYPE_ON_INVITATION) { throw new Gpf_Exception($this->_('Private campaign')); } } }
/** * Returns row data for grid * * @service language read * * @param $filters * @param $limit * @param $offset * @param $sort_col * @param $sort_asc * @param Gpf_Data_RecordSet $columns * @return Gpf_Rpc_Serializable */ public function getRows(Gpf_Rpc_Params $params) { $this->_params = $params; $this->_sortColumn = $params->get('sort_col'); $this->_sortAsc = $params->get('sort_asc'); $this->_requiredColumns = new Gpf_Data_IndexedRecordSet('id'); $this->_requiredColumns->loadFromArray($params->get('columns')); $response = new Gpf_Rpc_Object(); $recordHeader = new Gpf_Data_RecordHeader(); $result = new Gpf_Data_RecordSet(); foreach ($this->getAllViewColumns() as $column) { $result->addColumn($column->get('id')); $recordHeader->add($column->get('id')); } $result->addColumn('id'); $recordHeader->add('id'); $languagesIterator = new Gpf_Io_DirectoryIterator(Gpf_Paths::getInstance()->getLanguageInstallDirectory(), 'csv', false); $languagesCount = 0; foreach ($languagesIterator as $fullName => $file) { if (preg_match('/^' . Gpf_Application::getInstance()->getCode() . '_(.+)\\.csv$/', $file, $matches)) { $file = new Gpf_Io_Csv_Reader($fullName, ';', '"', array('source', 'translation', 'type', 'module', 'status', 'customer')); $language = new Gpf_Lang_CsvLanguage(); $language->loadFromCsvFile($file, true); $languagesCount++; $record = new Gpf_Data_Record($recordHeader); $record->set('id', $fullName); $record->set(Gpf_Db_Table_Languages::CODE, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_CODE)); $record->set(Gpf_Db_Table_Languages::NAME, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_NAME)); $record->set(Gpf_Db_Table_Languages::ENGLISH_NAME, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_ENG_NAME)); $record->set(Gpf_Db_Table_Languages::TRANSLATED_PERCENTAGE, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_TRANSLATION_PERCENTAGE)); $record->set(Gpf_Db_Table_Languages::AUTHOR, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_AUTHOR)); $record->set(Gpf_Db_Table_Languages::VERSION, $language->getMetaValue(Gpf_Lang_CsvLanguage::LANG_VERSION)); $result->addRecord($record); } } $response->rows = $result->toObject(); $response->count = $languagesCount; return $response; }
public function loadFromRecord(Gpf_Data_Record $record) { $this->setSourceMessage($record->get('source')); $this->setDestinationMessage($record->get('translation')); $this->setType($record->get('type')); $this->setStatus($record->get('status')); $this->addModule($record->get('module')); $this->setCustomerSpecific($record->get('customer')); }
private function replaceConstants(Gpf_Data_Record $row) { $coupon = new Pap_Db_Coupon(); $coupon->setId($row->get('id')); $coupon->setCode($row->get('code')); $coupon->setStatus($row->get('status')); $coupon->set(Pap_Db_Table_Coupons::MAX_USE_COUNT, $row->get('limit_use')); $coupon->set(Pap_Db_Table_Coupons::VALID_FROM, $row->get('valid_from')); $coupon->set(Pap_Db_Table_Coupons::VALID_TO, $row->get('valid_to')); $row->add('coupon', $this->banner->getCouponText($coupon)); $row->add('validity', $coupon->isValid()); }
private function processRow(Gpf_Data_Record $dataRow) { $time = $dataRow->get("datetime"); $value = $dataRow->get("value"); $this->result[$this->convertTimeColumn($time)] = $value; }
public function getCountryCode(Gpf_Data_Record $context) { if ($context->get(Pap_Db_Table_RawImpressions::IP) == '127.0.0.1') { $context->set(Pap_Db_Table_Impressions::COUNTRYCODE, ''); return; } if (in_array($context->get(Pap_Db_Table_RawImpressions::IP), self::$recognizedIPs)) { $context->set(Pap_Db_Table_Impressions::COUNTRYCODE, self::$recognizedIPs[array_search($context->get(Pap_Db_Table_RawImpressions::IP), self::$recognizedIPs)]); return; } try { $location = new GeoIp_Location(); $location->setIpString($context->get(Pap_Db_Table_RawImpressions::IP)); $location->load(); $context->set(Pap_Db_Table_Impressions::COUNTRYCODE, $location->getCountryCode()); } catch (Exception $e) { } self::$recognizedIPs[$context->get(Pap_Db_Table_RawImpressions::IP)] = $context->get(Pap_Db_Table_Impressions::COUNTRYCODE); }
public function matches(Gpf_Data_Record $record) { try { $value = $record->get($this->getCode()); } catch (Gpf_Exception $e) { return true; } switch ($this->operator->getCode()) { case 'E': return $value == $this->getValue(); case 'NE': return $value != $this->getValue(); case 'L': return strpos($value, $this->getValue()) !== false; case 'NL': return strpos($value, $this->getValue()) === false; case 'IN': return array_search($value, $this->decodeArrayValue()) !== false; case 'NOT IN': return array_search($value, $this->decodeArrayValue()) !== false; default: throw new Gpf_Exception('Unimplemented'); break; } }
public function loadFromObject($array) { if ($array === null) { throw new Gpf_Exception('Array must be not NULL'); } $this->_header = new Gpf_Data_RecordHeader($array[0]); for ($i = 1; $i < count($array); $i++) { $record = new Gpf_Data_Record($this->_header); $record->loadFromObject($array[$i]); $this->loadRecordFromObject($record); } }
public function writeRecord(Gpf_Data_Record $record) { $row = array(); foreach ($this->headers as $header) { $row[] = $record->get($header); } fputcsv($this->getFileHandler(), $row, $this->delimiter, $this->enclosure); }
/** * Mark outbox entry as pending + store error message why it failed * * @param Gpf_Data_Record $mail * @param string $error */ private function failedSending(Gpf_Data_Record $mail, $error) { //mark outbox entry with status pending $outbox = new Gpf_Db_MailOutbox(); $outbox->set('outboxid', $mail->get('outboxid')); $outbox->set('status', Gpf_Db_Table_MailOutbox::STATUS_PENDING); $outbox->set('error_msg', $error); $outbox->set('scheduled_at', $this->createDatabase()->getDateString(time() + self::RETRY_TIME)); $outbox->update(array('status', 'error_msg', 'scheduled_at')); }
public function getLastId() { return $this->getName() . $this->lastRecord->get(self::WIDGET_ID); }
protected function insertTransaction($affiliateId, $type, $commissionValue, $status, Gpf_Data_Record $commission = null) { if ($affiliateId == null) { return; } $transaction = new Pap_Common_Transaction(); $transaction->setUserId($affiliateId); $transaction->setType($type); if ($commission != null) { $transaction->setTier($commission->get(Pap_Db_Table_Commissions::TIER)); } else { $transaction->setTier('1'); } $transaction->setStatus($status); $transaction->setPayoutStatus('U'); $transaction->setDateInserted(Gpf_Common_DateUtils::now()); $transaction->setCommission($commissionValue); $transaction->setData5($this->user->getId()); $transaction->setIp(Gpf_Http::getRemoteIp()); $transaction->insert(); }
protected function processRow(Gpf_Data_Record $dataRow, $commissionTypeId = self::DEFAULT_COMMISSION_TYPEID) { if (!array_key_exists($commissionTypeId, $this->resultCommissions)) { $this->resultCommissions[$commissionTypeId] = new Pap_Stats_Data_Commission(); $this->resultTotalCost[$commissionTypeId] = new Pap_Stats_Data_Commission(); $this->resultCount[$commissionTypeId] = new Pap_Stats_Data_Commission(); } $status = $dataRow->get("status"); $commission = $dataRow->get("commission"); $totalcost = $dataRow->get("totalcost"); $count = $dataRow->get("cnt"); if ($dataRow->get("payoutstatus") == Pap_Common_Constants::PSTATUS_PAID) { if ($status == Pap_Common_Constants::STATUS_APPROVED) { $this->resultCommissions[$commissionTypeId]->addPaid($commission); $this->resultTotalCost[$commissionTypeId]->addPaid($totalcost); $this->resultCount[$commissionTypeId]->addPaid($count); } return; } if ($status == Pap_Common_Constants::STATUS_APPROVED) { $this->resultCommissions[$commissionTypeId]->addApproved($commission); $this->resultTotalCost[$commissionTypeId]->addApproved($totalcost); $this->resultCount[$commissionTypeId]->addApproved($count); return; } if ($status == Pap_Common_Constants::STATUS_PENDING) { $this->resultCommissions[$commissionTypeId]->addPending($commission); $this->resultTotalCost[$commissionTypeId]->addPending($totalcost); $this->resultCount[$commissionTypeId]->addPending($count); return; } $this->resultCommissions[$commissionTypeId]->addDeclined($commission); $this->resultTotalCost[$commissionTypeId]->addDeclined($totalcost); $this->resultCount[$commissionTypeId]->addDeclined($count); }
protected function loadRecordFromObject(Gpf_Data_Record $record) { $this->_array[$record->get($this->key)] = $record; }
private function getCommissionText(Gpf_Data_Record $commission) { $tier = $commission->get('tier'); if ($tier > 1) { return $this->getTier($tier); } switch ($commission->get('rtype')) { case Pap_Common_Constants::TYPE_CLICK: return $this->_('per click').' :'; case Pap_Common_Constants::TYPE_SALE: return $this->_('per sale') . ' :'; case Pap_Common_Constants::TYPE_CPM: return $this->_('per CPM') . ' :'; case Pap_Common_Constants::TYPE_ACTION: return $this->_($commission->get('commissionTypeName')).":"; } return ''; }