<?php
/**
* include some common code (like we did in the 90s)
* People still do this? ;)
*/
$rep = $_REQUEST['rep'];
include_once dirname(__FILE__).'/'.$rep.'/config.php';
include_once 'common.php';
use Abraham\TwitterOAuth\TwitterOAuth;
/**
* Check for a POSTed status message to send to Twitter
*/
if (!empty($_POST) && isset($_POST['status'])
&& isset($_SESSION['TWITTER_ACCESS_TOKEN'])) {
/**
* Easiest way to use OAuth now that we have an Access Token is to use
* a preconfigured instance of Zend_Http_Client which automatically
* signs and encodes all our requests without additional work
*/
// $token = unserialize($_SESSION['TWITTER_ACCESS_TOKEN']);
// $client = $token->getHttpClient($configuration);
// $client->setUri('http://twitter.com/statuses/update.json');
// $client->setMethod(Zend_Http_Client::POST);
// $client->setParameterPost('status', $_POST['status']);
// $response = $client->request();
$token = unserialize($_SESSION['TWITTER_ACCESS_TOKEN']);
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $token['oauth_token'], $token['oauth_token_secret']);
$data = $connection->post("statuses/update", ["status" => $_POST['status']]);
/**
* Check if the json response refers to our tweet details (assume it
* means it was successfully posted). API gurus can correct me.
*/
// $data = json_decode($response->getBody());
// $result = $response->getBody();
if (isset($data->text)) {
$result = 'true';
} else {
$result = json_encode($data);
}
/**
* Tweet sent (hopefully), redirect back home...
*/
header('Location: ' . URL_ROOT . '$rep/client.php?result=' . $result);
} else {
/**
* Mistaken request? Some malfeasant trying something?
*/
exit('Invalid tweet request. Oops. Sorry.');
}