]> git.wh0rd.org - tt-rss.git/blobdiff - twitter.php
overall directory tree cleanup
[tt-rss.git] / twitter.php
index 0cf9fd8a72712d76ba5fcbafe09b88db08454bca..2c325140bdc85b3bb3107b0fe77ec874c2514d77 100644 (file)
@@ -1,55 +1,56 @@
 <?php
+       set_include_path(get_include_path() . PATH_SEPARATOR . "include");
+
        require_once "functions.php";
        require_once "sessions.php";
        require_once "sanity_check.php";
        require_once "config.php";
        require_once "db.php";
-       require_once "lib/twitteroauth/twitteroauth.php";
-       
-       $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
+       //require_once "lib/twitteroauth/twitteroauth.php";
+       require_once "lib/tmhoauth/tmhOAuth.php";
+
+       $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 
-       init_connection($link); 
+       init_connection($link);
        login_sequence($link);
-       
+
        $owner_uid = $_SESSION["uid"];
        $op = $_REQUEST['op'];
 
-       if (!SINGLE_USER_MODE && !$_SESSION['uid']) { 
+       if (!SINGLE_USER_MODE && !$_SESSION['uid']) {
                render_login_form($link);
                exit;
        }
 
        $callback_url = get_self_url_prefix() . "/twitter.php?op=callback";
 
+       $tmhOAuth = new tmhOAuth(array(
+         'consumer_key'    => CONSUMER_KEY,
+         'consumer_secret' => CONSUMER_SECRET,
+       ));
+
        if ($op == 'clear') {
-               /* Remove no longer needed request tokens */
-               unset($_SESSION['oauth_token']);
-               unset($_SESSION['oauth_token_secret']);
-               unset($_SESSION['access_token']);
+               unset($_SESSION['oauth']);
 
                header("Location: twitter.php");
                return;
        }
 
-       if ($op == 'callback') {
-               /* If the oauth_token is old redirect to the connect page. */
-               if (isset($_REQUEST['oauth_token']) && 
-                               $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) {
+       if (isset($_REQUEST['oauth_verifier'])) {
 
-                 $_SESSION['oauth_status'] = 'oldtoken';
-                 header('Location: twitter.php?op=clear');
-                 return;
-               }
+               $op = 'callback';
+
+               $tmhOAuth->config['user_token']  = $_SESSION['oauth']['oauth_token'];
+               $tmhOAuth->config['user_secret'] = $_SESSION['oauth']['oauth_token_secret'];
+
+               $code = $tmhOAuth->request('POST', $tmhOAuth->url('oauth/access_token', ''), array(
+                       'oauth_verifier' => $_REQUEST['oauth_verifier']));
 
-               /* Create TwitteroAuth object with app key/secret and token key/secret from default phase */
-               $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
+               if ($code == 200) {
 
-               /* Request access tokens from twitter */
-               $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);
+                       $access_token = json_encode($tmhOAuth->extract_params($tmhOAuth->response['response']));
 
-               /* If HTTP response is 200 continue otherwise send to connect page to retry */
-               if ($connection->http_code == 200) {
-                       $access_token = db_escape_string(json_encode($access_token));
+                       unset($_SESSION['oauth']);
 
                        db_query($link, "UPDATE ttrss_users SET twitter_oauth = '$access_token'
                                WHERE id = ".$_SESSION['uid']);
 
        if ($op == 'register') {
 
-               /* Build TwitterOAuth object with client credentials. */
-               $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
+               $code = $tmhOAuth->request('POST',
+                       $tmhOAuth->url('oauth/request_token', ''), array(
+                           'oauth_callback' => $callback));
 
-               /* Get temporary credentials. */
-               $request_token = $connection->getRequestToken($callback_url);
-               
-               /* Save temporary credentials to session. */
-               $_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
-               $_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
+               if ($code == 200) {
+                       $_SESSION['oauth'] = $tmhOAuth->extract_params($tmhOAuth->response['response']);
+
+                       $method = isset($_REQUEST['signin']) ? 'authenticate' : 'authorize';
+                       $force  = isset($_REQUEST['force']) ? '&force_login=1' : '';
+                       $forcewrite  = isset($_REQUEST['force_write']) ? '&oauth_access_type=write' : '';
+                       $forceread  = isset($_REQUEST['force_read']) ? '&oauth_access_type=read' : '';
+
+                       $location = $tmhOAuth->url("oauth/{$method}", '') .
+                               "?oauth_token={$_SESSION['oauth']['oauth_token']}{$force}{$forcewrite}{$forceread}";
+
+                       header("Location: $location");
 
-               if ($connection->http_code == 200) {
-                   $url = $connection->getAuthorizeURL($token);
-                        header('Location: ' . $url); 
-                        return;
                }
        }
 ?>
 
 <body>
 
-<h1>Register with Twitter</h1>
+<h1><?php echo __('Register with Twitter') ?></h1>
 
 <?php if ($op == 'register') { ?>
 
-<p><?php print_error('Could not connect to Twitter. Refresh the page or try again later.') ?></p>
+<p><?php print_error(__('Could not connect to Twitter. Refresh the page or try again later.')) ?></p>
 
 <?php } else if ($op == 'callback') { ?>
 
-       <?php print_notice('Congratulations! You have successfully registered with Twitter.') ?>
+       <p><?php print_notice(__('Congratulations! You have successfully registered with Twitter.')) ?>
                </p>
 
        <form method="GET" action="prefs.php">
                <input type="hidden" name="tab" value="feedConfig">
-               <button type="submit">Return to Tiny Tiny RSS</button>
+               <button type="submit"><?php echo __('Return to Tiny Tiny RSS') ?></button>
        </form>
 
 <?php } else { ?>
-       <form method="GET" action="twitter.php">
+
+       <form method="GET" action="twitter.php" style='display : inline'>
                <input type="hidden" name="op" value="register">
-               <button type="submit">Register with Twitter</button>
+               <button type="submit"><?php echo __('Register') ?></button>
+       </form>
+
+       <form method="GET" action="prefs.php" style='display : inline'>
+               <input type="hidden" name="tab" value="feedConfig">
+               <button type="submit"><?php echo __('Return to Tiny Tiny RSS') ?></button>
        </form>
 
 <?php } ?>