$count = $this->arg('count');
$since = $this->arg('since');
$since_id = $this->arg('since_id');
+ $before_id = $this->arg('before_id');
+
$page = $this->arg('page');
if (!$page) {
$link = $server . $user->nickname . '/outbox';
}
+ if ($before_id) {
+ $message->whereAdd("id < $before_id");
+ }
+
+ if ($since_id) {
+ $message->whereAdd("id > $since_id");
+ }
+
+ $since = strtotime($this->arg('since'));
+
+ if ($since) {
+ $d = date('Y-m-d H:i:s', $since);
+ $message->whereAdd("created > '$d'");
+ }
+
$message->orderBy('created DESC, id DESC');
$message->limit((($page-1)*20), $count);
$message->find();
}
$user = $apidata['user'];
- $source = $this->trimmed('source'); // Not supported by Twitter.
+ $source = $this->trimmed('source'); // Not supported by Twitter.
- if (!$source) {
+ $reserved_sources = array('web', 'omb', 'mail', 'xmpp', 'api');
+ if (!$source || in_array($source, $reserved_sources)) {
$source = 'api';
}
if (!$content) {
$this->client_error(_('No message text!'), $code = 406, $apidata['content-type']);
-// } else if (mb_strlen($status) > 140) {
} else {
- $status = common_shorten_links($status);
- if (mb_strlen($status) > 140) {
+ $content_shortened = common_shorten_links($content);
+ if (mb_strlen($content_shortened) > 140) {
$this->client_error(_('That\'s too long. Max message size is 140 chars.'),
$code = 406, $apidata['content-type']);
return;