]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
authorBrion Vibber <brion@pobox.com>
Sat, 26 Jun 2010 14:18:03 +0000 (10:18 -0400)
committerBrion Vibber <brion@pobox.com>
Sat, 26 Jun 2010 14:18:03 +0000 (10:18 -0400)
1  2 
lib/apiaction.php
lib/router.php

diff --combined lib/apiaction.php
index a9fad16f875d2766c0869d7c99244ef983b8f8b2,89a4871029d3efc208cd3fc512c777bb8f0840cc..e6b5164532eea34d6e962166376c128ec32343ea
@@@ -98,8 -98,6 +98,8 @@@ if (!defined('STATUSNET')) 
      exit(1);
  }
  
 +class ApiValidationException extends Exception { }
 +
  /**
   * Contains most of the Twitter-compatible API output functions.
   *
@@@ -273,11 -271,13 +273,13 @@@ class ApiAction extends Actio
  
          // Is the requesting user following this user?
          $twitter_user['following'] = false;
+         $twitter_user['statusnet:blocking'] = false;
          $twitter_user['notifications'] = false;
  
          if (isset($this->auth_user)) {
  
              $twitter_user['following'] = $this->auth_user->isSubscribed($profile);
+             $twitter_user['statusnet:blocking']  = $this->auth_user->hasBlocked($profile);
  
              // Notifications on?
              $sub = Subscription::pkeyGet(array('subscriber' =>
  
      function twitterGroupArray($group)
      {
-         $twitter_group=array();
-         $twitter_group['id']=$group->id;
-         $twitter_group['url']=$group->permalink();
-         $twitter_group['nickname']=$group->nickname;
-         $twitter_group['fullname']=$group->fullname;
-         $twitter_group['original_logo']=$group->original_logo;
-         $twitter_group['homepage_logo']=$group->homepage_logo;
-         $twitter_group['stream_logo']=$group->stream_logo;
-         $twitter_group['mini_logo']=$group->mini_logo;
-         $twitter_group['homepage']=$group->homepage;
-         $twitter_group['description']=$group->description;
-         $twitter_group['location']=$group->location;
-         $twitter_group['created']=$this->dateTwitter($group->created);
-         $twitter_group['modified']=$this->dateTwitter($group->modified);
+         $twitter_group = array();
+         $twitter_group['id'] = $group->id;
+         $twitter_group['url'] = $group->permalink();
+         $twitter_group['nickname'] = $group->nickname;
+         $twitter_group['fullname'] = $group->fullname;
+         if (isset($this->auth_user)) {
+             $twitter_group['member'] = $this->auth_user->isMember($group);
+             $twitter_group['blocked'] = Group_block::isBlocked(
+                 $group,
+                 $this->auth_user->getProfile()
+             );
+         }
+         $twitter_group['member_count'] = $group->getMemberCount();
+         $twitter_group['original_logo'] = $group->original_logo;
+         $twitter_group['homepage_logo'] = $group->homepage_logo;
+         $twitter_group['stream_logo'] = $group->stream_logo;
+         $twitter_group['mini_logo'] = $group->mini_logo;
+         $twitter_group['homepage'] = $group->homepage;
+         $twitter_group['description'] = $group->description;
+         $twitter_group['location'] = $group->location;
+         $twitter_group['created'] = $this->dateTwitter($group->created);
+         $twitter_group['modified'] = $this->dateTwitter($group->modified);
          return $twitter_group;
      }
  
diff --combined lib/router.php
index 6cbae82472d7047a340718021cfc656814c3d3fa,7e1e6a2a47a1887781c3154cb1684e6d39d7b6e1..ca3c2e880cb8b779ae0f36c56c9baf8ac7b61348
@@@ -263,7 -263,7 +263,7 @@@ class Route
              $m->connect('tag', array('action' => 'publictagcloud'));
              $m->connect('tag/:tag/rss',
                          array('action' => 'tagrss'),
-                         array('tag' => '[a-zA-Z0-9]+'));
+                         array('tag' => '[\pL\pN_\-\.]{1,64}'));
              $m->connect('tag/:tag',
                          array('action' => 'tag'),
                          array('tag' => '[\pL\pN_\-\.]{1,64}'));
              $m->connect('api/statusnet/groups/create.:format',
                          array('action' => 'ApiGroupCreate',
                                'format' => '(xml|json)'));
 +
 +            $m->connect('api/statusnet/groups/update/:id.:format',
 +                        array('action' => 'ApiGroupProfileUpdate',
 +                              'id' => '[a-zA-Z0-9]+',
 +                              'format' => '(xml|json)'));
 +
              // Tags
              $m->connect('api/statusnet/tags/timeline/:tag.:format',
                          array('action' => 'ApiTimelineTag',
              );
  
              // search
-             $m->connect('api/search.atom', array('action' => 'twitapisearchatom'));
-             $m->connect('api/search.json', array('action' => 'twitapisearchjson'));
-             $m->connect('api/trends.json', array('action' => 'twitapitrends'));
+             $m->connect('api/search.atom', array('action' => 'ApiSearchAtom'));
+             $m->connect('api/search.json', array('action' => 'ApiSearchJSON'));
+             $m->connect('api/trends.json', array('action' => 'ApiTrends'));
  
              $m->connect('api/oauth/request_token',
                          array('action' => 'apioauthrequesttoken'));
              $m->connect('admin/sessions', array('action' => 'sessionsadminpanel'));
              $m->connect('admin/sitenotice', array('action' => 'sitenoticeadminpanel'));
              $m->connect('admin/snapshot', array('action' => 'snapshotadminpanel'));
 +            $m->connect('admin/plugins', array('action' => 'pluginsadminpanel'));
 +            $m->connect('admin/plugins/enable/:plugin',
 +                        array('action' => 'pluginenable'),
 +                        array('plugin' => '[A-Za-z0-9_]+'));
 +            $m->connect('admin/plugins/disable/:plugin',
 +                        array('action' => 'plugindisable'),
 +                        array('plugin' => '[A-Za-z0-9_]+'));
  
              $m->connect('getfile/:filename',
                          array('action' => 'getfile'),
                  $m->connect('tag/:tag/rss',
                              array('action' => 'userrss',
                                    'nickname' => $nickname),
-                             array('tag' => '[a-zA-Z0-9]+'));
+                             array('tag' => '[\pL\pN_\-\.]{1,64}'));
  
                  $m->connect('tag/:tag',
                              array('action' => 'showstream',
                                    'nickname' => $nickname),
-                             array('tag' => '[a-zA-Z0-9]+'));
+                             array('tag' => '[\pL\pN_\-\.]{1,64}'));
  
                  $m->connect('rsd.xml',
                              array('action' => 'rsd',
                  $m->connect(':nickname/tag/:tag/rss',
                              array('action' => 'userrss'),
                              array('nickname' => '[a-zA-Z0-9]{1,64}'),
-                             array('tag' => '[a-zA-Z0-9]+'));
+                             array('tag' => '[\pL\pN_\-\.]{1,64}'));
  
                  $m->connect(':nickname/tag/:tag',
                              array('action' => 'showstream'),
                              array('nickname' => '[a-zA-Z0-9]{1,64}'),
-                             array('tag' => '[a-zA-Z0-9]+'));
+                             array('tag' => '[\pL\pN_\-\.]{1,64}'));
  
                  $m->connect(':nickname/rsd.xml',
                              array('action' => 'rsd'),