public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$page = 1;
$continue = true;
while ($continue) {
$valuesFormExport = array();
$valuesFormExport[] = new \Oara\Curl\Parameter('dateFrom', $dStartDate->format("d/m/Y"));
$valuesFormExport[] = new \Oara\Curl\Parameter('dateTo', $dEndDate->format("d/m/Y"));
$valuesFormExport[] = new \Oara\Curl\Parameter('startIndex', $page);
$valuesFormExport[] = new \Oara\Curl\Parameter('numberOfPages', '1');
$urls = array();
$urls[] = new \Oara\Curl\Request('https://etrader.kalahari.com/view/affiliate/transactionreport', $valuesFormExport);
$exportReport = $this->_client->post($urls);
$doc = new \DOMDocument();
@$doc->loadHTML($exportReport[0]);
$xpath = new \DOMXPath($doc);
$results = $xpath->query('//table');
$exportData = \Oara\Utilities::htmlToCsv(\Oara\Utilities::DOMinnerHTML($results->item(0)));
if (\preg_match("/No results found/", $exportData[1])) {
break;
} else {
$page++;
}
for ($j = 1; $j < \count($exportData); $j++) {
$transactionDetail = \str_getcsv($exportData[$j], ";");
$transaction = array();
$transaction['merchantId'] = "1";
if (\preg_match("/Order dispatched: ([0-9]+) /", $transactionDetail[2], $match)) {
$transaction['custom_id'] = $match[1];
}
$date = \DateTime::createFromFormat("d M Y", $transactionDetail[0]);
$transaction['date'] = $date->format("Y-m-d 00:00:00");
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
if ($transactionDetail[3] != null) {
$transaction['amount'] = \Oara\Utilities::parseDouble($transactionDetail[3]);
$transaction['commission'] = \Oara\Utilities::parseDouble($transactionDetail[3]);
} else {
if ($transactionDetail[4] != null) {
$transaction['amount'] = \Oara\Utilities::parseDouble($transactionDetail[4]);
$transaction['commission'] = \Oara\Utilities::parseDouble($transactionDetail[4]);
}
}
$totalTransactions[] = $transaction;
}
}
return $totalTransactions;
}