<?php 
/* 
 * login_with_disqus.php 
 * 
 * @(#) $Id: login_with_disqus.php,v 1.2 2013/07/31 11:48:04 mlemos Exp $ 
 * 
 */ 
 
    /* 
     *  Get the http.php file from http://www.phpclasses.org/httpclient 
     */ 
    require('http.php'); 
    require('oauth_client.php'); 
 
    $client = new oauth_client_class; 
    $client->server = 'Disqus'; 
 
    $client->debug = true; 
    $client->debug_http = true; 
    $client->redirect_uri = 'http://'.$_SERVER['HTTP_HOST']. 
        dirname(strtok($_SERVER['REQUEST_URI'],'?')).'/login_with_disqus.php'; 
 
    $client->client_id = ''; $application_line = __LINE__; 
    $client->client_secret = ''; 
 
    if(strlen($client->client_id) == 0 
    || strlen($client->client_secret) == 0) 
        die('Please go to Disqus API resources applications page '. 
            'http://disqus.com/api/applications/ in the API access tab, '. 
            'create a new client ID, and in the line '.$application_line. 
            ' set the client_id to Public Key and client_secret with Secret Key. '. 
            'The callback URL must be '.$client->redirect_uri); 
 
    /* API permissions 
     */ 
    $client->scope = 'read,write'; 
    if(($success = $client->Initialize())) 
    { 
        if(($success = $client->Process())) 
        { 
            if(strlen($client->authorization_error)) 
            { 
                $client->error = $client->authorization_error; 
                $success = false; 
            } 
            elseif(strlen($client->access_token)) 
            { 
                $success = $client->CallAPI( 
                    'https://disqus.com/api/3.0/users/details.json?api_key='.UrlEncode($client->client_id), 
                    'GET', array(), array('FailOnAccessError'=>true), $user); 
            } 
        } 
        $success = $client->Finalize($success); 
    } 
    if($client->exit) 
        exit; 
    if($success) 
    { 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Disqus OAuth client results</title> 
</head> 
<body> 
<?php 
        echo '<h1>', HtmlSpecialChars($user->response->name), 
            ' you have logged in successfully with Disqus!</h1>'; 
        echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>'; 
?> 
</body> 
</html> 
<?php 
    } 
    else 
    { 
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>OAuth client error</title> 
</head> 
<body> 
<h1>OAuth client error</h1> 
<pre>Error: <?php echo HtmlSpecialChars($client->error); ?></pre> 
</body> 
</html> 
<?php 
    } 
 
?>
 
 |