/**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     if ($event->get('visitor_id')) {
         $v = owa_coreAPI::entityFactory('base.visitor');
         $v->load($event->get('visitor_id'));
         if (!$v->wasPersisted()) {
             $v->setProperties($event->getProperties());
             // Set Primary Key
             $v->set('id', $event->get('visitor_id'));
             $v->set('first_session_id', $event->get('session_id'));
             $v->set('first_session_year', $event->get('year'));
             $v->set('first_session_month', $event->get('month'));
             $v->set('first_session_day', $event->get('day'));
             $v->set('first_session_dayofyear', $event->get('dayofyear'));
             $v->set('first_session_timestamp', $event->get('timestamp'));
             $v->set('first_session_yyyymmdd', $event->get('yyyymmdd'));
             $ret = $v->save();
             if ($ret) {
                 return OWA_EHS_EVENT_HANDLED;
             } else {
                 return OWA_EHS_EVENT_FAILED;
             }
         } else {
             owa_coreAPI::debug("Not updating... Visitor already exists.");
             return OWA_EHS_EVENT_HANDLED;
         }
     } else {
         owa_coreAPI::debug("No visitor_id part of event...");
         return OWA_EHS_EVENT_HANDLED;
     }
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     if ($event->get('source')) {
         $s = owa_coreAPI::entityFactory('base.source_dim');
         $new_id = $s->generateId(trim(strtolower($event->get('source'))));
         $s->getByPk('id', $new_id);
         $id = $s->get('id');
         if (!$id) {
             $s->set('id', $new_id);
             $s->set('source_domain', $event->get('source'));
             $ret = $s->create();
             if ($ret) {
                 return OWA_EHS_EVENT_HANDLED;
             } else {
                 return OWA_EHS_EVENT_FAILED;
             }
         } else {
             owa_coreAPI::debug('Not Persisting. Source already exists.');
             return OWA_EHS_EVENT_HANDLED;
         }
     } else {
         owa_coreAPI::debug('Noting to handle. No source properties found on event.');
         return OWA_EHS_EVENT_HANDLED;
     }
 }
예제 #3
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();
     $url = "http://www.foxtransfer.eu/index.php?q=prices.en.html&page=affiliate_orders&language=1&basedir=theme2&what=record_time&what=record_time&fy={$dStartDate->toString("yyyy")}&fm={$dStartDate->toString("M")}&fd={$dStartDate->toString("d")}&ty={$dEndDate->toString("yyyy")}&tm={$dEndDate->toString("M")}&td={$dEndDate->toString("d")}";
     $urls[] = new Oara_Curl_Request($url, array());
     $exportReport = array();
     $exportReport = $this->_client->get($urls);
     $exportReport = str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "", $exportReport);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('#tartalom-hatter table[cellspacing="0"][cellpadding="3"][border="0"]');
     $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
     $num = count($exportData);
     for ($i = 3; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], ";");
         $transaction = array();
         $transaction['merchantId'] = 1;
         $transaction['unique_id'] = $transactionExportArray[0];
         $transaction['date'] = "{$dStartDate->toString("yyyy")}-{$dStartDate->toString("MM")}-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['amount'] = Oara_Utilities::parseDouble(preg_replace("/[^0-9\\.,]/", "", $transactionExportArray[10]));
         $transaction['commission'] = Oara_Utilities::parseDouble(preg_replace("/[^0-9\\.,]/", "", $transactionExportArray[13]));
         $totalTransactions[] = $transaction;
     }
     return $totalTransactions;
 }
예제 #4
0
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     if ($event->get('ad')) {
         $d = owa_coreAPI::entityFactory('base.ad_dim');
         $new_id = $d->generateId(trim(strtolower($event->get('ad'))));
         $d->getByPk('id', $new_id);
         $id = $d->get('id');
         if (!$id) {
             $d->set('id', $new_id);
             $d->set('name', trim(strtolower($event->get('ad'))));
             $d->set('type', trim(strtolower($event->get('ad_type'))));
             $ret = $d->create();
             if ($ret) {
                 return OWA_EHS_EVENT_HANDLED;
             } else {
                 return OWA_EHS_EVENT_FAILED;
             }
         } else {
             owa_coreAPI::debug('Not Persisting. Ad already exists.');
             return OWA_EHS_EVENT_HANDLED;
         }
     } else {
         owa_coreAPI::debug('Noting to handle. No Ad properties found on event.');
         return OWA_EHS_EVENT_HANDLED;
     }
 }
예제 #5
0
파일: Chegg.php 프로젝트: netzkind/php-oara
 /**
  * (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('FromDate', $dStartDate->toString("dd/MM/yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('ToDate', $dEndDate->toString("dd/MM/yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('ReportType', 'dailyReport');
     $valuesFromExport[] = new Oara_Curl_Parameter('Link', '-1');
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://www.bet365affiliates.com/Members/Members/Statistics/Print.aspx?', $valuesFromExport);
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('#Results');
     if (!preg_match("/No results exist/", $exportReport[0])) {
         $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
         $num = count($exportData);
         for ($i = 2; $i < $num - 1; $i++) {
             $transactionExportArray = str_getcsv($exportData[$i], ";");
             $transaction = array();
             $transaction['merchantId'] = 1;
             $transactionDate = new Zend_Date($transactionExportArray[1], 'dd-MM-yyyy', 'en');
             $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
             $transaction['amount'] = Oara_Utilities::parseDouble($transactionExportArray[27]);
             $transaction['commission'] = Oara_Utilities::parseDouble($transactionExportArray[32]);
             if ($transaction['amount'] != 0 && $transaction['commission'] != 0) {
                 $totalTransactions[] = $transaction;
             }
         }
     }
     return $totalTransactions;
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     // create entity
     $d = owa_coreAPI::entityFactory('base.document');
     // get document id from event
     $id = $event->get('document_id');
     // if no document_id present attempt to make one from the page_url property
     if (!$id) {
         $page_url = $event->get('page_url');
         if ($page_url) {
             $id = $d->generateId($page_url);
         } else {
             owa_coreAPI::debug('Not persisting Document, no page_url or document_id event property found.');
             return OWA_EHS_EVENT_HANDLED;
         }
     }
     $d->load($id);
     if (!$d->wasPersisted()) {
         $d->setProperties($event->getProperties());
         $d->set('url', $event->get('page_url'));
         $d->set('uri', $event->get('page_uri'));
         $d->set('id', $id);
         $ret = $d->create();
         if ($ret) {
             return OWA_EHS_EVENT_HANDLED;
         } else {
             return OWA_EHS_EVENT_FAILED;
         }
     } else {
         owa_coreAPI::debug('Not logging Document, already exists');
         return OWA_EHS_EVENT_HANDLED;
     }
 }
예제 #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();
     $urls = array();
     $url = 'http://business.skyscanner.net/apiservices/reporting/v1.0/reportdata/' . $dStartDate->toString("yyyy-MM-dd") . '/' . $dEndDate->toString("yyyy-MM-dd") . '?encryptedApiKey=' . $this->_apiKey . "&type=csv";
     $urls[] = new Oara_Curl_Request($url, array());
     $exportReport = array();
     $exportReport = $this->_client->get($urls);
     $dump = var_export($exportReport[0], true);
     $dump = preg_replace("/ \\. /", "", $dump);
     $dump = preg_replace("/\"\\\\0\"/", "", $dump);
     $dump = preg_replace("/'/", "", $dump);
     $exportData = str_getcsv($dump, "\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], 'dd/MM/yyyy HH:mm:ss', 'en');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
         //unset($transactionDate);
         $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         $transaction['amount'] = (double) $transactionExportArray[9];
         $transaction['commission'] = (double) $transaction['amount'] * 0.6;
         if ($transaction['amount'] != 0) {
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
예제 #8
0
파일: Bol.php 프로젝트: netzkind/php-oara
 /**
  * (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)
 {
     $folder = realpath(dirname(__FILE__)) . '/../../data/pdf/';
     $totalTransactions = array();
     $valuesFromExport = array();
     $valuesFromExport[] = new Oara_Curl_Parameter('id', "-1");
     $valuesFromExport[] = new Oara_Curl_Parameter('yearStart', $dStartDate->toString("yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('monthStart', $dStartDate->toString("MM"));
     $valuesFromExport[] = new Oara_Curl_Parameter('dayStart', $dStartDate->toString("dd"));
     $valuesFromExport[] = new Oara_Curl_Parameter('yearEnd', $dEndDate->toString("yyyy"));
     $valuesFromExport[] = new Oara_Curl_Parameter('monthEnd', $dEndDate->toString("MM"));
     $valuesFromExport[] = new Oara_Curl_Parameter('dayEnd', $dEndDate->toString("dd"));
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://partnerprogramma.bol.com/partner/s/excelReport/orders?', $valuesFromExport);
     $exportReport = $this->_client->get($urls);
     $my_file = $folder . mt_rand() . '.xlsx';
     $handle = fopen($my_file, 'w') or die('Cannot open file:  ' . $my_file);
     $data = $exportReport[0];
     fwrite($handle, $data);
     fclose($handle);
     $objReader = PHPExcel_IOFactory::createReader('Excel2007');
     $objReader->setReadDataOnly(true);
     $objPHPExcel = $objReader->load($my_file);
     $objWorksheet = $objPHPExcel->getActiveSheet();
     $highestRow = $objWorksheet->getHighestRow();
     $highestColumn = $objWorksheet->getHighestColumn();
     $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
     for ($row = 2; $row <= $highestRow; ++$row) {
         $transaction = array();
         $transaction['unique_id'] = $objWorksheet->getCellByColumnAndRow(0, $row)->getValue() . "_" . $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
         $transaction['merchantId'] = "1";
         $transactionDate = new Zend_Date($objWorksheet->getCellByColumnAndRow(2, $row)->getValue(), 'dd-MM-yyyy');
         $transaction['date'] = $transactionDate->toString("yyyy-MM-dd 00:00:00");
         $transaction['custom_id'] = $objWorksheet->getCellByColumnAndRow(8, $row)->getValue();
         if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geaccepteerd') {
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
         } else {
             if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'in behandeling') {
                 $transaction['status'] = Oara_Utilities::STATUS_PENDING;
             } else {
                 if ($objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd: klik te oud' || $objWorksheet->getCellByColumnAndRow(14, $row)->getValue() == 'geweigerd') {
                     $transaction['status'] = Oara_Utilities::STATUS_DECLINED;
                 } else {
                     echo "new status " . $objWorksheet->getCellByColumnAndRow(14, $row)->getValue();
                 }
             }
         }
         $transaction['amount'] = $objWorksheet->getCellByColumnAndRow(11, $row)->getValue();
         $transaction['commission'] = $objWorksheet->getCellByColumnAndRow(12, $row)->getValue();
         $totalTransactions[] = $transaction;
     }
     unlink($my_file);
     return $totalTransactions;
 }
예제 #9
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('https://portal.ladbrokespartners.com/portal/dashboard.jhtm?currentLanguage=en', array());
     $exportReport = $this->_client->get($urls);
     if (preg_match("/Logout/", $exportReport[0])) {
         $connection = true;
     }
     return $connection;
 }
예제 #10
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('https://etrader.kalahari.com/view/affiliate/home', array());
     $exportReport = $this->_client->get($urls);
     if (preg_match("/signout/", $exportReport[0])) {
         $connection = true;
     }
     return $connection;
 }
예제 #11
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('https://affiliates.affutd.com/affiliates/Dashboard.aspx', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('.lnkLogOut');
     if (count($results) > 0) {
         $connection = true;
     }
     return $connection;
 }
예제 #12
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('https://secure.rentalcars.com/affiliates/?master=1', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('#header_logout');
     if (count($results) > 0) {
         $connection = true;
     }
     return $connection;
 }
예제 #13
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://www.winneraffiliates.com/', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('#lgUsername');
     if (count($results) > 0) {
         $connection = false;
     }
     return $connection;
 }
예제 #14
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new Oara_Curl_Request('http://affiliates.mypcbackup.com/paychecks', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('.transtable');
     if ($tableList->current() != null) {
         $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
         $num = count($exportData);
         for ($i = 1; $i < $num; $i++) {
             $paymentExportArray = str_getcsv($exportData[$i], ";");
             try {
                 $obj = array();
                 $date = new Zend_Date($paymentExportArray[14], "MM/dd/yyyy");
                 $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
                 $obj['pid'] = preg_replace("/[^0-9\\.,]/", "", $paymentExportArray[14]);
                 $obj['method'] = $paymentExportArray[16];
                 $value = preg_replace("/[^0-9\\.,]/", "", $paymentExportArray[12]);
                 $obj['value'] = Oara_Utilities::parseDouble($value);
                 $paymentHistory[] = $obj;
             } catch (Exception $e) {
                 echo "Payment failed\n";
             }
         }
     }
     return $paymentHistory;
 }
예제 #15
0
파일: Ebay.php 프로젝트: robryanx/php-oara
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://publisher.ebaypartnernetwork.com/PublisherAccountPaymentHistory', array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $results = $dom->query('table .aruba_report_table');
     if (count($results) > 0) {
         $exportData = self::htmlToCsv(self::DOMinnerHTML($results->current()));
         for ($j = 1; $j < count($exportData); $j++) {
             $paymentExportArray = str_getcsv($exportData[$j], ";");
             $obj = array();
             $paymentDate = new Zend_Date($paymentExportArray[0], "dd/MM/yy", "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;
 }
예제 #16
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     foreach ($this->_idBox as $id) {
         $urls = array();
         $paymentExport = array();
         $paymentExport[] = new Oara_Curl_Parameter('idbox_store_id', $id);
         $urls[] = new Oara_Curl_Request($this->_networkServer . "/gp/associates/network/your-account/payment-history.html?", $paymentExport);
         $exportReport = $this->_client->get($urls);
         $dom = new Zend_Dom_Query($exportReport[0]);
         $results = $dom->query('.paymenthistory');
         $count = count($results);
         $yearArray = array();
         if ($count == 1) {
             $paymentTable = $results->current();
             $paymentReport = self::htmlToCsv(self::DOMinnerHTML($paymentTable));
             for ($i = 2; $i < count($paymentReport) - 1; $i++) {
                 $paymentExportArray = str_getcsv($paymentReport[$i], ";");
                 $obj = array();
                 $paymentDate = new Zend_Date($paymentExportArray[0], "M d yyyy", "en");
                 $obj['date'] = $paymentDate->toString("yyyy-MM-dd HH:mm:ss");
                 $obj['pid'] = $paymentDate->toString("yyyyMMdd") . substr((string) base_convert(md5($id), 16, 10), 0, 5);
                 $obj['method'] = 'BACS';
                 if (preg_match("/[0-9]*,?[0-9]*\\.?[0-9]+/", $paymentExportArray[4], $matches)) {
                     $obj['value'] = Oara_Utilities::parseDouble($matches[0]);
                     $paymentHistory[] = $obj;
                 }
             }
         } else {
             //throw new Exception('Problem getting the payments');
         }
     }
     return $paymentHistory;
 }
예제 #17
0
 /**
  * Sets up the merchant list and the program list.
  */
 private function getExportUser()
 {
     $exporUser = null;
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_serverUrl . 'Reports/Default.aspx?', array(new Oara_Curl_Parameter('report', 'Performance')));
     $result = $this->_client->get($urls);
     $urls = array();
     $urls[] = new Oara_Curl_Request($this->_serverUrl . '/Reports/RemoteHelp.aspx?', array());
     $result = $this->_client->get($urls);
     /*** load the html into the object ***/
     $doc = new DOMDocument();
     libxml_use_internal_errors(true);
     $doc->validateOnParse = true;
     $doc->loadHTML($result[0]);
     $textareaList = $doc->getElementsByTagName('textarea');
     $messageNode = $textareaList->item(0);
     if (!isset($messageNode->firstChild)) {
         throw new Exception('Error getting the User');
     }
     $messageStr = $messageNode->firstChild->nodeValue;
     $parseUrl = parse_url(trim($messageStr));
     $parameters = explode('&', $parseUrl['query']);
     foreach ($parameters as $parameter) {
         $parameterValue = explode('=', $parameter);
         if ($parameterValue[0] == 'user') {
             $exporUser = $parameterValue[1];
         }
     }
     return $exporUser;
 }
