Example #1
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $urls = array();
     $exportParams = array(new Oara_Curl_Parameter('agentcode', $this->_credentials['user']), new Oara_Curl_Parameter('pword', $this->_credentials['password']), new Oara_Curl_Parameter('fromdate', $dStartDate->toString("dd-MM-yyyy")), new Oara_Curl_Parameter('todate', $dEndDate->toString("dd-MM-yyyy")), new Oara_Curl_Parameter('rqtype', "report"));
     $urls[] = new Oara_Curl_Request('https://www.parkandgo.co.uk/agents/', $exportParams);
     $exportReport = $this->_client->post($urls);
     $today = new Zend_Date();
     $today->setHour(0);
     $today->setMinute(0);
     $exportData = str_getcsv($exportReport[0], "\n");
     $num = count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ",");
         $arrivalDate = new Zend_Date($transactionExportArray[3], 'yyyy-MM-dd 00:00:00', 'en');
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['unique_id'] = $transactionExportArray[0];
         $transactionDate = new Zend_Date($transactionExportArray[2], 'yyyy-MM-dd 00:00:00', 'en');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
         unset($transactionDate);
         $transaction['status'] = Oara_Utilities::STATUS_PENDING;
         if ($today > $arrivalDate) {
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         }
         $transaction['amount'] = Oara_Utilities::parseDouble($transactionExportArray[6]);
         $transaction['commission'] = Oara_Utilities::parseDouble($transactionExportArray[7]);
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Example #2
0
 /**
  * Check the connection
  */
 public function checkConnection()
 {
     //If not login properly the construct launch an exception
     $connection = true;
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://affiliate.hidemyass.com/dashboard', array());
     $exportReport = $this->_client->post($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('#loginform');
     if (count($results) > 0) {
         $connection = false;
     }
     return $connection;
 }
Example #3
0
 /**
  * Check the connection
  */
 public function checkConnection()
 {
     //If not login properly the construct launch an exception
     $connection = false;
     $urls = array();
     $urls[] = new Oara_Curl_Request('http://affiliates.paddypartners.com/affiliates/Dashboard.aspx', array());
     $exportReport = $this->_client->post($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('.lnkLogOut');
     if (count($results) > 0) {
         $connection = true;
     }
     return $connection;
 }
Example #4
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $valuesFromExport = Oara_Utilities::cloneArray($this->_exportPaymentParameters);
     $valuesFromExport[] = new Oara_Curl_Parameter('fromDate', "01/01/2000");
     $dEndDate = new Zend_Date();
     $valuesFromExport[] = new Oara_Curl_Parameter('until', $dEndDate->toString("dd/MM/yyyy"));
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.ladbrokes.com/aff_man', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('#results_table');
     $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
     $num = count($exportData);
     for ($i = 2; $i < $num - 2; $i++) {
         $paymentExportArray = str_getcsv($exportData[$i], ";");
         $obj = array();
         $date = new Zend_Date($paymentExportArray[1], "dd/MM/yy", 'en');
         $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
         $obj['pid'] = $i - 1;
         $obj['value'] = $paymentExportArray[10];
         $obj['method'] = 'BACS';
         $paymentHistory[] = $obj;
     }
     return $paymentHistory;
 }
 /**
  * @param null $merchantList
  * @param \DateTime|null $dStartDate
  * @param \DateTime|null $dEndDate
  * @return array
  */
 public function getTransactionList($merchantList = null, \DateTime $dStartDate = null, \DateTime $dEndDate = null)
 {
     $totalTransactions = array();
     $valuesFromExport = array();
     $valuesFromExport[] = new \Oara\Curl\Parameter('ctl00$cphPage$reportFrom', $dStartDate->format("Y-m-d"));
     $valuesFromExport[] = new \Oara\Curl\Parameter('ctl00$cphPage$reportTo', $dEndDate->format("Y-m-d"));
     $urls = array();
     $urls[] = new \Oara\Curl\Request('https://affiliates.affutd.com/affiliatesv1/DataServiceWrapper/DataService.svc/Export/CSV/Affiliates_Reports_GeneralStats_DailyFigures', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $exportData = \str_getcsv($exportReport[0], "\n");
     $num = \count($exportData);
     for ($i = 2; $i < $num - 1; $i++) {
         $transactionExportArray = \str_getcsv($exportData[$i], ",");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $date = \DateTime::createFromFormat("d-m-Y", trim($transactionExportArray[0]));
         $date->setTime(0, 0);
         $transaction['date'] = $date->format("Y-m-d H:i:s");
         $transaction['status'] = \Oara\Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = \Oara\Utilities::parseDouble($transactionExportArray[16]);
         $transaction['commission'] = \Oara\Utilities::parseDouble($transactionExportArray[16]);
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Example #6
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Base#getCreatives()
  */
 public function getCreatives()
 {
     $creativesMap = array();
     $merchantList = self::getMerchantList();
     foreach ($merchantList as $merchant) {
         $urls = array();
         $valuesFormExport = array();
         $valuesFormExport[] = new Oara_Curl_Parameter('__EVENTTARGET', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('__EVENTARGUMENT', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('__LASTFOCUS', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('__VIEWSTATE', '/wEPDwUKMTQzMTQ3MzI4MQ9kFgJmD2QWBGYPZBYEAgMPFgIeBGhyZWYFFC9UZW1wbGF0ZXMvMV9zZWMuY3NzZAIFDxYCHwAFJC90ZW1wbGF0ZXMvQ3VzdG9tTWVyY2hhbnRDU1MvNTQyLmNzc2QCAQ9kFgQCAw9kFggCAw8PFgIeB1Zpc2libGVoZGQCBA9kFggCAg8QD2QWAh4Ib25jaGFuZ2UFFVNldFNpemVDb250cm9sVmFsdWUoKRAVFANBbGwcTWVkaXVtIFJlY3RhbmdsZSAoMzAwIHggMjUwKR5WZXJ0aWNhbCBSZWN0YW5nbGUgKDI0MCB4IDQwMCkbTGFyZ2UgUmVjdGFuZ2xlICgzMzYgeCAyODApFVJlY3RhbmdsZSAoMzAwIHggMTAwKRVQb3AtVW5kZXIgKDcyMCB4IDMwMCkcTWVkaXVtIFJlY3RhbmdsZSAoMzAwIHggMjUwKRZGdWxsIEJhbm5lciAoNDY4IHggNjApFkhhbGYgQmFubmVyICgyMzQgeCA2MCkTTWljcm8gQmFyICg4OCB4IDMxKRNCdXR0b24gMSAoMTIwIHggOTApE0J1dHRvbiAyICgxMjAgeCA2MCkbVmVydGljYWwgQmFubmVyICgxMjAgeCAyNDApGVNxdWFyZSBCdXR0b24gKDEyNSB4IDEyNSkWTGVhZGVyYm9hcmQgKDcyOCB4IDkwKRtXaWRlIFNreXNjcmFwZXIgKDE2MCB4IDYwMCkWU2t5c2NyYXBlciAoMTIwIHggNjAwKRhIYWxmIFBhZ2UgQWQgKDMwMCB4IDYwMCkVQmlsbGJvYXJkICg3NTAgeCAxMDApG0RvdWJsZWJpbGxib2FyZCAoNzUwIHggMjAwKRUUAAkzMDAgeCAyNTAJMjQwIHggNDAwCTMzNiB4IDI4MAkzMDAgeCAxMDAJNzIwIHggMzAwCTMwMCB4IDI1MAg0NjggeCA2MAgyMzQgeCA2MAc4OCB4IDMxCDEyMCB4IDkwCDEyMCB4IDYwCTEyMCB4IDI0MAkxMjUgeCAxMjUINzI4IHggOTAJMTYwIHggNjAwCTEyMCB4IDYwMAkzMDAgeCA2MDAJNzUwIHggMTAwCTc1MCB4IDIwMBQrAxRnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2RkAgYPEGQQFQcDQWxsBUltYWdlDEhUTUwgQ29udGVudA1GbGFzaCBCYW5uZXJzCkVkaXRvcmlhbHMFTWl4ZWQJVGV4dCBMaW5rFQcAATEBMgEzATUBNgE3FCsDB2dnZ2dnZ2dkZAIHD2QWAgIFDxBkEBUWA0FsbAdBZG1pcmFsD0FyZ29zIEluc3VyYW5jZQxBU0RBIEZpbmFuY2UcQmVubmV0dHMgTW90b3JiaWtlIEluc3VyYW5jZQlDaHVyY2hpbGwLRGlyZWN0IExpbmUYRGlyZWN0IFRyYXZlbCBJbnN1cmFuY2UgCEV1cm9zdGFyCUdvY29tcGFyZQpHcmVlbiBGbGFnFEhhbGlmYXggQ3JlZGl0IENhcmRzEkt3aWsgRml0IEluc3VyYW5jZRFNYXJrcyBhbmQgU3BlbmNlciBPaW5jLmNvbSBPbmxpbmUgVHJhdmVsIEluc3VyYW5jZRJPbmxpbmUgTWVkaWEgR3JvdXANUmVzY3VlIE15IENhchBTYWluc2J1cnkncyBCYW5rFFRyYXZlbCBJbnN1cmFuY2UgV2ViDFZpcmdpbiBNb25leQdXSFNtaXRoDVllcyBJbnN1cmFuY2UVFgEwBDQzMDEGMTExMzQ5BTg2MjUzBDI0MjEEMTIzNgQxNTM2BTEyMjUxBDQ4ODMEMzQ2NgQxNTM3BTE2MTgzBDE3NTQEMjI1MQU2NTU1NQQxMDI1BDQzODgFNDEzMzEEMTk1NgMzNTEENDU2OAQyMjc2FCsDFmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dkZAIID2QWBAIMDw8WAh4JTWF4TGVuZ3RoZmRkAhIPDxYCHwNmZGQCBQ9kFgQCBQ8QZGQWAGQCDQ8QZGQWAWZkAgYPD2QPEBYDZgIBAgIWAxYCHg5QYXJhbWV0ZXJWYWx1ZQUDNTQyFgIfBGQWAh8EZBYDAgUCAwIDZGQCBQ8PFgIfAWhkZGTBpeqPSNcBsSw8OmyhYN8N7YyNcg==');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$Uc_Navigation1$ddlNavSelectMerchant', '0');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$drpSize', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$txtSize', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$drpType', '');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$drpMerchant', $merchant['cid']);
         //
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$drpProduct', '-1');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$cmdSearch', 'Search');
         $valuesFormExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$Uc_containersearch1$proghiddenfield', '');
         $urls[] = new Oara_Curl_Request('https://admin.omgpm.com/v2/creative/affiliate/adcentre.aspx?', $valuesFormExport);
         $exportReport = $this->_client->post($urls);
         var_dump($exportReport[0]);
         //OMGCreativeURL34321=<script type="text/javascript" src="http://track.omguk.com/bs/?AID=542&MID=86253&PID=6748&CID=3060734&CRID=34321&WID=18372&Width=490&Height=250"></script>
         //hidden34321=html
         //hiddencid34321=3060734
         //hiddenMid34321=86253
         //hiddenPid34321=6748
     }
     return $creativesMap;
 }
Example #7
0
 /**
  * (non-PHPdoc)
  * 
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $valuesFormExport = array();
     if ($this->_transactionList == null) {
         $urls = array();
         $valuesExport = array(new Oara_Curl_Parameter('D', '{"C":"Pap_Affiliates_Reports_TransactionsGrid", "M":"getCSVFile", "S":"' . $this->_s . '", "FormResponse":"Y", "sort_col":"dateinserted", "sort_asc":false, "offset":0, "limit":30, "columns":[["id"],["id"],["commission"],["totalcost"],["fixedcost"],["t_orderid"],["productid"],["dateinserted"],["name"],["rtype"],["tier"],["commissionTypeName"],["rstatus"],["merchantnote"],["channel"]]}'));
         $urls[] = new Oara_Curl_Request('https://vpnaffiliates.com/affiliates/scripts/server.php?', $valuesExport);
         $exportReport = array();
         $exportReport = $this->_client->post($urls);
         $this->_transactionList = str_getcsv($exportReport[0], "\n");
     }
     $exportData = $this->_transactionList;
     $num = count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ",");
         // print_r($transactionExportArray);
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['uniqueId'] = $transactionExportArray[3];
         $transactionDate = new Zend_Date($transactionExportArray[5], 'yyyy-MM-dd HH:mm:ss', 'en');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
         unset($transactionDate);
         $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = Oara_Utilities::parseDouble($transactionExportArray[1]);
         $transaction['commission'] = Oara_Utilities::parseDouble($transactionExportArray[0]);
         // print_r($transaction);
         if ($transaction['date'] >= $dStartDate->toString("yyyy-MM-dd HH:mm:ss") && $transaction['date'] <= $dEndDate->toString("yyyy-MM-dd HH:mm:ss")) {
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Example #8
0
 /**
  * (non-PHPdoc)
  * 
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $valuesFromExport = $this->_exportPaymentParameters;
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://admin.omgpm.com/v2/finance/affiliate/view_payments.aspx?', array());
     $exportReport = $this->_client->get($urls);
     /**
      * * load the html into the object **
      */
     $doc = new DOMDocument();
     libxml_use_internal_errors(true);
     $doc->validateOnParse = true;
     $doc->loadHTML($exportReport[0]);
     $hiddenList = $doc->getElementsByTagName('input');
     if ($hiddenList->length > 0) {
         for ($i = 0; $i < $hiddenList->length; $i++) {
             $attrs = $hiddenList->item($i)->attributes;
             if ($attrs->getNamedItem("type")->nodeValue == 'hidden') {
                 // we are adding the hidden parameters
                 $valuesFromExport[] = new Oara_Curl_Parameter($attrs->getNamedItem("name")->nodeValue, $attrs->getNamedItem("value")->nodeValue);
             }
         }
         $yearSelect = $doc->getElementById('ctl00_ContentPlaceHolder1_ddlYear')->childNodes;
         $yearStart = (int) $yearSelect->item($yearSelect->length - 1)->attributes->getNamedItem("value")->nodeValue;
         $nowDays = new Zend_Date();
         $yearEnd = (int) $nowDays->get(Zend_Date::YEAR);
         $urls = array();
         for ($i = $yearStart; $i <= $yearEnd; $i++) {
             $requestValuesFromExport = Oara_Utilities::cloneArray($valuesFromExport);
             $requestValuesFromExport[] = new Oara_Curl_Parameter('ctl00$ContentPlaceHolder1$ddlYear', (string) $i);
             $urls[] = new Oara_Curl_Request('https://admin.omgpm.com/v2/finance/affiliate/view_payments.aspx?', $requestValuesFromExport);
         }
         $exportReport = $this->_client->post($urls);
         for ($i = 0; $i < count($exportReport); $i++) {
             if (!preg_match("/No Results for this criteria/i", $exportReport[$i])) {
                 $doc = new DOMDocument();
                 libxml_use_internal_errors(true);
                 $doc->validateOnParse = true;
                 $doc->loadHTML($exportReport[$i]);
                 $table = $doc->getElementById('ctl00_ContentPlaceHolder1_gvSummary');
                 $paymentList = $table->childNodes;
                 for ($j = 1; $j < $paymentList->length; $j++) {
                     $paymentData = $paymentList->item($j)->childNodes;
                     $obj = array();
                     $obj['value'] = Oara_Utilities::parseDouble($paymentData->item(5)->nodeValue);
                     if ($obj['value'] != null) {
                         $date = new Zend_date($paymentData->item(8)->nodeValue, "dd/MM/yyyy HH:mm:ss");
                         $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
                         $obj['pid'] = $paymentData->item(2)->nodeValue;
                         $obj['method'] = 'BACS';
                         $paymentHistory[] = $obj;
                     }
                 }
             }
         }
     }
     return $paymentHistory;
 }
Example #9
0
 private function logIn()
 {
     $user = $this->_credentials['user'];
     $password = $this->_credentials['password'];
     $network = $this->_credentials['network'];
     $this->_networkServer = "";
     switch ($network) {
         case "uk":
             $this->_networkServer = "https://affiliate-program.amazon.co.uk";
             break;
         case "es":
             $this->_networkServer = "https://afiliados.amazon.es";
             break;
         case "us":
             $this->_networkServer = "https://affiliate-program.amazon.com";
             break;
         case "ca":
             $this->_networkServer = "https://associates.amazon.ca";
             break;
         case "de":
             $this->_networkServer = "https://partnernet.amazon.de";
             break;
         case "fr":
             $this->_networkServer = "https://partenaires.amazon.fr";
             break;
         case "it":
             $this->_networkServer = "https://programma-affiliazione.amazon.it/";
             break;
         case "jp":
             $this->_networkServer = "https://affiliate.amazon.co.jp/";
             break;
         case "cn":
             $this->_networkServer = "https://associates.amazon.cn/";
             break;
     }
     //Get html after Js
     $hiddenParams = self::getHiddenParamsAfterJs($this->_credentials);
     $valuesLogin = array(new Oara_Curl_Parameter('email', $user), new Oara_Curl_Parameter('password', $password), new Oara_Curl_Parameter('x', '33'), new Oara_Curl_Parameter('y', '10'));
     foreach ($hiddenParams as $hiddenParamName => $hiddenParamValue) {
         $valuesLogin[] = new Oara_Curl_Parameter($hiddenParamName, $hiddenParamValue);
     }
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_networkServer . "/gp/flex/sign-in/select.html?", $valuesLogin);
     $contentList = $this->_client->post($urls);
     $valuesLogin = array(new Oara_Curl_Parameter('combinedReports', 'on'), new Oara_Curl_Parameter('refURL', '/gp/associates/network/reports/report.html?reportType=earningsReport'));
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_networkServer . "/gp/associates/x-site/combinedReports.html?", $valuesLogin);
     $this->_client->get($urls);
     if (!self::checkConnection()) {
         throw new Exception("You are not connected\n\n");
     }
 }
Example #10
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $valuesFromExport = array();
     $valuesFromExport[] = new Oara_Curl_Parameter('fo', 'true');
     $valuesFromExport[] = new Oara_Curl_Parameter('filter_payments_posted', 'true');
     $urls[] = new Oara_Curl_Request('http://publisher.daisycon.com/en/financial/payments/?', $valuesFromExport);
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('#filter_payments_selection_start_year_id');
     $count = count($results);
     $yearArray = array();
     if ($count == 1) {
         $selectNode = $results->current();
         $yearLines = $selectNode->childNodes;
         for ($i = 0; $i < $yearLines->length; $i++) {
             $yearArray[] = $yearLines->item($i)->attributes->getNamedItem("value")->nodeValue;
         }
         foreach ($yearArray as $year) {
             $valuesFromExport = array();
             $valuesFromExport[] = new Oara_Curl_Parameter('fo', 'true');
             $valuesFromExport[] = new Oara_Curl_Parameter('filter_payments_posted', 'true');
             $valuesFromExport[] = new Oara_Curl_Parameter('filter_payments[selection][start_year]', $year);
             $urls = array();
             $urls[] = new Oara_Curl_Request('http://publisher.daisycon.com/en/financial/payments/?', $valuesFromExport);
             $exportReport = $this->_client->post($urls);
             $dom = new Zend_Dom_Query($exportReport[0]);
             $payments = $dom->query('.financialPaymentsTable');
             foreach ($payments as $payment) {
                 $paymentReport = self::htmlToCsv(self::DOMinnerHTML($payment));
                 $paymentExportArray = str_getcsv($paymentReport[2], ";");
                 if ($paymentExportArray[0] != "") {
                     $obj = array();
                     $paymentDate = new Zend_Date($paymentExportArray[0], "MM dd yyyy", "en");
                     $obj['date'] = $paymentDate->toString("yyyy-MM-dd HH:mm:ss");
                     $obj['pid'] = $paymentDate->toString("yyyyMMdd");
                     $obj['method'] = 'BACS';
                     if (preg_match("/[-+]?[0-9]*,?[0-9]*\\.?[0-9]+/", $paymentExportArray[4], $matches)) {
                         $obj['value'] = Oara_Utilities::parseDouble($matches[0]);
                     } else {
                         throw new Exception("Problem reading payments");
                     }
                     $paymentHistory[] = $obj;
                 }
             }
         }
     } else {
         throw new Exception('Problem getting the payments');
     }
     return $paymentHistory;
 }
Example #11
0
 /**
  * (non-PHPdoc)
  * 
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $page = 1;
     $continue = true;
     while ($continue) {
         $valuesFormExport = array();
         $valuesFormExport[] = new Oara_Curl_Parameter('dateFrom', $dStartDate->toString("dd/MM/yyyy"));
         $valuesFormExport[] = new Oara_Curl_Parameter('dateTo', $dEndDate->toString("dd/MM/yyyy"));
         $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);
         $dom = new Zend_Dom_Query($exportReport[0]);
         $results = $dom->query('table');
         $exportData = self::htmlToCsv(self::DOMinnerHTML($results->current()));
         if (preg_match("/No results found/", $exportData[1])) {
             $continue = false;
             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 = new Zend_Date($transactionDetail[0], "dd MMM yyyy", "en_GB");
             $transaction['date'] = $date->toString("yyyy-MM-dd 00:00:00");
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
             if ($transactionDetail[3] != null) {
                 preg_match("/[-+]?[0-9]*\\.?[0-9]+/", $transactionDetail[3], $match);
                 $transaction['amount'] = (double) $match[0];
                 $transaction['commission'] = (double) $match[0];
             } else {
                 if ($transactionDetail[4] != null) {
                     preg_match("/[-+]?[0-9]*\\.?[0-9]+/", $transactionDetail[4], $match);
                     $transaction['amount'] = (double) $match[0];
                     $transaction['commission'] = (double) $match[0];
                 }
             }
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Example #12
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $valuesFromExport = array();
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00$cphPage$reportFrom', $dStartDate->toString("yyyy-MM-dd"));
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00$cphPage$reportTo', $dEndDate->toString("yyyy-MM-dd"));
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://affiliates.affutd.com/affiliates/DataServiceWrapper/DataService.svc/Export/CSV/Affiliates_Reports_GeneralStats_DailyFigures', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $exportData = str_getcsv($exportReport[0], "\n");
     $num = count($exportData);
     for ($i = 2; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ",");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transactionDate = new Zend_Date($transactionExportArray[0], 'dd-MM-yyyy', 'en');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
         $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = $transactionExportArray[12];
         $transaction['commission'] = $transactionExportArray[13];
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Example #13
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $valuesFormExport = array();
     $valuesFromExport[] = new Oara_Curl_Parameter('periods', 'custom');
     $valuesFromExport[] = new Oara_Curl_Parameter('minDate', '{"year":"2009","month":"05","day":"01"}');
     $valuesFromExport[] = new Oara_Curl_Parameter('show_periods', '1');
     $valuesFromExport[] = new Oara_Curl_Parameter('fromPeriod', $dStartDate->toString('yyyy-MM-dd'));
     $valuesFromExport[] = new Oara_Curl_Parameter('toPeriod', $dEndDate->toString('yyyy-MM-dd'));
     $valuesFromExport[] = new Oara_Curl_Parameter('product', '');
     $valuesFromExport[] = new Oara_Curl_Parameter('profile', '');
     $valuesFromExport[] = new Oara_Curl_Parameter('campaign', '16800');
     $valuesFromExport[] = new Oara_Curl_Parameter('jsonCampaigns', '{"16800":{"group":{"banner":"Banner","product":"Brand","campaign":"Campaign","platform":"Platform","productType":"Product type","profile":"Profile","date":"Stats date","month":"Stats month","var1":"var1","var2":"var2","var3":"var3","var4":"var4"},"order":{"pokerTournamentFees":"Poker tournament fees","pokerRakes":"Poker rakes","chargebacks":"Chargebacks amt","comps":"Comps amt","credits":"Credit amt","depositsAmount":"Deposits amt","depositsCount":"Deposits cnt","realClicks":"Real clicks","realDownloads":"Real downs","realImpressions":"Real imps","withdrawsAmount":"Withdraws","casinoNetGaming":"Casino Net Gaming","pokerNetGaming":"Poker Net Gaming","pokerSideGamesNG":"Poker Side Games Net Gaming","bingoNetGaming":"Bingo Net Gaming","bingoSideGamesNG":"Bingo Side Games Net Gaming","bingoTotalFDCount":"Bingo Total First Deposit Count","casinoTotalFDCount":"Casino Total First Deposit Count","pokerTotalFDCount":"Poker Total First Deposit Count","casinoTotalRealPlayers":"Casino Total Real Players","bingoTotalRealPlayers":"Bingo Total Real Players","pokerTotalRealPlayers":"Poker Total Real Players","tlrAmount":"Top Level Revenue"}}}');
     $valuesFromExport[] = new Oara_Curl_Parameter('ts_type', 'advertiser');
     $valuesFromExport[] = new Oara_Curl_Parameter('reportFirst', 'date');
     $valuesFromExport[] = new Oara_Curl_Parameter('reportSecond', '');
     $valuesFromExport[] = new Oara_Curl_Parameter('reportThird', '');
     $valuesFromExport[] = new Oara_Curl_Parameter('columns[]', 'casinoNetGaming');
     $valuesFromExport[] = new Oara_Curl_Parameter('columns[]', 'tlrAmount');
     $valuesFromExport[] = new Oara_Curl_Parameter('csvRequested', 'EXPORT CSV');
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.winneraffiliates.com/traffic-stats/advertiser', $valuesFromExport);
     $exportReport = array();
     $exportReport = $this->_client->post($urls);
     $exportData = str_getcsv($exportReport[0], "\n");
     $num = count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ",");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transactionDate = new Zend_Date($transactionExportArray[0], 'yyyy-MM-dd HH:mm:ss', 'en');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
         //unset($transactionDate);
         $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         $amount = str_replace('$', '', $transactionExportArray[1]);
         $transaction['amount'] = (double) $amount;
         $commission = str_replace('$', '', $transactionExportArray[2]);
         $transaction['commission'] = (double) $commission;
         if ($transaction['amount'] != 0 && $transaction['commission'] != 0) {
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
Example #14
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     foreach (array_keys($this->_websiteList) as $websiteId) {
         $paymentExport = Oara_Utilities::cloneArray($this->_exportPaymentParameters);
         $urls = array();
         $urls[] = new Oara_Curl_Request('http://www.clixgalore.co.uk/AffiliatePaymentDetail.aspx?', array());
         $exportReport = $this->_client->post($urls);
         $dom = new Zend_Dom_Query($exportReport[0]);
         $results = $dom->query('input[type="hidden"]');
         $count = count($results);
         foreach ($results as $result) {
             $hiddenName = $result->attributes->getNamedItem("name")->nodeValue;
             $hiddenValue = $result->attributes->getNamedItem("value")->nodeValue;
             $paymentExport[] = new Oara_Curl_Parameter($hiddenName, $hiddenValue);
         }
         $paymentExport[] = new Oara_Curl_Parameter('AffProgramDropDown1$aff_program_list', $websiteId);
         $urls = array();
         $urls[] = new Oara_Curl_Request('http://www.clixgalore.co.uk/AffiliatePaymentDetail.aspx', $paymentExport);
         $exportReport = $this->_client->post($urls);
         $dom = new Zend_Dom_Query($exportReport[0]);
         $results = $dom->query('#dg_payments');
         $count = count($results);
         if ($count == 1) {
             $exportData = self::htmlToCsv(self::DOMinnerHTML($results->current()));
             for ($j = 1; $j < count($exportData) - 1; $j++) {
                 $paymentExportArray = str_getcsv($exportData[$j], ";");
                 $obj = array();
                 $paymentDate = new Zend_Date($paymentExportArray[0], "MMM d yyyy", "en");
                 $obj['date'] = $paymentDate->toString("yyyy-MM-dd HH:mm:ss");
                 $obj['pid'] = $paymentDate->toString("yyyyMMdd");
                 $obj['method'] = 'BACS';
                 if (preg_match("/[-+]?[0-9]*,?[0-9]*\\.?[0-9]+/", $paymentExportArray[2], $matches)) {
                     $obj['value'] = Oara_Utilities::parseDouble($matches[0]);
                 } else {
                     throw new Exception("Problem reading payments");
                 }
                 $paymentHistory[] = $obj;
             }
         }
     }
     return $paymentHistory;
 }
Example #15
0
 /**
  * Gets all the merchants and returns them in an array.
  * @return array
  */
 private function getMerchantExport()
 {
     $merchantReportList = array();
     $valuesFromExport = $this->_exportMerchantParameters;
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://members.cj.com/member/' . $this->_memberId . '/publisher/accounts/listmyadvertisers.do', array());
     $exportReport = $this->_client->get($urls);
     if (!preg_match("/Sorry, No Results Found\\./", $exportReport[0], $matches)) {
         $urls = array();
         $urls[] = new Oara_Curl_Request('https://members.cj.com/member/' . $this->_memberId . '/publisher/accounts/listmyadvertisers.do', $valuesFromExport);
         $exportReport = $this->_client->post($urls);
         $exportData = str_getcsv($exportReport[0], "\n");
         $merchantReportList = array();
         $num = count($exportData);
         for ($i = 1; $i < $num; $i++) {
             $merchantExportArray = str_getcsv($exportData[$i], ",");
             $merchantReportList[] = $merchantExportArray;
         }
     }
     return $merchantReportList;
 }
Example #16
0
 /**
  *  It returns the transactions for a payment
  * @see Oara_Network::paymentTransactions()
  */
 public function paymentTransactions($paymentId, $merchantList, $startDate)
 {
     $paymentTransactionList = array();
     $params = array();
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_serverUrl . '/Invoices/Default.aspx?', $params);
     $exportReport = $this->_client->post($urls);
     $doc = new DOMDocument();
     libxml_use_internal_errors(true);
     $doc->validateOnParse = true;
     $doc->loadHTML($exportReport[0]);
     $viewState = $doc->getElementById('__VIEWSTATE')->attributes->getNamedItem("value")->nodeValue;
     $params = array(new Oara_Curl_Parameter('__EVENTTARGET', 'ctl00$ContentPlaceHolder1$gvInvoices'), new Oara_Curl_Parameter('__EVENTARGUMENT', 'Breakdown$' . $paymentId), new Oara_Curl_Parameter('__VIEWSTATE', $viewState));
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_serverUrl . '/Invoices/Default.aspx?', $params);
     $exportReport = $this->_client->post($urls);
     $exportData = str_getcsv($exportReport[0], "\r\n");
     $num = count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ",");
         $paymentTransactionList[] = $transactionExportArray[0];
     }
     return $paymentTransactionList;
 }
