]> git.mxchange.org Git - friendica.git/commitdiff
API: Basic support of the identica client added.
authorMichael Vogel <icarus@dabo.de>
Sun, 8 Apr 2012 15:23:38 +0000 (17:23 +0200)
committerMichael Vogel <icarus@dabo.de>
Sun, 8 Apr 2012 15:23:38 +0000 (17:23 +0200)
include/api.php

index 968a64a6de530cb6c2183f83a480363ef9231fd9..5053a8ad578916e21f354145a0a2dda58ea532b8 100644 (file)
                                if (strpos($a->query_string, ".json")>0) $type="json";
                                if (strpos($a->query_string, ".rss")>0) $type="rss";
                                if (strpos($a->query_string, ".atom")>0) $type="atom";
+                               if (strpos($a->query_string, ".as")>0) $type="as";
 
                                $r = call_user_func($info['func'], $a, $type);
                                if ($r===false) return;
                                                header ("Content-Type: application/atom+xml");
                                                return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
                                                break;
+                                       case "as":
+                                               //header ("Content-Type: application/json");
+                                               //foreach($r as $rr)
+                                               //    return json_encode($rr);
+                                               return json_encode($r);
+                                               break;
 
                                }
                                //echo "<pre>"; var_dump($r); die();
                        case "atom":
                        case "rss":
                                $data = api_rss_extra($a, $data, $user_info);
+                               break;
+                       case "as":
+                               $as = array();
+                               $as['title'] = $a->config['sitename']." Public Timeline";
+                               $items = array();
+                               foreach ($ret as $item) {
+                                       $singleitem["actor"]["displayName"] = $item["user"]["name"];
+                                       $singleitem["actor"]["id"] = $item["user"]["contact_url"];
+                                       $avatar[0]["url"] = $item["user"]["profile_image_url"];
+                                       $avatar[0]["rel"] = "avatar";
+                                       $avatar[0]["type"] = "";
+                                       $avatar[0]["width"] = 96;
+                                       $avatar[0]["height"] = 96;
+                                       $avatar[1]["url"] = $item["user"]["profile_image_url"];
+                                       $avatar[1]["rel"] = "avatar";
+                                       $avatar[1]["type"] = "";
+                                       $avatar[1]["width"] = 48;
+                                       $avatar[1]["height"] = 48;
+                                       $avatar[2]["url"] = $item["user"]["profile_image_url"];
+                                       $avatar[2]["rel"] = "avatar";
+                                       $avatar[2]["type"] = "";
+                                       $avatar[2]["width"] = 24;
+                                       $avatar[2]["height"] = 24;
+                                       $singleitem["actor"]["avatarLinks"] = $avatar;
+
+                                       $singleitem["actor"]["image"]["url"] = $item["user"]["profile_image_url"];
+                                       $singleitem["actor"]["image"]["rel"] = "avatar";
+                                       $singleitem["actor"]["image"]["type"] = "";
+                                       $singleitem["actor"]["image"]["width"] = 96;
+                                       $singleitem["actor"]["image"]["height"] = 96;
+                                       $singleitem["actor"]["type"] = "person";
+                                       $singleitem["actor"]["url"] = $item["person"]["contact_url"];
+                                       $singleitem["actor"]["statusnet:profile_info"]["local_id"] = $item["user"]["id"];
+                                       $singleitem["actor"]["statusnet:profile_info"]["following"] = "false"; // $item["user"]["following"]
+                                       $singleitem["actor"]["statusnet:profile_info"]["blocking"] = "false";
+                                       $singleitem["actor"]["contact"]["preferredUsername"] = $item["user"]["screen_name"];
+                                       $singleitem["actor"]["contact"]["displayName"] = $item["user"]["name"];
+                                       $singleitem["actor"]["contact"]["addresses"] = "";
+
+                                       $singleitem["body"] = $item["text"];
+                                       $singleitem["object"]["displayName"] = $item["text"];
+                                       $singleitem["object"]["id"] = $item["url"];
+                                       $singleitem["object"]["type"] = "note";
+                                       $singleitem["object"]["url"] = $item["url"];
+                                       //$singleitem["context"] =;
+                                       $singleitem["postedTime"] = date("c", strtotime($item["published"]));
+                                       $singleitem["provider"]["objectType"] = "service";
+                                       $singleitem["provider"]["displayName"] = "Test";
+                                       $singleitem["provider"]["url"] = "http://test.tld";
+                                       $singleitem["title"] = $item["text"];
+                                       $singleitem["verb"] = "post";
+                                       $singleitem["statusnet:notice_info"]["local_id"] = $item["id"];
+                                       $singleitem["statusnet:notice_info"]["source"] = $item["source"];
+                                       $singleitem["statusnet:notice_info"]["favorite"] = "false";
+                                       $singleitem["statusnet:notice_info"]["repeated"] = "false";
+                                       //$singleitem["original"] = $item;
+                                       $items[] = $singleitem;
+                               }
+                               $as['items'] = $items;
+                               $link->url = $a->get_baseurl()."/".$user_info["screen_name"]."/all";
+                               $link->rel = "alternate";
+                               $link->type = "text/html";
+                               $as['link'][] = $link;
+                               return($as);
+                               break;
                }
                                
                return  api_apply_template("timeline", $type, $data);