public function doRequest($url, $params = array()) { $client = new Zend_Http_Client(trim($url), array()); if (array_key_exists('raw', $params)) { $client->setRawData(json_encode($params['raw']), 'application/json'); } else { $client->setParameterPost($params); } if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, true); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); $client->setAdapter($adapter); } $response = $client->request('POST'); $res = $response->getBody(); if ($response->isError()) { $this->log("Request fail. Http code : " . $response->getStatus() . ' Message : ' . $res, 'ERROR'); $this->log("Request data : " . print_r($params, 1), 'ERROR'); if (array_key_exists('raw', $params)) { return $response; } } if (array_key_exists('raw', $params)) { return json_decode($res, true); } $result = null; parse_str($res, $result); return $result; }
/** * Delete content of media/js and media/css folders to refresh with updated compressed/minified js/css content * If disabled, the updates are done each time an original file is updated. Can be resource overload on live website. * * @param Mage_Core_Model_Observer $observer */ public function regenerateMediaFiles($observer) { if (Mage::getStoreConfigFlag('uioptimization/general/cronupdate') && (Mage::getStoreConfigFlag('uioptimization/csscompression/enabled') || Mage::getStoreConfigFlag('uioptimization/jscompression/enabled'))) { // Clean up media/css and media/js folders and recreate the folders if necessary try { Mage::getModel('core/design_package')->cleanMergedJsCss(); Mage::dispatchEvent('clean_media_cache_after'); } catch (Exception $e) { Mage::logException($e); return; } $stores = Mage::app()->getStores(); foreach ($stores as $id => $v) { $url = Zend_Uri_Http::fromString(Mage::app()->getStore($id)->getBaseUrl()); // Recreate the js and css compressed file by using the normal process try { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, 1); $curl->connect($url->getHost(), $url->getPort(), Mage_Core_Model_Store::isCurrentlySecure()); $curl->write(Zend_Http_Client::GET, $url); $curl->close(); Mage::log('[Diglin_UIOptimization_Model_Observer] Update media js/css content for the different stores', ZEND_LOG::DEBUG); } catch (Exception $e) { Mage::logException($e); return; } } } }
public function __construct() { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $client = new Zend_Http_Client(null, array('adapter' => $curl)); parent::__construct(null, $client); }
/** * Constructor * * @param array $options */ public function __construct(array $options) { $this->setOptions($options); // Force the curl adapter if it's available if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); //$adapter->setCurlOption(CURLOPT_VERBOSE, false); $this->getHttpClient()->setAdapter($adapter); } $this->getHttpClient()->setConfig(array('timeout' => 15)); }
public function __construct() { $curl = new Zend_Http_Client_Adapter_Curl(); $curl->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $curl->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); /*$curl->setCurlOption(CURLOPT_FOLLOWLOCATION,true); $curl->setCurlOption(CURLOPT_PROTOCOLS,array( CURLPROTO_HTTP | CURLPROTO_HTTPS )); $curl->setCurlOption(CURLOPT_REDIR_PROTOCOLS,array( CURLPROTO_HTTP | CURLPROTO_HTTPS )); $curl->setCurlOption(CURLOPT_MAXREDIRS,30);*/ $client = new Zend_Http_Client(null, array('adapter' => $curl)); parent::__construct(null, $client); }
/** * Get Zend_Http_Client with curl based adapter if * there is no openssl extension and curl extension is loaded * Returns Zend_Http_Client with default adapter otherwise * (so if there is a openssl extension, or non of ssl extension is loaded) * * @param bool $curlAllowAnyCertificate Should curl allow to connect using ssl without checking peer's certificate and host * @return Zend_Http_Client */ public static function factoryGetZendHttpClient($curlAllowAnyCertificate = false) { $oZendHttpClient = new Zend_Http_Client(); $aSslExtensions = self::getAvailableSSLExtensions(); // get empty array if false $aSslExtensions = $aSslExtensions ? $aSslExtensions : array(); $hasCurl = in_array('curl', $aSslExtensions); $hasOpenssl = in_array('openssl', $aSslExtensions); if ($hasCurl && !$hasOpenssl) { $oAdapter = new Zend_Http_Client_Adapter_Curl(); $oAdapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); // This CA file is also used in OA_XML_RPC_Client $oAdapter->setCurlOption(CURLOPT_CAINFO, MAX_PATH . '/etc/curl-ca-bundle.crt'); if ($curlAllowAnyCertificate) { // Change curl option to turn off checking peer's host $oAdapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); } $oZendHttpClient->setAdapter($oAdapter); } return $oZendHttpClient; }
protected function _getAdapter() { $email = $this->getHelper()->getAdminEmail(); $apiKey = $this->getHelper()->getAdminApiKey(); if (!$email && !$apiKey) { $this->throwException($this->getHelper()->__('Error Freshdesk email or API key')); } if ($apiKey) { $username = $apiKey; $password = self::DEFAULT_PASSWORD; } else { $username = $email; $password = $this->getHelper()->getPassword(); if (!$password) { $this->throwException($this->getHelper()->__('Error Freshdesk password')); } } $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_POST, true); $adapter->setCurlOption(CURLOPT_USERPWD, $username . ':' . $password); $adapter->setCurlOption(CURLOPT_RETURNTRANSFER, true); $adapter->setCurlOption(CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 0); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, 0); return $adapter; }
/** * @param Enlight_Config $config * @see https://github.com/paypal/sdk-core-php * @return Zend_Http_Client_Adapter_Curl|Zend_Http_Client_Adapter_Socket */ public static function createAdapterFromConfig($config) { $curl = $config->get('paypalCurl', true); $sslVersion = $config->get('paypalSslVersion', 0); $timeout = $config->get('paypalTimeout') ?: 60; $userAgent = 'Shopware/' . Shopware::VERSION; if ($curl && extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setConfig(array('useragent' => $userAgent, 'timeout' => $timeout)); if (!empty($config->paypalSandbox)) { $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); } $adapter->setCurlOption(CURLOPT_TIMEOUT, $timeout); $adapter->setCurlOption(CURLOPT_SSLVERSION, $sslVersion); //$adapter->setCurlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1'); //$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, 1); //$adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); } else { $adapter = new Zend_Http_Client_Adapter_Socket(); $adapter->setConfig(array('useragent' => $userAgent, 'timeout' => $timeout, 'ssltransport' => $sslVersion > 3 || $sslVersion == 1 ? 'tls' : 'ssl')); } return $adapter; }
/** * @return Zend_Http_Client_Adapter_Curl */ protected function _getAdapter() { $adapter = new Zend_Http_Client_Adapter_Curl(); #$adapter->setCurlOption(CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2); $adapter->setCurlOption(CURLOPT_SSLVERSION, 1); $sslCiphersuiteList = $this->getSslCiphersuiteList(); if (null !== $sslCiphersuiteList) { $this->set(CURLOPT_SSL_CIPHER_LIST, $sslCiphersuiteList); } $this->set(CURLOPT_CAINFO, Mage::getBaseDir('lib') . '/mpbackup/dropbox/certs/trusted-certs.crt'); $this->set(CURLOPT_CAPATH, Mage::getBaseDir('lib') . '/mpbackup/dropbox/certs/'); if (defined('CURLOPT_PROTOCOLS')) { $this->set(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS); } if (defined('CURLOPT_REDIR_PROTOCOLS')) { $this->set(CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTPS); } return $adapter; }
public function testSetCurlOptions() { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption('foo', 'bar')->setCurlOption('bar', 'baz'); $this->assertEquals(array('curloptions' => array('foo' => 'bar', 'bar' => 'baz')), $this->readAttribute($adapter, '_config')); }
/** * Do request method * * @param string $url * @param array $params * @return array */ public function doRequest($url, $params=array(), $doParse = true)/*{{{*/ { $client = new Zend_Http_Client($url, array( 'useragent' => 'Shopware/' . Shopware()->Config()->Version )); $client->setParameterPost($params); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $client->setAdapter($adapter); } $respone = $client->request('POST'); $respone = $respone->getBody(); //$respone = file_get_contents($url . '?' . http_build_query($params, '', '&')); $result = null; //$respone = str_replace('%2B' , ' ', $respone); if ($doParse){ parse_str($respone, $result); } else { $result = $respone; } return $result; }/*}}}*/
/** * Constructor method * * Expects a configuration parameter. * * @param Enlight_Config $config */ public function __construct($config) { if(!empty($config->paypalSandbox)) { $url = self::URL_SANDBOX; } else { $url = self::URL_LIVE; } $this->apiUsername = $config->get('paypalUsername'); $this->apiPassword = $config->get('paypalPassword'); $this->apiSignature = $config->get('paypalSignature'); $this->apiVersion = $config->get('paypalVersion'); parent::__construct($url, array( 'useragent' => 'Shopware/' . Shopware()->Config()->Version, 'timeout' => 5, )); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $this->setAdapter($adapter); } }
/** * Returns xml rpc client * * @return Zend_XmlRpc_Client */ protected function getClient() { if($this->client === null) { $this->client = new Zend_XmlRpc_Client($this->serverAddress); if (extension_loaded('curl')) { $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $adapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, false); $this->client->getHttpClient()->setAdapter($adapter); } } return $this->client; }
/** DIBS API TOOLS END **/ public function callDibsApi($payment, $amount, $action) { // We must have HMAC code for every transaction if (!($hmacCode = $this->helper_dibs_tools_conf('HMAC'))) { Mage::throwException('Error with HMAC code, please check HMAC code in module config'); } // Create and set params for Http curl client $httpClient = new Zend_Http_Client(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSLVERSION, 3); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $httpClient->setHeaders(array('Content-Type: text/json')); $httpClient->setUri(self::BASE_TRANSACTION_URL . "/{$action}"); $httpClient->setMethod(Zend_Http_Client::POST); $httpClient->setAdapter($adapter); // prepare data for request $data = array('merchantId' => $this->helper_dibs_tools_conf('mid'), 'amount' => self::api_dibs_round($amount), 'transactionId' => self::getTransactionId($payment->getOrder()->getRealOrderId())); // We don't need to include amount in a MAC // calculation in a case of Cancel transaction if ($action == 'CancelTransaction') { unset($data['amount']); } $data['MAC'] = $this->api_dibs_calcMAC($data, $hmacCode); $httpClient->setParameterPost('json', Zend_Json::encode($data)); // Do request and handle results try { $response = $httpClient->request(); $phpNative = Zend_Json::decode($response->getBody()); $status = $phpNative['status']; $message = $phpNative['declineReason']; } catch (Exception $e) { $message = ": " . $e->getMessage(); } return array('status' => $status, 'transaction_id' => $data['transactionId'], 'message' => $message); }
public function doVerifyTransaction(array $options = array()) { $this->setOptions($options); $this->_checkRequiredOptions(array('reservationnumber', 'merchantcode', 'amount', 'key')); $signedData = $this->_signRequest(); $adapter = new Zend_Http_Client_Adapter_Curl(); $adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false); $client = new Zend_Http_Client(APPLICATION_ENV == 'production' ? $this->_VERIFY : $this->_TEST_VERIFY, array('adapter' => $adapter)); $client->setMethod(Zend_Http_Client::POST); $client->setParameterPost('x_fp_hash', $signedData); $client->setParameterPost('x_login', $this->merchantcode); $client->setParameterPost('x_amount', $this->amount); $client->setParameterPost('x_currency_code', self::CURRENCY); $client->setParameterPost('x_fp_sequence', $this->reservationnumber); $client->setParameterPost('x_fp_timestamp', $this->x_fp_timestamp); $client->setParameterPost('x_description', "ADP"); $result = $client->request(); $body = $result->getBody(); $contents = explode("\r\n", $body); preg_match_all('|(?<key>\\w+)=(?<value>\\w+)?&?|', $contents[0], $response); $response = array_combine($response['key'], $response['value']); if ($this->_validateHash($response) && $response['x_response_code'] == '1') { return 1; } else { return 0; } }