Merge commit 'mainline/0.9.x' into 0.9.x

This commit is contained in:
Brenda Wallace 2009-10-30 19:21:16 +13:00
commit 4892073c84
17 changed files with 97 additions and 79 deletions

View File

@ -99,19 +99,17 @@ class AllAction extends ProfileAction
sprintf(_('Feed for friends of %s (RSS 1.0)'), $this->user->nickname)), sprintf(_('Feed for friends of %s (RSS 1.0)'), $this->user->nickname)),
new Feed(Feed::RSS2, new Feed(Feed::RSS2,
common_local_url( common_local_url(
'api', array( 'ApiTimelineFriends', array(
'apiaction' => 'statuses', 'format' => 'rss',
'method' => 'friends_timeline', 'id' => $this->user->nickname
'argument' => $this->user->nickname.'.rss'
) )
), ),
sprintf(_('Feed for friends of %s (RSS 2.0)'), $this->user->nickname)), sprintf(_('Feed for friends of %s (RSS 2.0)'), $this->user->nickname)),
new Feed(Feed::ATOM, new Feed(Feed::ATOM,
common_local_url( common_local_url(
'api', array( 'ApiTimelineFriends', array(
'apiaction' => 'statuses', 'format' => 'atom',
'method' => 'friends_timeline', 'id' => $this->user->nickname
'argument' => $this->user->nickname.'.atom'
) )
), ),
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname)) sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname))

View File

@ -150,14 +150,12 @@ class PublicAction extends Action
return array(new Feed(Feed::RSS1, common_local_url('publicrss'), return array(new Feed(Feed::RSS1, common_local_url('publicrss'),
_('Public Stream Feed (RSS 1.0)')), _('Public Stream Feed (RSS 1.0)')),
new Feed(Feed::RSS2, new Feed(Feed::RSS2,
common_local_url('api', common_local_url('ApiTimelinePublic',
array('apiaction' => 'statuses', array('format' => 'rss')),
'method' => 'public_timeline.rss')),
_('Public Stream Feed (RSS 2.0)')), _('Public Stream Feed (RSS 2.0)')),
new Feed(Feed::ATOM, new Feed(Feed::ATOM,
common_local_url('api', common_local_url('ApiTimelinePublic',
array('apiaction' => 'statuses', array('format' => 'atom')),
'method' => 'public_timeline.atom')),
_('Public Stream Feed (Atom)'))); _('Public Stream Feed (Atom)')));
} }

View File