Example #17
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Base#getOverviewList($merchantId, $dStartDate, $dEndDate)
  */
 public function getOverviewList($transactionList = null, $merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null)
 {
     $overviewArray = array();
     $transactionArray = Oara_Utilities::transactionMapPerDay($transactionList);
     $valuesFromExport = Oara_Utilities::cloneArray($this->_exportTransactionParameters);
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00%24m_mainPlaceholder%24m_periodFromField_hidden', "%3CDateChooser%20Value%3D%22" . $dStartDate->toString("yyyy") . "x" . $dStartDate->toString("M") . "x" . $dStartDate->toString("d") . "%22%3E%3C/DateChooser%3E");
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00xmxmainPlaceholderxmxperiodFromField_input', $dStartDate->toString("dd/MM/yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00_m_mainPlaceholder_m_periodFromField_DrpPnl_Calendar1', "%3Cx%20PostData%3D%22" . $dStartDate->toString("yyyy") . "x" . $dStartDate->toString("M") . "x" . $dStartDate->toString("yyyy") . "x" . $dStartDate->toString("M") . "x" . $dStartDate->toString("d") . "%22%3E%3C/x%3E");
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00%24m_mainPlaceholder%24m_periodToField_hidden', "%3CDateChooser%20Value%3D%22" . $dEndDate->toString("yyyy") . "x" . $dEndDate->toString("M") . "x" . $dEndDate->toString("d") . "%22%3E%3C/DateChooser%3E");
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00xmxmainPlaceholderxmxperiodToField_input', $dEndDate->toString("dd/MM/yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('ctl00_m_mainPlaceholder_m_periodToField_DrpPnl_Calendar1', "%3Cx%20PostData%3D%22" . $dEndDate->toString("yyyy") . "x" . $dEndDate->toString("M") . "x" . $dEndDate->toString("yyyy") . "x" . $dEndDate->toString("M") . "x" . $dEndDate->toString("d") . "%22%3E%3C/x%3E");
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.bet365affiliates.com/Members/Members/Statistics/Default.aspx', array());
     $exportReport = $this->_client->get($urls);
     $forbiddenList = array('ctl00$m_mainPlaceholder$m_periodFromField_hidden', 'ctl00_m_mainPlaceholder_m_periodFromField_DrpPnl_Calendar1', 'ctl00$m_mainPlaceholder$m_periodToField_hidden', 'ctl00_m_mainPlaceholder_m_periodToField_DrpPnl_Calendar1');
     $dom = new Zend_Dom_Query($exportReport[0]);
     $hiddenList = $dom->query('input[type="hidden"]');
     foreach ($hiddenList as $hidden) {
         if (!in_array($hidden->getAttribute("name"), $forbiddenList)) {
             $valuesFromExport[] = new Oara_Curl_Parameter($hidden->getAttribute("name"), $hidden->getAttribute("value"));
         }
     }
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.bet365affiliates.com/Members/Members/Statistics/Default.aspx', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('table');
     $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
     $num = count($exportData);
     for ($i = 2; $i < $num - 1; $i++) {
         $overviewExportArray = str_getcsv($exportData[$i], ";");
         $overview = array();
         $overview['merchantId'] = 1;
         $overviewDate = new Zend_Date($overviewExportArray[1], 'dd-MM-yyyy', 'en');
         $overview['date'] = $overviewDate->toString("yyyy-MM-dd HH:mm:ss");
         $overview['click_number'] = (int) $overviewExportArray[2];
         $overview['impression_number'] = 0;
         $overview['transaction_number'] = 0;
         $overview['transaction_confirmed_value'] = 0;
         $overview['transaction_confirmed_commission'] = 0;
         $overview['transaction_pending_value'] = 0;
         $overview['transaction_pending_commission'] = 0;
         $overview['transaction_declined_value'] = 0;
         $overview['transaction_declined_commission'] = 0;
         $transactionDateArray = Oara_Utilities::getDayFromArray($overview['merchantId'], $transactionArray, $overviewDate);
         foreach ($transactionDateArray as $transaction) {
             $overview['transaction_number']++;
             if ($transaction['status'] == Oara_Utilities::STATUS_CONFIRMED) {
                 $overview['transaction_confirmed_value'] += $transaction['amount'];
                 $overview['transaction_confirmed_commission'] += $transaction['commission'];
             } else {
                 if ($transaction['status'] == Oara_Utilities::STATUS_PENDING) {
                     $overview['transaction_pending_value'] += $transaction['amount'];
                     $overview['transaction_pending_commission'] += $transaction['commission'];
                 } else {
                     if ($transaction['status'] == Oara_Utilities::STATUS_DECLINED) {
                         $overview['transaction_declined_value'] += $transaction['amount'];
                         $overview['transaction_declined_commission'] += $transaction['commission'];
                     }
                 }
             }
         }
         if (Oara_Utilities::checkRegister($overview)) {
             $overviewArray[] = $overview;
         }
     }
     return $overviewArray;
 }
