public function test_pass()
 {
     $ms_key = CONSUMER_KEY;
     $ms_secret = CONSUMER_SECRET;
     $token = OAUTH_TOKEN;
     $secret = OAUTH_SECRET;
     $ms = new MySpace($ms_key, $ms_secret, $token, $secret);
     $fields = $ms->getPeopleSupportedFields();
     $this->assertTrue(count($fields) > 0);
     $people = $ms->getPerson("@me");
     $this->assertTrue($people->person - id != NULL);
     $friends = $ms->getFriends("@me");
     $this->assertTrue(count($friends) >= 0);
 }
function run()
{
    $consumer = getConsumer();
    // Complete the authentication process using the server's
    // response.
    $return_to = getReturnTo();
    $response = $consumer->complete($return_to);
    // Check the response status.
    if ($response->status == Auth_OpenID_CANCEL) {
        // This means the authentication was cancelled.
        $msg = 'Verification cancelled.';
    } else {
        if ($response->status == Auth_OpenID_FAILURE) {
            // Authentication failed; display the error message.d
            $msg = "OpenID authentication failed: " . $response->message;
        } else {
            if ($response->status == Auth_OpenID_SUCCESS) {
                // This means the authentication succeeded; extract the
                // identity URL and Simple Registration data (if it was
                // returned).
                $openid = $response->getDisplayIdentifier();
                $esc_identity = escape($openid);
                $success = sprintf('You have successfully verified ' . '<a href="%s">%s</a> as your identity.<br><br>Here\'s your MySpace profile data fetched using the MySpace REST APIs', $esc_identity, $esc_identity);
                if ($response->endpoint->canonicalID) {
                    $escaped_canonicalID = escape($response->endpoint->canonicalID);
                    $success .= '  (XRI CanonicalID: ' . $escaped_canonicalID . ') ';
                }
                $oauth_resp = Auth_OpenID_OAuthResponse::fromSuccessResponse($response);
                $authorized_request_token = $oauth_resp->authorized_request_token;
                //1.0A OAuth Spec, we will need this to get an access token
                $authorized_verifier = $oauth_resp->authorized_verifier;
                if ($authorized_request_token) {
                    $ms = new MySpace(CONSUMER_KEY, CONSUMER_SECRET, $authorized_request_token->key, $authorized_request_token->secret, $authorized_verifier);
                    $access_token = $ms->getAccessToken();
                    $ms = new MySpace(CONSUMER_KEY, CONSUMER_SECRET, $access_token->key, $access_token->secret);
                    $userid = $ms->getCurrentUserId();
                    // Use the userID (fetched in the previous step) to get user's profile, friends and other info
                    $profile_data = $ms->getProfile($userid);
                    $friends_data = $ms->getFriends($userid);
                    $ms->updateStatus($userid, 'testing sdk');
                    // Access $profile_data and $friend_data inside of index.php (via the include below)
                    // to display the profile/friends data
                }
            }
        }
    }
    include 'index.php';
}
Beispiel #3
0
function main()
{
    $ms_key = CONSUMER_KEY;
    //we get this from config.MySpace.php
    $ms_secret = CONSUMER_SECRET;
    ob_start();
    //starts output buffering
    session_start();
    if (@$_GET['f'] == 'start') {
        // get a request token + secret from MySpace and redirect to the authorization page
        //
        $ms = new MySpace($ms_key, $ms_secret);
        $tok = $ms->getRequestToken("http://localhost/~babar/myspace/myspaceid-sdk/trunk/samples/myspaceid-oauth/index.php?f=callback");
        /*
        		  if (!isset($tok['oauth_token'])
        		      || !is_string($tok['oauth_token'])
        		      || !isset($tok['oauth_token_secret'])
        		      || !is_string($tok['oauth_token_secret'])) {
        		   echo "ERROR! MySpace::getRequestToken() returned an invalid response. Giving up.";
        		   exit;
        		  }
        */
        $_SESSION['auth_state'] = "start";
        $_SESSION['request_token'] = $token = $tok['oauth_token'];
        $_SESSION['request_secret'] = $tok['oauth_token_secret'];
        $_SESSION['callback_confirmed'] = $tok['oauth_callback_confirmed'];
        header("Location: " . $ms->getAuthorizeURL($token));
    } else {
        if (@$_GET['f'] == 'callback') {
            // the user has authorized us at MySpace, so now we can pick up our access token + secret
            //
            if (@$_SESSION['auth_state'] != "start") {
                echo "Out of sequence.";
                exit;
            }
            $oauth_verifier = @$_GET['oauth_verifier'];
            if (!isset($oauth_verifier)) {
                echo "ERROR! MySpace::getAccessToken() returned an invalid response. Giving up.";
                exit;
            }
            //		  if ($_GET['oauth_token'] != $_SESSION['request_token']) {
            //		   echo "Token mismatch.";
            //		   exit;
            //		  }
            $ms = new MySpace($ms_key, $ms_secret, $_SESSION['request_token'], $_SESSION['request_secret'], true, $oauth_verifier);
            $tok = $ms->getAccessToken();
            if (!is_string($tok->key) || !is_string($tok->secret)) {
                error_log("Bad token from MySpace::getAccessToken(): " . var_export($tok, TRUE));
                echo "ERROR! MySpace::getAccessToken() returned an invalid response. Giving up.";
                exit;
            }
            $_SESSION['access_token'] = $tok->key;
            $_SESSION['access_secret'] = $tok->secret;
            $_SESSION['auth_state'] = "done";
            header("Location: " . $_SERVER['SCRIPT_NAME']);
        } else {
            if (@$_SESSION['auth_state'] == 'done') {
                // we have our access token + secret, so now we can actually *use* the api
                //
                $ms = new MySpace($ms_key, $ms_secret, $_SESSION['access_token'], $_SESSION['access_secret']);
                // First get the user id.
                $userid = $ms->getCurrentUserId();
                // Use the userID (fetched in the previous step) to get user's profile, friends and other info
                $profile_data = $ms->getProfile($userid);
                displayProfileInfo($profile_data);
                $friends_data = $ms->getFriends($userid);
                displayFriendsInfo($friends_data);
                $albums = $ms->getAlbums($userid);
                $albumid = $albums->albums[0]->id;
                $albumInfo = $ms->getAlbumInfo($userid, $albumid);
                $album = $ms->getAlbum($userid, $albumid);
                $firstPhoto = $ms->getAlbumPhoto($userid, $albumid, $album->photos[0]->id);
                displayAlbum($albumInfo, $firstPhoto->imageUri);
                $friendStatus = $ms->getFriendsStatus($userid);
                displayObject($friendStatus, '$friendStatus');
                $indicators = $ms->getIndicators($userid);
                displayObject($indicators, '$indicators');
                $statusHistory = $ms->getStatusHistory($userid);
                displayObject($statusHistory, '$statusHistory');
                //$ms->updateStatus($userid, 'Updating from php sdk');
                // Test put and get app data
                $ms->putAppData($userid, array('location' => 'usa', 'interests' => 'tennis, golf', 'age' => '21'));
                $appData = $ms->getAppData($userid, 'interests;location');
                displayObject($appData, '$appData for interests and location only');
                $appData = $ms->getAppData($userid);
                displayObject($appData, '$appData for all parameters');
                // Test clear app data
                $ms->clearAppData($userid, 'location;age');
                sleep(3);
                $appData = $ms->getAppData($userid);
                displayObject($appData, '$appData after clearing');
                // Test get friends' app data
                $appData = $ms->getUserFriendsAppData($userid);
                displayObject($appData, '$appData for friends');
                // Test Poco get user
                $pocoPerson = $ms->getPersonPoco('movies');
                displayObject($pocoPerson, '$pocoPerson');
                // Test Poco get friends
                $pocoFriends = $ms->getFriendsPoco();
                displayObject($pocoFriends, '$pocoPerson');
            } else {
                // not authenticated yet, so give a link to use to start authentication.
                ?>
<p><a href="<?php 
                echo htmlspecialchars($_SERVER['PHP_SELF']);
                ?>
?f=start">Click here to authenticate with MySpace</a></p><?php 
            }
        }
    }
}
Beispiel #4
0
function run()
{
    loginRequired();
    $userid = $_SESSION['userID'];
    $ms = new MySpace(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['access_token_key'], $_SESSION['access_token_secret']);
    // Use the userID (fetched in the previous step) to get user's profile, friends and other info
    $profile_data = $ms->getProfile($userid);
    $friends_data = $ms->getFriends($userid);
    $activities_data = $ms->getActivities_ATOM($userid);
    $friendsActivities_data = $ms->getFriendsActivities_ATOM($userid);
    //43508565
    $test2 = '';
    ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>MySpaceID Hybrid Example <?php 
    echo isset($profile_data) ? $profile_data->basicprofile->name : 'not logged in';
    ?>
 profile</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<link rel="stylesheet" type="text/css" href="static/base.css">

  <!-- YUI Combo CSS + JS files: -->
  	<link rel="stylesheet" type="text/css"
		href="http://yui.yahooapis.com/combo?2.6.0/build/tabview/assets/skins/sam/tabview.css">

  	<script type="text/javascript"
			src="http://yui.yahooapis.com/combo?2.6.0/build/yahoo-dom-event/yahoo-dom-event.js&2.6.0/build/imageloader/imageloader-min.js&2.6.0/build/element/element-beta-min.js&2.6.0/build/tabview/tabview-min.js"></script>

  	<style>
		.activity{
			background:#abc;
			border:1px #fff solid;
		}
	</style>
</head>
<body class="yui-skin-sam">

<h2>profile page</h2>
<?php 
    if (isset($profile_data)) {
        echo <<<EOL
\t\t<div id="MySpaceTabs" class="yui-navset">
\t\t    <ul class="yui-nav">
\t\t        <li id='profileTab' class="selected"><a href="#tab1"><em>Profile</em></a></li>
\t\t        <li id='friendsTab'><a href="#tab2"><em>Friends</em></a></li>
\t\t        <li id='activitiesTab'><a href="#tab3"><em>Activities</em></a></li>
\t\t    </ul>
\t\t    <div class="yui-content">
\t\t        <div id='profileTabContent'>
\t\t        \t<p><img src="{$profile_data->basicprofile->image}" /></p>
\t\t            <p>Profile URL : <a href="{$profile_data->basicprofile->webUri}"> {$profile_data->basicprofile->webUri}</a><p>
\t\t            <p>Name: <strong> {$profile_data->basicprofile->name} </strong> </p>
\t\t            <p>Gender: <strong> {$profile_data->gender} </strong> </p>
\t\t            <p>Age: <strong> {$profile_data->age} </strong> </p>
\t\t            <p>Marital Status: <strong> {$profile_data->maritalstatus} </strong> </p>
\t\t            <p>City: <strong> {$profile_data->city} </strong> </p>
\t\t            <p>Postal Code: <strong> {$profile_data->postalcode} </strong> </p>
\t\t            <p>Region: <strong> {$profile_data->region} </strong> </p>
\t\t            <p>Country: <strong> {$profile_data->country} </strong> </p>
\t\t        </div>
EOL;
    }
    ?>

<?php 
    if (isset($friends_data)) {
        // Build up the HTML that represent the content that goes into the
        // Friends Tab
        // Then insert the content block via $friendsContent below
        //
        $onlineFriends_data = $ms->getFriends($userid, null, null, 'online', 'online');
        $friendsContent = "";
        foreach ($friends_data->Friends as $friend) {
            $friendsContent .= "<a href='{$friend->webUri}'>";
            $friendsContent .= "<img id='{$friend->name}' title='{$friend->name}' border='0'></a>";
        }
        echo <<<EOL
\t\t\t\t<div id='friendsTabContent'>
\t\t\t\t    {$friendsContent}
\t\t        </div>

EOL;
    }
    ?>



<?php 
    if (isset($friendsActivities_data)) {
        // Build up the HTML that represent the content that goes into the
        // Friends Tab
        // Then insert the content block via $friendsContent below
        //
        echo "<div id='activitiesTabContent'>";
        $activitiesContent = $friendsActivities_data;
        //$title = mb_convert_encoding ($xml->entry[32]->title[0],'UTF-8',"UTF-8, ASCII, ISO-8859-1, EUC-JP,  SJIS, JIS") ;
        print '<span class="entry_title">';
        print $title;
        //$xml->entry[32]->title[0];
        print '</span>';
        print '<br/><span><strong>RAW:: </strong>' . mb_convert_encoding('???? ???  ��� ???????  is now friends with Sue Cho', 'utf-8', "UTF-8, ASCII, ISO-8859-1, EUC-JP,  SJIS, JIS") . '</span>';
        print '<br /><span class="entry_title"><strong>' . mb_detect_encoding($title . 'a', " UTF-8, ASCII, ISO-8859-1, UTF-16, UTF-32", true) . '</strong></span>';
        print '<br /><span class="entry_title"><strong>' . mb_http_output() . '</strong></span>';
        $xml = $friendsActivities_data;
        $xml->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');
        $xml->registerXPathNamespace('activity', 'http://activitystrea.ms/schema/1.0/');
        $xml->registerXPathNamespace('xCal', 'urn:ietf:params:xml:ns:xcal');
        $xml->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');
        $songlist_xml = $xml->xpath('atom:entry/atom:category[@label="SongUpload" or @label="ProfileSongAdd"]/ancestor::atom:entry');
        //$songlist_xml = $xml->xpath('atom:entry/atom:category[@label="SongUpload" or @label="ProfileSongAdd"]/..');
        $band_data = $ms->getFriendsActivities_ATOM($userid, null, null, 'PersonalBandShowUpdate');
        //43508565
        $band_data->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');
        $band_data->registerXPathNamespace('activity', 'http://activitystrea.ms/schema/1.0/');
        $band_data->registerXPathNamespace('xCal', 'urn:ietf:params:xml:ns:xcal');
        //$bandShows_xml = $band_data->xpath('atom:entry/atom:category[@label="PersonalBandShowUpdate"]/..');
        $bandShows_xml = $band_data->xpath('//xCal:location/ancestor::atom:entry');
        foreach ($bandShows_xml as $bandShow) {
            $bandShow_activity = $bandShow->xpath('activity:object');
            $bandShow_activity = $bandShow_activity[0];
            $bandShow_title = (string) $bandShow_activity->title;
            $bandShow_link = (string) $bandShow_activity->link['href'];
            $bandShow_summary = (string) $bandShow_activity->vevent->summary;
            $bandShow_location = (string) $bandShow_activity->vevent->location;
            //$bandShow_dateStart =	new DateTime( (string)$bandShow_activity->vevent-dsStart); //, 'Y-m-d\TH:i:s\Z', '%Y-%m-%dTH:%M:%SZ'); //2009-03-21T03:00:00Z
            $break = '';
        }
        echo "<h1><span class='display-name'>{$profile_data->basicprofile->name}'s Activites</span></h1>";
        echo '<ul id="activities">';
        foreach ($songlist_xml as $song_entry) {
            echo '<li>' . $song_entry->content->asXML() . '</li>';
        }
        echo '</ul>';
        foreach ($xml->xpath('atom:entry[category/@label="BlogAdd"]') as $entry) {
            $children = '';
            $content = '';
            echo "\n<ul class='activities'>\n";
            switch ((string) $entry->category['label'][0]) {
                case 'EventAttending':
                    echo '<li class="activity">';
                    $entry->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');
                    $iconlink = $entry->xpath('atom:id');
                    $iconlink = $entry->xpath('atom:link[@rel="icon" and @href]');
                    print "<img src='" . $iconlink[0]['href'] . "' />";
                    $children = $entry->content->div->children();
                    foreach ($children as $child) {
                        $content = $child->asXML();
                        echo "\n" . $content . "";
                    }
                    echo '</li><!-- class="activity" -->';
                    break;
                case 'EventPosting':
                    echo '<li class="activity">';
                    $children = $entry->content->div->children();
                    foreach ($children as $child) {
                        $content = $child->asXML();
                        echo "\n" . $content . "";
                    }
                    echo '</li><!-- class="activity" -->';
                    break;
                case 'ProfileSongAdd':
                    echo '<li class="activity">';
                    $children = $entry->content->div->children();
                    foreach ($children as $child) {
                        $content = $child->asXML();
                        echo "\n" . $content . "";
                    }
                    echo '</li><!-- class="activity" -->';
                    break;
                case 'FriendAdd':
                    break;
                case 'FriendCategoryAdd':
                    break;
                case 'ForumPosted':
                    break;
                case 'JoinedGroup':
                    break;
                case 'ForumTopicReply':
                    break;
                case 'ProfileVideoUpdate':
                    break;
                case 'FavoriteVideoAdd':
                    break;
                case 'PhotoAdd':
                    break;
                case 'MobilePhotoUpload':
                    break;
                case 'PhotoTagged':
                    break;
                case 'BlogAdd':
                    break;
                default:
                    echo '<li class="activity">';
                    $children = $entry->content->div->children();
                    foreach ($children as $child) {
                        $content = $child->asXML();
                        echo "\n" . $content . "";
                    }
                    echo '</li><!-- class="activity" -->';
            }
            echo "\n</ul>";
        }
        echo "</div>";
    }
    ?>

<?php 
    if (isset($friends_data)) {
        // We build up a string that represents the image loader code
        // for each of the friend images.
        // We then insert that string below by referencing $imageLoaderCode
        //
        $imageLoaderCode = "";
        foreach ($friends_data->Friends as $friend) {
            $imageLoaderCode .= "tabTwoImageGroup.registerSrcImage('{$friend->name}', '{$friend->image}');";
        }
        echo <<<EOL
 </div>
\t\t</div>
\t\t<script type="text/javascript">
\t\t\tvar myTabs = new YAHOO.widget.TabView("MySpaceTabs");

\t\t\t// Friends Tab Image Loader
\t\t\tvar tabTwoImageGroup = new YAHOO.util.ImageLoader.group('friendsTab', 'mouseover');

\t\t\t{$imageLoaderCode}

\t\t\ttabTwoImageGroup.addTrigger('friendsTab', 'focus');
\t\t\ttabTwoImageGroup.name = 'tab_two_group';
\t\t</script>
EOL;
    }
    ?>

</body>
</html>


<?php 
}
function run()
{
    $consumer = getConsumer();
    // Complete the authentication process using the server's
    // response.
    $return_to = getReturnTo();
    $response = $consumer->complete($return_to);
    // Check the response status.
    if ($response->status == Auth_OpenID_CANCEL) {
        // This means the authentication was cancelled.
        $msg = 'Verification cancelled.';
    } else {
        if ($response->status == Auth_OpenID_FAILURE) {
            // Authentication failed; display the error message.d
            $msg = "OpenID authentication failed: " . $response->message;
        } else {
            if ($response->status == Auth_OpenID_SUCCESS) {
                // This means the authentication succeeded; extract the
                // identity URL and Simple Registration data (if it was
                // returned).
                $openid = $response->getDisplayIdentifier();
                $esc_identity = escape($openid);
                $success = sprintf('You have successfully verified ' . '<a href="%s">%s</a> as your identity.<br><br>Here\'s your MySpace profile data fetched using the MySpace REST APIs', $esc_identity, $esc_identity);
                if ($response->endpoint->canonicalID) {
                    $escaped_canonicalID = escape($response->endpoint->canonicalID);
                    $success .= '  (XRI CanonicalID: ' . $escaped_canonicalID . ') ';
                }
                $oauth_resp = Auth_OpenID_OAuthResponse::fromSuccessResponse($response);
                $authorized_request_token = $oauth_resp->authorized_request_token;
                $authorized_verifier = $oauth_resp->authorized_verifier;
                if ($authorized_request_token) {
                    $ms = new MySpace(CONSUMER_KEY, CONSUMER_SECRET, $authorized_request_token->key, $authorized_request_token->secret, $authorized_verifier);
                    $access_token = $ms->getAccessToken();
                    $ms = new MySpace(CONSUMER_KEY, CONSUMER_SECRET, $access_token->key, $access_token->secret);
                    $userid = $ms->getCurrentUserId();
                    $_SESSION['userID'] = $userid;
                    $_SESSION['access_token_key'] = $access_token->key;
                    $_SESSION['access_token_secret'] = $access_token->secret;
                    // Use the userID (fetched in the previous step) to get user's profile, friends and other info
                    $profile_data = $ms->getProfile($userid);
                    $friends_data = $ms->getFriends($userid);
                    // Access $profile_data and $friend_data inside of index.php (via the include below)
                    // to display the profile/friends data
                }
            }
        }
    }
    ?>
    <html>
  <head><title>MySpaceID Hybrid Example</title></head>

  <link rel="stylesheet" type="text/css" href="static/base.css">

  <!-- YUI Combo CSS + JS files: -->
  <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?2.6.0/build/tabview/assets/skins/sam/tabview.css">
  <script type="text/javascript" src="http://yui.yahooapis.com/combo?2.6.0/build/yahoo-dom-event/yahoo-dom-event.js&2.6.0/build/imageloader/imageloader-min.js&2.6.0/build/element/element-beta-min.js&2.6.0/build/tabview/tabview-min.js"></script>

  <body class="yui-skin-sam">

<script>
function closeWin() {
//  alert("closeWin() called");
//  alert(opener);

//window.opener.location.href = "profile.php";
//  window.opener.location.reload(true);
var rand = Math.random();

alert(rand);

  window.opener.sayhi(rand);
  self.close();
}
</script>





    <h1>Finishing Log In</h1>



    <br>

    <?php 
    if (isset($msg)) {
        print "<div class=\"alert\">{$msg}</div>";
    }
    ?>
    <?php 
    if (isset($error)) {
        print "<div class=\"error\">{$error}</div>";
    }
    ?>
    <?php 
    if (isset($success)) {
        print "<div class=\"success\">{$success}</div>";
    }
    ?>



<script>closeWin();</script>
  </body>
</html>
<?php 
}