ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 9056


Ignore:
Timestamp:
Nov 10, 2008, 3:34:44 PM (11 years ago)
Author:
ShogoKawahara
Message:

updated Shindig library

Location:
OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/vendor/Shindig/src
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/vendor/Shindig/src/gadgets/ProxyHandler.php

    r8915 r9056  
    7878                                require 'external/Zend/Feed.php';
    7979                                $numEntries = $_GET['numEntries'];
    80                                 $getSummaries = $_GET['getSummaries'];
     80                                $getSummaries = ! empty($_GET['getSummaries']) && $_GET['getSummaries'] != 'false' ? true : false;
    8181                                $channel = array();
    8282                                $request = new RemoteContentRequest($url);
     
    8787                                                $feed = Zend_Feed::importString($content);
    8888                                                if ($feed instanceof Zend_Feed_Rss) {
    89                                                         $channel = array('title' => $feed->title(),
    90                                                                         'link' => $feed->link(),
    91                                                                         'description' => $feed->description(),
    92                                                                         'pubDate' => $feed->pubDate(),
    93                                                                         'language' => $feed->language(),
    94                                                                         'category' => $feed->category(), 'items' => array());
     89                                                        // Try get author
     90                                                        if ($feed->author()) {
     91                                                                $author = $feed->author();
     92                                                        } else {
     93                                                                if ($feed->creator()) {
     94                                                                        $author = $feed->creator();
     95                                                                } else {
     96                                                                        $author = null;
     97                                                                }
     98                                                        }
    9599                                                        // Loop over each channel item and store relevant data
    96100                                                        $counter = 0;
     101                                                        $channel['Entry'] = array();
    97102                                                        foreach ($feed as $item) {
    98103                                                                if ($counter >= $numEntries) {
    99104                                                                        break;
    100105                                                                }
     106                                                                $_entry = array();
     107                                                                $_entry['Title'] = $item->title();
     108                                                                $_entry['Link'] = $item->link();
     109                                                                if ($getSummaries && $item->description()) {
     110                                                                        $_entry['Summary'] = $item->description();
     111                                                                }
     112                                                                $date = 0;
     113                                                                if ($item->date()) {
     114                                                                        $date = strtotime($item->date());
     115                                                                } else {
     116                                                                        if ($item->pubDate()) {
     117                                                                                $date = strtotime($item->pubDate());
     118                                                                        }
     119                                                                }
     120                                                                $_entry['Date'] = $date;
     121                                                                $channel['Entry'][] = $_entry;
     122                                                                // Remember author if first found
     123                                                                if (empty($author) && $item->author()) {
     124                                                                        $author = $item->author();
     125                                                                } else
     126                                                                        if ($item->creator()) {
     127                                                                                $author = $item->creator();
     128                                                                        }
    101129                                                                $counter ++;
    102                                                                 $channel['items'][] = array('title' => $item->title(),
    103                                                                                 'link' => $item->link(),
    104                                                                                 'author' => $item->author(),
    105                                                                                 'description' => $getSummaries ? $item->description() : '',
    106                                                                                 'category' => $item->category(),
    107                                                                                 'comments' => $item->comments(),
    108                                                                                 'pubDate' => $item->pubDate());
     130                                                        }
     131                                                        $channel['Title'] = $feed->title();
     132                                                        $channel['URL'] = $url;
     133                                                        $channel['Description'] = $feed->description();
     134                                                        if ($feed->link()) {
     135                                                                if (is_array($feed->link())) {
     136                                                                        foreach ($feed->link() as $_link) {
     137                                                                                if ($_link->nodeValue)
     138                                                                                        $channel['Link'] = $_link->nodeValue;
     139                                                                        }
     140                                                                } else {
     141                                                                        $channel['Link'] = $feed->link();
     142                                                                }
     143                                                        }
     144                                                        if ($author != null) {
     145                                                                $channel['Author'] = $author;
    109146                                                        }
    110147                                                } elseif ($feed instanceof Zend_Feed_Atom) {
    111                                                         $channel = array('title' => $feed->title(),
    112                                                                         'link' => $feed->link(), 'id' => $feed->id(),
    113                                                                         'subtitle' => $feed->subtitle(), 'items' => array());
     148                                                        // Try get author
     149                                                        $author = $feed->author() ? $feed->author() : '';
     150                                                        // Loop over each entries and store relevant data
    114151                                                        $counter = 0;
     152                                                        $channel['Entry'] = array();
    115153                                                        foreach ($feed as $entry) {
    116154                                                                if ($counter >= $numEntries) {
    117155                                                                        break;
    118156                                                                }
    119                                                                 $channel['items'][] = array('id' => $entry->id(),
    120                                                                                 'title' => $entry->title(),
    121                                                                                 'link' => $entry->link('alternate'),
    122                                                                                 'summary' => $entry->summary(),
    123                                                                                 'content' => $entry->content(),
    124                                                                                 'author' => $entry->author(),
    125                                                                                 'published' => $entry->published(),
    126                                                                                 'updated' => $entry->updated());
     157                                                                $_entry = array();
     158                                                                $_entry['Title'] = $entry->title();
     159                                                                $_entry['Link'] = $entry->link('alternate');
     160                                                                if ($getSummaries && $entry->summary()) {
     161                                                                        $_entry['Summary'] = $entry->summary();
     162                                                                }
     163                                                                $date = 0;
     164                                                                if ($entry->updated()) {
     165                                                                        $date = strtotime($entry->updated());
     166                                                                } else {
     167                                                                        if ($entry->published()) {
     168                                                                                $date = strtotime($entry->published());
     169                                                                        }
     170                                                                }
     171                                                                $_entry['Date'] = $date;
     172                                                                $channel['Entry'][] = $_entry;
     173                                                                // Remember author if first found
     174                                                                if (empty($author) && $entry->author()) {
     175                                                                        $author = $entry->author();
     176                                                                } elseif (empty($author)) {
     177                                                                        $author = null;
     178                                                                }
     179                                                                $counter ++;
     180                                                        }
     181                                                        $channel['Title'] = $feed->title();
     182                                                        $channel['URL'] = $url;
     183                                                        $channel['Description'] = $feed->subtitle();
     184                                                        $channel['Link'] = $feed->link('alternate');
     185                                                        if (!empty($author)) {
     186                                                                $channel['Author'] = $author;
    127187                                                        }
    128188                                                } else {
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/vendor/Shindig/src/social/service/PersonHandler.php

    r8915 r9056  
    7575                $options->setStartIndex($request->getStartIndex());
    7676                $options->setCount($request->getCount());
    77                
     77                // personId: Array (     [0] => 8 )
    7878                if (count($userIds) == 1) {
    7979                        if (count($optionalPersonId) == 0) {
     
    8484                                }
    8585                        } elseif (count($optionalPersonId) == 1) {
    86                                 // TODO: Add some crazy concept to handle the userId?
    87                                 return $this->personService->getPerson(new UserId('userId', $optionalPersonId[0]), $groupId, $fields, $request->getToken());
     86                                return $this->personService->getPerson($optionalPersonId[0], $groupId, $fields, $request->getToken());
    8887                        } else {
    8988                                $personIds = array();
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/vendor/Shindig/src/social/servlet/ApiServlet.php

    r8979 r9056  
    8888                $signature = $request->get_parameter('oauth_signature');
    8989               
    90                 // TODO: also allow userId to be specified via oauth token and/or in URL?
    9190                if ($appUrl && $signature) {
    9291                        //if ($appUrl && $signature && $userId) {
     
    9493                        $oauthLookupService = Config::get('oauth_lookup_service');
    9594                        $oauthLookupService = new $oauthLookupService();
    96                         if ($oauthLookupService->thirdPartyHasAccessToUser($request, $appUrl, $userId)) {
    97                                 return $oauthLookupService->getSecurityToken($appUrl, $userId);
     95                        $token = $oauthLookupService->getSecurityToken($request, $appUrl, $userId);
     96                        if ($token) {
     97                                return $token;
    9898                        } else {
    99                                 return null; // invalid oauth request
     99                                return null; // invalid oauth request, or 3rd party doesn't have access to this user
    100100                        }
    101101                } // else, not a valid oauth request, so don't bother
     102               
    102103
    103104                // look for encrypted security token
    104105                $token = isset($_POST['st']) ? $_POST['st'] : (isset($_GET['st']) ? $_GET['st'] : '');
    105106                if (empty($token)) {
    106                         // no security token, continue anonymously, remeber to check
    107                         // for private profiles etc in your code so their not publicly
    108                         // accessable to anoymous users! Anonymous == owner = viewer = appId = modId = 0
    109                         //FIXME change this to a new AnonymousToken when reworking auth token
    110                         $gadgetSigner = Config::get('security_token');
    111                         // create token with 0 values, no gadget url, no domain and 0 duration
    112                         return new $gadgetSigner(null, 0, 0, 0, 0, '', '', 0);
     107                        if (Config::get('allow_anonymous_token')) {
     108                                // no security token, continue anonymously, remeber to check
     109                                // for private profiles etc in your code so their not publicly
     110                                // accessable to anoymous users! Anonymous == owner = viewer = appId = modId = 0
     111                                // create token with 0 values, no gadget url, no domain and 0 duration
     112                               
     113                                //FIXME change this to a new AnonymousToken when reworking auth token
     114                                $gadgetSigner = Config::get('security_token');
     115                                return new $gadgetSigner(null, 0, 0, 0, 0, '', '', 0);
     116                        } else {
     117                                return null;
     118                        }
    113119                }
    114120                if (count(explode(':', $token)) != 6) {
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/vendor/Shindig/src/social/servlet/DataServiceServlet.php

    r8979 r9056  
    9898                }
    9999                header("HTTP/1.0 $code", true);
    100                 if ($unauthorized)
     100                if ($unauthorized) {
    101101                        header("WWW-Authenticate: OAuth realm", true);
     102                }
    102103                echo "$code - $errorMessage";
    103104                die();
     
    120121                $responseItem = $this->getResponseItem($this->handleRequestItem($requestItem));
    121122                if ($responseItem->getError() == null) {
     123                        $response = $responseItem->getResponse();
     124                        if (!($response instanceof DataCollection) && !($response instanceof RestfulCollection)) {
     125                                $response = array("entry" => $response);
     126                                $responseItem->setResponse($response);
     127                        }
    122128                        $outputConverter->outputResponse($responseItem, $requestItem);
    123129                } else {
Note: See TracChangeset for help on using the changeset viewer.