Example #18
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Interface#getOverviewList($aMerchantIds, $dStartDate, $dEndDate)
  */
 public function getOverviewList($transactionList = null, $merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null)
 {
     $overviewArray = array();
     $firstDayMonth = new Zend_Date();
     $firstDayMonth->setDay(1);
     $firstDayMonth->setHour("00");
     $firstDayMonth->setMinute("00");
     $firstDayMonth->setSecond("00");
     $modeArray = array("AdSense for Content", "AdSense for Search", "AdSense for Feeds", "AdSense for Domains");
     $valuesExport = array();
     $valuesExport[] = new Oara_Curl_Parameter('d', $dStartDate->toString("yyyy/M/d") . "-" . $dEndDate->toString("yyyy/M/d"));
     $valuesExportReport[] = new Oara_Curl_Parameter('ag', 'date');
     $valuesExport[] = new Oara_Curl_Parameter('oc', 'earnings');
     $valuesExport[] = new Oara_Curl_Parameter('oo', 'descending');
     $valuesExport[] = new Oara_Curl_Parameter('hl', 'en_GB');
     $urls = array();
     $valuesExportReport = Oara_Utilities::cloneArray($valuesExport);
     $valuesExportReport[] = new Oara_Curl_Parameter('dd', '1YproductY1YAFCYAdSense for Content');
     $urls[] = new Oara_Curl_Request('https://www.google.com/adsense/v3/gwt/exportCsv?', $valuesExportReport);
     $valuesExportReport = Oara_Utilities::cloneArray($valuesExport);
     $valuesExportReport[] = new Oara_Curl_Parameter('dd', '1YproductY1YAFSYAdSense for Search');
     $urls[] = new Oara_Curl_Request('https://www.google.com/adsense/v3/gwt/exportCsv?', $valuesExportReport);
     $valuesExportReport = Oara_Utilities::cloneArray($valuesExport);
     $valuesExportReport[] = new Oara_Curl_Parameter('dd', '1YproductY1YAFFYAdSense for Feeds');
     $urls[] = new Oara_Curl_Request('https://www.google.com/adsense/v3/gwt/exportCsv?', $valuesExportReport);
     $valuesExportReport = Oara_Utilities::cloneArray($valuesExport);
     $valuesExportReport[] = new Oara_Curl_Parameter('dd', '1YproductY1YAFDYAdSense for Domains');
     $urls[] = new Oara_Curl_Request('https://www.google.com/adsense/v3/gwt/exportCsv?', $valuesExportReport);
     $content = $this->_client->post($urls);
     for ($i = 0; $i < count($content); $i++) {
         $exportData = str_getcsv(@iconv('UTF-16', 'UTF-8', $content[$i]), "\n");
         for ($j = 1; $j < count($exportData); $j++) {
             $overviewExportArray = str_getcsv($exportData[$j], "\t");
             $obj = array();
             $obj['merchantId'] = 1;
             $overviewDate = new Zend_Date($overviewExportArray[0], "yyyy-MM-dd");
             $overviewDate->setHour("00");
             $overviewDate->setMinute("00");
             $overviewDate->setSecond("00");
             $obj['date'] = $overviewDate->toString("yyyy-MM-dd HH:mm:ss");
             $obj['link'] = $modeArray[$i];
             $obj['transaction_number'] = 0;
             $obj['transaction_confirmed_commission'] = 0;
             $obj['transaction_confirmed_value'] = 0;
             $obj['transaction_pending_commission'] = 0;
             $obj['transaction_pending_value'] = 0;
             $obj['transaction_declined_commission'] = 0;
             $obj['transaction_declined_value'] = 0;
             $obj['impression_number'] = (int) Oara_Utilities::parseDouble($overviewExportArray[1]);
             $obj['click_number'] = Oara_Utilities::parseDouble($overviewExportArray[2]);
             if ($firstDayMonth->compare($overviewDate) <= 0) {
                 $obj['transaction_pending_commission'] = Oara_Utilities::parseDouble($overviewExportArray[6]);
                 $obj['transaction_pending_value'] = Oara_Utilities::parseDouble($overviewExportArray[6]);
             } else {
                 $obj['transaction_confirmed_commission'] = Oara_Utilities::parseDouble($overviewExportArray[6]);
                 $obj['transaction_confirmed_value'] = Oara_Utilities::parseDouble($overviewExportArray[6]);
             }
             if (Oara_Utilities::checkRegister($obj)) {
                 $overviewArray[] = $obj;
             }
         }
     }
     unset($urls);
     return $overviewArray;
 }
