Ejemplo n.º 1
0
 public function ipnPostSubmit()
 {
     // Give PAP access to the data so it can handle any needed commissions
     try {
         $papModel = Mage::getModel('pap/pap');
         $postData = $this->getIpnFormData();
         $customdata = explode('~~~a469ccb0-767c-4fed-96de-99427e1783aa~~~', $postData['custom']);
         $saleData = isset($customdata[0]) ? $customdata[0] : null;
         $cookieValue = isset($customdata[1]) ? $customdata[1] : null;
         // Convert the JSON data into a usable array
         $saleData = json_decode($saleData);
         $saleData = $this->ForceArray($saleData);
         $sReq = '';
         foreach ($this->getIpnFormData() as $k => $v) {
             $sReq .= '&' . $k . '=' . urlencode(stripslashes($v));
         }
         //append ipn commdn
         $sReq .= "&cmd=_notify-validate";
         $sReq = substr($sReq, 1);
         $http = new Varien_Http_Adapter_Curl();
         $http->write(Zend_Http_Client::POST, $this->getPaypalUrl(), '1.1', array(), $sReq);
         $response = $http->read();
         $response = preg_split('/^\\r?$/m', $response, 2);
         $response = trim($response[1]);
         if ($response == 'VERIFIED') {
             $papModel->registerSaleDetails($saleData, isset($cookieValue) ? $cookieValue : null);
         }
     } catch (Exception $e) {
         Mage::log('Caught exception while trying to log PayPal sale: ' . $e->getMessage() . "\n");
     }
     // let the base class go on to do whatever processing it was going to do
     parent::ipnPostSubmit();
 }
Ejemplo n.º 2
0
 /**
  * This method will send call to external end points using GET or POST method
  * 
  * @param type $apiType url that needs to be called
  * @param type $requestType GET or POST
  * @param type $data model data that needs to be send with url 
  * @return type json
  * @throws Exception
  */
 public function send($apiType, $requestType, $data)
 {
     $curlAdapter = new Varien_Http_Adapter_Curl();
     $curlAdapter->setConfig(array('timeout' => 20));
     $body_param = Mage::helper('core')->jsonEncode($data);
     $header = $this->getHeader();
     try {
         $curlAdapter->write($requestType, $apiType, '1.1', $header, $body_param);
         $result = $curlAdapter->read();
         $response = preg_split('/^\\r?$/m', $result, 2);
         $response = trim($response[1]);
         $res = NULL;
         if (!is_null($response) && !empty($response)) {
             $res = Mage::helper('core')->jsonDecode($response);
         } else {
             Mage::log('Encountered problems trying to contact Terapeak');
             Mage::log($curlAdapter->getError());
         }
     } catch (Exception $e) {
         //eat the execption. We should not crash the magento instance if our extention throws exceptions
         Mage::log('Exception when trying to send data to Terapeak:');
         Mage::log($e);
     }
     return $res;
 }
Ejemplo n.º 3
0
 /**
  * Make a call to Payment Bridge service with given request parameters
  *
  * @param array $request
  * @return array
  * @throws Mage_Core_Exception
  */
 protected function _call(array $request)
 {
     $response = null;
     $debugData = array('request' => $request);
     try {
         $http = new Varien_Http_Adapter_Curl();
         $config = array('timeout' => 30);
         $http->setConfig($config);
         $http->write(Zend_Http_Client::POST, $this->getPbridgeEndpoint(), '1.1', array(), $this->_prepareRequestParams($request));
         $response = $http->read();
         $http->close();
     } catch (Exception $e) {
         $debugData['result'] = array('error' => $e->getMessage(), 'code' => $e->getCode());
         $this->_debug($debugData);
         throw $e;
     }
     $this->_debug($response);
     if ($response) {
         $response = preg_split('/^\\r?$/m', $response, 2);
         $response = Mage::helper('core')->jsonDecode(trim($response[1]));
         $debugData['result'] = $response;
         $this->_debug($debugData);
         if ($http->getErrno()) {
             Mage::logException(new Exception(sprintf('Payment Bridge CURL connection error #%s: %s', $http->getErrno(), $http->getError())));
             Mage::throwException(Mage::helper('enterprise_pbridge')->__('Unable to communicate with Payment Bridge service.'));
         }
         if (isset($response['status']) && $response['status'] == 'Success') {
             $this->_response = $response;
             return true;
         }
     }
     $this->_handleError($response);
     $this->_response = $response;
     return false;
 }
