public function getAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     header('Cache-Control: no-cache, must-revalidate');
     header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
     header('Content-type: application/json');
     /* Set locale to Dutch */
     setlocale(LC_ALL, 'nl_NL');
     $cacheId = 'Mobile_Twitter';
     $cache = Zend_Registry::get('cache');
     if (true == ($result = $cache->load($cacheId))) {
         if ($result->timestamp + 240 < time()) {
             // vernieuwen om de 4 minuten oftewel 240 seconden
             $cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('Twitter_Webservice'));
         }
         $output = $result->output;
         if ($this->_getParam('version', '1') == '2') {
             foreach ($output as $key => $tweet) {
                 $output[$key]['text'] = $this->processLinks($tweet['text']);
             }
         }
     } else {
         $config = Zend_Registry::get('config');
         require APPLICATION_ROOT . '/library/Twitter/tmhOAuth.php';
         require APPLICATION_ROOT . '/library/Twitter/tmhUtilities.php';
         $tmhOAuth = new tmhOAuth(array('consumer_key' => $config->twitter->customer_key, 'consumer_secret' => $config->twitter->customer_secret, 'user_token' => $config->twitter->user_token, 'user_secret' => $config->twitter->user_secret, 'debug' => false));
         $tmhOAuth->request('GET', $tmhOAuth->url('1.1/statuses/user_timeline'), array('screen_name' => 'NAAM VAN USER INVULLEN'));
         if ($tmhOAuth->response['code'] == 200) {
             $content = json_decode($tmhOAuth->response['response']);
         } else {
             $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
         }
         $output = array();
         foreach ($content as $entry) {
             $output[] = array('text' => $entry->text, 'created_at' => date('d/m/Y G:i', strtotime($entry->created_at)));
         }
         $object = new stdClass();
         $object->output = $output;
         $object->timestamp = time();
         $cache->save($object, $cacheId, array('Twitter_Webservice'));
         if ($this->_getParam('version', '1') == '2') {
             foreach ($output as $key => $tweet) {
                 $output[$key]['text'] = $this->processLinks($tweet['text']);
             }
         }
     }
     echo json_encode($output);
 }
示例#2
0
<?php

/**
 * Tweets a message from the user whose user token and secret you use.
 *
 * Instructions:
 * 1) If you don't have one already, create a Twitter application on
 *      http://dev.twitter.com/apps
 * 2) From the application details page copy the consumer key and consumer
 *      secret into the place in this code marked with (YOUR_CONSUMER_KEY
 *      and YOUR_CONSUMER_SECRET)
 * 4) Visit the 'My Access Token' screen linked to from your application
 *      details page
 * 5) Copy the user token and user secret into the place in this code marked
 *      with (A_USER_TOKEN and A_USER_SECRET)
 * 6) Visit this page using your web browser.
 *
 * @author themattharris
 */
require '../tmhOAuth.php';
$tmhOAuth = new tmhOAuth(array('consumer_key' => 'YOUR_CONSUMER_KEY', 'consumer_secret' => 'YOUR_CONSUMER_SECRET', 'user_token' => 'A_USER_TOKEN', 'user_secret' => 'A_USER_SECRET'));
$tmhOAuth->request('POST', $tmhOAuth->url('1/statuses/update'), array('status' => 'My Twitter Message'));
if ($tmhOAuth->response['code'] == 200) {
    $tmhOAuth->pr(json_decode($tmhOAuth->response['response']));
} else {
    $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
}
示例#3
0
<?php