Example #19
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Base#getOverviewList($merchantId, $dStartDate, $dEndDate)
  */
 public function getOverviewList($transactionList = null, $merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null)
 {
     $overviewArray = array();
     $transactionArray = Oara_Utilities::transactionMapPerDay($transactionList);
     $valuesFromExport = Oara_Utilities::cloneArray($this->_exportTransactionParameters);
     $valuesFromExport[] = new Oara_Curl_Parameter('fromPeriod', $dStartDate->toString("yyyy-MM-dd"));
     $valuesFromExport[] = new Oara_Curl_Parameter('toPeriod', $dEndDate->toString("yyyy-MM-dd"));
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.affutd.com/en/traffic-stats/advertiser', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $campaignOption = $dom->query('option[label="DEFAULT"]');
     $campaignOption = $campaignOption->current();
     $valuesFromExport[] = new Oara_Curl_Parameter('campaign', $campaignOption->getAttribute('value'));
     $hiddenParam = $dom->query('#jsonCampaigns');
     $hiddenParam = $hiddenParam->current();
     $valuesFromExport[] = new Oara_Curl_Parameter($hiddenParam->getAttribute('id'), $hiddenParam->getAttribute('value'));
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.affutd.com/en/traffic-stats/advertiser', $valuesFromExport);
     $exportReport = $this->_client->post($urls);
     $exportData = str_getcsv($exportReport[0], "\n");
     $num = count($exportData);
     for ($i = 1; $i < $num - 1; $i++) {
         $overviewExportArray = str_getcsv($exportData[$i], ",");
         if (isset($this->_merchantMap[$overviewExportArray[0]]) && in_array($this->_merchantMap[$overviewExportArray[0]], $merchantList)) {
             $overview = array();
             $overview['merchantId'] = $this->_merchantMap[$overviewExportArray[0]];
             $overviewDate = new Zend_Date($overviewExportArray[1], 'yyyy-MM-dd', 'en');
             $overview['date'] = $overviewDate->toString("yyyy-MM-dd HH:mm:ss");
             $overview['click_number'] = (int) $overviewExportArray[8];
             $overview['impression_number'] = (int) $overviewExportArray[9];
             $overview['transaction_number'] = 0;
             $overview['transaction_confirmed_value'] = 0;
             $overview['transaction_confirmed_commission'] = 0;
             $overview['transaction_pending_value'] = 0;
             $overview['transaction_pending_commission'] = 0;
             $overview['transaction_declined_value'] = 0;
             $overview['transaction_declined_commission'] = 0;
             $transactionDateArray = Oara_Utilities::getDayFromArray($overview['merchantId'], $transactionArray, $overviewDate);
             foreach ($transactionDateArray as $transaction) {
                 $overview['transaction_number']++;
                 if ($transaction['status'] == Oara_Utilities::STATUS_CONFIRMED) {
                     $overview['transaction_confirmed_value'] += $transaction['amount'];
                     $overview['transaction_confirmed_commission'] += $transaction['commission'];
                 } else {
                     if ($transaction['status'] == Oara_Utilities::STATUS_PENDING) {
                         $overview['transaction_pending_value'] += $transaction['amount'];
                         $overview['transaction_pending_commission'] += $transaction['commission'];
                     } else {
                         if ($transaction['status'] == Oara_Utilities::STATUS_DECLINED) {
                             $overview['transaction_declined_value'] += $transaction['amount'];
                             $overview['transaction_declined_commission'] += $transaction['commission'];
                         }
                     }
                 }
             }
             if (Oara_Utilities::checkRegister($overview)) {
                 $overviewArray[] = $overview;
             }
         }
     }
     return $overviewArray;
 }
