summaryrefslogtreecommitdiff
path: root/lib/apiaction.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-07-13 11:11:29 -0400
committerEvan Prodromou <evan@status.net>2010-07-13 11:11:29 -0400
commit453a06fff4f92a9fd34db2899c012d828c69202e (patch)
tree8ad4b02b6d9490149226929f11d697a2f535268c /lib/apiaction.php
parent1044f27e47faf89400c8a8734cdb9db21fad84bd (diff)
Exceptions are caught and continued on JSON, XML, Atom and RSS output in API
Diffstat (limited to 'lib/apiaction.php')
-rw-r--r--lib/apiaction.php69
1 files changed, 34 insertions, 35 deletions
diff --git a/lib/apiaction.php b/lib/apiaction.php
index 01985f0db..297dcedec 100644
--- a/lib/apiaction.php
+++ b/lib/apiaction.php
@@ -734,14 +734,16 @@ class ApiAction extends Action
'xmlns:statusnet' => 'http://status.net/schema/api/1/'));
if (is_array($notice)) {
- foreach ($notice as $n) {
- $twitter_status = $this->twitterStatusArray($n);
- $this->showTwitterXmlStatus($twitter_status);
- }
- } else {
- while ($notice->fetch()) {
+ $notice = new ArrayWrapper($notice);
+ }
+
+ while ($notice->fetch()) {
+ try {
$twitter_status = $this->twitterStatusArray($notice);
$this->showTwitterXmlStatus($twitter_status);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, $e->getMessage());
+ continue;
}
}
@@ -789,24 +791,16 @@ class ApiAction extends Action
$this->element('ttl', null, '40');
if (is_array($notice)) {
- foreach ($notice as $n) {
- try {
- $entry = $this->twitterRssEntryArray($n);
- $this->showTwitterRssItem($entry);
- } catch (Exception $e) {
- common_log(LOG_ERR, $e->getMessage());
- // continue on exceptions
- }
- }
- } else {
- while ($notice->fetch()) {
- try {
- $entry = $this->twitterRssEntryArray($notice);
- $this->showTwitterRssItem($entry);
- } catch (Exception $e) {
- common_log(LOG_ERR, $e->getMessage());
- // continue on exceptions
- }
+ $notice = new ArrayWrapper($notice);
+ }
+
+ while ($notice->fetch()) {
+ try {
+ $entry = $this->twitterRssEntryArray($notice);
+ $this->showTwitterRssItem($entry);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, $e->getMessage());
+ // continue on exceptions
}
}
@@ -842,12 +836,15 @@ class ApiAction extends Action
$this->element('subtitle', null, $subtitle);
if (is_array($notice)) {
- foreach ($notice as $n) {
- $this->raw($n->asAtomEntry());
- }
- } else {
- while ($notice->fetch()) {
+ $notice = new ArrayWrapper($notice);
+ }
+
+ while ($notice->fetch()) {
+ try {
$this->raw($notice->asAtomEntry());
+ } catch (Exception $e) {
+ common_log(LOG_ERR, $e->getMessage());
+ continue;
}
}
@@ -1042,14 +1039,16 @@ class ApiAction extends Action
$statuses = array();
if (is_array($notice)) {
- foreach ($notice as $n) {
- $twitter_status = $this->twitterStatusArray($n);
- array_push($statuses, $twitter_status);
- }
- } else {
- while ($notice->fetch()) {
+ $notice = new ArrayWrapper($notice);
+ }
+
+ while ($notice->fetch()) {
+ try {
$twitter_status = $this->twitterStatusArray($notice);
array_push($statuses, $twitter_status);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, $e->getMessage());
+ continue;
}
}