예제 #18
0
파일: BuyAt.php 프로젝트: robryanx/php-oara
 /**
  * (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('pageType', 'isCreativeGraphics');
         $valuesFormExport[] = new Oara_Curl_Parameter('prog_id', $merchant['cid']);
         $valuesFormExport[] = new Oara_Curl_Parameter('creative_type_id', '1');
         $valuesFormExport[] = new Oara_Curl_Parameter('creativegroup', '0');
         $valuesFormExport[] = new Oara_Curl_Parameter('dimension', '0');
         $valuesFormExport[] = new Oara_Curl_Parameter('customise', 'Go');
         $urls[] = new Oara_Curl_Request('https://users.buy.at/ma/index.php/affiliateCreative/creativeGraphics?', $valuesFormExport);
         $exportReport = $this->_client->get($urls);
         $urls = array();
         $valuesFormExport = array();
         $valuesFormExport[] = new Oara_Curl_Parameter('format', 'csv');
         $urls[] = new Oara_Curl_Request('https://users.buy.at/ma/index.php/affiliateCreative/creativeGraphics?', $valuesFormExport);
         $exportReport = $this->_client->get($urls);
         $exportData = str_getcsv($exportReport[0], "\r\n");
         $num = count($exportData);
         for ($j = 1; $j < $num; $j++) {
             $creativeData = str_getcsv($exportData[$j], ",");
             $creativesMap[$merchant['cid']][] = $creativeData[5];
         }
     }
     return $creativesMap;
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     $terms = trim(strtolower($event->get('search_terms')));
     if ($terms) {
         $st = owa_coreAPI::entityFactory('base.search_term_dim');
         $st_id = owa_lib::setStringGuid($terms);
         $st->getByPk('id', $st_id);
         $id = $st->get('id');
         if (!$id) {
             $st->set('id', $st_id);
             $st->set('terms', $terms);
             $ret = str_replace("", "", $terms, $count);
             $st->set('term_count', $count);
             $ret = $st->create();
             if ($ret) {
                 return OWA_EHS_EVENT_HANDLED;
             } else {
                 return OWA_EHS_EVENT_FAILED;
             }
         } else {
             owa_coreAPI::debug('Not Logging. Search term already exists.');
             return OWA_EHS_EVENT_HANDLED;
         }
     } else {
         return OWA_EHS_EVENT_HANDLED;
     }
 }
예제 #20
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new Oara_Curl_Request("{$this->_extension}/affiliate_invoice.html?", array());
     $exportReport = $this->_client->get($urls);
     $dom = new Zend_Dom_Query($exportReport[0]);
     $tableList = $dom->query('.bluetable');
     $exportData = self::htmlToCsv(self::DOMinnerHTML($tableList->current()));
     $num = count($exportData);
     for ($i = 4; $i < $num; $i++) {
         $paymentExportArray = str_getcsv($exportData[$i], ";");
         if (count($paymentExportArray) > 7) {
             $obj = array();
             $date = new Zend_Date($paymentExportArray[1], "dd/MM/yyyy");
             $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
             $obj['pid'] = preg_replace('/[^0-9\\.,]/', "", $paymentExportArray[0]);
             $obj['method'] = 'BACS';
             $value = preg_replace('/[^0-9\\.,]/', "", $paymentExportArray[8]);
             $obj['value'] = Oara_Utilities::parseDouble($value);
             $paymentHistory[] = $obj;
         }
     }
     return $paymentHistory;
 }
예제 #21
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();
     $urls[] = new Oara_Curl_Request('http://affiliates.paddypartners.com/affiliates/DataServiceWrapper/DataService.svc/Export/CSV/Affiliates_Reports_Earnings_GetMonthlyBreakDown', array());
     $exportReport = array();
     $exportReport = $this->_client->get($urls);
     $exportData = str_getcsv($exportReport[0], "\n");
     $num = count($exportData);
     for ($i = 1; $i < $num - 1; $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;
         $transaction['amount'] = (double) $transactionExportArray[2];
         $transaction['commission'] = (double) $transactionExportArray[6];
         if ($transaction['amount'] != 0 && $transaction['commission'] != 0) {
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
예제 #22
0
 /**
  * (non-PHPdoc)
  *
  * @see library/Oara/Network/Oara_Network_Publisher_Interface#getMerchantList()
  */
 public function getMerchantList()
 {
     $merchants = array();
     $merchantIdMap = array();
     foreach ($this->_siteList as $site) {
         $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/programs/carDownload.php', array());
         $result = $this->_client->get($urls);
         $result[0] = str_replace("Baseline TrueLock\"\n", "Baseline TrueLock\",\n", $result[0]);
         $exportData = explode(",\n", $result[0]);
         $num = count($exportData);
         for ($i = 1; $i < $num - 1; $i++) {
             $merchantArray = str_getcsv($exportData[$i], ",", '"');
             if (!in_array($merchantArray[2], $merchantIdMap)) {
                 $obj = array();
                 if (!isset($merchantArray[2])) {
                     throw new Exception("Error getting merchants");
                 }
                 $obj['cid'] = (int) $merchantArray[2];
                 $obj['name'] = $merchantArray[0];
                 $obj['description'] = $merchantArray[3];
                 $obj['url'] = $merchantArray[1];
                 $merchants[] = $obj;
                 $merchantIdMap[] = $obj['cid'];
             }
         }
     }
     return $merchants;
 }
