Oara\Network\Publisher\BTGuard::getTransactionList PHP Метод

getTransactionList() публичный Метод

public getTransactionList ( null $merchantList = null, DateTime $dStartDate = null, DateTime $dEndDate = null ) : array
$merchantList null
$dStartDate DateTime
$dEndDate DateTime
Результат array
    public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
    {
        $totalTransactions = array();
        $amountDays = $dStartDate->diff($dEndDate)->days;
        $auxDate = clone $dStartDate;
        for ($j = 0; $j <= $amountDays; $j++) {
            $valuesFormExport = array();
            $valuesFormExport[] = new \Oara\Curl\Parameter('date1', $auxDate->format("Y-m-d"));
            $valuesFormExport[] = new \Oara\Curl\Parameter('date2', $auxDate->format("Y-m-d"));
            $valuesFormExport[] = new \Oara\Curl\Parameter('prerange', '0');
            $urls = array();
            $urls[] = new \Oara\Curl\Request('https://affiliate.btguard.com/reports?', $valuesFormExport);
            $exportReport = $this->_client->get($urls);
            $doc = new \DOMDocument();
            @$doc->loadHTML($exportReport[0]);
            $xpath = new \DOMXPath($doc);
            $results = $xpath->query('//table[@cellspacing="12"]');
            if ($results->length > 0) {
                $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($results->item(0)));
                for ($z = 1; $z < \count($exportData); $z++) {
                    $transactionLineArray = \str_getcsv($exportData[$z], ";");
                    $numberTransactions = (int) $transactionLineArray[2];
                    if ($numberTransactions != 0) {
                        $commission = \Oara\Utilities::parseDouble($transactionLineArray[3]);
                        $commission = (double) $commission / $numberTransactions;
                        for ($y = 0; $y < $numberTransactions; $y++) {
                            $transaction = array();
                            $transaction['merchantId'] = "1";
                            $transaction['date'] = $auxDate->format("Y-m-d H:i:s");
                            $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                            $transaction['amount'] = $commission;
                            $transaction['commission'] = $commission;
                            $totalTransactions[] = $transaction;
                        }
                    }
                }
            }
            $auxDate->add(new \DateInterval('P1D'));
        }
        return $totalTransactions;
    }