exit(1);
}
-require_once INSTALLDIR.'/lib/apiprivateauth.php';
-
/**
* Action for outputting search results in Twitter compatible Atom
* format.
*/
function prepare($args)
{
- common_debug("in apisearchatom prepare()");
-
parent::prepare($args);
$this->query = $this->trimmed('q');
$this->page = 1;
}
- // TODO: Suppport since_id -- we need to tweak the backend
+ // TODO: Suppport max_id -- we need to tweak the backend
// Search classes to support it.
$this->since_id = $this->trimmed('since_id');
$this->max_id = $notice->id;
}
+ if ($this->since_id && $notice->id <= $this->since_id) {
+ break;
+ }
+
if ($cnt > $this->rpp) {
break;
}
'rel' => 'alternate',
'href' => $nurl));
$this->element('title', null, common_xml_safe_str(trim($notice->content)));
- $this->element('content', array('type' => 'html'), $notice->rendered);
+ $this->element('content', array('type' => 'html'), $notice->getRendered());
$this->element('updated', null, common_date_w3dtf($notice->created));
$this->element('link', array('type' => 'image/png',
// XXX: Twitter uses rel="image" (not valid)
// @todo: Here is where we'd put in a link to an atom feed for threads
$source = null;
+ $source_link = null;
$ns = $notice->getSource();
- if ($ns) {
- if (!empty($ns->name) && !empty($ns->url)) {
- $source = '<a href="'
- . htmlspecialchars($ns->url)
- . '" rel="nofollow">'
- . htmlspecialchars($ns->name)
- . '</a>';
- } else {
- $source = $ns->code;
+ if ($ns instanceof Notice_source) {
+ $source = $ns->code;
+ if (!empty($ns->url)) {
+ $source_link = $ns->url;
+ if (!empty($ns->name)) {
+ $source = $ns->name;
+ }
}
}
$this->element("twitter:source", null, $source);
+ $this->element("twitter:source_link", null, $source_link);
$this->elementStart('author');