/**
     *
     * @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;
    }
 /**
  *
  * @service financial_overview read
  * @param $fields
  */
 public function load(Gpf_Rpc_Params $params) {
     $data = new Gpf_Rpc_Data($params);
     
     $transactions = new Pap_Stats_Transactions(new Pap_Stats_Params());
     $data->setValue("approvedCommissions", round($transactions->getCommission()->getApproved(), 2));
     $data->setValue("pendingCommissions", round($transactions->getCommission()->getPending(), 2));
     
     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;
	}
	/**
	 *
	 * @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 period_stats read
     * @param $fields
     */
    public function load(Gpf_Rpc_Params $params) {
        $data = new Gpf_Rpc_Data($params);

        $thisMonthParams = $this->getStatsParams(Gpf_Data_Filter::RANGE_THIS_MONTH);

        $transactions = new Pap_Stats_Transactions($thisMonthParams);
        $data->setValue('totalCommisonsApprovedUnpaid', $transactions->getCommission()->getApproved());
        $data->setValue('totalCommissionsPending', $transactions->getCommission()->getPending());
        $data->setValue('totalCommissionsPaid', $transactions->getCommission()->getPaid());
        $data->setValue('generalAffiliateLink', self::getAffiliateLink());

        return $data;
    }
    protected function fillDataToTemplate(Gpf_Templates_Template $tmpl, Gpf_Rpc_Params $params) {
        $todayParams = $this->getStatsParams('T');
        $thisMonthParams = $this->getStatsParams('TM');
        
        $tmpl->assign('todayClicks', new Pap_Stats_Clicks($todayParams));
        $tmpl->assign('todayImpressions', new Pap_Stats_Impressions($todayParams));
        $tmpl->assign('todaySales', new Pap_Stats_Sales($todayParams));
        $tmpl->assign('todayCommissions', new Pap_Stats_Transactions($todayParams));
        $tmpl->assign('todayRefunds', new Pap_Stats_Refunds($todayParams));
        $tmpl->assign('todayChargebacks', new Pap_Stats_Chargebacks($todayParams));
        $tmpl->assign('todayTransactionTypes', new Pap_Stats_TransactionTypeStats($todayParams));
        
        $signupBonus = new Pap_Stats_Transactions($todayParams);
        $signupBonus->setTransactionType(Pap_Db_Transaction::TYPE_SIGNUP_BONUS);
        $tmpl->assign('todaySignupBonus', $signupBonus);
        
        $tmpl->assign('thisMonthClicks', new Pap_Stats_Clicks($thisMonthParams));
        $tmpl->assign('thisMonthImpressions', new Pap_Stats_Impressions($thisMonthParams));
        $tmpl->assign('thisMonthSales', $s = new Pap_Stats_Sales($thisMonthParams));
        $tmpl->assign('thisMonthCommissions', new Pap_Stats_Transactions($thisMonthParams));
        $tmpl->assign('thisMonthRefunds', new Pap_Stats_Refunds($thisMonthParams));
        $tmpl->assign('thisMonthChargebacks', new Pap_Stats_Chargebacks($thisMonthParams));
        $tmpl->assign('thisMonthTransactionTypes', new Pap_Stats_TransactionTypeStats($thisMonthParams));
        
        $signupBonusMonth = new Pap_Stats_Transactions($thisMonthParams);
        $signupBonusMonth->setTransactionType(Pap_Db_Transaction::TYPE_SIGNUP_BONUS);
        $tmpl->assign('thisMonthSignupBonus', $signupBonusMonth);

        $actionCommissionsEnabled = Gpf::NO;
        $types = new Pap_Stats_TransactionTypeStatsFirstTier($thisMonthParams);
        foreach ($types->getTypes() as $transactionType) {
            if($transactionType->getType() == Pap_Common_Constants::TYPE_ACTION) {
                $actionCommissionsEnabled = Gpf::YES;
                $tmpl->assign('todayActionCommissions', new Pap_Stats_Actions($todayParams));
                $tmpl->assign('thisMonthActionCommissions', new Pap_Stats_Actions($thisMonthParams));
                break;
            }
        }
        $tmpl->assign('actionCommissionsEnabled', $actionCommissionsEnabled);

        if (Gpf_Session::getAuthUser()->hasPrivilege(Pap_Privileges::PENDING_TASK, Pap_Privileges::P_READ)) {
            $pendingTasksGadget = new Pap_Merchants_ApplicationGadgets_PendingTasksGadgets();
            $pendingTasksData = $pendingTasksGadget->load($params);
            $tmpl->assign('pendingTasks', array('affiliates' => $pendingTasksData->getValue('pendingAffiliates'),'links'=>$pendingTasksData->getValue('pendingDirectLinks'),'emails'=>$pendingTasksData->getValue('unsentEmails'),'commissions'=>$pendingTasksData->getValue('pendingCommissions'),'totalcosts'=>$pendingTasksData->getValue('totalCommissions')));
        } else {
            $tmpl->assign('pendingTasks', false);
        }
        
        return $tmpl;
    }
 public function addTransType($type, $commTypeId = null) {
     $stats = new Pap_Stats_Transactions($this->params);
     $stats->setTransactionType($type);
     $stats->setCommissionTypeId($commTypeId);
     $this->addTransactionType($stats);
 }
 public function add(Pap_Stats_Transactions $transactions) {
     $this->commission->add($transactions->getCommission());
     $this->count->add($transactions->getCount());
     $this->totalCost->add($transactions->getTotalCost());
 }