Ejemplo n.º 4
0
 public function isValidVies($taxvat, $countryCode)
 {
     if ('UK' === $countryCode) {
         $countryCode = 'GB';
     }
     if (!isset($this->_patterns[$countryCode])) {
         $this->_message = 'The provided CountryCode is invalid for the VAT number';
         return false;
     }
     //        $vies  = new SoapClient('http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl');
     //        $check = new firecheckoutCheckVat($countryCode, $taxvat);
     //        try {
     //            $ret = $vies->checkVat($check);
     //        } catch (SoapFault $e) {
     //            $ret = $e->faultstring;
     //            $pattern = '/\{ \'([A-Z_]*)\' \}/';
     //            $n = preg_match($pattern, $ret, $matches);
     //            $ret = $matches[1];
     //            $faults = array(
     //              'INVALID_INPUT'       => 'The provided CountryCode is invalid or the VAT number is empty',
     //              'SERVICE_UNAVAILABLE' => 'The SOAP service is unavailable, try again later',
     //              'MS_UNAVAILABLE'      => 'The Member State service is unavailable, try again later or with another Member State',
     //              'TIMEOUT'             => 'The Member State service could not be reached in time, try again later or with another Member State',
     //              'SERVER_BUSY'         => 'The service cannot process your request. Try again later.'
     //            );
     //            $this->_message = $faults[$ret];
     //            return false;
     //        }
     //        return true;
     try {
         $http = new Varien_Http_Adapter_Curl();
         $http->setConfig(array('timeout' => 30));
         $http->write(Zend_Http_Client::POST, 'http://ec.europa.eu/taxation_customs/vies/viesquer.do', '1.1', array(), http_build_query(array('ms' => $countryCode, 'iso' => $countryCode, 'vat' => $taxvat)));
         $response = $http->read();
         $http->close();
     } catch (Exception $e) {
         throw $e;
     }
     $response = str_replace(array("\n", "\r", "\t"), '', $response);
     if (empty($response) || strstr($response, 'Yes, valid VAT number')) {
         // if service is not available of correct vat number
         return true;
     } elseif (strstr($response, 'No, invalid VAT number')) {
         $this->_message = 'Invalid VAT number';
     } elseif (strstr($response, 'Service unavailable')) {
         $this->_message = 'The VAT validation service unavailable. Please re-submit your request later.';
     } elseif (strstr($response, 'Member State service unavailable')) {
         $this->_message = 'The VAT validation service unavailable. Please re-submit your request later.';
     } elseif (strstr($response, 'Error: Incomplete')) {
         $this->_message = 'The provided CountryCode is invalid or the VAT number is empty';
     } elseif (strstr($response, 'Request time-out')) {
         $this->_message = 'The VAT validation service cannot process your request. Try again later.';
     } elseif (strstr($response, 'System busy')) {
         $this->_message = 'The VAT validation service cannot process your request. Try again later.';
     } else {
         $this->_message = 'Unknown VAT validation service message. Try again later.';
     }
     return false;
 }
Ejemplo n.º 5
0
 /**
  * Talk to new relic
  * 
  * @param string $restPoint
  * @return string
  */
 public function talkToNewRelic($restPoint)
 {
     $headers = array('x-api-key:' . $this->_api_key);
     $http = new Varien_Http_Adapter_Curl();
     $http->write('GET', 'https://api.newrelic.com/api/v1/accounts/' . $this->_account_Id . '/' . $restPoint . '.xml', '1.1', $headers);
     $response = $http->read();
     $response = Zend_Http_Response::extractBody($response);
     return $response;
 }
