twitter.php
63 lines
| 2.0 KiB
| text/x-php
|
PhpLexer
/ include / twitter.php
| r1 | <?php | |||
| function twitterpost($message, $user=TWITTER_USER, $password=TWITTER_PASS) | ||||
| { | ||||
| global $mtdb, $info, $error; | ||||
| if( $user == '' ) { | ||||
| # preserve existing twitterpost(message) style posting until OAuth has been vetted. | ||||
| $user = TWITTER_USER; | ||||
| $curl_handle = curl_init(); | ||||
| curl_setopt($curl_handle, CURLOPT_URL, TWITTER_HOST); | ||||
| curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); | ||||
| curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); | ||||
| curl_setopt($curl_handle, CURLOPT_POST, 1); | ||||
| curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=".urlencode($message)); | ||||
| curl_setopt($curl_handle, CURLOPT_USERPWD, urlencode($user).":".urlencode($password)); | ||||
| $buffer = curl_exec($curl_handle); | ||||
| curl_close($curl_handle); | ||||
| if(empty($buffer)) | ||||
| { | ||||
| adminlog("Twitter post failed for user $user!", MTS_TWITTER, MTA_ADD); | ||||
| } | ||||
| return !empty($buffer); | ||||
| } else { | ||||
| # OAuth Mode | ||||
| $row = $mtdb->getRow( sprintf('SELECT id, username, oauth_token, oauth_token_secret FROM twitter_user WHERE username="%s"', mysql_real_escape_string($user))); | ||||
| $username = $row->username; | ||||
| $oauth_token = $row->oauth_token; | ||||
| $oauth_token_secret = $row->oauth_token_secret; | ||||
| $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret); | ||||
| $parameters = array('status' => $message ); | ||||
| $status = $connection->post('statuses/update', $parameters); | ||||
| switch( $connection->http_code ) { | ||||
| case 200: | ||||
| adminlog("Twitter post succeeded for user $username!", MTS_TWITTER, MTA_ADD); | ||||
| return true; | ||||
| default: | ||||
| adminlog("Twitter post failed for user $username!", MTS_TWITTER, MTA_ADD); | ||||
| return false; | ||||
| } | ||||
| } | ||||
| } | ||||
| function setOAuthTokens($userid,$oauth_token,$oauth_token_secret, $username) { | ||||
| global $mtdb; | ||||
| $id = (int)$userid; | ||||
| if( $mtdb->query( sprintf('UPDATE twitter_user SET oauth_token="%s", oauth_token_secret="%s", username="%s" WHERE id=%d', mysql_real_escape_string($oauth_token), mysql_real_escape_string($oauth_token_secret), mysql_real_escape_string($username), $id )) ) | ||||
| return true; | ||||
| return false; | ||||
| } | ||||
| ?> | ||||