Example #20
0
 /**
  * (non-PHPdoc)
  * @see library/Oara/Network/Oara_Network_Base#getOverviewList($merchantId, $dStartDate, $dEndDate)
  */
 public function getOverviewList($transactionList = null, $merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null)
 {
     $totalOverview = array();
     $mothOverviewUrls = array();
     $valuesFormExport = Oara_Utilities::cloneArray($this->_exportOverviewParameters);
     $valuesFormExport[] = new Oara_Curl_Parameter('fromDate', $dStartDate->toString("M/d/yyyy"));
     $valuesFormExport[] = new Oara_Curl_Parameter('toDate', $dEndDate->toString("M/d/yyyy"));
     $mothOverviewUrls[] = new Oara_Curl_Request('https://cli.linksynergy.com/cli/publisher/reports/advancedReports.php', $valuesFormExport);
     $exportMothReport = $this->_client->post($mothOverviewUrls);
     $exportReportNumber = count($exportMothReport);
     for ($i = 0; $i < $exportReportNumber; $i++) {
         $doc = new DOMDocument();
         libxml_use_internal_errors(true);
         $doc->validateOnParse = true;
         $doc->loadHTML($exportMothReport[$i]);
         $frame = $doc->getElementById('frame');
         if ($frame !== null) {
             $frameUrl = null;
             foreach ($frame->attributes as $attrName => $attrNode) {
                 if ($attrName == 'src') {
                     $frameUrl = $attrNode->nodeValue;
                 }
             }
             $urls = array();
             $urls[] = new Oara_Curl_Request($frameUrl, array());
             $exportReport = $this->_client->get($urls);
             if (preg_match("/result=\"searching\"/", $exportReport[0]) || preg_match("/Logging in/", $exportReport[0])) {
                 $urls = array();
                 $urls[] = new Oara_Curl_Request($frameUrl, array());
                 $exportReport = $this->_client->get($urls);
             }
             if (!preg_match("/<a class=\"NQWMenuItem\" name=\"SectionElements\" href=\"javascript:void\\(null\\);\" onclick=\"NQWClearActiveMenu\\(\\);Download\\('([^<]*)'\\); return false\">Download Data<\\/a>/", $exportReport[0], $matches)) {
                 if (preg_match("/No Results/", $exportReport[0])) {
                     return $totalOverview;
                 }
             }
         }
     }
     $transactionArray = Oara_Utilities::transactionMapPerDay($transactionList);
     $mothOverviewUrls = array();
     $dateArray = Oara_Utilities::daysOfDifference($dStartDate, $dEndDate);
     $dateArraySize = sizeof($dateArray);
     for ($i = 0; $i < $dateArraySize; $i++) {
         $valuesFormExport = Oara_Utilities::cloneArray($this->_exportOverviewParameters);
         $valuesFormExport[] = new Oara_Curl_Parameter('fromDate', $dateArray[$i]->toString("M/d/yyyy"));
         $valuesFormExport[] = new Oara_Curl_Parameter('toDate', $dateArray[$i]->toString("M/d/yyyy"));
         $mothOverviewUrls[] = new Oara_Curl_Request('https://cli.linksynergy.com/cli/publisher/reports/advancedReports.php', $valuesFormExport);
     }
     $exportMothReport = $this->_client->post($mothOverviewUrls);
     $exportReportNumber = count($exportMothReport);
     for ($i = 0; $i < $exportReportNumber; $i++) {
         $doc = new DOMDocument();
         libxml_use_internal_errors(true);
         $doc->validateOnParse = true;
         $doc->loadHTML($exportMothReport[$i]);
         $frame = $doc->getElementById('frame');
         $frameUrl = null;
         if ($frame !== null) {
             foreach ($frame->attributes as $attrName => $attrNode) {
                 if ($attrName == 'src') {
                     $frameUrl = $attrNode->nodeValue;
                 }
             }
             $urls = array();
             $urls[] = new Oara_Curl_Request($frameUrl, array());
             $exportReport = $this->_client->get($urls);
             while (!preg_match("/No Results/", $exportReport[0], $matches)) {
                 if (preg_match("/<a class=\"NQWMenuItem\" name=\"SectionElements\" href=\"javascript:void\\(null\\);\" onclick=\"NQWClearActiveMenu\\(\\);Download\\('([^<]*)'\\); return false\">Download Data<\\/a>/", $exportReport[0], $matches)) {
                     $totalOverview = self::getOverview($matches, $totalOverview, $merchantList, $mothOverviewUrls[$i]->getParameter(9), $transactionArray);
                     break;
                 } else {
                     if (preg_match("/result=\"searching\"/", $exportReport[0]) || preg_match("/Logging in/", $exportReport[0])) {
                         $urls = array();
                         $urls[] = new Oara_Curl_Request($frameUrl, array());
                         $exportReport = $this->_client->get($urls);
                     } else {
                         //echo $exportReport[0];
                         throw new Exception("Error getting transactions");
                     }
                 }
             }
         }
     }
     return $totalOverview;
 }
