Oara\Network\Publisher\ClixGalore::getTransactionList PHP Method

getTransactionList() public method

public getTransactionList ( null $merchantList = null, DateTime $dStartDate = null, DateTime $dEndDate = null ) : array
$merchantList null
$dStartDate DateTime
$dEndDate DateTime
return array
    public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
    {
        $totalTransactions = array();
        $merchantMap = \Oara\Utilities::getMerchantNameMapFromMerchantList($merchantList);
        $statusArray = array(0, 1, 2);
        foreach ($statusArray as $status) {
            $valuesFromExport = array(new \Oara\Curl\Parameter('AfID', '0'), new \Oara\Curl\Parameter('S', ''), new \Oara\Curl\Parameter('ST', '2'), new \Oara\Curl\Parameter('Period', '6'), new \Oara\Curl\Parameter('AdID', '0'), new \Oara\Curl\Parameter('B', '2'));
            $valuesFromExport[] = new \Oara\Curl\Parameter('SD', $dStartDate->format("Y-m-d"));
            $valuesFromExport[] = new \Oara\Curl\Parameter('ED', $dEndDate->format("Y-m-d"));
            $valuesFromExport[] = new \Oara\Curl\Parameter('Status', $status);
            $urls = array();
            $urls[] = new \Oara\Curl\Request('http://www.clixgalore.co.uk/AffiliateTransactionSentReport_Excel.aspx?', $valuesFromExport);
            $exportReport = $this->_client->get($urls);
            $exportData = \Oara\Utilities::htmlToCsv($exportReport[0]);
            $num = \count($exportData);
            for ($i = 1; $i < $num; $i++) {
                $transactionExportArray = \str_getcsv($exportData[$i], ";");
                if (isset($merchantMap[$transactionExportArray[2]])) {
                    $transaction = array();
                    $merchantId = (int) $merchantMap[$transactionExportArray[2]];
                    $transaction['merchantId'] = $merchantId;
                    $transactionDate = \DateTime::createFromFormat("d M Y H:m", $transactionExportArray[0]);
                    $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                    if ($transactionExportArray[6] != null) {
                        $transaction['custom_id'] = $transactionExportArray[6];
                    }
                    if ($status == 1) {
                        $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                    } else {
                        if ($status == 2) {
                            $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                        } else {
                            if ($status == 0) {
                                $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                            }
                        }
                    }
                    $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[4]);
                    $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[5]);
                    $totalTransactions[] = $transaction;
                }
            }
        }
        return $totalTransactions;
    }