From db336929cd1211e6704914c77dc332d7555decff Mon Sep 17 00:00:00 2001
From: Friendika <info@friendika.com>
Date: Mon, 20 Jun 2011 17:16:13 -0700
Subject: [PATCH] add rate limit call so spaz will work

---
 include/api.php            | 18 +++++++++++++++++-
 view/api_ratelimit_xml.tpl |  5 +++++
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 view/api_ratelimit_xml.tpl

diff --git a/include/api.php b/include/api.php
index 43a77bcc7..2d9007126 100644
--- a/include/api.php
+++ b/include/api.php
@@ -129,7 +129,8 @@
 						break;
 					case "json": 
 						header ("Content-Type: application/json");  
-						return json_encode($r);
+						foreach($r as $rr)
+						    return json_encode($rr);
 						break;
 					case "rss":
 						header ("Content-Type: application/rss+xml");
@@ -279,6 +280,7 @@
 	 *  load api $templatename for $type and replace $data array
 	 */
 	function api_apply_template($templatename, $type, $data){
+
 		switch($type){
 			case "rss":
 			case "atom":
@@ -526,3 +528,17 @@
 	api_register_func('api/statuses/user_timeline','api_statuses_home_timeline', true);
 	# TODO: user_timeline should be profile view
 	
+
+	function api_account_rate_limit_status(&$a,$type) {
+
+		$hash = array(
+			  'remaining_hits' => (string) 150,
+			  'hourly_limit' => (string) 150,
+			  'reset_time' => datetime_convert('UTC','UTC','now + 1 hour',ATOM_TIME),
+			  'reset_time_in_seconds' => strtotime('now + 1 hour')
+		);
+
+		return api_apply_template('ratelimit', $type, array('$hash' => $hash));
+
+	}
+	api_register_func('api/account/rate_limit_status','api_account_rate_limit_status',true);
diff --git a/view/api_ratelimit_xml.tpl b/view/api_ratelimit_xml.tpl
new file mode 100644
index 000000000..42439f8b5
--- /dev/null
+++ b/view/api_ratelimit_xml.tpl
@@ -0,0 +1,5 @@
+<hash>
+		<remaining-hits type="integer">$hash.remaining_hits</remaining-hits>
+		<hourly-limit type="integer">$hash.hourly_limit</hourly-limit>
+		<reset-time type="datetime">$hash.reset_time</reset-time>
+</hash>
\ No newline at end of file