예제 #23
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     self::__construct($this->_credentials);
     $paymentHistory = array();
     $filter = new Zend_Filter_LocalizedToNormalized(array('precision' => 2));
     $urls = array();
     $urls[] = new Oara_Curl_Request('http://affiliates.affiliatefuture.com/myaccount/invoices.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]);
     $tableList = $doc->getElementsByTagName('table');
     $registerTable = $tableList->item(12);
     if ($registerTable == null) {
         throw new Exception('Fail getting the payment History');
     }
     $registerLines = $registerTable->childNodes;
     for ($i = 1; $i < $registerLines->length; $i++) {
         $registerLine = $registerLines->item($i)->childNodes;
         $obj = array();
         $date = new Zend_Date(trim($registerLine->item(1)->nodeValue), "dd/MM/yyyy");
         $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
         $obj['pid'] = trim($registerLine->item(0)->nodeValue);
         $value = trim(substr(trim($registerLine->item(4)->nodeValue), 4));
         $obj['value'] = $filter->filter($value);
         $obj['method'] = 'BACS';
         $paymentHistory[] = $obj;
     }
     return $paymentHistory;
 }
예제 #24
0
파일: Ebay.php 프로젝트: RenzcPHP/php-oara
 /**
  * (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();
     $urls[] = new Oara_Curl_Request("https://publisher.ebaypartnernetwork.com/PublisherReportsTx?pt=2&start_date={$dStartDate->toSTring("M/d/yyyy")}&end_date={$dEndDate->toSTring("M/d/yyyy")}&user_name={$this->_credentials['user']}&user_password={$this->_credentials['password']}&advIdProgIdCombo=&tx_fmt=3&submit_tx=Download", array());
     $exportData = array();
     try {
         $exportReport = $this->_client->get($urls, 'content', 5);
         $exportData = str_getcsv($exportReport[0], "\n");
     } catch (Exception $e) {
     }
     $num = count($exportData);
     for ($i = 1; $i < $num; $i++) {
         $transactionExportArray = str_getcsv($exportData[$i], "\t");
         if ($transactionExportArray[2] == "Winning Bid (Revenue)" && (empty($this->_sitesAllowed) || in_array($transactionExportArray[5], $this->_sitesAllowed))) {
             $transaction = array();
             $transaction['merchantId'] = 1;
             $transactionDate = new Zend_Date($transactionExportArray[1], 'yyyy-MM-dd', 'en');
             $transaction['date'] = $transactionDate->toString("yyyy-MM-dd HH:mm:ss");
             unset($transactionDate);
             if ($transactionExportArray[12] != null) {
                 $transaction['custom_id'] = $transactionExportArray[12];
             }
             $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
             $transaction['amount'] = Oara_Utilities::parseDouble($transactionExportArray[3]);
             $transaction['commission'] = Oara_Utilities::parseDouble($transactionExportArray[20]);
             $totalTransactions[] = $transaction;
         }
     }
     return $totalTransactions;
 }
예제 #25
0
 /**
  * (non-PHPdoc)
  * @see Oara/Network/Oara_Network_Publisher_Base#getPaymentHistory()
  */
 public function getPaymentHistory()
 {
     $paymentHistory = array();
     $urls = array();
     $urls[] = new Oara_Curl_Request('https://members.cj.com/member/cj/publisher/paymentStatus', array());
     $exportReport = $this->_client->get($urls);
     if (preg_match("/\\/publisher\\/getpublisherpaymenthistory\\.do/", $exportReport[0], $matches)) {
         $urls = array();
         $valuesFromExport = $this->_exportPaymentParameters;
         $urls[] = new Oara_Curl_Request('https://members.cj.com/member/' . $this->_memberId . '/publisher/getpublisherpaymenthistory.do?', $valuesFromExport);
         $exportReport = $this->_client->get($urls);
         $exportData = str_getcsv($exportReport[0], "\n");
         $num = count($exportData);
         for ($j = 1; $j < $num; $j++) {
             $paymentData = str_getcsv($exportData[$j], ",");
             $obj = array();
             $date = new Zend_Date($paymentData[0], "dd-MMM-yyyy HH:mm", 'en_US');
             $obj['date'] = $date->toString("yyyy-MM-dd HH:mm:ss");
             $obj['value'] = Oara_Utilities::parseDouble($paymentData[1]);
             $obj['method'] = $paymentData[2];
             $obj['pid'] = $paymentData[6];
             $paymentHistory[] = $obj;
         }
     }
     return $paymentHistory;
 }