Beispiel #9
0
 public function __construct(Pap_Stats_Params $params) {
     parent::__construct($params);
     $this->setTransactionType(Pap_Common_Constants::TYPE_SALE);
     $this->setTier(Pap_Stats_Computer_Transactions::FIRST_TIER);
 }
 public function getName() {
     return Pap_Common_Constants::getTypeAsText($this->getMainType()) . ' of ' . parent::getName();
 }
Beispiel #11
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;
	}
 public function __construct(Pap_Stats_Params $params) {
     parent::__construct($params);
     $this->setTier(Pap_Stats_Computer_Transactions::HIGHER_TIERS);
 }
Beispiel #13
0
 public function __construct(Pap_Stats_Params $params, $commissionTypeId,
     Pap_Features_ActionCommission_Stats_ActionsComputer $computer) {
     parent::__construct($params);
     $this->setCommissionTypeId($commissionTypeId);
     $this->actionsComputer = $computer;
 }
    /**
     * @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;
    }
	public function traficOverview($session,$today){
		$this->loginFromSession($session);
		$homeData = new Pap_Merchants_HomeData();
		if($today){
			$statParams = $homeData->getStatsParams('T');
		}else{
			$statParams = $homeData->getStatsParams('TM');
		}
		$response = new Pap_Mobile_Response(true);

		$impressions = new Pap_Stats_Impressions($statParams);
		$response->impressionsraw = (int)$impressions->getCount()->getRaw();
		$response->impressionsunique = (int)$impressions->getCount()->getUnique();

		$clicks = new Pap_Stats_Clicks($statParams);
		$response->clicksraw = (int)$clicks->getCount()->getRaw();
		$response->clicksunique = (int)$clicks->getCount()->getUnique();

		$sales = new Pap_Stats_Sales($statParams);

		$response->salespaid = (int)$sales->getCount()->getPaid();
		$response->salespending = (int)$sales->getCount()->getPending();
		$response->salesapproved = (int)$sales->getCount()->getApproved();

		$response->salescostpaid = $this->toCurency($sales->getTotalCost()->getPaid());
		$response->salescostpending = $this->toCurency($sales->getTotalCost()->getPending());
		$response->salescostapproved = $this->toCurency($sales->getTotalCost()->getApproved());

		$commisions = new Pap_Stats_Transactions($statParams);
		$response->commisionspaid = $this->toCurency($commisions->getCommission()->getPaid());
		$response->commisionspending = $this->toCurency($commisions->getCommission()->getPending());
		$response->commisionsapproved = $this->toCurency($commisions->getCommission()->getApproved());

		$refunds = new Pap_Stats_Refunds($statParams);
		$response->refundspaid = $this->toCurency($refunds->getCommission()->getPaid());
		$response->refundspending = $this->toCurency($refunds->getCommission()->getPending());
		$response->refundsapproved = $this->toCurency($refunds->getCommission()->getApproved());

		$chargebacks = new Pap_Stats_Chargebacks($statParams);
		$response->chargebackspaid = $this->toCurency($chargebacks->getCommission()->getPaid());
		$response->chargebackspending = $this->toCurency($chargebacks->getCommission()->getPending());
		$response->chargebacksapproved = $this->toCurency($chargebacks->getCommission()->getApproved());

		return $response;
	}