Example #21
0
 /**
  * Check the connection
  */
 public function checkConnection()
 {
     $connection = false;
     $urls = array();
     $urls[] = new Oara_Curl_Request('http://cli.linksynergy.com/cli/publisher/home.php', array());
     $result = $this->_client->get($urls);
     // Check if the credentials are right
     if (preg_match('/https:\\/\\/cli\\.linksynergy\\.com\\/cli\\/common\\/logout\\.php/', $result[0], $matches)) {
         $urls = array();
         $urls[] = new Oara_Curl_Request('https://cli.linksynergy.com/cli/publisher/my_account/marketingChannels.php', array());
         $resultHtml = $this->_client->get($urls);
         $dom = new Zend_Dom_Query($resultHtml[0]);
         $results = $dom->query('table');
         foreach ($results as $table) {
             $tableCsv = self::htmlToCsv(self::DOMinnerHTML($table));
         }
         $resultsSites = array();
         $num = count($tableCsv);
         for ($i = 1; $i < $num; $i++) {
             $payment = array();
             $siteArray = str_getcsv($tableCsv[$i], ";");
             if (isset($siteArray[2]) && is_numeric($siteArray[2])) {
                 $result = array();
                 $result["id"] = $siteArray[2];
                 $result["name"] = $siteArray[1];
                 $result["url"] = "https://cli.linksynergy.com/cli/publisher/common/changeCurrentChannel.php?sid=" . $result["id"];
                 $resultsSites[] = $result;
             }
         }
         $siteList = array();
         foreach ($resultsSites as $resultSite) {
             $site = new stdClass();
             $site->website = $resultSite["name"];
             $site->url = $resultSite["url"];
             $parsedUrl = parse_url($site->url);
             $attributesArray = explode('&', $parsedUrl['query']);
             $attributeMap = array();
             foreach ($attributesArray as $attribute) {
                 $attributeValue = explode('=', $attribute);
                 $attributeMap[$attributeValue[0]] = $attributeValue[1];
             }
             $site->id = $attributeMap['sid'];
             // Login into the Site ID
             $urls = array();
             $urls[] = new Oara_Curl_Request($site->url, array());
             $result = $this->_client->get($urls);
             $urls = array();
             $urls[] = new Oara_Curl_Request('http://cli.linksynergy.com/cli/publisher/links/webServices.php', array());
             $result = $this->_client->get($urls);
             // Getting the API Token
             $dom = new Zend_Dom_Query($result[0]);
             $results = $dom->query('.commonBoxContentArea .commonBoxInnerArea .contentPaddedRow');
             $count = count($results);
             foreach ($results as $result) {
                 if (preg_match("/[a-fA-F0-9]{64}/", $result->nodeValue, $match)) {
                     $token = $match[0];
                     $dom = new Zend_Dom_Query($result->ownerDocument->saveXML($result));
                     $image = $dom->query('#sidIcon');
                     if (count($image) == 1) {
                         $site->secureToken = $token;
                     } else {
                         $site->token = $token;
                     }
                 }
             }
             // Requesting Token if not available
             if (!isset($site->token)) {
                 $urls = array();
                 $urlParams = array();
                 $urlParams[] = new Oara_Curl_Parameter('analyticchannel', '');
                 $urlParams[] = new Oara_Curl_Parameter('analyticpage', '');
                 $urlParams[] = new Oara_Curl_Parameter('doUpdateToken', 'Y');
                 $urls[] = new Oara_Curl_Request('http://cli.linksynergy.com/cli/publisher/links/webServices.php?', $urlParams);
                 $result = $this->_client->post($urls);
                 // Getting the API Token
                 $dom = new Zend_Dom_Query($result[0]);
                 $results = $dom->query('.commonBoxContentArea .commonBoxInnerArea .contentPaddedRow');
                 $count = count($results);
                 foreach ($results as $result) {
                     if (preg_match("/[a-fA-F0-9]{64}/", $result->nodeValue, $match)) {
                         $token = $match[0];
                         $dom = new Zend_Dom_Query($result->ownerDocument->saveXML($result));
                         $image = $dom->query('#sidIcon');
                         if (count($image) == 0) {
                             $site->token = $token;
                         }
                     }
                 }
             }
             if (!isset($site->secureToken)) {
                 $urls = array();
                 $urlParams = array();
                 $urlParams[] = new Oara_Curl_Parameter('analyticchannel', '');
                 $urlParams[] = new Oara_Curl_Parameter('analyticpage', '');
                 $urlParams[] = new Oara_Curl_Parameter('doUpdateSecureToken', 'Y');
                 $urls[] = new Oara_Curl_Request('http://cli.linksynergy.com/cli/publisher/links/webServices.php?', $urlParams);
                 $result = $this->_client->post($urls);
                 // Getting the API Token
                 $dom = new Zend_Dom_Query($result[0]);
                 $results = $dom->query('.commonBoxContentArea .commonBoxInnerArea .contentPaddedRow');
                 $count = count($results);
                 foreach ($results as $result) {
                     if (preg_match("/[a-fA-F0-9]{64}/", $result->nodeValue, $match)) {
                         $token = $match[0];
                         $dom = new Zend_Dom_Query($result->ownerDocument->saveXML($result));
                         $image = $dom->query('#sidIcon');
                         if (count($image) == 1) {
                             $site->secureToken = $token;
                         }
                     }
                 }
             }
             $siteList[] = $site;
         }
         $connection = true;
         $this->_siteList = $siteList;
     }
     return $connection;
 }