require 'tmhOAuth.php';
$tmhOAuth = new tmhOAuth(array('consumer_key' => 'VfUSoN1LRaKR3459c9Lzdw', 'consumer_secret' => 'ehXOa4DAqIuRdflttrNKv6UzYHXD7BPalwGLjYIlUY', 'user_token' => '99974462-JxZTu78HU7y3aqsZn2GgjzFEO1uhjSs80rswYbbG2', 'user_secret' => 'nSMSPDFESuGEh1ZNSLkxSTX0rAXoMGpmHj8kZg2Vs0'));
$tmhOAuth->request('GET', $tmhOAuth->url('1/statuses/user_timeline'));
if ($tmhOAuth->response['code'] == 200) {
    $content = json_decode($tmhOAuth->response['response']);
} else {
    $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
}
$counter == 0;
foreach ($content as $entry) {
    if (++$counter == 11) {
        break;
    }
    $tweet = $entry->text;
    $time = $entry->created_at;
    $location = $entry->place->full_name;
    $created_month = substr($time, 3, 4);
    $created_day = substr($time, 7, 3);
    $created_time = substr($time, 10, 6);
    $created_year = substr($time, 25, 5);
    $time_informat = $created_time . $created_day . $created_month . $created_year;
    if (!is_null($location)) {
        $time_informat = $time_informat . " at " . $location;
    }
    $print_line = "{tweet}&nbsp;<i> {time_informat}</i><br /><br />";
    $print_line = str_replace("{tweet}", $tweet, $print_line);
    $print_line = str_replace("{time_informat}", $time_informat, $print_line);
    echo $print_line;
}
示例#4
0
文件: index.php 项目: nham/pungent
function twitter() {
  require '../lib/tmhOAuth.php';

  $tmhOAuth = new tmhOAuth(array(
    'consumer_key'    => Config::$t_consumer_key,
    'consumer_secret' => Config::$t_consumer_secret,
  ));
 
  $myurl = Config::$site_url . "auth/?a=login&m=twitter";
  session_start();
 
  if(isset($_REQUEST['oauth_verifier'])) {
    $tmhOAuth->config['user_token']  = $_SESSION['oauth']['oauth_token'];
    $tmhOAuth->config['user_secret'] = $_SESSION['oauth']['oauth_token_secret'];

    $tmhOAuth->request('POST', $tmhOAuth->url('oauth/access_token', ''), array(
      'oauth_verifier' => $_REQUEST['oauth_verifier']
    ));

    $resp = $tmhOAuth->extract_params($tmhOAuth->response['response']);
    unset($_SESSION['oauth']);
    setcookie('PHPSESSID', '', time()-3600, '/');

    // Get stuff
    $tmhOAuth->config['user_token']  = $resp['oauth_token'];
    $tmhOAuth->config['user_secret'] = $resp['oauth_token_secret'];
    $tmhOAuth->request('GET', $tmh->url('1/account/verify_credentials'));
    $stuff = json_decode($tmhOAuth->response['response']);

    $uniqid = $stuff->id;
    $ident = $stuff->screen_name;

    auth_routine('t', $uniqid, $ident);

  } else {
    $code = $tmhOAuth->request('POST', $tmhOAuth->url('oauth/request_token', ''), 
array('oauth_callback' => $myurl));

    if($code == 200) {
      $_SESSION['oauth'] = $tmhOAuth->extract_params($tmhOAuth->response['response']);
      $method = isset($_REQUEST['signin']) ? 'authenticate' : 'authorize';
      header("Location: " . $tmhOAuth->url("oauth/{$method}", '')
        . "?oauth_token={$_SESSION['oauth']['oauth_token']}");

    } else {
      // error
      $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
    }
  }
}
示例#5
0
 *      http://dev.twitter.com/apps
 * 2) From the application details page copy the consumer key and consumer
 *      secret into the place in this code marked with (YOUR_CONSUMER_KEY
 *      and YOUR_CONSUMER_SECRET)
 * 4) Visit the 'My Access Token' screen linked to from your application
 *      details page
 * 5) Copy the user token and user secret into the place in this code marked
 *      with (A_USER_TOKEN and A_USER_SECRET)
 * 6) In a terminal or server type:
 *      php /path/to/here/streaming.php
 * 7) To stop the Streaming API either press CTRL-C or, in the folder the
 *      script is running from type:
 *      touch STOP
 * @author themattharris
 */
function my_streaming_callback($data, $length, $metrics)
{
    echo $data . PHP_EOL;
    return file_exists(dirname(__FILE__) . '/STOP');
}
require '../tmhOAuth.php';
$tmhOAuth = new tmhOAuth(array('consumer_key' => 'YOUR_CONSUMER_KEY', 'consumer_secret' => 'YOUR_CONSUMER_SECRET', 'user_token' => 'A_USER_TOKEN', 'user_secret' => 'A_USER_SECRET'));
$method = 'http://stream.twitter.com/1/statuses/filter.json';
// show Tweets which contan the word twitter OR have been geo-tagged within
// the bounding box -122.41,37.77,-122.40,37.78 OR are by themattharris
$params = array('track' => 'twitter', 'locations' => '-122.41,37.77,-122.40,37.78', 'follow' => '777925');
$tmhOAuth->streaming_request('POST', $method, $params, 'my_streaming_callback');
$tmhOAuth->pr($tmhOAuth);
?>