public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
{
$totalTransactions = array();
$urls = array();
$valuesFormExport = array();
$urls[] = new \Oara\Curl\Request('http://affiliate.globelink.co.uk/home/', $valuesFormExport);
$exportReport = $this->_client->get($urls);
$commmisionUrl = "";
if (\preg_match("/\\/profile\\/(.*)\\/sales/", $exportReport[0], $matches)) {
$commmisionUrl = "http://affiliate.globelink.co.uk/profile/" . $matches[1] . "/sales/?";
}
$auxTransactionList = array();
$page = 1;
$exit = false;
while (!$exit) {
$urls = array();
$valuesFormExport = array();
$valuesFormExport[] = new \Oara\Curl\Parameter('page', $page);
$valuesFormExport[] = new \Oara\Curl\Parameter('count', 20);
$urls[] = new \Oara\Curl\Request($commmisionUrl, $valuesFormExport);
$exportReport = $this->_client->get($urls);
$doc = new \DOMDocument();
@$doc->loadHTML($exportReport[0]);
$xpath = new \DOMXPath($doc);
$results = $xpath->query('//*[contains(concat(" ", normalize-space(@class), " "), " affs-list-r ")]');
foreach ($results as $line) {
$auxTransaction = array();
foreach ($line->childNodes as $attribute) {
$value = \trim((string) $attribute->nodeValue);
if (\strlen($value) > 0) {
$auxTransaction[] = $value != "n/a" ? $value : '';
}
}
$auxTransactionList[] = $auxTransaction;
}
if (\preg_match("/<li><span>»<\\/span><\\/li>/", $exportReport[0])) {
$exit = true;
}
$page++;
}
foreach ($auxTransactionList as $auxTransaction) {
if ($dStartDate->format("Y-m-d H:i:s") <= $auxTransaction[0] && $dEndDate->format("Y-m-d H:i:s") >= $auxTransaction[0]) {
$transaction = array();
$transaction['merchantId'] = 1;
$transaction['date'] = $auxTransaction[0];
$transaction['unique_id'] = $auxTransaction[1];
if (strstr($auxTransaction[6], 'No')) {
$transaction['status'] = \Oara\Utilities::STATUS_PENDING;
} else {
if (strstr($auxTransaction[6], 'Yes')) {
$transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
}
}
$transaction['amount'] = $auxTransaction[3];
$transaction['commission'] = $auxTransaction[4];
$totalTransactions[] = $transaction;
}
}
return $totalTransactions;
}