Ejemplo n.º 6
0
 /**
  * Do the API call
  *
  * @param string $methodName
  * @param array $request
  * @return array
  * @throws Mage_Core_Exception
  */
 public function call($methodName, array $request)
 {
     $request = $this->_addMethodToRequest($methodName, $request);
     $eachCallRequest = $this->_prepareEachCallRequest($methodName);
     if ($this->getUseCertAuthentication()) {
         if ($key = array_search('SIGNATURE', $eachCallRequest)) {
             unset($eachCallRequest[$key]);
         }
     }
     $request = $this->_exportToRequest($eachCallRequest, $request);
     $debugData = array('url' => $this->getApiEndpoint(), $methodName => $request);
     try {
         $http = new Varien_Http_Adapter_Curl();
         $config = array('timeout' => 30, 'verifypeer' => $this->_config->verifyPeer);
         if ($this->getUseProxy()) {
             $config['proxy'] = $this->getProxyHost() . ':' . $this->getProxyPort();
         }
         if ($this->getUseCertAuthentication()) {
             $config['ssl_cert'] = $this->getApiCertificate();
         }
         $http->setConfig($config);
         $http->write(Zend_Http_Client::POST, $this->getApiEndpoint(), '1.1', $this->_headers, $this->_buildQuery($request));
         $response = $http->read();
     } catch (Exception $e) {
         $debugData['http_error'] = array('error' => $e->getMessage(), 'code' => $e->getCode());
         $this->_debug($debugData);
         throw $e;
     }
     $response = preg_split('/^\\r?$/m', $response);
     $response = trim(end($response));
     $response = $this->_deformatNVP($response);
     $debugData['response'] = $response;
     $this->_debug($debugData);
     $response = $this->_postProcessResponse($response);
     // handle transport error
     if ($http->getErrno()) {
         Mage::logException(new Exception(sprintf('PayPal NVP CURL connection error #%s: %s', $http->getErrno(), $http->getError())));
         $http->close();
         Mage::throwException(Mage::helper('paypal')->__('Unable to communicate with the PayPal gateway.'));
     }
     // cUrl resource must be closed after checking it for errors
     $http->close();
     if (!$this->_validateResponse($methodName, $response)) {
         Mage::logException(new Exception(Mage::helper('paypal')->__("PayPal response hasn't required fields.")));
         Mage::throwException(Mage::helper('paypal')->__('There was an error processing your order. Please contact us or try again later.'));
     }
     $this->_callErrors = array();
     if ($this->_isCallSuccessful($response)) {
         if ($this->_rawResponseNeeded) {
             $this->setRawSuccessResponseData($response);
         }
         return $response;
     }
     $this->_handleCallErrors($response);
     return $response;
 }
Ejemplo n.º 7
0
 protected function _loadUrl($url)
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 30));
     $curl->write(Zend_Http_Client::GET, $url, '1.0');
     $text = $curl->read();
     $text = preg_split('/^\\r?$/m', $text, 2);
     $text = trim($text[1]);
     return $text;
 }
Ejemplo n.º 8
0
 /**
  * Check if survey url valid (exists) or not
  *
  * @return boolen
  */
 public static function isSurveyUrlValid()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 5))->write(Zend_Http_Client::GET, self::getSurveyUrl(), '1.0');
     $response = $curl->read();
     if (Zend_Http_Response::extractCode($response) == 200) {
         return true;
     }
     return false;
 }
Ejemplo n.º 9
0
 /**
  * If file is accessible return true or false
  *
  * @return bool
  */
 private function _isFileAccessible()
 {
     $defaultUnsecureBaseURL = (string) Mage::getConfig()->getNode('default/' . Mage_Core_Model_Store::XML_PATH_UNSECURE_BASE_URL);
     $http = new Varien_Http_Adapter_Curl();
     $http->setConfig(array('timeout' => $this->_verificationTimeOut));
     $http->write(Zend_Http_Client::POST, $defaultUnsecureBaseURL . $this->_filePath);
     $responseBody = $http->read();
     $responseCode = Zend_Http_Response::extractCode($responseBody);
     $http->close();
     return $responseCode == 200;
 }
