Oara\Network\Publisher\Invia::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();
        $valuesFromExport = array(new \Oara\Curl\Parameter('AffilUI_Filter', ''), new \Oara\Curl\Parameter('AffilUI_FilterStr', ''), new \Oara\Curl\Parameter('AffilUI_FilterTag', ''), new \Oara\Curl\Parameter('AdvancedFilter_State', '0'), new \Oara\Curl\Parameter('AdvancedFilter_nl_stav_id', '0'), new \Oara\Curl\Parameter('AdvancedFilter_nl_invia_id', '1'), new \Oara\Curl\Parameter('AdvancedFilter_departure', '0'), new \Oara\Curl\Parameter('AdvancedFilter_b_show_invoiced', 'on'), new \Oara\Curl\Parameter('AdvancedFilter_date_from', '01.01.2014'), new \Oara\Curl\Parameter('AdvancedFilter_date_to', '31.10.2014'), new \Oara\Curl\Parameter('AdvancedFilter_nl_rows', ''), new \Oara\Curl\Parameter('AdvancedFilter_sent', '1'));
        $urls = array();
        $urls[] = new \Oara\Curl\Request("http://partner2.invia.cz/ikomunity/index.php?k2MAIN[action]=AFFIL_OBJ", $valuesFromExport);
        $exportReport = $this->_client->get($urls);
        $doc = new \DOMDocument();
        @$doc->loadHTML($exportReport[0]);
        $xpath = new \DOMXPath($doc);
        $tableList = $xpath->query('//*[contains(concat(" ", normalize-space(@id), " "), " k2table_AffilUI ")]');
        if ($tableList->length > 0) {
            $exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($tableList->item(0)));
            $num = \count($exportData);
            for ($i = 1; $i < $num - 1; $i++) {
                $transactionExportArray = \explode(";", $exportData[$i]);
                $transaction = array();
                $transactionDate = \DateTime::createFromFormat("d.m.Y", $transactionExportArray[2]);
                $transaction['date'] = $transactionDate->format("Y-m-d H:i:s");
                $status = $transactionExportArray[4];
                if ($status == "Zaplaceno") {
                    $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
                } else {
                    if ($status == "Neprod�no") {
                        $transaction['status'] = \Oara\Utilities::STATUS_PENDING;
                    } else {
                        if ($status == "Storno") {
                            $transaction['status'] = \Oara\Utilities::STATUS_DECLINED;
                        } else {
                            throw new \Exception("New status found {$status}");
                        }
                    }
                }
                $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[6]);
                $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[6]);
                $transaction['merchantId'] = 1;
                $transaction['unique_id'] = $transactionExportArray[0];
                $totalTransactions[] = $transaction;
            }
        }
        return $totalTransactions;
    }