/**
	 * @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;
	}
Пример #2
0
	/**
	 *
	 * 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();
	}
Пример #3
0
	private function getStats(Pap_Stats_Params $statsParams) {
		$stats = array();
		if($this->clientDate != '') {
			$stats['fordate'] = substr($this->clientDate, 0, 10); // get only date part of the date
		} else {
			$stats['fordate'] = $statsParams->getDateFrom()->toDate(); // get only date part of the date
		}

		if ($statsParams->getAffiliateId() != '') {
			$stats['usertype'] = 'affiliate';
		} else {
			$stats['usertype'] = 'merchant';
		}

		$clicks = new Pap_Stats_Clicks($statsParams);
		$imps = new Pap_Stats_Impressions($statsParams);
		$sales = new Pap_Stats_Sales($statsParams);

		$stats['today_clicks'] = $clicks->getCount()->getAll();
		$stats['today_impressions'] = $imps->getCount()->getAll();
		$stats['today_unique_impressions'] = $imps->getCount()->getUnique();
		$stats['today_sales_approved'] = $sales->getCount()->getApproved();
		$stats['today_sales_pending'] = $sales->getCount()->getPending();
		$stats['today_sales_declined'] = $sales->getCount()->getDeclined();

		if ($statsParams->getAffiliateId() != '') {
			$transactions = new Pap_Stats_Transactions($statsParams);
			$stats['approved'] = $transactions->getCommission()->getApproved();
			$stats['pending'] = $transactions->getCommission()->getPending();
			$stats['declined'] = $transactions->getCommission()->getDeclined();
		} else {
			$affiliateStats = $this->getAffiliateStats(new Pap_Stats_Params());

			$affiliateStats->rewind();
			while ($affiliateStats->valid()) {
				$stats[$affiliateStats->key()] = $this->correctNullValue($affiliateStats->current());
				$affiliateStats->next();
			}
		}

		$stats['today_leads_approved'] = 0;
		$stats['today_leads_pending'] = 0;
		$stats['today_leads_declined'] = 0;
		$stats['currency'] = 'U';

		return $stats;
	}