Example #22
0
 /**
  * (non-PHPdoc)
  * 
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getTransactionList($aMerchantIds, $dStartDate, $dEndDate, $sTransactionStatus)
  */
 public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null)
 {
     $totalTransactions = array();
     $cancelledMap = array();
     $valuesFormExport = array();
     $valuesFormExport[] = new Oara_Curl_Parameter('cancelled', 'cancelled');
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://secure.rentalcars.com/affiliates/booked_excel?date_start=' . $dStartDate->toString("yyyy-MM-dd") . '&date_end=' . $dEndDate->toString("yyyy-MM-dd"), $valuesFormExport);
     $exportReport = $this->_client->post($urls);
     $xml = simplexml_load_string($exportReport[0]);
     $json = json_encode($xml);
     $array = json_decode($json, TRUE);
     $headerIndex = array();
     for ($i = 0; $i < count($array["Worksheet"]["Table"]["Row"][2]["Cell"]); $i++) {
         $headerIndex[$i] = $array["Worksheet"]["Table"]["Row"][2]["Cell"][$i]["Data"];
     }
     for ($z = 3; $z < count($array["Worksheet"]["Table"]["Row"]) - 2; $z++) {
         $transactionDetails = array();
         for ($i = 0; $i < count($array["Worksheet"]["Table"]["Row"][$z]["Cell"]); $i++) {
             if (isset($array["Worksheet"]["Table"]["Row"][$z]["Cell"][$i]["Data"])) {
                 $transactionDetails[$headerIndex[$i]] = $array["Worksheet"]["Table"]["Row"][$z]["Cell"][$i]["Data"];
             }
         }
         $cancelledMap[$transactionDetails["Res. Number"]] = true;
     }
     $valuesFormExport = array();
     $valuesFormExport[] = new Oara_Curl_Parameter('booking', 'booking');
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://secure.rentalcars.com/affiliates/booked_excel?date_start=' . $dStartDate->toString("yyyy-MM-dd") . '&date_end=' . $dEndDate->toString("yyyy-MM-dd"), $valuesFormExport);
     $exportReport = $this->_client->post($urls);
     $xml = simplexml_load_string($exportReport[0]);
     $json = json_encode($xml);
     $array = json_decode($json, TRUE);
     $headerIndex = array();
     for ($i = 0; $i < count($array["Worksheet"]["Table"]["Row"][2]["Cell"]); $i++) {
         if (isset($array["Worksheet"]["Table"]["Row"][2]["Cell"][$i]["Data"])) {
             $headerIndex[$i] = $array["Worksheet"]["Table"]["Row"][2]["Cell"][$i]["Data"];
         }
     }
     for ($z = 3; $z < count($array["Worksheet"]["Table"]["Row"]) - 2; $z++) {
         $transactionDetails = array();
         for ($i = 0; $i < count($array["Worksheet"]["Table"]["Row"][$z]["Cell"]); $i++) {
             if (isset($array["Worksheet"]["Table"]["Row"][$z]["Cell"][$i]["Data"])) {
                 $transactionDetails[$headerIndex[$i]] = $array["Worksheet"]["Table"]["Row"][$z]["Cell"][$i]["Data"];
             }
         }
         $transaction = array();
         $transaction['merchantId'] = "1";
         $transaction['unique_id'] = $transactionDetails["Res. Number"];
         if (isset($transactionDetails["Payment Date"]) && $transactionDetails["Payment Date"] != null) {
             $date = new Zend_Date($transactionDetails["Payment Date"], "dd MMM yyyy - HH:ii", "en_GB");
         } else {
             $date = new Zend_Date($transactionDetails["Book Date"], "dd MMM yyyy - HH:ii", "en_GB");
         }
         if (!empty($transactionDetails["AD Campaign"])) {
             $transaction['custom_id'] = $transactionDetails["AD Campaign"];
         }
         $transaction['date'] = $date->toString("yyyy-MM-dd HH:mm:00");
         if (isset($transactionDetails["Payment Date"]) && $transactionDetails["Payment Date"] != null) {
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         } else {
             $transaction['status'] = Oara_Utilities::STATUS_PENDING;
         }
         if (isset($cancelledMap[$transaction['unique_id']])) {
             $transaction['status'] = Oara_Utilities::STATUS_DECLINED;
         }
         $rate = 0;
         if (isset($transactionDetails["Total Commission"]) && !is_array($transactionDetails["Total Commission"]) && $transactionDetails["Total Commission"] != 0) {
             $rate = $transactionDetails["Booking Value"] / $transactionDetails["Total Commission"];
         }
         $euros = 0;
         if (isset($transactionDetails["Total Commission in Euros"]) && !is_array($transactionDetails["Total Commission in Euros"]) && $transactionDetails["Total Commission in Euros"] != 0) {
             $euros = $transactionDetails["Total Commission in Euros"];
         }
         $transaction['amount'] = $euros * $rate;
         $transaction['currency'] = "EUR";
         $transaction['commission'] = $euros;
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
Example #23
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Base#getPaymentHistory()
  */
 public function getPaymentHistory($currentPage = 1)
 {
     $paymentHistory = array();
     $pdfToTextPath = '';
     if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
         return $paymentHistory;
     } else {
         // some other platform
         $pdfToTextPath = 'pdftotext ';
     }
     $params = array();
     if ($currentPage != 1) {
         $urls = array();
         $urls[] = new Oara_Curl_Request($this->_serverUrl . '/Invoices/Default.aspx?', $params);
         $exportReport = $this->_client->post($urls);
         $doc = new DOMDocument();
         libxml_use_internal_errors(true);
         $doc->validateOnParse = true;
         $doc->loadHTML($exportReport[0]);
         $viewState = $doc->getElementById('__VIEWSTATE')->attributes->getNamedItem("value")->nodeValue;
         $params = array(new Oara_Curl_Parameter('__EVENTTARGET', 'ctl00$ContentPlaceHolder1$gvInvoices'), new Oara_Curl_Parameter('__EVENTARGUMENT', 'Page$' . $currentPage), new Oara_Curl_Parameter('__VIEWSTATE', $viewState));
     }
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_serverUrl . '/Invoices/Default.aspx?', $params);
     $exportReport = $this->_client->post($urls);
     $doc = new DOMDocument();
     libxml_use_internal_errors(true);
     $doc->validateOnParse = true;
     $doc->loadHTML($exportReport[0]);
     $registerTable = $doc->getElementById('ctl00_ContentPlaceHolder1_gvInvoices');
     if ($registerTable !== null) {
         $registerLines = $registerTable->childNodes;
         $descriptorspec = array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w'));
         $pagesNumber = 1;
         for ($i = 2; $i < $registerLines->length; $i++) {
             $registerLineClass = $registerLines->item($i)->attributes->getNamedItem("class")->nodeValue;
             if ($registerLineClass == 'pager') {
                 $lenght = $registerLines->item($i)->childNodes->item(0)->childNodes->item(0)->childNodes->item(0)->childNodes->length;
                 $pagesNumber = $registerLines->item($i)->childNodes->item(0)->childNodes->item(0)->childNodes->item(0)->childNodes->item($lenght - 2)->nodeValue;
             } else {
                 $registerLine = $registerLines->item($i)->childNodes;
                 $obj = array();
                 //get the pdf
                 $parameters = array();
                 $parameters[] = new Oara_Curl_Parameter('id', $registerLine->item(0)->nodeValue);
                 $urls = array();
                 $urls[] = new Oara_Curl_Request($this->_serverUrl . 'Invoices/ViewInvoice.aspx?', $parameters);
                 $exportReport = $this->_client->get($urls);
                 $exportReportUrl = $this->_client->get($urls, 'url');
                 $exportReportUrl = explode('/', $exportReportUrl[0]);
                 $exportReportUrl = $exportReportUrl[count($exportReportUrl) - 1];
                 $dir = realpath(dirname(__FILE__)) . '/../data/pdf/';
                 //writing temp pdf
                 $fh = fopen($dir . $exportReportUrl, 'w') or die("can't open file");
                 fwrite($fh, $exportReport[0]);
                 fclose($fh);
                 //parsing the pdf
                 $pipes = null;
                 $pdfReader = proc_open($pdfToTextPath . $dir . $exportReportUrl . ' -', $descriptorspec, $pipes, null, null);
                 if (is_resource($pdfReader)) {
                     $pdfContent = '';
                     $error = '';
                     $stdin = $pipes[0];
                     $stdout = $pipes[1];
                     $stderr = $pipes[2];
                     while (!feof($stdout)) {
                         $pdfContent .= fgets($stdout);
                     }
                     while (!feof($stderr)) {
                         $error .= fgets($stderr);
                     }
                     fclose($stdin);
                     fclose($stdout);
                     fclose($stderr);
                     $exit_code = proc_close($pdfReader);
                 }
                 if (preg_match_all("/[0-9]*,?[0-9]*\\.[0-9]+/", $pdfContent, $matches)) {
                     $obj['value'] = Oara_Utilities::parseDouble($matches[0][count($matches[0]) - 1]);
                 } else {
                     throw new Exception('Problem getting value in payments');
                 }
                 unlink($dir . $exportReportUrl);
                 $date = new Zend_Date($registerLine->item(3)->nodeValue, "dd/MMM/yyyy", 'en_US');
                 $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
                 $obj['pid'] = $registerLine->item(0)->nodeValue;
                 $obj['method'] = 'BACS';
                 $paymentHistory[] = $obj;
             }
         }
         if ($currentPage == 1) {
             for ($i = 2; $i <= $pagesNumber; $i++) {
                 $paymentHistory = array_merge($paymentHistory, self::getPaymentHistory($i));
             }
         }
     }
     return $paymentHistory;
 }