@ -138,11 +138,25 @@ class RepliesAction extends OwnerDesignAction
function getFeeds() function getFeeds()
{ {
$rssurl = common_local_url('repliesrss', return array(new Feed(Feed::RSS1,
array('nickname' => $this->user->nickname)); common_local_url('repliesrss',
$rsstitle = sprintf(_('Feed for replies to %s'), $this->user->nickname); array('nickname' => $this->user->nickname)),
sprintf(_('Replies feed for %s (RSS 1.0)'),
return array(new Feed(Feed::RSS1, $rssurl, $rsstitle)); $this->user->nickname)),
new Feed(Feed::RSS2,
common_local_url('ApiTimelineMentions',
array(
'id' => $this->user->nickname,
'format' => 'rss')),
sprintf(_('Replies feed for %s (RSS 2.0)'),
$this->user->nickname)),
new Feed(Feed::ATOM,
common_local_url('ApiTimelineMentions',
array(
'id' => $this->user->nickname,
'format' => 'atom')),
sprintf(_('Replies feed for %s (Atom)'),
$this->user->nickname)));
} }
/** /**

View File

@ -164,13 +164,25 @@ class ShowfavoritesAction extends OwnerDesignAction
function getFeeds() function getFeeds()
{ {
$feedurl = common_local_url('favoritesrss', return array(new Feed(Feed::RSS1,
array('nickname' => common_local_url('favoritesrss',
$this->user->nickname)); array('nickname' => $this->user->nickname)),
$feedtitle = sprintf(_('Feed for favorites of %s'), sprintf(_('Feed for favorites of %s (RSS 1.0)'),
$this->user->nickname); $this->user->nickname)),
new Feed(Feed::RSS2,
return array(new Feed(Feed::RSS1, $feedurl, $feedtitle)); common_local_url('ApiTimelineFavorites',
array(
'id' => $this->user->nickname,
'format' => 'rss')),
sprintf(_('Feed for favorites of %s (RSS 2.0)'),
$this->user->nickname)),
new Feed(Feed::ATOM,
common_local_url('ApiTimelineFavorites',
array(
'id' => $this->user->nickname,
'format' => 'atom')),
sprintf(_('Feed for favorites of %s (Atom)'),
$this->user->nickname)));
} }
/** /**

View File

@ -328,17 +328,15 @@ class ShowgroupAction extends GroupDesignAction
sprintf(_('Notice feed for %s group (RSS 1.0)'), sprintf(_('Notice feed for %s group (RSS 1.0)'),
$this->group->nickname)), $this->group->nickname)),
new Feed(Feed::RSS2, new Feed(Feed::RSS2,
common_local_url('api', common_local_url('ApiTimelineGroup',
array('apiaction' => 'groups', array('format' => 'rss',
'method' => 'timeline', 'id' => $this->group->nickname)),
'argument' => $this->group->nickname.'.rss')),
sprintf(_('Notice feed for %s group (RSS 2.0)'), sprintf(_('Notice feed for %s group (RSS 2.0)'),
$this->group->nickname)), $this->group->nickname)),
new Feed(Feed::ATOM, new Feed(Feed::ATOM,
common_local_url('api', common_local_url('ApiTimelineGroup',
array('apiaction' => 'groups', array('format' => 'atom',
'method' => 'timeline', 'id' => $this->group->nickname)),
'argument' => $this->group->nickname.'.atom')),
sprintf(_('Notice feed for %s group (Atom)'), sprintf(_('Notice feed for %s group (Atom)'),
$this->group->nickname)), $this->group->nickname)),
new Feed(Feed::FOAF, new Feed(Feed::FOAF,

View File

@ -128,17 +128,17 @@ class ShowstreamAction extends ProfileAction
sprintf(_('Notice feed for %s (RSS 1.0)'), sprintf(_('Notice feed for %s (RSS 1.0)'),
$this->user->nickname)), $this->user->nickname)),
new Feed(Feed::RSS2, new Feed(Feed::RSS2,
common_local_url('api', common_local_url('ApiTimelineUser',
array('apiaction' => 'statuses', array(
'method' => 'user_timeline', 'id' => $this->user->nickname,
'argument' => $this->user->nickname.'.rss')), 'format' => 'rss')),
sprintf(_('Notice feed for %s (RSS 2.0)'), sprintf(_('Notice feed for %s (RSS 2.0)'),
$this->user->nickname)), $this->user->nickname)),
new Feed(Feed::ATOM, new Feed(Feed::ATOM,
common_local_url('api', common_local_url('ApiTimelineUser',
array('apiaction' => 'statuses', array(
'method' => 'user_timeline', 'id' => $this->user->nickname,
'argument' => $this->user->nickname.'.atom')), 'format' => 'atom')),
sprintf(_('Notice feed for %s (Atom)'), sprintf(_('Notice feed for %s (Atom)'),
$this->user->nickname)), $this->user->nickname)),
new Feed(Feed::FOAF, new Feed(Feed::FOAF,

View File

@ -86,17 +86,15 @@ class TagAction extends Action
sprintf(_('Notice feed for tag %s (RSS 1.0)'), sprintf(_('Notice feed for tag %s (RSS 1.0)'),
$this->tag)), $this->tag)),
new Feed(Feed::RSS2, new Feed(Feed::RSS2,
common_local_url('api', common_local_url('ApiTimelineTag',
array('apiaction' => 'tags', array('format' => 'rss',
'method' => 'timeline', 'tag' => $this->tag)),
'argument' => $this->tag.'.rss')), sprintf(_('Notice feed for tag %s (RSS 2.0)'),
sprintf(_('Notice feed for %s group (RSS 2.0)'),
$this->tag)), $this->tag)),
new Feed(Feed::ATOM, new Feed(Feed::ATOM,
common_local_url('api', common_local_url('ApiTimelineTag',
array('apiaction' => 'tags', array('format' => 'atom',
'method' => 'timeline', 'tag' => $this->tag)),
'argument' => $this->tag.'.atom')),
sprintf(_('Notice feed for tag %s (Atom)'), sprintf(_('Notice feed for tag %s (Atom)'),
$this->tag))); $this->tag)));
} }

View File

@ -1181,10 +1181,9 @@ class Notice extends Memcached_DataObject
$xs->element('link', array('href' => $profile->profileurl)); $xs->element('link', array('href' => $profile->profileurl));
$user = User::staticGet('id', $profile->id); $user = User::staticGet('id', $profile->id);
if (!empty($user)) { if (!empty($user)) {
$atom_feed = common_local_url('api', $atom_feed = common_local_url('ApiTimelineUser',
array('apiaction' => 'statuses', array('format' => 'atom',
'method' => 'user_timeline', 'id' => $profile->nickname));
'argument' => $profile->nickname.'.atom'));
$xs->element('link', array('rel' => 'self', $xs->element('link', array('rel' => 'self',
'type' => 'application/atom+xml', 'type' => 'application/atom+xml',
'href' => $profile->profileurl)); 'href' => $profile->profileurl));

View File

@ -20,7 +20,7 @@
/** /**
* The library version string * The library version string
*/ */
define('Auth_OpenID_VERSION', '2.1.2'); define('Auth_OpenID_VERSION', '2.1.3');
/** /**
* Require the fetcher code. * Require the fetcher code.

View File

@ -376,7 +376,7 @@ function Auth_OpenID_detectMathLibrary($exts)
// Try to load dynamic modules. // Try to load dynamic modules.
if (!$loaded) { if (!$loaded) {
foreach ($extension['modules'] as $module) { foreach ($extension['modules'] as $module) {
if (function_exists('dl') && ini_get('enable_dl') && !ini_get('safe_mode') && @dl($module . "." . PHP_SHLIB_SUFFIX)) { if (@dl($module . "." . PHP_SHLIB_SUFFIX)) {
$loaded = true; $loaded = true;
break; break;
} }

View File

@ -1295,7 +1295,8 @@ class Auth_OpenID_GenericConsumer {
Auth_OpenID_OPENID2_NS => array_merge($basic_sig_fields, Auth_OpenID_OPENID2_NS => array_merge($basic_sig_fields,
array('response_nonce', array('response_nonce',
'claimed_id', 'claimed_id',
'assoc_handle')), 'assoc_handle',
'op_endpoint')),
Auth_OpenID_OPENID1_NS => array_merge($basic_sig_fields, Auth_OpenID_OPENID1_NS => array_merge($basic_sig_fields,
array('nonce')) array('nonce'))
); );

View File

@ -887,6 +887,11 @@ class Auth_OpenID_Message {
function getAliasedArg($aliased_key, $default = null) function getAliasedArg($aliased_key, $default = null)
{ {
if ($aliased_key == 'ns') {
// Return the namespace URI for the OpenID namespace
return $this->getOpenIDNamespace();
}
$parts = explode('.', $aliased_key, 2); $parts = explode('.', $aliased_key, 2);
if (count($parts) != 2) { if (count($parts) != 2) {

View File

@ -138,7 +138,7 @@ class Auth_Yadis_HTTPFetcher {
* pass the URLHasAllowedScheme check or if the server's response * pass the URLHasAllowedScheme check or if the server's response
* is malformed. * is malformed.
*/ */
function get($url, $headers) function get($url, $headers = null)
{ {
trigger_error("not implemented", E_USER_ERROR); trigger_error("not implemented", E_USER_ERROR);
} }

