403Webshell
Server IP : 103.234.187.230  /  Your IP : 216.73.216.216
Web Server : Apache
System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/b2bzend/library/Helper/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/library/Helper/Bitly.php
<?php
class Zend_Controller_Action_Helper_Bitly extends Zend_Controller_Action_Helper_Abstract
{
	
	/**
	 * @file
	 * Simple PHP library for interacting with the v3 bit.ly api (only deals with
	 * JSON format, but supports new OAuth endpoints).
	 * REQUIREMENTS: PHP, Curl, JSON
	 * 
	 * @link https://github.com/Falicon/BitlyPHP
	 * @author Kevin Marshall <info@falicon.com>
	 */
	
	/**
	 * The URI of the standard bitly v3 API.
	 */
	const bitly_api='http://api.bit.ly/v3/';
	
	/**
	 * The URI of the bitly OAuth endpoints.
	 */
	const bitly_oauth_api='https://api-ssl.bit.ly/v3/';
	
	/**
	 * The URI for OAuth access token requests.
	 */
	//define('bitly_oauth_access_token', 'https://api-ssl.bit.ly/oauth/');
	const bitly_oauth_access_token='https://api-ssl.bit.ly/oauth/';
	
	/**
	 * Returns an OAuth access token as well as API users for a given code.
	 *
	 * @param $code
	 *   The OAuth verification code acquired via OAuth’s web authentication
	 *   protocol.
	 * @param $redirect
	 *   The page to which a user was redirected upon successfully authenticating.
	 * @param $client_id
	 *   The client_id assigned to your OAuth app. (http://bit.ly/a/account)
	 * @param $client_secret
	 *   The client_secret assigned to your OAuth app. (http://bit.ly/a/account)
	 *
	 * @return
	 *   An associative array containing:
	 *   - login: The corresponding bit.ly users username.
	 *   - api_key: The corresponding bit.ly users API key.
	 *   - access_token: The OAuth access token for specified user.
	 *
	 * @see http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/oauth/access_token
	 */
	function bitly_oauth_access_token($code, $redirect, $client_id, $client_secret) {
	  $results = array();
	  $url = self::bitly_oauth_access_token . "access_token";
	  $params = array();
	  $params['client_id'] = $client_id;
	  $params['client_secret'] = $client_secret;
	  $params['code'] = $code;
	  $params['redirect_uri'] = $redirect;
	  $output = $this->bitly_post_curl($url, $params);
	  $parts = explode('&', $output);
	  foreach ($parts as $part) {
		$bits = explode('=', $part);
		$results[$bits[0]] = $bits[1];
	  }
	  return $results;
	}
	
	/**
	 * Returns an OAuth access token via the user's bit.ly login Username and Password
	 *
	 * @param $username
	 *   The user's Bitly username
	 * @param $password
	 *   The user's Bitly password
	 * @param $client_id
	 *   The client_id assigned to your OAuth app. (http://bit.ly/a/account)
	 * @param $client_secret
	 *   The client_secret assigned to your OAuth app. (http://bit.ly/a/account)
	 *
	 * @return
	 *   An associative array containing:
	 *   - access_token: The OAuth access token for specified user.
	 *
	 */
	 
	function bitly_oauth_access_token_via_password($username, $password, $client_id, $client_secret) {
	  $results = array();
	  $url = self::bitly_oauth_access_token . "access_token";
	  
	  $headers = array();
	  $headers[] = 'Authorization: Basic '.base64_encode($client_id . ":" . $client_secret);
		
	  $params = array();
	  $params['grant_type'] = "password";
	  $params['username'] = $username;
	  $params['password'] = $password;
	  
	  $output = $this->bitly_post_curl($url, $params, $headers);
	  
	  $decoded_output = json_decode($output,1);
	
	  $results = array(
		"access_token" => $decoded_output['access_token']
	  );
	  
	  return $results;
	}
	
	/**
	 * Format a GET call to the bit.ly API.
	 *
	 * @param $endpoint
	 *   bit.ly API endpoint to call.
	 * @param $params
	 *   associative array of params related to this call.
	 * @param $complex
	 *   set to true if params includes associative arrays itself (or using <php5)
	 *
	 * @return
	 *   associative array of bit.ly response
	 *
	 * @see http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/validate
	 */
	function bitly_get($endpoint, $params, $complex=false) {
	  $result = array();
	  if ($complex) {
		$url_params = "";
		foreach ($params as $key => $val) {
		  if (is_array($val)) {
			// we need to flatten this into one proper command
			$recs = array();
			foreach ($val as $rec) {
			  $tmp = explode('/', $rec);
			  $tmp = array_reverse($tmp);
			  array_push($recs, $tmp[0]);
			}
			$val = implode('&' . $key . '=', $recs);
		  }
		  $url_params .= '&' . $key . "=" . $val;
		}
		$url = self::bitly_oauth_api . $endpoint . "?" . substr($url_params, 1);
	  } else {
		$url = self::bitly_oauth_api . $endpoint . "?" . http_build_query($params);
	  }
	
	  //echo $url . "\n";
	
	  $result = json_decode($this->bitly_get_curl($url), true);
	
	  return $result;
	}
	
	/**
	 * Format a POST call to the bit.ly API.
	 *
	 * @param $uri
	 *   URI to call.
	 * @param $fields
	 *   Array of fields to send.
	 */
	function bitly_post($endpoint, $params) {
	  $result = array();
	  $url = bitly_oauth_api . $api_endpoint;
	  $output = json_decode(bitly_post_curl($url, $params), true);
	  $result = $output['data'][str_replace('/', '_', $api_endpoint)];
	  $result['status_code'] = $output['status_code'];
	  return $result;
	}
	
	/**
	 * Make a GET call to the bit.ly API.
	 *
	 * @param $uri
	 *   URI to call.
	 */
	function bitly_get_curl($uri) {
	  $output = "";
	  try {
		$ch = curl_init();
		curl_setopt($ch,CURLOPT_URL,$uri);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch, CURLOPT_TIMEOUT, 4);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
		$output = curl_exec($ch);
	  } catch (Exception $e) {
	  }
	  return $output;
	}
	
	/**
	 * Make a POST call to the bit.ly API.
	 *
	 * @param $uri
	 *   URI to call.
	 * @param $fields
	 *   Array of fields to send.
	 */
	function bitly_post_curl($uri, $fields, $header_array = array()) {
	  $output = "";
	  $fields_string = "";
	  foreach($fields as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
	  rtrim($fields_string,'&');
	  try {
		$ch = curl_init($uri);
		
		if(is_array($header_array) && !empty($header_array)){
			curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
		}
		
		curl_setopt($ch, CURLOPT_HEADER, 0);
		curl_setopt($ch,CURLOPT_POST,count($fields));
		curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
		curl_setopt($ch, CURLOPT_TIMEOUT, 2);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
		$output = curl_exec($ch);
	  } catch (Exception $e) {
	  }
	  return $output;
	}
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit