From 71df23642c60d24669def858a8059d70f284744c Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 19 Jan 2010 12:26:59 -0800 Subject: Extra debug instrumentation for xmppdaemon --- scripts/xmppdaemon.php | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/xmppdaemon.php b/scripts/xmppdaemon.php index cef9c4bd0..0c118c53d 100755 --- a/scripts/xmppdaemon.php +++ b/scripts/xmppdaemon.php @@ -148,6 +148,7 @@ class XMPPDaemon extends Daemon function handle_message(&$pl) { + $this->log(LOG_DEBUG, "Received message: " . str_replace("\n", " ", var_export($pl, true))); $from = jabber_normalize_jid($pl['from']); if ($pl['type'] != 'chat') { -- cgit v1.2.3-54-g00ecf From 906450e2f5b78a1c6f2dec2e21b9b5841df210f4 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 20 Jan 2010 08:37:58 -0800 Subject: DEBUG HACK: error checking for xml_parse in XMPPHP input stream --- extlib/XMPPHP/XMLStream.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/extlib/XMPPHP/XMLStream.php b/extlib/XMPPHP/XMLStream.php index d33411ec5..dbc4719e4 100644 --- a/extlib/XMPPHP/XMLStream.php +++ b/extlib/XMPPHP/XMLStream.php @@ -417,7 +417,12 @@ class XMPPHP_XMLStream { } } $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - xml_parse($this->parser, $buff, false); + $ok = xml_parse($this->parser, $buff, false); + if (!$ok) { + $errcode = xml_get_error_code($this->parser); + $errstr = xml_error_string($errcode); + $this->log->log("XML ERROR: $errstr", XMPPHP_Log::LEVEL_VERBOSE); + } } else { # $updated == 0 means no changes during timeout. } @@ -671,7 +676,12 @@ class XMPPHP_XMLStream { } } $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - xml_parse($this->parser, $buff, false); + $ok = xml_parse($this->parser, $buff, false); + if (!$ok) { + $errcode = xml_get_error_code($this->parser); + $errstr = xml_error_string($errcode); + $this->log->log("XML ERROR: $errstr", XMPPHP_Log::LEVEL_VERBOSE); + } } /** -- cgit v1.2.3-54-g00ecf From dbccebb14bbc46ea0e53e5bd0e3681c77692a40a Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 15:43:24 -0500 Subject: update friends, not user, timeline for recipients of notice in PuSH plugin --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php index 367b35403..d3ff3882f 100644 --- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -103,8 +103,8 @@ class PubSubHubBubPlugin extends Plugin if (empty($user)) { continue; } - $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom')); + $feeds[]=common_local_url('ApiTimelineFriends', array('id' => $user->nickname, 'format'=>'rss')); + $feeds[]=common_local_url('ApiTimelineFriends', array('id' => $user->nickname, 'format'=>'atom')); } //feed of user replied to -- cgit v1.2.3-54-g00ecf From 7679f058efc43137519167f0e862f89475d43d6f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 15:56:24 -0500 Subject: Revert "DEBUG HACK: error checking for xml_parse in XMPPHP input stream" This reverts commit 906450e2f5b78a1c6f2dec2e21b9b5841df210f4. 1) It was a quick debug hack 2) it doesn't meet the requirements for changing extlib/ libraries --- extlib/XMPPHP/XMLStream.php | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/extlib/XMPPHP/XMLStream.php b/extlib/XMPPHP/XMLStream.php index dbc4719e4..d33411ec5 100644 --- a/extlib/XMPPHP/XMLStream.php +++ b/extlib/XMPPHP/XMLStream.php @@ -417,12 +417,7 @@ class XMPPHP_XMLStream { } } $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - $ok = xml_parse($this->parser, $buff, false); - if (!$ok) { - $errcode = xml_get_error_code($this->parser); - $errstr = xml_error_string($errcode); - $this->log->log("XML ERROR: $errstr", XMPPHP_Log::LEVEL_VERBOSE); - } + xml_parse($this->parser, $buff, false); } else { # $updated == 0 means no changes during timeout. } @@ -676,12 +671,7 @@ class XMPPHP_XMLStream { } } $this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE); - $ok = xml_parse($this->parser, $buff, false); - if (!$ok) { - $errcode = xml_get_error_code($this->parser); - $errstr = xml_error_string($errcode); - $this->log->log("XML ERROR: $errstr", XMPPHP_Log::LEVEL_VERBOSE); - } + xml_parse($this->parser, $buff, false); } /** -- cgit v1.2.3-54-g00ecf From 365b0b1e14a34ed433ac169d5cfb6066f11919ba Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 16:13:52 -0500 Subject: use standard plugin configuration for PubSubHubBub --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php index d3ff3882f..f13408629 100644 --- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -37,20 +37,13 @@ require_once(INSTALLDIR.'/plugins/PubSubHubBub/publisher.php'); class PubSubHubBubPlugin extends Plugin { - private $hub; + public $hub = DEFAULT_HUB; function __construct() { parent::__construct(); } - function onInitializePlugin(){ - $this->hub = common_config('PubSubHubBub', 'hub'); - if(empty($this->hub)){ - $this->hub = DEFAULT_HUB; - } - } - function onStartApiAtom($action){ $action->element('link',array('rel'=>'hub','href'=>$this->hub),null); } -- cgit v1.2.3-54-g00ecf From 1d37a6c428ac2d89b0fa01f73a9e6e05a412b605 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 16:16:22 -0500 Subject: correctly get replies for a notice in PuSH plugin --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php index f13408629..96500404b 100644 --- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -100,11 +100,15 @@ class PubSubHubBubPlugin extends Plugin $feeds[]=common_local_url('ApiTimelineFriends', array('id' => $user->nickname, 'format'=>'atom')); } + $replies = $notice->getReplies(); + //feed of user replied to - if($notice->reply_to){ - $user = User::staticGet('id',$notice->reply_to); + foreach ($replies as $recipient) { + $user = User::staticGet('id',$recipient); + if (!empty($user)) { $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'rss')); $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'atom')); + } } foreach(array_unique($feeds) as $feed){ -- cgit v1.2.3-54-g00ecf From 0167ff6d2702f90c46aa311a6a7ca17db222780f Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 16:29:11 -0500 Subject: whitespace changes to make phpcs happy for PuSH plugin --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 89 ++++++++++++++++++++--------- 1 file changed, 62 insertions(+), 27 deletions(-) diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php index 96500404b..c4af2c854 100644 --- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -31,9 +31,9 @@ if (!defined('STATUSNET')) { exit(1); } -define('DEFAULT_HUB','http://pubsubhubbub.appspot.com'); +define('DEFAULT_HUB', 'http://pubsubhubbub.appspot.com'); -require_once(INSTALLDIR.'/plugins/PubSubHubBub/publisher.php'); +require_once INSTALLDIR.'/plugins/PubSubHubBub/publisher.php'; class PubSubHubBubPlugin extends Plugin { @@ -44,46 +44,67 @@ class PubSubHubBubPlugin extends Plugin parent::__construct(); } - function onStartApiAtom($action){ - $action->element('link',array('rel'=>'hub','href'=>$this->hub),null); + function onStartApiAtom($action) + { + $action->element('link', array('rel' => 'hub', 'href' => $this->hub), null); } - function onStartApiRss($action){ - $action->element('atom:link',array('rel'=>'hub','href'=>$this->hub),null); + function onStartApiRss($action) + { + $action->element('atom:link', array('rel' => 'hub', + 'href' => $this->hub), + null); } - function onHandleQueuedNotice($notice){ + function onHandleQueuedNotice($notice) + { $publisher = new Publisher($this->hub); $feeds = array(); //public timeline feeds - $feeds[]=common_local_url('ApiTimelinePublic',array('format' => 'rss')); - $feeds[]=common_local_url('ApiTimelinePublic',array('format' => 'atom')); + $feeds[] = common_local_url('ApiTimelinePublic', array('format' => 'rss')); + $feeds[] = common_local_url('ApiTimelinePublic', array('format' => 'atom')); //author's own feeds - $user = User::staticGet('id',$notice->profile_id); - $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineUser',array('id' => $user->nickname, 'format'=>'atom')); + $user = User::staticGet('id', $notice->profile_id); + + $feeds[] = common_local_url('ApiTimelineUser', + array('id' => $user->nickname, + 'format' => 'rss')); + $feeds[] = common_local_url('ApiTimelineUser', + array('id' => $user->nickname, + 'format' => 'atom')); //tag feeds $tag = new Notice_tag(); + $tag->notice_id = $notice->id; if ($tag->find()) { while ($tag->fetch()) { - $feeds[]=common_local_url('ApiTimelineTag',array('tag'=>$tag->tag, 'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineTag',array('tag'=>$tag->tag, 'format'=>'atom')); + $feeds[] = common_local_url('ApiTimelineTag', + array('tag' => $tag->tag, + 'format' => 'rss')); + $feeds[] = common_local_url('ApiTimelineTag', + array('tag' => $tag->tag, + 'format' => 'atom')); } } //group feeds $group_inbox = new Group_inbox(); + $group_inbox->notice_id = $notice->id; if ($group_inbox->find()) { while ($group_inbox->fetch()) { - $group = User_group::staticGet('id',$group_inbox->group_id); - $feeds[]=common_local_url('ApiTimelineGroup',array('id' => $group->nickname,'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineGroup',array('id' => $group->nickname,'format'=>'atom')); + $group = User_group::staticGet('id', $group_inbox->group_id); + + $feeds[] = common_local_url('ApiTimelineGroup', + array('id' => $group->nickname, + 'format' => 'rss')); + $feeds[] = common_local_url('ApiTimelineGroup', + array('id' => $group->nickname, + 'format' => 'atom')); } } @@ -96,24 +117,34 @@ class PubSubHubBubPlugin extends Plugin if (empty($user)) { continue; } - $feeds[]=common_local_url('ApiTimelineFriends', array('id' => $user->nickname, 'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineFriends', array('id' => $user->nickname, 'format'=>'atom')); + $feeds[] = common_local_url('ApiTimelineFriends', + array('id' => $user->nickname, + 'format' => 'rss')); + $feeds[] = common_local_url('ApiTimelineFriends', + array('id' => $user->nickname, + 'format' => 'atom')); } $replies = $notice->getReplies(); //feed of user replied to foreach ($replies as $recipient) { - $user = User::staticGet('id',$recipient); + $user = User::staticGet('id', $recipient); if (!empty($user)) { - $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'rss')); - $feeds[]=common_local_url('ApiTimelineMentions',array('id' => $user->nickname,'format'=>'atom')); + $feeds[] = common_local_url('ApiTimelineMentions', + array('id' => $user->nickname, + 'format' => 'rss')); + $feeds[] = common_local_url('ApiTimelineMentions', + array('id' => $user->nickname, + 'format' => 'atom')); } } - foreach(array_unique($feeds) as $feed){ - if(! $publisher->publish_update($feed)){ - common_log_line(LOG_WARNING,$feed.' was not published to hub at '.$this->hub.':'.$publisher->last_response()); + foreach (array_unique($feeds) as $feed) { + if (!$publisher->publish_update($feed)) { + common_log_line(LOG_WARNING, + $feed.' was not published to hub at '. + $this->hub.':'.$publisher->last_response()); } } } @@ -123,9 +154,13 @@ class PubSubHubBubPlugin extends Plugin $versions[] = array('name' => 'PubSubHubBub', 'version' => STATUSNET_VERSION, 'author' => 'Craig Andrews', - 'homepage' => 'http://status.net/wiki/Plugin:PubSubHubBub', + 'homepage' => + 'http://status.net/wiki/Plugin:PubSubHubBub', 'rawdescription' => - _m('The PubSubHubBub plugin pushes RSS/Atom updates to a PubSubHubBub hub.')); + _m('The PubSubHubBub plugin pushes RSS/Atom updates '. + 'to a PubSubHubBub hub.')); return true; } -- cgit v1.2.3-54-g00ecf From 10f21e1f414dfd9a369df8b1c71aa2e099fca9f2 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 16:37:41 -0500 Subject: add class and function doc comments to PuSH plugin --- plugins/PubSubHubBub/PubSubHubBubPlugin.php | 85 +++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php index c4af2c854..8286cd548 100644 --- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php +++ b/plugins/PubSubHubBub/PubSubHubBubPlugin.php @@ -35,27 +35,99 @@ define('DEFAULT_HUB', 'http://pubsubhubbub.appspot.com'); require_once INSTALLDIR.'/plugins/PubSubHubBub/publisher.php'; +/** + * Plugin to provide publisher side of PubSubHubBub (PuSH) + * relationship. + * + * PuSH is a real-time or near-real-time protocol for Atom + * and RSS feeds. More information here: + * + * http://code.google.com/p/pubsubhubbub/ + * + * To enable, add the following line to your config.php: + * + * addPlugin('PubSubHubBub'); + * + * This will use the Google default hub. If you'd like to use + * another, try: + * + * addPlugin('PubSubHubBub', + * array('hub' => 'http://yourhub.example.net/')); + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://status.net/ + */ + class PubSubHubBubPlugin extends Plugin { + /** + * URL of the hub to advertise and publish to. + */ + public $hub = DEFAULT_HUB; + /** + * Default constructor. + */ + function __construct() { parent::__construct(); } + /** + * Hooks the StartApiAtom event + * + * Adds the necessary bits to advertise PubSubHubBub + * for the Atom feed. + * + * @param Action $action The API action being shown. + * + * @return boolean hook value + */ + function onStartApiAtom($action) { $action->element('link', array('rel' => 'hub', 'href' => $this->hub), null); + + return true; } + /** + * Hooks the StartApiRss event + * + * Adds the necessary bits to advertise PubSubHubBub + * for the RSS 2.0 feeds. + * + * @param Action $action The API action being shown. + * + * @return boolean hook value + */ + function onStartApiRss($action) { $action->element('atom:link', array('rel' => 'hub', 'href' => $this->hub), null); + return true; } + /** + * Hook for a queued notice. + * + * When a notice has been queued, will ping the + * PuSH hub for each Atom and RSS feed in which + * the notice appears. + * + * @param Notice $notice The notice that's been queued + * + * @return boolean hook value + */ + function onHandleQueuedNotice($notice) { $publisher = new Publisher($this->hub); @@ -147,8 +219,21 @@ class PubSubHubBubPlugin extends Plugin $this->hub.':'.$publisher->last_response()); } } + + return true; } + /** + * Provide version information + * + * Adds this plugin's version data to the global + * version array, for e.g. displaying on the version page. + * + * @param array &$versions array of array of versions + * + * @return boolean hook value + */ + function onPluginVersion(&$versions) { $versions[] = array('name' => 'PubSubHubBub', -- cgit v1.2.3-54-g00ecf From 9e3013c6b613528eac4ace08524360330910801e Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 17:00:42 -0500 Subject: mark retweet api actions read-only where applicable --- actions/apistatusesretweets.php | 15 +++++++++++++++ actions/apitimelineretweetedbyme.php | 15 +++++++++++++++ actions/apitimelineretweetedtome.php | 15 +++++++++++++++ 3 files changed, 45 insertions(+) diff --git a/actions/apistatusesretweets.php b/actions/apistatusesretweets.php index f7a3dd60a..81744c2b4 100644 --- a/actions/apistatusesretweets.php +++ b/actions/apistatusesretweets.php @@ -113,4 +113,19 @@ class ApiStatusesRetweetsAction extends ApiAuthAction break; } } + + /** + * Return true if read only. + * + * MAY override + * + * @param array $args other arguments + * + * @return boolean is read only action? + */ + + function isReadOnly($args) + { + return false; + } } diff --git a/actions/apitimelineretweetedbyme.php b/actions/apitimelineretweetedbyme.php index 88652c3fd..7958dab37 100644 --- a/actions/apitimelineretweetedbyme.php +++ b/actions/apitimelineretweetedbyme.php @@ -123,4 +123,19 @@ class ApiTimelineRetweetedByMeAction extends ApiAuthAction break; } } + + /** + * Return true if read only. + * + * MAY override + * + * @param array $args other arguments + * + * @return boolean is read only action? + */ + + function isReadOnly($args) + { + return false; + } } diff --git a/actions/apitimelineretweetedtome.php b/actions/apitimelineretweetedtome.php index 113ab96d2..66f06cc0e 100644 --- a/actions/apitimelineretweetedtome.php +++ b/actions/apitimelineretweetedtome.php @@ -122,4 +122,19 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction break; } } + + /** + * Return true if read only. + * + * MAY override + * + * @param array $args other arguments + * + * @return boolean is read only action? + */ + + function isReadOnly($args) + { + return false; + } } -- cgit v1.2.3-54-g00ecf From 4175ec7c6eeb0a5308341327e0e768a6489320e8 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 20 Jan 2010 17:49:13 -0500 Subject: update changes in README --- README | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/README b/README index 386b3264a..602288789 100644 --- a/README +++ b/README @@ -2,8 +2,8 @@ README ------ -StatusNet 0.9.0 ("Stand") Release Candidate 2 -22 Dec 2009 +StatusNet 0.9.0 ("Stand") Beta 3 +20 Jan 2010 This is the README file for StatusNet (formerly Laconica), the Open Source microblogging platform. It includes installation instructions, @@ -167,6 +167,37 @@ Notable changes this version: - Add support for "repeats" (similar to Twitter's "retweets"). - Support for repeats in Twitter API. - Better notification of direct messages. +- New plugin to add "powered by StatusNet" to logo. +- Returnto works for private sites. +- Localisation updates, including new Persian translation. +- CAS authentication plugin +- Get rid of DB_DataObject native cache (big memory leaker) +- setconfig.php script to set configuration variables +- Blacklist plugin, to blacklist URLs and nicknames +- Users can set flag whether they want to share location + both in notice form (for one notice) and profile settings + (any notice) +- notice inboxes moved from normalized notice_inbox table to + denormalized inbox table +- Automatic compression of Memcache +- Memory caching pluginized +- Memcache, XCache, APC and Diskcache plugins +- A script to update user locations +- cache empty query results +- A sample plugin to show best plugin practices +- CacheLog plugin to debug cache accesses +- Require users to login to view attachments on private sites +- Plugin to use Mollom spam detection service +- Plugin for RSSCloud +- Add an array of default plugins +- A version action to give credit to contributors and plugin + developers +- Daemon to read IMAP mailbox instead of using a mailbox script +- Pass session information between SSL and non-SSL server + when SSL set to 'sometimes' +- Major refactoring of queue handlers to manage very + large hosting site (like status.net) +- SubscriptionThrottle plugin to prevent subscription spamming Prerequisites ============= -- cgit v1.2.3-54-g00ecf From e5eb95ab59598392bfae99adac1ac0716397ba13 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 21 Jan 2010 11:32:01 -0500 Subject: retweet API methods are readonly --- actions/apistatusesretweets.php | 2 +- actions/apitimelineretweetedbyme.php | 2 +- actions/apitimelineretweetedtome.php | 2 +- actions/apitimelineretweetsofme.php | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/actions/apistatusesretweets.php b/actions/apistatusesretweets.php index 81744c2b4..a79d43168 100644 --- a/actions/apistatusesretweets.php +++ b/actions/apistatusesretweets.php @@ -126,6 +126,6 @@ class ApiStatusesRetweetsAction extends ApiAuthAction function isReadOnly($args) { - return false; + return true; } } diff --git a/actions/apitimelineretweetedbyme.php b/actions/apitimelineretweetedbyme.php index 7958dab37..54d32e5fa 100644 --- a/actions/apitimelineretweetedbyme.php +++ b/actions/apitimelineretweetedbyme.php @@ -136,6 +136,6 @@ class ApiTimelineRetweetedByMeAction extends ApiAuthAction function isReadOnly($args) { - return false; + return true; } } diff --git a/actions/apitimelineretweetedtome.php b/actions/apitimelineretweetedtome.php index 66f06cc0e..e47bc30b8 100644 --- a/actions/apitimelineretweetedtome.php +++ b/actions/apitimelineretweetedtome.php @@ -135,6 +135,6 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction function isReadOnly($args) { - return false; + return true; } } diff --git a/actions/apitimelineretweetsofme.php b/actions/apitimelineretweetsofme.php index 6ca2c779c..e4b09e9bd 100644 --- a/actions/apitimelineretweetsofme.php +++ b/actions/apitimelineretweetsofme.php @@ -123,4 +123,19 @@ class ApiTimelineRetweetsOfMeAction extends ApiAuthAction break; } } + + /** + * Return true if read only. + * + * MAY override + * + * @param array $args other arguments + * + * @return boolean is read only action? + */ + + function isReadOnly($args) + { + return true; + } } -- cgit v1.2.3-54-g00ecf From 1d64ba6602f7ccd4c049167355445ca3600c28e6 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 21 Jan 2010 11:38:08 -0500 Subject: Unimplement retweeted_by_me API action until we have a more efficient query --- actions/apitimelineretweetedbyme.php | 56 ++---------------------------------- 1 file changed, 2 insertions(+), 54 deletions(-) diff --git a/actions/apitimelineretweetedbyme.php b/actions/apitimelineretweetedbyme.php index 54d32e5fa..564e98619 100644 --- a/actions/apitimelineretweetedbyme.php +++ b/actions/apitimelineretweetedbyme.php @@ -69,66 +69,14 @@ class ApiTimelineRetweetedByMeAction extends ApiAuthAction { parent::prepare($args); - $cnt = $this->int('count', self::DEFAULTCOUNT, self::MAXCOUNT, 1); + $this->serverError('Unimplemented', 503); - $page = $this->int('page', 1, (self::MAXNOTICES/$this->cnt)); - - $since_id = $this->int('since_id'); - - $max_id = $this->int('max_id'); - - return true; - } - - /** - * Handle the request - * - * show a timeline of the user's repeated notices - * - * @param array $args $_REQUEST data (unused) - * - * @return void - */ - - function handle($args) - { - parent::handle($args); - - $offset = ($this->page-1) * $this->cnt; - $limit = $this->cnt; - - $strm = $this->auth_user->repeatedByMe($offset, $limit, $this->since_id, $this->max_id); - - switch ($this->format) { - case 'xml': - $this->showXmlTimeline($strm); - break; - case 'json': - $this->showJsonTimeline($strm); - break; - case 'atom': - $profile = $this->auth_user->getProfile(); - - $title = sprintf(_("Repeated by %s"), $this->auth_user->nickname); - $taguribase = common_config('integration', 'taguri'); - $id = "tag:$taguribase:RepeatedByMe:" . $this->auth_user->id; - $link = common_local_url('showstream', - array('nickname' => $this->auth_user->nickname)); - - $this->showAtomTimeline($strm, $title, $id, $link); - break; - - default: - $this->clientError(_('API method not found.'), $code = 404); - break; - } + return false; } /** * Return true if read only. * - * MAY override - * * @param array $args other arguments * * @return boolean is read only action? -- cgit v1.2.3-54-g00ecf From a3e484a0e898bb94dd45cd7807bea1a931d7c6a9 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 22 Jan 2010 10:46:11 -0500 Subject: Memcached_DataObject unnecessarily require_once'd itself --- classes/Memcached_DataObject.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 4ecab9db6..6ddef4816 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -19,8 +19,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; - class Memcached_DataObject extends DB_DataObject { /** @@ -353,7 +351,7 @@ class Memcached_DataObject extends DB_DataObject unset($_DB_DATAOBJECT['CONNECTIONS'][$index]); } } - + $result = parent::_connect(); if ($result && !$exists) { -- cgit v1.2.3-54-g00ecf