diff options
author | Zach Copley <zach@controlyourself.ca> | 2009-03-10 18:17:20 -0700 |
---|---|---|
committer | Zach Copley <zach@controlyourself.ca> | 2009-03-10 18:17:20 -0700 |
commit | 1e29cbd6919380aee54b57db62e08c5d1497d763 (patch) | |
tree | 5c79c8fe12b1dfce2c08f5f38cfe983017f35ca7 | |
parent | a989c58c11004f850ff0d7bb633df570c7f68f45 (diff) |
Make search API Atom feeds more valid
-rw-r--r-- | actions/twitapisearchatom.php | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php index c0e55df05..c5f724c12 100644 --- a/actions/twitapisearchatom.php +++ b/actions/twitapisearchatom.php @@ -52,7 +52,6 @@ require_once INSTALLDIR.'/lib/twitterapi.php'; class TwitapisearchatomAction extends TwitterapiAction { - var $notices; var $cnt; var $query; var $lang; @@ -156,6 +155,7 @@ class TwitapisearchatomAction extends TwitterapiAction { // TODO: Support search operators like from: and to:, boolean, etc. + $notices = array(); $notice = new Notice(); // lcase it for comparison @@ -226,6 +226,10 @@ class TwitapisearchatomAction extends TwitterapiAction $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', + + // XXX: xmlns:twitter causes Atom validation to fail + // It's used for the source attr on notices + 'xmlns:twitter' => 'http://api.twitter.com/', 'xml:lang' => $lang)); @@ -251,7 +255,8 @@ class TwitapisearchatomAction extends TwitterapiAction // self link - $self_uri = $search_uri . '&page=' . $this->page; + $self_uri = $search_uri; + $self_uri .= ($this->page > 1) ? '&page=' . $this->page : ''; $this->element('link', array('type' => 'application/atom+xml', 'rel' => 'self', @@ -317,10 +322,11 @@ class TwitapisearchatomAction extends TwitterapiAction 'rel' => 'alternate', 'href' => $nurl)); $this->element('title', null, common_xml_safe_str(trim($notice->content))); - $this->element('content', array('type' => 'text/html'), $notice->rendered); + $this->element('content', array('type' => 'html'), $notice->rendered); $this->element('updated', null, common_date_w3dtf($notice->created)); $this->element('link', array('type' => 'image/png', - 'rel' => 'image', + // XXX: Twitter uses rel="image" (not valid) + 'rel' => 'related', 'href' => $profile->avatarUrl())); // TODO: Here is where we'd put in a link to an atom feed for threads |