Ejemplo n.º 10
0
 public function createApiPost($path, $data)
 {
     try {
         $config = array('timeout' => 30);
         $http = new Varien_Http_Adapter_Curl();
         $feed_url = self::YOTPO_API_URL . DS . $this->app_key . DS . $path;
         $http->setConfig($config);
         $http->write(Zend_Http_Client::POST, $feed_url, '1.1', array('Content-Type: application/json'), json_encode($data));
         $resData = $http->read();
     } catch (Exception $e) {
         Mage::log('error: ' . $e);
     }
 }
Ejemplo n.º 11
0
 /**
  * Read response for prepared curl request
  *
  * @return Apache_Solr_Response
  *
  * @throws Exception If a non 200 response status is returned
  */
 protected function _getResponse()
 {
     $response = $this->_curlAdapter->read();
     $this->_curlAdapter->close();
     list($headers, $body) = explode("\r\n\r\n", $response, 2);
     $headers = explode("\r\n", $headers);
     $response = new Apache_Solr_Response($body, $headers, $this->_createDocuments, $this->_collapseSingleValueArrays);
     $httpStatus = $response->getHttpStatus();
     if ($httpStatus != 200) {
         throw new Exception('"' . $httpStatus . '" Status: ' . $response->getHttpStatusMessage(), $httpStatus);
     }
     return $response;
 }
Ejemplo n.º 12
0
 public function sendRequest($request, $parameters = array())
 {
     if (!$this->code || !$this->username || !$this->password) {
         return false;
     }
     if ($request != 'verifyUser' && !$this->session) {
         return false;
     }
     $parameters['sessionKey'] = $this->session;
     $parameters['request'] = $request;
     $parameters['version'] = '1.0';
     $parameters['clientCode'] = $this->code;
     $url = $this->getUrl();
     $http = new Varien_Http_Adapter_Curl();
     $http->setConfig(array('timeout' => 100));
     //        $http->write(Zend_Http_Client::POST, $parameters);
     $http->write(Zend_Http_Client::POST, $url, CURL_HTTP_VERSION_1_0, array(), $parameters);
     $responseBody = Zend_Http_Response::extractBody($http->read());
     $http->close();
     if (Mage::getStoreConfig('eepohs_erply/general/log_requests')) {
         Mage::log("REQUEST URL: " . $url . "\nREQUEST PARAMETERS:\n" . print_r($parameters, true) . "\nRESPONSE:\n" . $responseBody, null, self::REQUEST_LOG);
     }
     //        $http = new Varien_Http_Adapter_Curl();
     //        $config = array('timeout' => 30);
     //
     //        $http->setConfig($config);
     //        $http->write(Zend_Http_Client::POST, $url, '1.0', array(), http_build_query($parameters));
     //        $content = Zend_Http_Response::extractBody($http->read());
     //        print_r(Zend_Http_Response::extractHeaders($http->read()));
     //return $content;
     //        $ch = curl_init();
     //        curl_setopt($ch, CURLOPT_URL, $url);
     //        curl_setopt($ch, CURLOPT_HEADER, 1);
     //        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
     //        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
     //        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
     //        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
     //        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     //        curl_setopt($ch, CURLOPT_POST, true);
     //        curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
     //
     //        if (curl_exec($ch) === false)
     //            return false;
     //
     //        $content = curl_multi_getcontent($ch);
     //        curl_close($ch);
     //        list($header1, $header2, $body) = explode("\r\n\r\n", $content, 3);
     return $responseBody;
 }
