Oara\Network\Publisher\FoxTransfer::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();
        $urls = array();
        $url = "https://foxtransfer.eu/index.php?q=prices.en.html&page=affiliate_orders&language=1&basedir=theme2&what=record_time&what=record_time&fy={$dStartDate->format("Y")}&fm={$dStartDate->format("n")}&fd={$dStartDate->format("j")}&ty={$dEndDate->format("Y")}&tm={$dEndDate->format("n")}&td={$dEndDate->format("j")}";
        $urls[] = new \Oara\Curl\Request($url, array());
        $exportReport = $this->_client->get($urls);
        $exportReport = \str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "", $exportReport[0]);
        $doc = new \DOMDocument();
        @$doc->loadHTML($exportReport);
        $xpath = new \DOMXPath($doc);
        $tableList = $xpath->query('//*[contains(concat(" ", normalize-space(@id), " "), " tartalom-hatter ")]');
        $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->item(0)));
        $num = \count($exportData);
        for ($i = 11; $i < $num - 8; $i++) {
            $transactionExportArray = \str_getcsv($exportData[$i], ";");
            $transaction = array();
            $transaction['merchantId'] = 1;
            $transaction['unique_id'] = $transactionExportArray[0];
            $transaction['date'] = "{$dStartDate->format("Y")}-{$dStartDate->format("m")}-01 00:00:00";
            if ($transactionExportArray[7] == "Confirmed") {
                $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
            } else {
                if ($transactionExportArray[7] == "Cancelled") {
                    $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                } else {
                    throw new \Exception("New status found {$transaction['status']}");
                }
            }
            $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[10]);
            $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[13]);
            $totalTransactions[] = $transaction;
        }
        return $totalTransactions;
    }