Example #24
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $filter = new Zend_Filter_LocalizedToNormalized(array('precision' => 2));
     $startDate = new Zend_Date("01-01-2012", "dd-MM-yyyy");
     $endDate = new Zend_Date();
     $dateList = Oara_Utilities::monthsOfDifference($startDate, $endDate);
     foreach ($dateList as $date) {
         $monthStartDate = clone $date;
         $monthEndDate = null;
         $monthEndDate = clone $date;
         $monthEndDate->setDay(1);
         $monthEndDate->addMonth(1);
         $monthEndDate->subDay(1);
         $monthEndDate->setHour(23);
         $monthEndDate->setMinute(59);
         $monthEndDate->setSecond(59);
         $valuesFromExport = array();
         $valuesFromExport[] = new Oara_Curl_Parameter('Begin_Date', $monthStartDate->toString("MM/dd/yyyy"));
         $valuesFromExport[] = new Oara_Curl_Parameter('End_Date', $monthEndDate->toString("MM/dd/yyyy"));
         $valuesFromExport[] = new Oara_Curl_Parameter('cd', "c");
         $valuesFromExport[] = new Oara_Curl_Parameter('disb', "false");
         $valuesFromExport[] = new Oara_Curl_Parameter('coll', "true");
         $valuesFromExport[] = new Oara_Curl_Parameter('transactionID', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('Begin_DatePN', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('Begin_DateCN', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('End_DatePN', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('End_DateCN', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('disbAcctIDRef', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('checkNumberID', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('paymentNum', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('sel_type', "OTH");
         $valuesFromExport[] = new Oara_Curl_Parameter('payStatusCat', "ALL_STATUSES");
         $valuesFromExport[] = new Oara_Curl_Parameter('amount', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('aggregatedCreditAmount', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('disbSiteIDManual', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('collSiteIDManual', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('agencyid', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('collbankAccount', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitInvoice', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitAccount', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitCustAccount', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitCustName', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitVendorNumber', "");
         $valuesFromExport[] = new Oara_Curl_Parameter('remitVendorName', "");
         $urls = array();
         $urls[] = new Oara_Curl_Request('https://secure.paymode.com/paymode/payment-DB-search.jsp?dataSource=1', $valuesFromExport);
         $exportReport = $this->_client->post($urls);
         if (!preg_match("/No payments were found/", $exportReport[0])) {
             $dom = new Zend_Dom_Query($exportReport[0]);
             $results = $dom->query('form[name="transform"] table');
             if (count($results) > 0) {
                 $tableCsv = self::htmlToCsv(self::DOMinnerHTML($results->current()));
                 $payment = array();
                 $paymentArray = str_getcsv($tableCsv[4], ";");
                 $payment['pid'] = $paymentArray[1];
                 $dateResult = $dom->query('form[name="collForm"] table');
                 if (count($dateResult) > 0) {
                     $dateCsv = self::htmlToCsv(self::DOMinnerHTML($dateResult->current()));
                     $dateArray = str_getcsv($dateCsv[2], ";");
                     $paymentDate = new Zend_Date($dateArray[1], 'dd-MMM-yyyy', 'en');
                     $payment['date'] = $paymentDate->toString("yyyy-MM-dd HH:mm:ss");
                     $paymentArray = str_getcsv($tableCsv[3], ";");
                     $payment['value'] = Oara_Utilities::parseDouble(preg_replace("/[^0-9\\.,]/", "", $paymentArray[3]));
                     $payment['method'] = "BACS";
                     $paymentHistory[] = $payment;
                 }
             } else {
                 $results = $dom->query('table[cellpadding="2"]');
                 foreach ($results as $table) {
                     $tableCsv = self::htmlToCsv(self::DOMinnerHTML($table));
                     $num = count($tableCsv);
                     for ($i = 1; $i < $num; $i++) {
                         $payment = array();
                         $paymentArray = str_getcsv($tableCsv[$i], ";");
                         $payment['pid'] = $paymentArray[0];
                         $paymentDate = new Zend_Date($paymentArray[3], 'MM/dd/yyyy', 'en');
                         $payment['date'] = $paymentDate->toString("yyyy-MM-dd HH:mm:ss");
                         $payment['value'] = Oara_Utilities::parseDouble($paymentArray[9]);
                         $payment['method'] = "BACS";
                         $paymentHistory[] = $payment;
                     }
                 }
             }
         }
     }
     return $paymentHistory;
 }