Ejemplo n.º 13
0
 public function getClientData()
 {
     $eadesignUrl = 'https://www.eadesign.ro/';
     $extension = 'Eadesigndev_Awb';
     $moduleVersion = Mage::getConfig()->getModuleConfig($extension)->version;
     $baseUrl = 'track/index/update?url=' . Mage::getBaseUrl();
     $version = '&version=' . $moduleVersion;
     $moduleExtension = '&extension=' . $extension;
     $url = $eadesignUrl . $baseUrl . $version . $moduleExtension;
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 3));
     $curl->write(Zend_Http_Client::GET, $url, '1.0');
     $curl->read();
     $curl->close();
 }
Ejemplo n.º 14
0
 /**
  * Perform a CURL call and log request end response to logfile
  *
  * @param array $params
  * @return mixed
  */
 public function call($params, $url)
 {
     try {
         $http = new Varien_Http_Adapter_Curl();
         $config = array('timeout' => 30);
         $http->setConfig($config);
         $http->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));
         $response = $http->read();
         $response = substr($response, strpos($response, "<?xml"), strlen($response));
         return $response;
     } catch (Exception $e) {
         Mage::logException($e);
         Mage::throwException(Mage::helper('ops')->__('Barclaycard server is temporarily not available, please try again later.'));
     }
 }
Ejemplo n.º 15
0
 /**
  * @param array $url
  * @return array
  */
 public function getCurlOptions($url)
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 5));
     $curl->write(Zend_Http_Client::GET, $url);
     $response = $curl->read();
     if ($response === false) {
         return false;
     }
     $response = preg_split('/^\\r?$/m', $response, 2);
     $response = trim($response[1]);
     $options = explode("\n", $response);
     $curl->close();
     return $options;
 }
Ejemplo n.º 16
0
 /**
  * Post a request, note that for a HTTPS URL no port is required
  *
  * @param string $url
  * @param string $path
  * @param array  $params
  * @return mixed
  */
 protected function _post($url, $timeout, $dataToSend)
 {
     $config = array('timeout' => 30);
     $this->_http->setConfig($config);
     $this->_http->write(Zend_Http_Client::POST, $url, '1.1', array(), $dataToSend);
     $response = $this->_http->read();
     $response = preg_split('/^\\r?$/m', $response, 2);
     $response = trim($response[1]);
     if ($this->_http->getErrno()) {
         $this->_http->close();
         $this->setError($this->_http->getErrno() . ':' . $this->_http->getError());
         return false;
     }
     $this->_http->close();
     return $response;
 }
Ejemplo n.º 17
0
 /**
  * Read html from the store feed
  *
  * @return string
  */
 private function getContent()
 {
     $data = NULL;
     if (!extension_loaded('curl')) {
         return $data;
     }
     $url = Mage::helper('belvgall')->getStoreUrl();
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 2, 'header' => FALSE));
     $curl->write(Zend_Http_Client::GET, $url, '1.0');
     $data = $curl->read();
     if ($data === FALSE) {
         return NULL;
     }
     $curl->close();
     return $data;
 }
Ejemplo n.º 18
0
 public function getFeedData($feedUrl)
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->write(Zend_Http_Client::GET, $feedUrl, '1.0');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         return false;
     }
     return $xml;
 }
Ejemplo n.º 19
0
 public function getFeed($url, $params = array())
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->write(Zend_Http_Client::POST, $url, '1.1', array(), http_build_query($params));
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         return false;
     }
     return $xml;
 }