View File

@ -127,8 +127,6 @@ class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
Auth_OpenID_USER_AGENT.' '.$curl_user_agent); Auth_OpenID_USER_AGENT.' '.$curl_user_agent);
curl_setopt($c, CURLOPT_TIMEOUT, $off); curl_setopt($c, CURLOPT_TIMEOUT, $off);
curl_setopt($c, CURLOPT_URL, $url); curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RANGE,
"0-".(1024 * Auth_OpenID_FETCHER_MAX_RESPONSE_KB));
curl_exec($c); curl_exec($c);

View File

@ -83,8 +83,6 @@ class Auth_Yadis_PlainHTTPFetcher extends Auth_Yadis_HTTPFetcher {
"User-Agent: $user_agent", "User-Agent: $user_agent",
"Host: ".$parts['host']. "Host: ".$parts['host'].
($specify_port ? ":".$parts['port'] : ""), ($specify_port ? ":".$parts['port'] : ""),
"Range: 0-".
(1024*Auth_OpenID_FETCHER_MAX_RESPONSE_KB),
"Port: ".$parts['port']); "Port: ".$parts['port']);
$errno = 0; $errno = 0;

View File

@ -91,7 +91,7 @@ class Auth_Yadis_XMLParser {
* @return array $node_list An array of matching opaque node * @return array $node_list An array of matching opaque node
* objects to be used with other methods of this parser class. * objects to be used with other methods of this parser class.
*/ */
function evalXPath($xpath, $node = null) function &evalXPath($xpath, $node = null)
{ {
// Not implemented. // Not implemented.
} }
@ -349,7 +349,7 @@ function &Auth_Yadis_getXMLParser()
foreach ($extensions as $name => $params) { foreach ($extensions as $name => $params) {
if (!extension_loaded($name)) { if (!extension_loaded($name)) {
foreach ($params['libname'] as $libname) { foreach ($params['libname'] as $libname) {
if (function_exists('dl') && ini_get('enable_dl') && !ini_get('safe_mode') && @dl($libname)) { if (@dl($libname)) {
$classname = $params['classname']; $classname = $params['classname'];
} }
} }

View File

@ -65,21 +65,21 @@ class PubSubHubBubPlugin extends Plugin
$feeds = array(); $feeds = array();
//public timeline feeds //public timeline feeds
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'public_timeline.rss')); $feeds[]=common_local_url('ApiTimelinePublic',array('format' => 'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'public_timeline.atom')); $feeds[]=common_local_url('ApiTimelinePublic',array('format' => 'atom'));
//author's own feeds //author's own feeds
$user = User::staticGet('id',$notice->profile_id); $user = User::staticGet('id',$notice->profile_id);
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom'));
//tag feeds //tag feeds
$tag = new Notice_tag(); $tag = new Notice_tag();
$tag->notice_id = $notice->id; $tag->notice_id = $notice->id;
if ($tag->find()) { if ($tag->find()) {
while ($tag->fetch()) { while ($tag->fetch()) {
$feeds[]=common_local_url('api',array('apiaction' => 'tags','method' => 'timeline', 'argument'=>$tag->tag.'.atom')); $feeds[]=common_local_url('ApiTimelineTag',array('tag'=>$tag->tag, 'format'=>'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'tags','method' => 'timeline', 'argument'=>$tag->tag.'.rss')); $feeds[]=common_local_url('ApiTimelineTag',array('tag'=>$tag->tag, 'format'=>'atom'));
} }
} }
@ -89,8 +89,8 @@ class PubSubHubBubPlugin extends Plugin
if ($group_inbox->find()) { if ($group_inbox->find()) {
while ($group_inbox->fetch()) { while ($group_inbox->fetch()) {
$group = User_group::staticGet('id',$group_inbox->group_id); $group = User_group::staticGet('id',$group_inbox->group_id);
$feeds[]=common_local_url('api',array('apiaction' => 'groups','method' => 'timeline','argument' => $group->nickname.'.rss')); $feeds[]=common_local_url('ApiTimelineGroup',array('id' => $group->nickname,'format'=>'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'groups','method' => 'timeline','argument' => $group->nickname.'.atom')); $feeds[]=common_local_url('ApiTimelineGroup',array('id' => $group->nickname,'format'=>'atom'));
} }
} }
@ -100,18 +100,17 @@ class PubSubHubBubPlugin extends Plugin
if ($notice_inbox->find()) { if ($notice_inbox->find()) {
while ($notice_inbox->fetch()) { while ($notice_inbox->fetch()) {
$user = User::staticGet('id',$notice_inbox->user_id); $user = User::staticGet('id',$notice_inbox->user_id);
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom'));
} }
} }
/* TODO: when the reply page gets RSS and ATOM feeds, implement this
//feed of user replied to //feed of user replied to
if($notice->reply_to){ if($notice->reply_to){
$user = User::staticGet('id',$notice->reply_to); $user = User::staticGet('id',$notice->reply_to);
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.rss')); $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'rss'));
$feeds[]=common_local_url('api',array('apiaction' => 'statuses','method' => 'user_timeline','argument' => $user->nickname.'.atom')); $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'atom'));
}*/ }
foreach(array_unique($feeds) as $feed){ foreach(array_unique($feeds) as $feed){
if(! $publisher->publish_update($feed)){ if(! $publisher->publish_update($feed)){