예제 #26
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);
     $mothOverviewUrls = array();
     $dateArray = Oara_Utilities::daysOfDifference($dStartDate, $dEndDate);
     $dateArraySize = sizeof($dateArray);
     for ($i = 0; $i < $dateArraySize; $i++) {
         $valuesFormExport = Oara_Utilities::cloneArray($this->_exportTransactionParameters);
         $valuesFormExport[] = new Oara_Curl_Parameter('datefrom', $dateArray[$i]->toString("yyyy-MM-dd"));
         $valuesFormExport[] = new Oara_Curl_Parameter('dateto', $dateArray[$i]->toString("yyyy-MM-dd"));
         $mothUrls[] = new Oara_Curl_Request('https://accounts.skimlinks.com/reports_export.php?', $valuesFormExport);
     }
     $exportReport = $this->_client->get($mothUrls);
     $exportReportNumber = count($exportReport);
     for ($i = 0; $i < $exportReportNumber; $i++) {
         $exportData = str_getcsv($exportReport[$i], "\n");
         $num = count($exportData);
         for ($j = 1; $j < $num - 5; $j++) {
             $overviewExportArray = str_getcsv($exportData[$j], ",");
             if (Oara_Utilities::parseDouble($overviewExportArray[2]) != 0 && isset($this->_merchantMap[$overviewExportArray[0]]) && in_array($this->_merchantMap[$overviewExportArray[0]], $merchantList)) {
                 $overview = array();
                 $overview['merchantId'] = $this->_merchantMap[$overviewExportArray[0]];
                 $overviewDate = new Zend_Date($mothUrls[$i]->getParameter(5)->getValue(), 'yyyy-MM-dd', 'en');
                 $overview['date'] = $overviewDate->toString("yyyy-MM-dd HH:mm:ss");
                 $overview['click_number'] = (int) $overviewExportArray[1];
                 $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;
 }
예제 #27
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();
     $dateArray = Oara_Utilities::daysOfDifference($dStartDate, $dEndDate);
     $dateArraySize = sizeof($dateArray);
     for ($j = 0; $j < $dateArraySize; $j++) {
         $valuesFormExport = array();
         $valuesFormExport[] = new Oara_Curl_Parameter('date', $dateArray[$j]->toString("yyyy-MM-dd"));
         $valuesFormExport[] = new Oara_Curl_Parameter('period', 'day');
         $urls = array();
         $urls[] = new Oara_Curl_Request('https://www.privateinternetaccess.com/affiliates/affiliate_dashboard?', $valuesFormExport);
         $exportReport = $this->_client->get($urls);
         $dom = new Zend_Dom_Query($exportReport[0]);
         $results = $dom->query('.coupon_code table');
         if (count($results) > 0) {
             $exportData = self::htmlToCsv(self::DOMinnerHTML($results->current()));
             for ($z = 1; $z < count($exportData) - 2; $z++) {
                 $transactionLineArray = str_getcsv($exportData[$z], ";");
                 $numberTransactions = (int) $transactionLineArray[1];
                 $commission = preg_replace("/[^0-9\\.,]/", "", $transactionLineArray[2]);
                 $commission = (double) $commission / $numberTransactions;
                 for ($y = 0; $y < $numberTransactions; $y++) {
                     $transaction = array();
                     $transaction['merchantId'] = "1";
                     $transaction['date'] = $dateArray[$j]->toString("yyyy-MM-dd HH:mm:ss");
                     $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED;
                     $transaction['amount'] = $commission;
                     $transaction['commission'] = $commission;
                     $totalTransactions[] = $transaction;
                 }
             }
         }
     }
     return $totalTransactions;
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     if ($event->get('is_new_session')) {
         return $this->logSession($event);
     } else {
         return $this->logSessionUpdate($event);
     }
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     // Make entity
     $f = owa_coreAPI::entityFactory('base.feed_request');
     $f->load($event->get('guid'));
     if (!$f->wasPersisted()) {
         $f->setProperties($event->getProperties());
         // Set Primary Key
         $f->set('id', $event->get('guid'));
         // Make ua id
         $f->set('ua_id', owa_lib::setStringGuid($event->get('HTTP_USER_AGENT')));
         // Make OS id
         $f->set('os_id', owa_lib::setStringGuid($event->get('os')));
         // Make document id
         $f->set('document_id', owa_lib::setStringGuid($event->get('page_url')));
         // Generate Host id
         $f->set('host_id', owa_lib::setStringGuid($event->get('host')));
         $f->set('subscription_id', $event->get('feed_subscription_id'));
         // Persist to database
         $ret = $f->create();
         if ($ret) {
             $eq = owa_coreAPI::getEventDispatch();
             $nevent = $eq->makeEvent($event->getEventType() . '_persisted');
             $nevent->setProperties($event->getProperties());
             $eq->notify($nevent);
             return OWA_EHS_EVENT_HANDLED;
         } else {
             return OWA_EHS_EVENT_FAILED;
         }
     } else {
         owa_coreAPI::debug('Not persisting. Feed request already exists.');
         return OWA_EHS_EVENT_HANDLED;
     }
 }
 /**
  * Notify Event Handler
  *
  * @param 	unknown_type $event
  * @access 	public
  */
 function notify($event)
 {
     $os = owa_coreAPI::entityFactory('base.os');
     $os->getByColumn('id', owa_lib::setStringGuid($event->get('os')));
     if (!$os->get('id')) {
         $os->set('name', $event->get('os'));
         $os->set('id', owa_lib::setStringGuid($event->get('os')));
         $ret = $os->create();
         if ($ret) {
             return OWA_EHS_EVENT_HANDLED;
         } else {
             return OWA_EHS_EVENT_FAILED;
         }
     } else {
         owa_coreAPI::debug('Not persistig. Operating system already exists.');
         return OWA_EHS_EVENT_HANDLED;
     }
 }