Ejemplo n.º 20
0
 public function getFeedData()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 2));
     $curl->write(Zend_Http_Client::GET, $this->getFeedUrl(), '1.0');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $json = json_decode($data);
     } catch (Exception $e) {
         return false;
     }
     return $json;
 }
 /**
  * @param ResultCollection $results
  */
 public function check(ResultCollection $results)
 {
     $result = $results->createResult();
     $filePath = 'app/etc/local.xml';
     $defaultUnsecureBaseURL = (string) \Mage::getConfig()->getNode('default/' . \Mage_Core_Model_Store::XML_PATH_UNSECURE_BASE_URL);
     $http = new \Varien_Http_Adapter_Curl();
     $http->setConfig(array('timeout' => $this->_verificationTimeOut));
     $http->write(\Zend_Http_Client::POST, $defaultUnsecureBaseURL . $filePath);
     $responseBody = $http->read();
     $responseCode = \Zend_Http_Response::extractCode($responseBody);
     $http->close();
     if ($responseCode === 200) {
         $result->setStatus(Result::STATUS_ERROR);
         $result->setMessage("<error>{$filePath} can be accessed from outside!</error>");
     } else {
         $result->setStatus(Result::STATUS_OK);
         $result->setMessage("<info><comment>{$filePath}</comment> cannot be accessed from outside.</info>");
     }
 }
Ejemplo n.º 22
0
 public function getFeedData()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 1));
     $curl->write(Zend_Http_Client::GET, self::URI_EXTENSIONS, '1.0');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         return false;
     }
     return $xml;
 }
Ejemplo n.º 23
0
 public function getNotificationData()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 2));
     $curl->write(Zend_Http_Client::GET, $this->getMagestoreUrl(), '1.0');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         return false;
     }
     return $xml;
 }
Ejemplo n.º 24
0
 public function getFeedData()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 1));
     $curl->write(Zend_Http_Client::GET, $this->getFeedUrl(), '1.0');
     $data = $curl->read();
     if ($data === false || Zend_Http_Response::extractCode($data) !== 200) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         return false;
     }
     return $xml;
 }
Ejemplo n.º 25
0
 /**
  * Retrieve feed data as XML element
  *
  * @return SimpleXMLElement
  */
 public function getFeedData()
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 60));
     $curl->write(Zend_Http_Client::GET, $this->getFeedUrl(), '1.0');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $xml = new SimpleXMLElement($data);
     } catch (Exception $e) {
         Ebizmarts_SagePaySuite_Log::we($e);
         return false;
     }
     return $xml;
 }
Ejemplo n.º 26
0
 public function load()
 {
     // we expect <var name="uri">http://...</var>
     $uri = $this->getVar('uri');
     // validate input parameter
     if (!Zend_Uri::check($uri)) {
         $this->addException("Expecting a valid 'uri' parameter");
     }
     // use Varien curl adapter
     $http = new Varien_Http_Adapter_Curl();
     // send GET request
     $http->write('GET', $uri);
     // read the remote file
     $data = $http->read();
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     // save contents into container
     $this->setData($data);
     return $this;
 }
Ejemplo n.º 27
0
 protected function _makeRequest($ping)
 {
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 20));
     $curl->write(Zend_Http_Client::GET, $ping, '1.1');
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $code = $curl->getInfo(CURLINFO_HTTP_CODE);
     if ($code == 200) {
         return $code;
     } else {
         Mage::log("Submission to: " . $ping . " failed, HTTP response code was not 200");
         Mage::log("Response error: " . $data);
         // uncomment to debug raw submission response
         return false;
     }
     //TODO: handle timeout?
 }
