/** * @service campaign read * @return Gpf_Data_RecordSet */ public function getActionTypes(Gpf_Rpc_Params $params) { $actionTypesHeader = array(Pap_Db_Table_CommissionTypes::TYPE, Pap_Db_Table_CommissionTypes::NAME, Pap_Db_Table_CommissionTypes::ID, 'campaignName'); $data = new Gpf_Rpc_Data($params); $filters = $data->getFilters(); $statsParams = new Pap_Stats_Params(); $statsParams->setCampaignId($filters->getFilterValue('campaignid')); $statsParams->setBannerId($filters->getFilterValue('bannerid')); $transactionTypeStats = new Pap_Stats_TransactionTypeStats($statsParams); $transactionTypes = $transactionTypeStats->getTypes(); $actionTypesRecordSet = new Gpf_Data_RecordSet(); $actionTypesRecordSet->setHeader($actionTypesHeader); $this->initActionCampaignNames(); foreach ($transactionTypes as $transactionType) { if ($transactionType->getType() != Pap_Common_Constants::TYPE_SALE && $transactionType->getType() !=Pap_Common_Constants::TYPE_ACTION && $transactionType->getType() != Pap_Common_Constants::TYPE_RECURRING) { continue; } $actionTypesRecordSet->add(new Gpf_Data_Record($actionTypesHeader, array($transactionType->getType(), $transactionType->getName(), $transactionType->getCommissionTypeId(), $this->getActionCampaignName($transactionType->getCommissionTypeId())))); } return $actionTypesRecordSet; }
/** * * @service affiliate_stats read * @param $data */ public function load(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $filters = $data->getFilters(); $statsParams = new Pap_Stats_Params(); $statsParams->initFrom($filters); $transactions = new Pap_Stats_Transactions($statsParams); $select = new Gpf_SqlBuilder_SelectBuilder(); $select->from->add(Pap_Db_Table_Users::getName(), "pu"); $select->from->addInnerJoin(Gpf_Db_Table_Users::getName(), "gu", "gu.accountuserid = pu.accountuserid"); $select->select->add("SUM(IF(pu.rtype = '". Pap_Application::ROLETYPE_AFFILIATE ."', 1, 0))", "countAffiliates"); $select->select->add("SUM(IF(gu.rstatus = 'A', 1, 0))", "approvedAffiliates"); $select->select->add("SUM(IF(gu.rstatus = 'P', 1, 0))", "pendingAffiliates"); $filters->addTo($select->where); $select->where->add("pu.".Pap_Db_Table_Users::TYPE, "=", Pap_Application::ROLETYPE_AFFILIATE); $row = $select->getOneRow(); $data->setValue("countAffiliates", $this->checkNullValue($row->get("countAffiliates"))); $data->setValue("approvedAffiliates", $this->checkNullValue($row->get("approvedAffiliates"))); $data->setValue("pendingAffiliates", $this->checkNullValue($row->get("pendingAffiliates"))); $data->setValue("totalSales", $transactions->getTotalCost()->getAll()); $data->setValue("approvedCommissions", $transactions->getCommission()->getApproved()); $data->setValue("pendingCommissions", $transactions->getCommission()->getPending()); return $data; }
public function getNumberOfSubaffiliates($userid = null) { $result = new Gpf_Data_RecordSet(); $selectBuilder = new Gpf_SqlBuilder_SelectBuilder(); $selectBuilder->select->add('COUNT(u.userid)', 'amount'); $selectBuilder->from->add(Pap_Db_Table_Users::getName(), "u"); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), "gu", "u.accountuserid = gu.accountuserid"); $selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), "au", "gu.authid = au.authid"); $selectBuilder->where->add('u.deleted', '=', Gpf::NO); if ($userid === null) { $selectBuilder->where->add('u.parentuserid', '=', Gpf_Session::getAuthUser()->getPapUserId()); } else { $selectBuilder->where->add('u.parentuserid', '=', $userid); } $selectBuilder->where->add('gu.rstatus', '<>', 'D'); if ($this->params->isDateFromDefined()) { $selectBuilder->where->add('u.' . Pap_Stats_Table::DATEINSERTED, '>=', $this->params->getDateFrom()->toDateTime()); } if ($this->params->isDateToDefined()) { $selectBuilder->where->add('u.' . Pap_Stats_Table::DATEINSERTED, '<=', $this->params->getDateTo()->toDateTime()); } $selectBuilder->limit->set(0, 1); $result->load($selectBuilder); if($result->getSize() == 0) { return 0; } foreach($result as $record) { return $record->get('amount'); } }
private function setDateFilter(Pap_Stats_Params $statParams, array $dateFilter) { $datePreset = array(); foreach ($dateFilter as $filter) { $datePreset = $filter->addDateValueToArray($datePreset); } $statParams->setDateRange($datePreset["dateFrom"], $datePreset["dateTo"]); }
/** * @return Pap_Stats_Params */ private function getStatsParams($datePreset) { $date = $this->getDateArray($datePreset); $statsParams = new Pap_Stats_Params(); $statsParams->setDateFrom(new Gpf_DateTime($date['dateFrom'])); $statsParams->setDateTo(new Gpf_DateTime($date['dateTo'])); return $statsParams; }
protected function initDate(Pap_Stats_Params $statsParams, $timeOffset) { $filter = new Gpf_SqlBuilder_Filter(array("month", "DP", "LM")); $filter->setTimeOffset($timeOffset); $datePreset = $filter->addDateValueToArray(array()); $statsParams->setDateRange($datePreset["dateFrom"], $datePreset["dateTo"]); $this->dateFrom = $datePreset["dateFrom"]; $this->dateTo = $datePreset["dateTo"]; }
/** * @service quick_stats read * @param $fields */ public function load(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $this->statsParams = $this->getStatsParams(); $this->statsParams->initFrom($data->getFilters()); $this->fillData($data, $params); return $data; }
protected function initDate(Pap_Stats_Params $statsParams, $timeOffset) { $clientTime = $this->createCurrentTime() + $timeOffset; $lastStartDay = $this->getLastStartDay($clientTime); $this->dateFrom = Gpf_DbEngine_Database::getDateString( mktime(0,0,0,date("m",$clientTime), date("d",$clientTime) - $lastStartDay, date("Y",$clientTime)) - $timeOffset); $this->dateTo = Gpf_DbEngine_Database::getDateString( mktime(23,59,59,date("m",$clientTime), date("d",$clientTime) - $lastStartDay + 6, date("Y",$clientTime)) - $timeOffset); $statsParams->setDateRange($this->dateFrom, $this->dateTo); }
/** * * @service campaign_stats read * @param $data */ public function load(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $statsParams = new Pap_Stats_Params(); $statsParams->initFrom($data->getFilters()); $transactions = new Pap_Stats_Transactions($statsParams); $data->setValue("totalCommisions", $transactions->getCommission()->getAll()); $data->setValue("totalSales", $transactions->getTotalCost()->getAll()); $data->setValue("totalPendingCommisions", $transactions->getCommission()->getPending()); $data->setValue("totalUnpaidApprovedCommisions", $transactions->getCommission()->getApproved()); return $data; }
/** * * @service pay_affiliate_stats read * @param $data */ public function load(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $statsParams = new Pap_Stats_Params(); $statsParams->initFrom($data->getFilters()); $transactions = new Pap_Stats_Transactions($statsParams); $data->setValue("paid", $this->getPaidData($data->getFilters())); $data->setValue("unpaidApprovedComm", $transactions->getCommission()->getApproved()); $data->setValue("unpaidPendingComm", $transactions->getCommission()->getPending()); $data->setValue("unpaidDeclinedComm", $transactions->getCommission()->getDeclined()); return $data; }
/** * @return Gpf_SqlBuilder_UnionBuilder */ public function getStatsSelect(Pap_Stats_Params $statParams, $groupColumn, $groupColumnAlias) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add($groupColumn, $groupColumnAlias); $this->initStatsSelect($select->select); $select->from->add($this->name()); $statParams->addTo($select); $select->groupBy->add($groupColumn); $unionBuilder = new Gpf_SqlBuilder_UnionBuilder(); $unionBuilder->addSelect($select); $statsSelectContext = new Pap_Stats_StatsSelectContext($unionBuilder, $select, $groupColumn, $groupColumnAlias); Gpf_Plugins_Engine::extensionPoint('PostAffiliate.Pap_Db_Table_ClicksImpressions.getStatsSelect', $statsSelectContext); return $unionBuilder; }
/** * @return Gpf_Rpc_Params */ private function getParams($limit) { $params = new Gpf_Rpc_Params(); $params->add('sort_col', 'dateinserted'); $params->add('sort_asc', false); $params->add('offset', 0); $params->add('limit', $limit); $params->add('columns', array(array("id"),array("id"),array("id"),array("commission"),array("totalcost"),array("orderid"),array("productid"),array("dateinserted"),array("name"),array("rtype"),array("tier"),array("commissionTypeName"),array("rstatus"),array("payoutstatus"),array("userid"),array("username"),array("firstname"),array("lastname"),array("channel"))); $filters = array(); if ($this->statsparams->isDateFromDefined()) { $filters[] = array('dateinserted', 'D>=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateFrom()->toTimeStamp() + $this->timeOffset)); } if ($this->statsparams->isDateToDefined()) { $filters[] = array('dateinserted', 'D<=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateTo()->toTimeStamp() + $this->timeOffset)); } if ($this->statsparams->isTypeDefined()) { $filters[] = array('rtype', 'IN', $this->statsparams->getType()); } if ($this->statsparams->isAffiliateIdDefined()) { $filters[] = array('userid', 'E', $this->statsparams->getAffiliateId()); } if ($this->statsparams->isAccountIdDefined()) { $filters[] = array('accountid', 'E', $this->statsparams->getAccountId()); } if (count($filters) > 0) { $params->add('filters', $filters); } return $params; }
/** * * @service banner_stats read * @param $data */ public function loadFilteredStatistics(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $statsParams = new Pap_Stats_Params(); $statsParams->initFrom($data->getFilters()); $impressions = new Pap_Stats_Impressions($statsParams); $clicks = new Pap_Stats_Clicks($statsParams); $sales = new Pap_Stats_Sales($statsParams); $data->setValue("impressions", $impressions->getCount()->getAll()); $data->setValue("rawClicks", $clicks->getCount()->getRaw()); $data->setValue("uniqueClicks", $clicks->getCount()->getUnique()); $data->setValue("sales", $sales->getCount()->getApproved()); $data->setValue("ctr", 0); if ($impressions->getCount()->getAll() !== 0) { $data->setValue("ctr", $clicks->getCount()->getAll() / ($impressions->getCount()->getAll() / 100)); } return $data; }
protected function buildWhere(Pap_Stats_Params $statParams) { $statParams->addTo($this->transactionsSelect); if ($statParams->isTypeDefined()) { $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_TYPE, 'IN', explode(',', $statParams->getType())); } if ($statParams->isStatusDefined()) { if (is_array($statParams->getStatus())) { $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_STATUS, 'IN', $statParams->getStatus()); } else { $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_STATUS, 'IN', explode(',', $statParams->getStatus())); } } }
protected function prepareParams() { $this->params->setStatus($this->getStatuses()); $this->params->setAffiliateId($this->rule->getUserID()); $this->params->setCampaignId($this->rule->getCampaignId()); if (!$this->rule->getDateRange()->isAllTime()) { $this->params->setRange($this->rule->getDateRange()); } if ($this->rule->getDate() == Pap_Features_PerformanceRewards_Rule::DATE_ALL_UNPAID_COMMISSIONS) { $this->params->setPayoutStatus(Pap_Common_Constants::PSTATUS_UNPAID); } }
protected function initAllSubAffStats() { $statParams = new Pap_Stats_Params(); $statParams->initFrom($this->filters); $statParams->setType(Pap_Common_Constants::TYPE_SALE . ',' . Pap_Common_Constants::TYPE_CLICK); $transactionStats = new Pap_Stats_Computer_TransactionsStatsBuilder($statParams, Pap_Db_Table_Transactions::USER_ID, Pap_Db_Table_Transactions::USERID, false); $transactionStats->getTransactionsWhereClause()->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '!=', null); $transactionStats->getTransactionsWhereClause()->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '<>', ''); $allSubStats = $transactionStats->getStatsSelect(); try { $allSubStatsRow = $allSubStats->getOneRow(); $this->subAffCommissions = $allSubStatsRow->get(Pap_Db_Table_Transactions::COMMISSION); $this->subAffSaleCount = $allSubStatsRow->get('count'); } catch (Gpf_DbEngine_NoRowException $e) { $this->subAffCommissions = 0; $this->subAffSaleCount = 0; } }
/** * @return Pap_Stats_Params */ public function getStatsParams($datePreset) { $date = $this->getDateArray($datePreset); $statsParams = new Pap_Stats_Params(); $statsParams->setDateFrom(new Gpf_DateTime($date["dateFrom"])); $statsParams->setDateTo(new Gpf_DateTime($date["dateTo"])); $statsParams = $this->modifyStatsParams($statsParams); return $statsParams; }
protected function setAffiliateId(Pap_Stats_Params $statsParameters, $userId) { $statsParameters->setAffiliateId(Gpf_Session::getAuthUser()->getPapUserId()); }
/** * @return Pap_Stats_Params */ protected function getStatsParameters() { $params = new Pap_Stats_Params(); $dateRangeFilter = new Gpf_SqlBuilder_Filter(); $dateRange = $dateRangeFilter->decodeDatePreset(Pap_Features_CompressedCommissionPlacementModel_Processor::getRecurrencePreset()); $params->setDateRange($dateRange['dateFrom'], $dateRange['dateTo']); $params->setStatus($this->getStatuses()); return $params; }
/** * @return Pap_Stats_Params */ protected function getStatsParameters() { $statsParameters = new Pap_Stats_Params(); $statsParameters->setDateRange($this->statsDateParams["dateFrom"], $this->statsDateParams["dateTo"]); $statsParameters->setStatus(Pap_Common_Constants::STATUS_APPROVED); return $this->addParamsWithDateRangeFilter($statsParameters); }
/** * @return Pap_Stats_Params */ private function getLastDayStatsParams() { $statsParams = new Pap_Stats_Params(); $statsParams->setDateFrom(new Gpf_DateTime(time()-86400)); $statsParams->setDateTo(new Gpf_DateTime(time())); return $statsParams; }
private function getAffiliateStats(Pap_Stats_Params $statsParams) { $dateFrom = ''; try { $dateFrom = $statsParams->getDateFrom()->toDateTime(); } catch (Gpf_Exception $e) { } return Pap_Db_Table_Users::getAffiliatesCount($dateFrom); }
protected function modifyStatsParams(Pap_Stats_Params $statsParams) { $statsParams->setAffiliateId(Gpf_Session::getAuthUser()->getPapUserId()); return $statsParams; }
protected function setAffiliateId(Pap_Stats_Params $statsParameters, $userId) { $statsParameters->setAffiliateId($userId); }
protected function buildWhere(Pap_Stats_Params $statParams) { $statParams->addTo($this->transactionsSelect); $this->transactionsSelect->where->add(Pap_Db_Table_Users::ID, '=', $this->getLoggedAffId()); $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '!=', null); $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, '<>', ''); }
public function setUser(Pap_Common_User $user) { $this->statsParams->setAffiliateId($user->getId()); $this->user = $user; }
/** * * Pap alert application handle, do not modify this source! * * @param String $dateFrom * @param String $dateTo * @param String $userId * @return Gpf_Data_RecordSet */ public static function getTransactions(Pap_Stats_Params $statsParams) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add('tr.'.Pap_Db_Table_Transactions::USER_ID, 'userid'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::FIRSTNAME, 'name'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::LASTNAME, 'surname'); $select->select->add('au.'.Gpf_Db_Table_AuthUsers::USERNAME, 'username'); $select->select->add('pu.data1', 'weburl'); $select->select->add('tr.'.Pap_Db_Table_Transactions::TRANSACTION_ID, 'transid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::TOTAL_COST, 'totalcost'); $select->select->add('tr.'.Pap_Db_Table_Transactions::FIXED_COST, 'fixedcost'); $select->select->add('tr.'.Pap_Db_Table_Transactions::ORDER_ID, 'orderid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PRODUCT_ID, 'productid'); $select->select->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, 'dateinserted'); $select->select->add('tr.'.Pap_Db_Table_Transactions::R_STATUS, 'rstatus'); $select->select->add('tr.'.Pap_Db_Table_Transactions::R_TYPE, 'transtype'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PARRENT_TRANSACTION_ID, 'transkind'); $select->select->add('tr.'.Pap_Db_Table_Transactions::PAYOUT_STATUS, 'payoutstatus'); $select->select->add('tr.'.Pap_Db_Table_Transactions::DATE_APPROVED, 'dateapproved'); $select->select->add('tr.'.Pap_Db_Table_Transactions::COMMISSION, 'commission'); $select->select->add('tr.'.Pap_Db_Table_Transactions::REFERER_URL, 'refererurl'); $select->select->add('c.'.Pap_Db_Table_Campaigns::ID, 'campcategoryid'); $select->select->add('c.'.Pap_Db_Table_Campaigns::NAME, 'campaign'); $select->select->add('tr.data1', 'data1'); $select->select->add('tr.data2', 'data2'); $select->select->add('tr.data3', 'data3'); $select->select->add('tr.'.Pap_Db_Table_Transactions::COUNTRY_CODE, 'countrycode'); $select->from->add(Pap_Db_Table_Transactions::getName(), 'tr'); $select->from->addInnerJoin(Pap_Db_Table_Campaigns::getName(), 'c', 'tr.'.Pap_Db_Table_Transactions::CAMPAIGN_ID.'=c.'.Pap_Db_Table_Campaigns::ID); $select->from->addInnerJoin(Pap_Db_Table_Users::getName(), 'pu', 'tr.'.Pap_Db_Table_Transactions::USER_ID.'=pu.'.Pap_Db_Table_Users::ID); $select->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'gu', 'gu.'.Gpf_Db_Table_Users::ID.'=pu.'.Pap_Db_Table_Users::ACCOUNTUSERID); $select->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 'au', 'gu.'.Gpf_Db_Table_Users::AUTHID.'=au.'.Gpf_Db_Table_AuthUsers::ID); if ($statsParams->isDateFromDefined()) { $select->where->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, '>=', $statsParams->getDateFrom()->toDateTime()); } if ($statsParams->isDateToDefined()) { $select->where->add('tr.'.Pap_Db_Table_Transactions::DATE_INSERTED, '<=', $statsParams->getDateTo()->toDateTime()); } if ($statsParams->getAffiliateId() != '') { $select->where->add('tr.'.Pap_Db_Table_Transactions::USER_ID, '=', $statsParams->getAffiliateId()); } return $select->getAllRows(); }
protected function initWhereConditions() { $this->params->addTo($this->selectBuilder, 't'); }
/** * @return Pap_Stats_Params */ protected function getStatsParameters() { $params = new Pap_Stats_Params(); $params->setStatus(Pap_Common_Constants::STATUS_APPROVED); return $this->addParamsWithDateRangeFilter($params); }
/** * @service traffic_stats read * @param $data */ public function getTransactionsData(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $filters = $this->checkFilters($data); $statsParameters = new Pap_Stats_Params(); $statsParameters->initFrom($filters); $transactions = new Pap_Stats_Transactions($statsParameters); $data->setValue("transactionsCount", $transactions->getCount()->getAll()); $data->setValue("transactionsCountApproved", $transactions->getCount()->getApproved()); $data->setValue("transactionsCountDeclined", $transactions->getCount()->getDeclined()); $data->setValue("transactionsCountPaid", $transactions->getCount()->getPaid()); $data->setValue("transactionsCountPending", $transactions->getCount()->getPending()); $data->setValue("transactionsTotalCost", $transactions->getTotalCost()->getAll()); $data->setValue("transactionsTotalCostApproved", $transactions->getTotalCost()->getApproved()); $data->setValue("transactionsTotalCostDeclined", $transactions->getTotalCost()->getDeclined()); $data->setValue("transactionsTotalCostPaid", $transactions->getTotalCost()->getPaid()); $data->setValue("transactionTotalCostPending", $transactions->getTotalCost()->getPending()); $data->setValue("transactionsCommission", $transactions->getCommission()->getAll()); $data->setValue("transactionsCommissionApproved", $transactions->getCommission()->getApproved()); $data->setValue("transactionsCommissionDeclined", $transactions->getCommission()->getDeclined()); $data->setValue("transactionsCommissionPaid", $transactions->getCommission()->getPaid()); $data->setValue("transactionsCommissionPending", $transactions->getCommission()->getPending()); return $data; }