66
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
1 |
<?php |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
2 |
|
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
3 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
4 |
* include some common code (like we did in the 90s) |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
5 |
* People still do this? ;) |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
6 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
7 |
include_once './common.php'; |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
8 |
|
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
9 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
10 |
* Check for a POSTed status message to send to Twitter |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
11 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
12 |
if (!empty($_POST) && isset($_POST['status']) |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
13 |
&& isset($_SESSION['TWITTER_ACCESS_TOKEN'])) { |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
14 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
15 |
* Easiest way to use OAuth now that we have an Access Token is to use |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
16 |
* a preconfigured instance of Zend_Http_Client which automatically |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
17 |
* signs and encodes all our requests without additional work |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
18 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
19 |
$token = unserialize($_SESSION['TWITTER_ACCESS_TOKEN']); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
20 |
$client = $token->getHttpClient($configuration); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
21 |
$client->setUri('http://twitter.com/statuses/update.json'); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
22 |
$client->setMethod(Zend_Http_Client::POST); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
23 |
$client->setParameterPost('status', $_POST['status']); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
24 |
$response = $client->request(); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
25 |
|
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
26 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
27 |
* Check if the json response refers to our tweet details (assume it |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
28 |
* means it was successfully posted). API gurus can correct me. |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
29 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
30 |
$data = json_decode($response->getBody()); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
31 |
$result = $response->getBody(); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
32 |
if (isset($data->text)) { |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
33 |
$result = 'true'; |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
34 |
} |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
35 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
36 |
* Tweet sent (hopefully), redirect back home... |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
37 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
38 |
//header('Location: ' . URL_ROOT . '?result=' . $result); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
39 |
echo($result); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
40 |
} else { |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
41 |
/** |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
42 |
* Mistaken request? Some malfeasant trying something? |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
43 |
*/ |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
44 |
exit('Invalid tweet request. Oops. Sorry.'); |
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
45 |
} |