Ejemplo n.º 28
0
 public function getFeedData()
 {
     $dataModules = Mage::helper('devopennotify')->devopensourceModulesLoaded();
     $jsonModules = json_encode($dataModules);
     $curl = new Varien_Http_Adapter_Curl();
     $curl->setConfig(array('timeout' => 2));
     $headers = array("Content-Type: application/json", "Accept: application/json", "Content-Length: " . strlen($jsonModules));
     $curl->write(Zend_Http_Client::POST, self::DEVOPENSOURCE_URL_NOTIFICATIONS, null, $headers, $jsonModules);
     $data = $curl->read();
     if ($data === false) {
         return false;
     }
     $data = preg_split('/^\\r?$/m', $data, 2);
     $data = trim($data[1]);
     $curl->close();
     try {
         $json = json_decode($data);
     } catch (Exception $e) {
         return false;
     }
     return $json;
 }
 public function issue_creditmemo_refund(Varien_Object $payment)
 {
     $refund = Mage::getStoreConfig('payment/Chinmay/refund');
     if ($refund == '1') {
         $order = $payment->getCreditmemo()->getOrder();
         $creditmemo = $payment->getCreditmemo()->getOrder()->getData();
         $creditmemo_amount = $payment->getCreditmemo()->getData();
         $creditmemo_comment = $payment->getCreditmemo()->getCommentsCollection()->toArray();
         if (isset($creditmemo_comment['items'][0]['comment'])) {
             $comment = $creditmemo_comment['items'][0]['comment'];
         } else {
             $comment = 'Refund issued by seller';
         }
         $username = Mage::getStoreConfig('payment/Chinmay/username');
         $password = Mage::getStoreConfig('payment/Chinmay/password');
         $auth = 'Basic ' . base64_encode($username . ':' . $password);
         $data = array();
         $data['sale_id'] = $creditmemo['ext_order_id'];
         $data['comment'] = $comment;
         $data['category'] = '5';
         $data['amount'] = $creditmemo_amount['grand_total'];
         $data['currency'] = 'vendor';
         $headers = array('Authorization: ' . $auth, 'Accept: application/json');
         $url = 'https://www.2checkout.com/api/sales/refund_invoice';
         $config = array('timeout' => 30);
         try {
             $http = new Varien_Http_Adapter_Curl();
             $http->setConfig($config);
             $http->write(Zend_Http_Client::POST, $url, '1.1', $headers, $data);
             $response = $http->read();
             $order->addStatusHistoryComment($response);
             $order->save();
         } catch (Exception $e) {
             Mage::throwException(Mage::helper('core')->__($e->getMessage()));
         }
     }
 }
Ejemplo n.º 30
0
 /**
  * Send broadcast message
  *
  * @throws Mage_Core_Exception
  * @param Mage_XmlConnect_Model_Queue $queue
  */
 public function sendBroadcastMessage(Mage_XmlConnect_Model_Queue $queue)
 {
     if ($queue->getStatus() != Mage_XmlConnect_Model_Queue::STATUS_IN_QUEUE) {
         return;
     }
     try {
         $applicationId = Mage::getModel('xmlconnect/template')->load($queue->getTemplateId())->getApplicationId();
         /** @var $app Mage_XmlConnect_Model_Application */
         $app = Mage::getModel('xmlconnect/application')->load($applicationId);
         if (!$app->getId()) {
             Mage::throwException(Mage::helper('xmlconnect')->__('Can\'t load application with id "%s"', $applicationId));
         }
         if (!$app->isNotificationsActive()) {
             $queue->setStatus(Mage_XmlConnect_Model_Queue::STATUS_CANCELED);
             return;
         }
         $sendType = $queue->getData('type');
         switch ($sendType) {
             case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL:
                 $configPath = 'xmlconnect/' . Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL . '/broadcast_url';
                 $params = $queue->getAirmailBroadcastParams();
                 break;
             case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH:
             default:
                 $configPath = 'xmlconnect/' . Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH . '/broadcast_url';
                 $params = $queue->getPushBroadcastParams();
                 break;
         }
         $curl = new Varien_Http_Adapter_Curl();
         $curl->setConfig($this->_getCurlConfig($app->getUserpwd()));
         $urbanUrl = Mage::getStoreConfig($configPath);
         $curl->write(Zend_Http_Client::POST, $urbanUrl, HTTP_REQUEST_HTTP_VER_1_1, $this->getHttpHeaders(), $params);
         if ($curl->read() && $curl->getInfo(CURLINFO_HTTP_CODE) == 200) {
             $queue->setStatus(Mage_XmlConnect_Model_Queue::STATUS_COMPLETED);
         }
         $curl->close();
         $queue->setIsSent(true);
         $queue->save();
         return;
     } catch (Exception $e) {
         Mage::logException($e);
         throw $e;
     }
 }