Author: chabotc
Date: Thu Jul  9 13:01:06 2009
New Revision: 792539

URL: http://svn.apache.org/viewvc?rev=792539&view=rev
Log:
SHINDIG-1109 by Jacky Wang - Supports anonymous viewer in PHP Shindig

Modified:
    incubator/shindig/trunk/php/src/common/SecurityToken.php
    incubator/shindig/trunk/php/src/common/sample/BasicSecurityToken.php
    incubator/shindig/trunk/php/src/social/sample/JsonDbOpensocialService.php
    incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php
    incubator/shindig/trunk/php/test/common/BasicSecurityTokenTest.php

Modified: incubator/shindig/trunk/php/src/common/SecurityToken.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/common/SecurityToken.php?rev=792539&r1=792538&r2=792539&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/common/SecurityToken.php (original)
+++ incubator/shindig/trunk/php/src/common/SecurityToken.php Thu Jul  9 
13:01:06 2009
@@ -29,6 +29,8 @@
 
   static public function createFromValues($owner, $viewer, $app, $domain, 
$appUrl, $moduleId, $containerId) {}
 
+  static public $ANONYMOUS = '-1';
+
   /**
    * is this an anonymous token? Always check this before using the 
owner/viewer/etc
    *

Modified: incubator/shindig/trunk/php/src/common/sample/BasicSecurityToken.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/common/sample/BasicSecurityToken.php?rev=792539&r1=792538&r2=792539&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/common/sample/BasicSecurityToken.php 
(original)
+++ incubator/shindig/trunk/php/src/common/sample/BasicSecurityToken.php Thu 
Jul  9 13:01:06 2009
@@ -56,7 +56,7 @@
    * @throws BlobCrypterException
    */
   static public function createFromToken($token, $maxAge) {
-    return new BasicSecurityToken($token, $maxAge, null, null, null, null, 
null, null, null);
+    return new BasicSecurityToken($token, $maxAge, SecurityToken::$ANONYMOUS, 
SecurityToken::$ANONYMOUS, null, null, null, null, null);
   }
 
   /**
@@ -97,7 +97,7 @@
   }
 
   public function isAnonymous() {
-    return ($this->tokenData[$this->OWNER_KEY] === 0 && 
$this->tokenData[$this->VIEWER_KEY] === 0);
+    return ($this->tokenData[$this->OWNER_KEY] === SecurityToken::$ANONYMOUS) 
&& ($this->tokenData[$this->VIEWER_KEY] === SecurityToken::$ANONYMOUS);
   }
 
   /**
@@ -124,9 +124,11 @@
    * {...@inheritdoc}
    */
   public function getOwnerId() {
+    /*
     if ($this->isAnonymous()) {
       throw new Exception("Can't get ownerId from an anonymous token");
     }
+    */
     return $this->tokenData[$this->OWNER_KEY];
   }
 
@@ -134,9 +136,11 @@
    * {...@inheritdoc}
    */
   public function getViewerId() {
+    /*
     if ($this->isAnonymous()) {
       throw new Exception("Can't get viewerId from an anonymous token");
     }
+    */
     return $this->tokenData[$this->VIEWER_KEY];
   }
 

Modified: 
incubator/shindig/trunk/php/src/social/sample/JsonDbOpensocialService.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/social/sample/JsonDbOpensocialService.php?rev=792539&r1=792538&r2=792539&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/social/sample/JsonDbOpensocialService.php 
(original)
+++ incubator/shindig/trunk/php/src/social/sample/JsonDbOpensocialService.php 
Thu Jul  9 13:01:06 2009
@@ -264,6 +264,13 @@
           $person = $newPerson;
         }
         $people[$id] = $person;
+      } else if ($id === SecurityToken::$ANONYMOUS) {
+        $person = array();
+        $person['isOwner'] = $token->isAnonymous() ? true : false;
+        $person['isViewer'] = $token->isAnonymous() ? true : false;
+        $person['name'] = 'anonymous_user';
+        $person['displayName'] = 'Guest';
+        $people[$id] = $person;
       }
     }
     if ($sortOrder == 'name') {

Modified: incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php?rev=792539&r1=792538&r2=792539&view=diff
==============================================================================
--- incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php (original)
+++ incubator/shindig/trunk/php/src/social/servlet/ApiServlet.php Thu Jul  9 
13:01:06 2009
@@ -129,7 +129,7 @@
         // accessable to anoymous users! Anonymous == owner = viewer = appId = 
modId = 0
         // create token with 0 values, no gadget url, no domain and 0 duration
         $gadgetSigner = Config::get('security_token');
-        return new $gadgetSigner(null, 0, 0, 0, 0, '', '', 0, 
Config::get('container_id'));
+        return new $gadgetSigner(null, 0, SecurityToken::$ANONYMOUS, 
SecurityToken::$ANONYMOUS, 0, '', '', 0, Config::get('container_id'));
       } else {
         return null;
       }

Modified: incubator/shindig/trunk/php/test/common/BasicSecurityTokenTest.php
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/php/test/common/BasicSecurityTokenTest.php?rev=792539&r1=792538&r2=792539&view=diff
==============================================================================
--- incubator/shindig/trunk/php/test/common/BasicSecurityTokenTest.php 
(original)
+++ incubator/shindig/trunk/php/test/common/BasicSecurityTokenTest.php Thu Jul  
9 13:01:06 2009
@@ -43,7 +43,7 @@
   protected function setUp() {
     parent::setUp();
     $this->BasicSecurityToken = BasicSecurityToken::createFromValues('owner', 
'viewer', 'app', 'domain', 'appUrl', '1', 'default');
-    $this->anonymousToken = BasicSecurityToken::createFromValues(0, 0, 'app', 
'domain', 'appUrl', '1', 'default');
+    $this->anonymousToken = 
BasicSecurityToken::createFromValues(SecurityToken::$ANONYMOUS, 
SecurityToken::$ANONYMOUS, 'app', 'domain', 'appUrl', '1', 'default');
   }
 
   /**


Reply via email to